GiNaC 1.8.7
Namespaces | Macros | Functions
factor.cpp File Reference

Polynomial factorization (implementation). More...

#include "factor.h"
#include "ex.h"
#include "numeric.h"
#include "operators.h"
#include "inifcns.h"
#include "symbol.h"
#include "relational.h"
#include "power.h"
#include "mul.h"
#include "normal.h"
#include "add.h"
#include <type_traits>
#include <algorithm>
#include <limits>
#include <list>
#include <vector>
#include <stack>
#include <cln/cln.h>

Go to the source code of this file.

Namespaces

namespace  GiNaC
 

Macros

#define DCOUT(str)
 
#define DCOUTVAR(var)
 
#define DCOUT2(str, var)
 
#define USE_SAME_DEGREE_FACTOR
 

Functions

ex GiNaC::factor (const ex &poly, unsigned options)
 Interface function to the outside world. More...
 

Detailed Description

Polynomial factorization (implementation).

The interface function factor() at the end of this file is defined in the GiNaC namespace. All other utility functions and classes are defined in an additional anonymous namespace.

Factorization starts by doing a square free factorization and making the coefficients integer. Then, depending on the number of free variables it proceeds either in dedicated univariate or multivariate factorization code.

Univariate factorization does a modular factorization via Berlekamp's algorithm and distinct degree factorization. Hensel lifting is used at the end.

Multivariate factorization uses the univariate factorization (applying a evaluation homomorphism first) and Hensel lifting raises the answer to the multivariate domain. The Hensel lifting code is completely distinct from the code used by the univariate factorization.

Algorithms used can be found in [Wan] An Improved Multivariate Polynomial Factoring Algorithm, P.S.Wang, Mathematics of Computation, Vol. 32, No. 144 (1978) 1215–1231. [GCL] Algorithms for Computer Algebra, K.O.Geddes, S.R.Czapor, G.Labahn, Springer Verlag, 1992. [Mig] Some Useful Bounds, M.Mignotte, In "Computer Algebra, Symbolic and Algebraic Computation" (B.Buchberger et al., eds.), pp. 259-263, Springer-Verlag, New York, 1982.

Definition in file factor.cpp.

Macro Definition Documentation

◆ DCOUT

#define DCOUT (   str)

Definition at line 135 of file factor.cpp.

◆ DCOUTVAR

#define DCOUTVAR (   var)

Definition at line 136 of file factor.cpp.

◆ DCOUT2

#define DCOUT2 (   str,
  var 
)

Definition at line 137 of file factor.cpp.

◆ USE_SAME_DEGREE_FACTOR

#define USE_SAME_DEGREE_FACTOR

Definition at line 1096 of file factor.cpp.

Variable Documentation

◆ value

const bool value = false
static

◆ r

size_t r
private

Definition at line 757 of file factor.cpp.

Referenced by GiNaC::matrix::charpoly(), GiNaC::collect_common_factors(), GiNaC::ex::content(), GiNaC::numeric::csgn(), GiNaC::numeric::denom(), GiNaC::matrix::determinant(), GiNaC::matrix::determinant_minor(), GiNaC::divide(), GiNaC::divide_in_z(), GiNaC::matrix::division_free_elimination(), GiNaC::matrix::echelon_form(), GiNaC::power::eval(), GiNaC::power::expand(), GiNaC::power::expand_add(), GiNaC::power::expand_add_2(), GiNaC::matrix::fraction_free_elimination(), GiNaC::matrix::gauss_elimination(), GiNaC::idx_symmetrization(), GiNaC::matrix::inverse(), GiNaC::iquo(), GiNaC::lsolve(), GiNaC::matrix::markowitz_elimination(), GiNaC::matrix::matrix(), GiNaC::matrix::mul(), GiNaC::matrix::mul_scalar(), GiNaC::numeric::numer(), GiNaC::Order_series(), GiNaC::matrix::pow(), GiNaC::prem(), GiNaC::numeric::print_numeric(), GiNaC::quo(), GiNaC::matrix::rank(), GiNaC::reduced_matrix(), GiNaC::rem(), GiNaC::structure< T, ComparisonPolicy >::return_type_tinfo(), GiNaC::ex::series(), GiNaC::series(), GiNaC::basic::series(), GiNaC::add::series(), GiNaC::fderivative::series(), GiNaC::function::series(), GiNaC::integral::series(), GiNaC::integration_kernel::series(), GiNaC::Eisenstein_kernel::series(), GiNaC::modular_form_kernel::series(), GiNaC::pseries::series(), GiNaC::structure< T, ComparisonPolicy >::series(), GiNaC::mul::series(), GiNaC::power::series(), GiNaC::symbol::series(), GiNaC::refcounted::set_refcount(), GiNaC::matrix::solve(), GiNaC::sprem(), GiNaC::sqrfree_parfrac(), GiNaC::sr_gcd(), GiNaC::numeric::step(), GiNaC::sub_matrix(), GiNaC::ex::subs(), GiNaC::matrix::subs(), GiNaC::symbolic_matrix(), GiNaC::matrix::trace(), GiNaC::matrix::transpose(), GiNaC::unit_matrix(), and GiNaC::zeta1_evalf().

