GiNaC
1.8.0
|
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 <algorithm>
#include <limits>
#include <list>
#include <vector>
#include <stack>
#include <cln/cln.h>
Go to the source code of this file.
Namespaces | |
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... | |
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.
#define DCOUT | ( | str | ) |
Definition at line 131 of file factor.cpp.
#define DCOUTVAR | ( | var | ) |
Definition at line 132 of file factor.cpp.
#define DCOUT2 | ( | str, | |
var | |||
) |
Definition at line 133 of file factor.cpp.
#define USE_SAME_DEGREE_FACTOR |
Definition at line 1113 of file factor.cpp.
|
static |
Definition at line 231 of file factor.cpp.
Referenced by GiNaC::archive_node::add_bool(), GiNaC::archive_node::add_ex(), GiNaC::archive_node::add_string(), GiNaC::archive_node::add_unsigned(), GiNaC::Li2_(), GiNaC::matrix::set(), and GiNaC::subsvalue().
|
private |
Definition at line 770 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::simplify_indexed_product(), GiNaC::matrix::solve(), GiNaC::sprem(), 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().
|
private |
Definition at line 770 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::add::combine_ex_with_coeff_to_pair(), GiNaC::mul::combine_ex_with_coeff_to_pair(), GiNaC::mul::combine_overall_coeff(), 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::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::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().
|
private |
Definition at line 771 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::reposition_dummy_indices(), 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::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::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().
|
private |
Definition at line 1459 of file factor.cpp.
Referenced by GiNaC::subs(), and GiNaC::ex::subs().
|
private |
Definition at line 1460 of file factor.cpp.
|
private |
Definition at line 1461 of file factor.cpp.
Referenced by GiNaC::ncmul::count_factors(), GiNaC::ncmul::eval(), GiNaC::mul::expand(), GiNaC::mul::mul(), GiNaC::sqrfree(), and GiNaC::sqrfree_yun().
|
private |
Definition at line 1462 of file factor.cpp.
Referenced by GiNaC::integration_kernel::get_numerical_value_impl(), and GiNaC::iterated_integral_evalf_impl().
|
private |
Definition at line 1463 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::operator<<(), GiNaC::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::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().
|
private |
Definition at line 1464 of file factor.cpp.
Referenced by GiNaC::crc32().
|
private |
Definition at line 1465 of file factor.cpp.
Referenced by GiNaC::antisymmetrize(), GiNaC::canonicalize(), GiNaC::cyclic_permutation(), GiNaC::mul::eval(), GiNaC::power::expand_add_2(), GiNaC::mul::expandchildren(), GiNaC::find_free_and_dummy(), GiNaC::permutation_sign(), GiNaC::shaker_sort(), GiNaC::symm(), GiNaC::symmetrize(), and GiNaC::symmetrize_cyclic().
|
private |
Definition at line 1466 of file factor.cpp.
Referenced by GiNaC::bernoulli(), GiNaC::Bernoulli_polynomial(), GiNaC::binomial(), GiNaC::scalar_products::debugprint(), GiNaC::divide_in_z(), GiNaC::EllipticE_deriv(), GiNaC::EllipticE_eval(), GiNaC::EllipticE_evalf(), GiNaC::EllipticE_print_latex(), GiNaC::EllipticE_series(), GiNaC::EllipticK_deriv(), GiNaC::EllipticK_eval(), GiNaC::EllipticK_evalf(), GiNaC::EllipticK_print_latex(), GiNaC::EllipticK_series(), GiNaC::ncmul::expand(), GiNaC::power::expand_add(), GiNaC::find_common_factor(), GiNaC::generalised_Bernoulli_number(), GiNaC::multi_iterator_permutation< T >::get_sign(), GiNaC::log2(), GiNaC::matrix::markowitz_elimination(), GiNaC::basic_partition_generator::mpartition2::mpartition2(), GiNaC::basic_partition_generator::mpartition2::next_partition(), GiNaC::composition_generator::coolmulti::next_permutation(), GiNaC::multi_iterator_ordered< T >::operator++(), GiNaC::multi_iterator_ordered_eq< T >::operator++(), GiNaC::multi_iterator_ordered_eq_indv< T >::operator++(), GiNaC::multi_iterator_counter< T >::operator++(), GiNaC::multi_iterator_counter_indv< T >::operator++(), GiNaC::multi_iterator_permutation< T >::operator++(), GiNaC::multi_iterator_shuffle< T >::operator++(), GiNaC::matrix::pivot(), GiNaC::reposition_dummy_indices(), GiNaC::resultant(), GiNaC::ELi_kernel::series_coeff_impl(), GiNaC::Ebar_kernel::series_coeff_impl(), GiNaC::simplify_indexed(), and GiNaC::sqrfree_parfrac().
upoly poly |
Definition at line 1474 of file factor.cpp.
Referenced by GiNaC::matrix::charpoly(), and GiNaC::factor().
ex x |
Definition at line 1641 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::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::atan_conjugate(), GiNaC::atan_deriv(), GiNaC::atan_eval(), GiNaC::atan_evalf(), 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::matrix::conjugate(), GiNaC::mul::conjugate(), 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_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_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_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::ex::unit(), GiNaC::unit_matrix(), GiNaC::ex::unitcontprim(), GiNaC::zeta(), GiNaC::zeta1_evalf(), GiNaC::zeta2_evalf(), GiNaC::zetaderiv_deriv(), and GiNaC::zetaderiv_eval().
int evalpoint |
Definition at line 1642 of file factor.cpp.
cl_modint_ring R |
Definition at line 1822 of file factor.cpp.
exset syms |
Definition at line 2434 of file factor.cpp.
Referenced by GiNaC::lsolve().
unsigned options |
Definition at line 2480 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::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::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::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::tan_series(), GiNaC::tanh_series(), and GiNaC::tgamma_series().