◆ c

size_t c
private

Definition at line 757 of file factor.cpp.

Referenced by GiNaC::abs_print_csrc_float(), GiNaC::abs_print_latex(), GiNaC::symmetry::add(), GiNaC::bernoulli(), GiNaC::matrix::charpoly(), GiNaC::mul::coeff(), GiNaC::ncmul::coeff(), GiNaC::color_d(), GiNaC::color_f(), GiNaC::color_h(), GiNaC::expairseq::combine_ex_with_coeff_to_pair(), GiNaC::add::combine_ex_with_coeff_to_pair(), GiNaC::mul::combine_ex_with_coeff_to_pair(), GiNaC::expairseq::combine_overall_coeff(), GiNaC::mul::combine_overall_coeff(), GiNaC::expairseq::combine_pair_with_coeff_to_pair(), GiNaC::add::combine_pair_with_coeff_to_pair(), GiNaC::mul::combine_pair_with_coeff_to_pair(), GiNaC::mul::conjugate(), GiNaC::conjugate_print_latex(), GiNaC::ex::content(), GiNaC::crc32(), GiNaC::pseries::derivative(), GiNaC::matrix::determinant(), GiNaC::matrix::determinant_minor(), GiNaC::divide_in_z(), GiNaC::matrix::division_free_elimination(), GiNaC::add::do_print(), GiNaC::basic::do_print(), GiNaC::constant::do_print(), GiNaC::container< C >::do_print(), GiNaC::expairseq::do_print(), GiNaC::fderivative::do_print(), GiNaC::idx::do_print(), GiNaC::varidx::do_print(), GiNaC::spinidx::do_print(), GiNaC::indexed::do_print(), GiNaC::integral::do_print(), GiNaC::integration_kernel::do_print(), GiNaC::basic_log_kernel::do_print(), GiNaC::multiple_polylog_kernel::do_print(), GiNaC::ELi_kernel::do_print(), GiNaC::Ebar_kernel::do_print(), GiNaC::Kronecker_dtau_kernel::do_print(), GiNaC::Kronecker_dz_kernel::do_print(), GiNaC::Eisenstein_kernel::do_print(), GiNaC::Eisenstein_h_kernel::do_print(), GiNaC::modular_form_kernel::do_print(), GiNaC::user_defined_kernel::do_print(), GiNaC::matrix::do_print(), GiNaC::mul::do_print(), GiNaC::ncmul::do_print(), GiNaC::numeric::do_print(), GiNaC::pseries::do_print(), GiNaC::relational::do_print(), GiNaC::symbol::do_print(), GiNaC::symmetry::do_print(), GiNaC::wildcard::do_print(), GiNaC::ncmul::do_print_csrc(), GiNaC::add::do_print_csrc(), GiNaC::fderivative::do_print_csrc(), GiNaC::idx::do_print_csrc(), GiNaC::mul::do_print_csrc(), GiNaC::numeric::do_print_csrc(), GiNaC::power::do_print_csrc(), GiNaC::numeric::do_print_csrc_cl_N(), GiNaC::power::do_print_csrc_cl_N(), GiNaC::clifford::do_print_dflt(), GiNaC::power::do_print_dflt(), GiNaC::fderivative::do_print_latex(), GiNaC::add::do_print_latex(), GiNaC::clifford::do_print_latex(), GiNaC::constant::do_print_latex(), GiNaC::idx::do_print_latex(), GiNaC::spinidx::do_print_latex(), GiNaC::indexed::do_print_latex(), GiNaC::integral::do_print_latex(), GiNaC::matrix::do_print_latex(), GiNaC::mul::do_print_latex(), GiNaC::numeric::do_print_latex(), GiNaC::power::do_print_latex(), GiNaC::pseries::do_print_latex(), GiNaC::symbol::do_print_latex(), GiNaC::container< C >::do_print_python(), GiNaC::power::do_print_python(), GiNaC::pseries::do_print_python(), GiNaC::add::do_print_python_repr(), GiNaC::basic::do_print_python_repr(), GiNaC::constant::do_print_python_repr(), GiNaC::container< C >::do_print_python_repr(), GiNaC::matrix::do_print_python_repr(), GiNaC::mul::do_print_python_repr(), GiNaC::numeric::do_print_python_repr(), GiNaC::power::do_print_python_repr(), GiNaC::pseries::do_print_python_repr(), GiNaC::relational::do_print_python_repr(), GiNaC::symbol::do_print_python_repr(), GiNaC::wildcard::do_print_python_repr(), GiNaC::basic::do_print_tree(), GiNaC::clifford::do_print_tree(), GiNaC::constant::do_print_tree(), GiNaC::container< C >::do_print_tree(), GiNaC::expairseq::do_print_tree(), GiNaC::fderivative::do_print_tree(), GiNaC::idx::do_print_tree(), GiNaC::varidx::do_print_tree(), GiNaC::spinidx::do_print_tree(), GiNaC::indexed::do_print_tree(), GiNaC::numeric::do_print_tree(), GiNaC::pseries::do_print_tree(), GiNaC::symbol::do_print_tree(), GiNaC::symmetry::do_print_tree(), GiNaC::wildcard::do_print_tree(), GiNaC::matrix::echelon_form(), GiNaC::EllipticE_print_latex(), GiNaC::EllipticK_print_latex(), GiNaC::mul::eval(), GiNaC::power::eval(), GiNaC::power::expand_add(), GiNaC::power::expand_add_2(), GiNaC::factorial_print_dflt_latex(), GiNaC::matrix::fraction_free_elimination(), GiNaC::matrix::gauss_elimination(), GiNaC::H_print_latex(), GiNaC::power::imag_part(), GiNaC::imag_part_print_latex(), GiNaC::add::integer_content(), GiNaC::matrix::inverse(), GiNaC::lcmcoeff(), GiNaC::Li_print_latex(), GiNaC::lsolve(), GiNaC::matrix::markowitz_elimination(), GiNaC::matrix::matrix(), GiNaC::matrix::mul(), GiNaC::matrix::mul_scalar(), GiNaC::print_functor::operator()(), GiNaC::print_ptrfun_handler< T, C >::operator()(), GiNaC::print_memfun_handler< T, C >::operator()(), GiNaC::error_and_integral_is_less::operator()(), GiNaC::matrix::pivot(), GiNaC::pseries::power_const(), GiNaC::ex::primpart(), GiNaC::basic::print(), GiNaC::ex::print(), GiNaC::fderivative::print(), GiNaC::function::print(), GiNaC::structure< T, ComparisonPolicy >::print(), GiNaC::expair::print(), GiNaC::add::print_add(), GiNaC::basic::print_dispatch(), GiNaC::matrix::print_elements(), GiNaC::idx::print_index(), GiNaC::indexed::print_indexed(), GiNaC::print_integer_csrc(), GiNaC::numeric::print_numeric(), GiNaC::print_operator(), GiNaC::mul::print_overall_coeff(), GiNaC::power::print_power(), GiNaC::print_real_cl_N(), GiNaC::print_real_csrc(), GiNaC::print_real_number(), GiNaC::pseries::print_series(), GiNaC::print_sym_pow(), GiNaC::indexed::printindices(), GiNaC::expairseq::printpair(), GiNaC::expairseq::printseq(), GiNaC::container< C >::printseq(), GiNaC::numeric::read_archive(), GiNaC::power::real_part(), GiNaC::real_part_print_latex(), GiNaC::reduced_matrix(), GiNaC::S_print_latex(), GiNaC::set_print_context(), GiNaC::matrix::solve(), GiNaC::sr_gcd(), GiNaC::sub_matrix(), GiNaC::clifford::subs(), GiNaC::matrix::subs(), GiNaC::symbolic_matrix(), GiNaC::matrix::transpose(), GiNaC::ex::unit(), GiNaC::unit_matrix(), GiNaC::ex::unitcontprim(), GiNaC::zeta1_print_latex(), and GiNaC::zeta2_print_latex().

◆ m

mvec m
private

Definition at line 758 of file factor.cpp.

Referenced by GiNaC::mul::algebraic_subs_mul(), GiNaC::charpoly(), GiNaC::Eisenstein_h_kernel::coefficient_an(), GiNaC::cols(), GiNaC::convert_H_to_Li(), GiNaC::determinant(), GiNaC::power::eval(), GiNaC::tensdelta::eval_indexed(), GiNaC::tensmetric::eval_indexed(), GiNaC::evalf(), GiNaC::add::evalm(), GiNaC::mul::evalm(), GiNaC::expand(), GiNaC::power::expand(), GiNaC::power::expand_mul(), GiNaC::fibonacci(), GiNaC::H_deriv(), GiNaC::H_eval(), GiNaC::H_evalf(), GiNaC::H_print_latex(), GiNaC::H_series(), GiNaC::inverse(), GiNaC::lgamma_series(), GiNaC::Li_deriv(), GiNaC::Li_eval(), GiNaC::Li_evalf(), GiNaC::Li_print_latex(), GiNaC::Li_series(), GiNaC::nops(), GiNaC::Order_eval(), GiNaC::psi1_series(), GiNaC::psi2_eval(), GiNaC::psi2_series(), GiNaC::rank(), GiNaC::reduced_matrix(), GiNaC::resultant(), GiNaC::rows(), GiNaC::S_eval(), GiNaC::smod(), GiNaC::sub_matrix(), GiNaC::subs(), GiNaC::basic::subs(), GiNaC::clifford::subs(), GiNaC::container< C >::subs(), GiNaC::expairseq::subs(), GiNaC::idx::subs(), GiNaC::numeric::subs(), GiNaC::power::subs(), GiNaC::pseries::subs(), GiNaC::relational::subs(), GiNaC::structure< T, ComparisonPolicy >::subs(), GiNaC::symbol::subs(), GiNaC::ex::subs(), GiNaC::basic::subs_one_level(), GiNaC::container< C >::subschildren(), GiNaC::expairseq::subschildren(), GiNaC::tgamma_series(), GiNaC::trace(), GiNaC::transpose(), GiNaC::zeta1_deriv(), GiNaC::zeta1_eval(), GiNaC::zeta1_print_latex(), GiNaC::zeta2_deriv(), GiNaC::zeta2_eval(), and GiNaC::zeta2_print_latex().

◆ lr

umodpoly lr[2]
private

Definition at line 1428 of file factor.cpp.

Referenced by GiNaC::subs(), and GiNaC::ex::subs().

◆ cache

vector<vector<umodpoly> > cache
private

Definition at line 1429 of file factor.cpp.

◆ factors

upvec factors
private

◆ one

umodpoly one
private

◆ n

size_t n
private

Definition at line 1432 of file factor.cpp.

Referenced by GiNaC::class_info< OPT >::tree_node::add_child(), GiNaC::archive::add_node(), GiNaC::basic::archive(), GiNaC::clifford::archive(), GiNaC::color::archive(), GiNaC::constant::archive(), GiNaC::container< C >::archive(), GiNaC::expairseq::archive(), GiNaC::fderivative::archive(), GiNaC::function::archive(), GiNaC::idx::archive(), GiNaC::varidx::archive(), GiNaC::spinidx::archive(), GiNaC::indexed::archive(), GiNaC::integral::archive(), GiNaC::matrix::archive(), GiNaC::numeric::archive(), GiNaC::power::archive(), GiNaC::pseries::archive(), GiNaC::relational::archive(), GiNaC::symbol::archive(), GiNaC::symmetry::archive(), GiNaC::minkmetric::archive(), GiNaC::tensepsilon::archive(), GiNaC::wildcard::archive(), GiNaC::archive::archive(), GiNaC::bernoulli(), GiNaC::binomial(), GiNaC::basic::coeff(), GiNaC::ex::coeff(), GiNaC::add::coeff(), GiNaC::mul::coeff(), GiNaC::ncmul::coeff(), GiNaC::numeric::coeff(), GiNaC::power::coeff(), GiNaC::pseries::coeff(), GiNaC::structure< T, ComparisonPolicy >::coeff(), GiNaC::coeff(), GiNaC::Eisenstein_h_kernel::coefficient_an(), GiNaC::basic::collect(), GiNaC::const_postorder_iterator::const_postorder_iterator(), GiNaC::const_preorder_iterator::const_preorder_iterator(), GiNaC::composition_generator::coolmulti::coolmulti(), GiNaC::matrix::determinant_minor(), GiNaC::dirichlet_character(), GiNaC::matrix::division_free_elimination(), GiNaC::doublefactorial(), GiNaC::class_info< OPT >::dump_tree(), GiNaC::matrix::echelon_form(), GiNaC::power::eval(), GiNaC::mul::expand(), GiNaC::power::expand_add(), GiNaC::power::expand_mul(), GiNaC::factorial(), GiNaC::fibonacci(), GiNaC::frac_cancel(), GiNaC::matrix::fraction_free_elimination(), GiNaC::function_options::function_options(), GiNaC::matrix::gauss_elimination(), GiNaC::gcd(), GiNaC::golden_ratio_hash(), GiNaC::H_eval(), GiNaC::ifactor(), GiNaC::power::imag_part(), GiNaC::is_discriminant_of_quadratic_number_field(), GiNaC::kronecker_symbol(), GiNaC::integration_kernel::Laurent_series(), GiNaC::log2(), GiNaC::log_series(), GiNaC::basic::map(), GiNaC::matrix::markowitz_elimination(), GiNaC::multinomial_coefficient(), GiNaC::add::normal(), GiNaC::mul::normal(), GiNaC::pseries::normal(), GiNaC::const_iterator::operator+(), GiNaC::const_iterator::operator+=(), GiNaC::const_iterator::operator-(), GiNaC::const_iterator::operator-=(), GiNaC::const_iterator::operator[](), GiNaC::primitive_dirichlet_character(), GiNaC::psi2_deriv(), GiNaC::psi2_eval(), GiNaC::psi2_evalf(), GiNaC::psi2_series(), GiNaC::clifford::read_archive(), GiNaC::color::read_archive(), GiNaC::container< C >::read_archive(), GiNaC::constant::read_archive(), GiNaC::expairseq::read_archive(), GiNaC::fderivative::read_archive(), GiNaC::function::read_archive(), GiNaC::idx::read_archive(), GiNaC::varidx::read_archive(), GiNaC::spinidx::read_archive(), GiNaC::indexed::read_archive(), GiNaC::integral::read_archive(), GiNaC::matrix::read_archive(), GiNaC::numeric::read_archive(), GiNaC::power::read_archive(), GiNaC::pseries::read_archive(), GiNaC::relational::read_archive(), GiNaC::symbol::read_archive(), GiNaC::symmetry::read_archive(), GiNaC::minkmetric::read_archive(), GiNaC::tensepsilon::read_archive(), GiNaC::wildcard::read_archive(), GiNaC::power::real_part(), GiNaC::container_storage< C >::reserve(), GiNaC::rotate_left(), GiNaC::S_deriv(), GiNaC::S_eval(), GiNaC::S_evalf(), GiNaC::S_print_latex(), GiNaC::S_series(), GiNaC::basic::series(), GiNaC::symbol::set_name(), GiNaC::function_options::set_name(), GiNaC::symbol::set_TeX_name(), GiNaC::matrix::solve(), GiNaC::sqrfree_parfrac(), GiNaC::function_options::test_and_set_nparams(), GiNaC::tgamma_eval(), GiNaC::ex::traverse_postorder(), GiNaC::ex::traverse_preorder(), GiNaC::symmetry::validate(), GiNaC::write_real_float(), GiNaC::zetaderiv_deriv(), and GiNaC::zetaderiv_eval().

◆ len

size_t len
private

Definition at line 1433 of file factor.cpp.

Referenced by GiNaC::crc32().

◆ last

size_t last
private

◆ k

vector<int> k
private

◆ poly

const ex poly

Definition at line 1443 of file factor.cpp.

Referenced by GiNaC::matrix::charpoly(), and GiNaC::factor().

◆ x

const ex x

Definition at line 1610 of file factor.cpp.

Referenced by GiNaC::abs(), GiNaC::acos(), GiNaC::acos_conjugate(), GiNaC::acos_deriv(), GiNaC::acos_eval(), GiNaC::acos_evalf(), GiNaC::acosh(), GiNaC::acosh_conjugate(), GiNaC::acosh_deriv(), GiNaC::acosh_eval(), GiNaC::acosh_evalf(), GiNaC::adaptivesimpson(), GiNaC::asin(), GiNaC::asin_conjugate(), GiNaC::asin_deriv(), GiNaC::asin_eval(), GiNaC::asin_evalf(), GiNaC::asin_info(), GiNaC::asinh(), GiNaC::asinh_conjugate(), GiNaC::asinh_deriv(), GiNaC::asinh_eval(), GiNaC::asinh_evalf(), GiNaC::atan(), GiNaC::atan2_deriv(), GiNaC::atan2_eval(), GiNaC::atan2_evalf(), GiNaC::atan2_info(), GiNaC::atan_conjugate(), GiNaC::atan_deriv(), GiNaC::atan_eval(), GiNaC::atan_evalf(), GiNaC::atan_info(), GiNaC::atanh(), GiNaC::atanh_conjugate(), GiNaC::atanh_deriv(), GiNaC::atanh_eval(), GiNaC::atanh_evalf(), GiNaC::beta_deriv(), GiNaC::beta_eval(), GiNaC::beta_evalf(), GiNaC::binomial_conjugate(), GiNaC::binomial_eval(), GiNaC::binomial_evalf(), GiNaC::binomial_real_part(), GiNaC::binomial_sym(), GiNaC::lanczos_coeffs::calc_lanczos_A(), GiNaC::basic::collect(), GiNaC::container< C >::conjugate(), GiNaC::expairseq::conjugate(), GiNaC::matrix::conjugate(), GiNaC::mul::conjugate(), GiNaC::conjugateepvector(), GiNaC::ex::content(), GiNaC::convert_H_to_Li(), GiNaC::cos(), GiNaC::cos_conjugate(), GiNaC::cos_deriv(), GiNaC::cos_eval(), GiNaC::cos_evalf(), GiNaC::cos_imag_part(), GiNaC::cos_real_part(), GiNaC::cosh(), GiNaC::cosh_conjugate(), GiNaC::cosh_deriv(), GiNaC::cosh_eval(), GiNaC::cosh_evalf(), GiNaC::cosh_imag_part(), GiNaC::cosh_real_part(), GiNaC::csgn(), GiNaC::decomp_rational(), GiNaC::denom(), GiNaC::divide(), GiNaC::divide_in_z(), GiNaC::eta_conjugate(), GiNaC::eta_eval(), GiNaC::eta_evalf(), GiNaC::eta_imag_part(), GiNaC::eta_series(), GiNaC::tensepsilon::eval_indexed(), GiNaC::exp(), GiNaC::exp_conjugate(), GiNaC::exp_deriv(), GiNaC::exp_eval(), GiNaC::exp_evalf(), GiNaC::exp_imag_part(), GiNaC::exp_info(), GiNaC::exp_power(), GiNaC::exp_real_part(), GiNaC::factorial_conjugate(), GiNaC::factorial_eval(), GiNaC::factorial_evalf(), GiNaC::factorial_print_dflt_latex(), GiNaC::factorial_real_part(), GiNaC::find_common_factor(), GiNaC::frac_cancel(), GiNaC::fsolve(), GiNaC::G(), GiNaC::G2_eval(), GiNaC::G2_evalf(), GiNaC::G3_eval(), GiNaC::G3_evalf(), GiNaC::gcd(), GiNaC::get_first_symbol(), GiNaC::guess_precision(), GiNaC::H_deriv(), GiNaC::H_eval(), GiNaC::H_evalf(), GiNaC::H_print_latex(), GiNaC::H_series(), GiNaC::make_flat_inserter::handle_factor(), GiNaC::hasindex(), GiNaC::haswild(), GiNaC::heur_gcd_z(), GiNaC::imag(), GiNaC::interpolate(), GiNaC::inverse(), GiNaC::is_cinteger(), GiNaC::is_crational(), GiNaC::is_even(), GiNaC::is_integer(), GiNaC::is_negative(), GiNaC::is_nonneg_integer(), GiNaC::is_odd(), GiNaC::is_pos_integer(), GiNaC::is_positive(), GiNaC::is_prime(), GiNaC::is_rational(), GiNaC::is_real(), GiNaC::is_the_function(), GiNaC::is_the_function< G_SERIAL >(), GiNaC::is_the_function< iterated_integral_SERIAL >(), GiNaC::is_the_function< psi_SERIAL >(), GiNaC::is_the_function< zeta_SERIAL >(), GiNaC::is_zero(), GiNaC::isqrt(), GiNaC::lgamma(), GiNaC::lgamma_conjugate(), GiNaC::lgamma_deriv(), GiNaC::lgamma_eval(), GiNaC::lgamma_evalf(), GiNaC::Li2(), GiNaC::Li2_conjugate(), GiNaC::Li2_deriv(), GiNaC::Li2_eval(), GiNaC::Li2_evalf(), GiNaC::Li2_projection(), GiNaC::Li2_series(), GiNaC::Li3_eval(), GiNaC::Li_deriv(), GiNaC::Li_eval(), GiNaC::Li_evalf(), GiNaC::Li_print_latex(), GiNaC::Li_series(), GiNaC::log(), GiNaC::log_conjugate(), GiNaC::log_deriv(), GiNaC::log_eval(), GiNaC::log_evalf(), GiNaC::log_imag_part(), GiNaC::log_info(), GiNaC::log_real_part(), GiNaC::make_real_float(), GiNaC::matrix::matrix(), GiNaC::numer(), GiNaC::sym_desc::operator<(), GiNaC::Order_conjugate(), GiNaC::Order_eval(), GiNaC::Order_imag_part(), GiNaC::Order_power(), GiNaC::Order_real_part(), GiNaC::Order_series(), GiNaC::pow(), GiNaC::prem(), GiNaC::ex::primpart(), GiNaC::print_integer_csrc(), GiNaC::print_real_cl_N(), GiNaC::print_real_csrc(), GiNaC::print_real_number(), GiNaC::print_sym_pow(), GiNaC::psi1_deriv(), GiNaC::psi1_eval(), GiNaC::psi1_evalf(), GiNaC::psi2_deriv(), GiNaC::psi2_eval(), GiNaC::psi2_evalf(), GiNaC::quo(), GiNaC::read_real_float(), GiNaC::real(), GiNaC::rem(), GiNaC::S_deriv(), GiNaC::S_eval(), GiNaC::S_evalf(), GiNaC::S_print_latex(), GiNaC::S_series(), GiNaC::sin(), GiNaC::sin_conjugate(), GiNaC::sin_deriv(), GiNaC::sin_eval(), GiNaC::sin_evalf(), GiNaC::sin_imag_part(), GiNaC::sin_real_part(), GiNaC::sinh(), GiNaC::sinh_conjugate(), GiNaC::sinh_deriv(), GiNaC::sinh_eval(), GiNaC::sinh_evalf(), GiNaC::sinh_imag_part(), GiNaC::sinh_real_part(), GiNaC::sprem(), GiNaC::sqrfree(), GiNaC::sqrfree_parfrac(), GiNaC::sqrfree_yun(), GiNaC::sqrt(), GiNaC::sr_gcd(), GiNaC::step(), GiNaC::tan(), GiNaC::tan_conjugate(), GiNaC::tan_deriv(), GiNaC::tan_eval(), GiNaC::tan_evalf(), GiNaC::tan_imag_part(), GiNaC::tan_real_part(), GiNaC::tan_series(), GiNaC::tanh(), GiNaC::tanh_conjugate(), GiNaC::tanh_deriv(), GiNaC::tanh_eval(), GiNaC::tanh_evalf(), GiNaC::tanh_imag_part(), GiNaC::tanh_real_part(), GiNaC::tanh_series(), GiNaC::tgamma(), GiNaC::tgamma_conjugate(), GiNaC::tgamma_deriv(), GiNaC::tgamma_eval(), GiNaC::tgamma_evalf(), GiNaC::to_double(), GiNaC::to_int(), GiNaC::to_long(), GiNaC::trig_info(), GiNaC::ex::unit(), GiNaC::unit_matrix(), GiNaC::ex::unitcontprim(), GiNaC::zeta(), GiNaC::zeta1_evalf(), GiNaC::zeta2_evalf(), GiNaC::zetaderiv_deriv(), and GiNaC::zetaderiv_eval().

◆ evalpoint

int evalpoint

Definition at line 1611 of file factor.cpp.

◆ R

cl_modint_ring R

Definition at line 1791 of file factor.cpp.

◆ syms_wox

const exset syms_wox

Definition at line 2190 of file factor.cpp.

◆ unit

ex unit

Definition at line 2191 of file factor.cpp.

Referenced by GiNaC::kronecker_symbol().

◆ cont

ex cont

◆ pp

ex pp

Definition at line 2191 of file factor.cpp.

◆ vn

ex vn

Definition at line 2192 of file factor.cpp.

◆ vnlst

exvector vnlst

Definition at line 2192 of file factor.cpp.

◆ modulus

numeric modulus

Definition at line 2193 of file factor.cpp.

◆ syms

exset syms

Definition at line 2429 of file factor.cpp.

Referenced by GiNaC::lsolve().

◆ options

unsigned options

Definition at line 2475 of file factor.cpp.

Referenced by GiNaC::abs_expand(), GiNaC::mul::algebraic_subs_mul(), GiNaC::atan_series(), GiNaC::atanh_series(), GiNaC::beta_series(), GiNaC::csgn_series(), GiNaC::determinant(), GiNaC::exp_expand(), GiNaC::expand(), GiNaC::basic::expand(), GiNaC::ex::expand(), GiNaC::add::expand(), GiNaC::expairseq::expand(), GiNaC::function::expand(), GiNaC::indexed::expand(), GiNaC::integral::expand(), GiNaC::mul::expand(), GiNaC::ncmul::expand(), GiNaC::power::expand(), GiNaC::pseries::expand(), GiNaC::structure< T, ComparisonPolicy >::expand(), GiNaC::power::expand_add(), GiNaC::power::expand_add_2(), GiNaC::power::expand_mul(), GiNaC::expairseq::expandchildren(), GiNaC::mul::expandchildren(), GiNaC::ncmul::expandchildren(), GiNaC::factor(), GiNaC::gcd(), GiNaC::basic::has(), GiNaC::mul::has(), GiNaC::power::has(), GiNaC::structure< T, ComparisonPolicy >::has(), GiNaC::ex::has(), GiNaC::has(), GiNaC::lgamma_series(), GiNaC::Li2_series(), GiNaC::log_expand(), GiNaC::log_series(), GiNaC::lsolve(), GiNaC::expand_map_function::operator()(), GiNaC::function_options::print_func(), GiNaC::registered_class_options::print_func(), GiNaC::psi1_series(), GiNaC::psi2_series(), GiNaC::S_series(), GiNaC::ex::series(), GiNaC::series(), GiNaC::add::series(), GiNaC::fderivative::series(), GiNaC::function::series(), GiNaC::integral::series(), GiNaC::pseries::series(), GiNaC::structure< T, ComparisonPolicy >::series(), GiNaC::mul::series(), GiNaC::power::series(), GiNaC::set_print_context(), GiNaC::set_print_func(), GiNaC::set_print_options(), GiNaC::simplify_indexed(), GiNaC::step_series(), GiNaC::subs(), GiNaC::basic::subs(), GiNaC::clifford::subs(), GiNaC::container< C >::subs(), GiNaC::expairseq::subs(), GiNaC::idx::subs(), GiNaC::matrix::subs(), GiNaC::numeric::subs(), GiNaC::power::subs(), GiNaC::pseries::subs(), GiNaC::relational::subs(), GiNaC::structure< T, ComparisonPolicy >::subs(), GiNaC::symbol::subs(), GiNaC::ex::subs(), GiNaC::basic::subs_one_level(), GiNaC::container< C >::subschildren(), GiNaC::expairseq::subschildren(), GiNaC::tan_series(), GiNaC::tanh_series(), and GiNaC::tgamma_series().


This page is part of the GiNaC developer's reference. It was generated automatically by doxygen. For an introduction, see the tutorial.