\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)
CGAL 4.4 - Polynomial
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
CGAL Namespace Reference

Classes

class  Exponent_vector
 For a given (multivariate) monomial the vector of its exponents is called the exponent vector. More...
 
class  Polynomial
 An instance of the data type Polynomial represents a polynomial \( p = a_0 + a_1*x + ...a_i*x^i\) from the ring \( \mathrm{Coeff}[x]\). More...
 
class  Polynomial_traits_d
 A model of concept PolynomialTraits_d More...
 
class  Polynomial_type_generator
 This class template provides a convenient way to obtain the type representing a multivariate polynomial with d variables, where T is the innermost coefficient type. More...
 

Functions

template<class Polynomial_d >
Polynomial_traits_d
< Polynomial_d >
::Canonicalize::result_type 
canonicalize (const Polynomial_d &p)
 For a given Polynomial_d, adapts the according functor in Polynomial_traits_d<Polynomial_d>. More...
 
template<class Polynomial_d >
Polynomial_traits_d
< Polynomial_d >
::Compare::result_type 
compare (const Polynomial_d &p, const Polynomial_d &q)
 For a given Polynomial_d, adapts the according functor in Polynomial_traits_d<Polynomial_d>. More...
 
template<class Polynomial_d >
Polynomial_traits_d
< Polynomial_d >
::Degree::result_type 
degree (const Polynomial_d &p, int i, index=Polynomial_traits_d< Polynomial_d >::d-1)
 For a given Polynomial_d, adapts the according functor in Polynomial_traits_d<Polynomial_d>. More...
 
template<class Polynomial_d >
Polynomial_traits_d
< Polynomial_d >
::Degree_vector::result_type 
degree_vector (const Polynomial_d &p)
 For a given Polynomial_d, adapts the according functor in Polynomial_traits_d<Polynomial_d>. More...
 
template<class Polynomial_d >
Polynomial_traits_d
< Polynomial_d >
::Differentiate::result_type 
differentiate (const Polynomial_d &p, index=Polynomial_traits_d< Polynomial_d >::d-1)
 For a given Polynomial_d, adapts the according functor in Polynomial_traits_d<Polynomial_d>. More...
 
template<class Polynomial_d >
Polynomial_traits_d
< Polynomial_d >
::Evaluate_homogeneous::result_type 
evaluate_homogeneous (const Polynomial_d &p, Polynomial_traits_d< Polynomial_d >::Coefficient_type u, Polynomial_traits_d< Polynomial_d >::Coefficient_type v)
 For a given Polynomial_d, adapts the according functor in Polynomial_traits_d<Polynomial_d>. More...
 
template<class Polynomial_d >
Polynomial_traits_d
< Polynomial_d >
::Evaluate::result_type 
evaluate (const Polynomial_d &p, Polynomial_traits_d< Polynomial_d >::Coefficient_type x)
 For a given Polynomial_d, adapts the according functor in Polynomial_traits_d<Polynomial_d>. More...
 
template<class Polynomial_d >
Polynomial_traits_d
< Polynomial_d >
::Gcd_up_to_constant_factor::result_type 
gcd_up_to_constant_factor (const Polynomial_d &p, const Polynomial_d &q)
 For a given Polynomial_d, adapts the according functor in Polynomial_traits_d<Polynomial_d>. More...
 
template<class Polynomial_d >
Polynomial_traits_d
< Polynomial_d >
::get_coefficient::result_type 
get_coefficient (const Polynomial_d &p, int i)
 For a given Polynomial_d, adapts the according functor in Polynomial_traits_d<Polynomial_d>. More...
 
template<class Polynomial_d >
Polynomial_traits_d
< Polynomial_d >
::get_innermost_coefficient::result_type 
get_innermost_coefficient (const Polynomial_d &p, Exponent_vector ev)
 For a given Polynomial_d, adapts the according functor in Polynomial_traits_d<Polynomial_d>. More...
 
template<class Polynomial_d >
Polynomial_traits_d
< Polynomial_d >
::Innermost_leading_coefficient::result_type 
innermost_leading_coefficient (const Polynomial_d &p)
 For a given Polynomial_d, adapts the according functor in Polynomial_traits_d<Polynomial_d>. More...
 
template<class Polynomial_d >
Polynomial_traits_d
< Polynomial_d >
::Integral_division_up_to_constant_factor::result_type 
integral_division_up_to_constant_factor (const Polynomial_d &p, const Polynomial_d &q)
 For a given Polynomial_d, adapts the according functor in Polynomial_traits_d<Polynomial_d>. More...
 
template<class Polynomial_d >
Polynomial_traits_d
< Polynomial_d >
::Invert::result_type 
invert (const Polynomial_d &p, int index=Polynomial_traits_d< Polynomial_d >::d-1)
 For a given Polynomial_d, adapts the according functor in Polynomial_traits_d<Polynomial_d>. More...
 
template<class Polynomial_d >
Polynomial_traits_d
< Polynomial_d >
::Is_square_free::result_type 
is_square_free (const Polynomial_d &p)
 For a given Polynomial_d, adapts the according functor in Polynomial_traits_d<Polynomial_d>. More...
 
template<class Polynomial_d , class InputIterator >
Polynomial_traits_d
< Polynomial_d >
::Is_zero_at_homogeneous::result_type 
is_zero_at_homogeneous (const Polynomial_d &p, InputIterator begin, InputIterator end)
 For a given Polynomial_d, adapts the according functor in Polynomial_traits_d<Polynomial_d>. More...
 
template<class Polynomial_d , class InputIterator >
Polynomial_traits_d
< Polynomial_d >
::Is_zero_at::result_type 
is_zero_at (const Polynomial_d &p, InputIterator begin, InputIterator end)
 For a given Polynomial_d, adapts the according functor in Polynomial_traits_d<Polynomial_d>. More...
 
template<class Polynomial_d >
Polynomial_traits_d
< Polynomial_d >
::Leading_coefficient::result_type 
leading_coefficient (const Polynomial_d &p)
 For a given Polynomial_d, adapts the according functor in Polynomial_traits_d<Polynomial_d>. More...
 
template<class Polynomial_d >
Polynomial_traits_d
< Polynomial_d >
::Make_square_free::result_type 
make_square_free (const Polynomial_d &p)
 For a given Polynomial_d, adapts the according functor in Polynomial_traits_d<Polynomial_d>. More...
 
template<class Polynomial_d >
Polynomial_traits_d
< Polynomial_d >
::Move::result_type 
move (const Polynomial_d &p, int i, int j)
 For a given Polynomial_d, adapts the according functor in Polynomial_traits_d<Polynomial_d>. More...
 
template<class Polynomial_d >
Polynomial_traits_d
< Polynomial_d >
::Multivariate_content::result_type 
multivariate_content (const Polynomial_d &p)
 For a given Polynomial_d, adapts the according functor in Polynomial_traits_d<Polynomial_d>. More...
 
template<class Polynomial_d >
Polynomial_traits_d
< Polynomial_d >
::Negate::result_type 
negate (const Polynomial_d &p, int index=Polynomial_traits_d< Polynomial_d >::d-1)
 For a given Polynomial_d, adapts the according functor in Polynomial_traits_d<Polynomial_d>. More...
 
template<typename Polynomial_d >
int number_of_real_roots (Polynomial_d f)
 computes the number of distinct real roots of \(f\). More...
 
template<typename InputIterator >
int number_of_real_roots (InputIterator start, InputIterator end)
 computes the number of distinct real roots of \( f\) whose principal Sturm-Habicht coefficients are passed by the iterator range. More...
 
template<class Polynomial_d , class InputIterator >
Polynomial_traits_d
< Polynomial_d >
::Permute::result_type 
permute (const Polynomial_d &p, InputIterator begin, InputIterator end)
 For a given Polynomial_d, adapts the according functor in Polynomial_traits_d<Polynomial_d>. More...
 
template<typename Polynomial_d , typename OutputIterator >
OutputIterator polynomial_subresultants (Polynomial_d p, Polynomial_d q, OutputIterator out)
 computes the polynomial subresultants of \( p\) and \( q\), with respect to the outermost variable. More...
 
template<typename Polynomial_d , typename OutputIterator1 , typename OutputIterator2 , typename OutputIterator3 >
OutputIterator1 polynomial_subresultants_with_cofactors (Polynomial_d p, Polynomial_d q, OutputIterator1 sres_out, OutputIterator2 coP_out, OutputIterator3 coQ_out)
 computes the polynomial subresultants of \( p\) and \( q\), sres_out, with respect to the outermost variable, and the cofactors for \( P\), coP_out and \( Q\), coQ_out. More...
 
template<typename Polynomial_d , typename OutputIterator >
OutputIterator principal_sturm_habicht_sequence (typename Polynomial_d f, OutputIterator out)
 computes the principal Sturm-Habicht coefficients of \( f\) with respect to the outermost variable. More...
 
template<typename Polynomial_d , typename OutputIterator >
OutputIterator principal_subresultants (Polynomial_d p, Polynomial_d q, OutputIterator out)
 computes the principal subresultants of \( p\) and \( q\), with respect to the outermost variable. More...
 
template<class Polynomial_d >
void pseudo_division (const Polynomial_d &f, const Polynomial_d &g, Polynomial_d &q, Polynomial_d &r, Polynomial_traits_d< Polynomial_d >::Coefficient_type &D)
 For a given Polynomial_d, adapts the according functor in Polynomial_traits_d<Polynomial_d>. More...
 
template<class Polynomial_d >
Polynomial_traits_d
< Polynomial_d >
::Pseudo_division_quotient::result_type 
pseudo_division_quotient (const Polynomial_d &p, const Polynomial_d &q)
 For a given Polynomial_d, adapts the according functor in Polynomial_traits_d<Polynomial_d>. More...
 
template<class Polynomial_d >
Polynomial_traits_d
< Polynomial_d >
::Pseudo_division_remainder::result_type 
pseudo_division_remainder (const Polynomial_d &p, const Polynomial_d &q)
 For a given Polynomial_d, adapts the according functor in Polynomial_traits_d<Polynomial_d>. More...
 
template<class Polynomial_d >
Polynomial_traits_d
< Polynomial_d >
::Resultant::result_type 
resultant (const Polynomial_d &p, const Polynomial_d &q)
 For a given Polynomial_d, adapts the according functor in Polynomial_traits_d<Polynomial_d>. More...
 
template<class Polynomial_d >
Polynomial_traits_d
< Polynomial_d >
::Scale_homogeneous::result_type 
scale_homogeneous (const Polynomial_d &p, const Polynomial_traits_d< Polynomial_d >::Innermost_coefficient_type &u, const Polynomial_traits_d< Polynomial_d >::Innermost_coefficient_type &v, int index=Polynomial_traits_d< Polynomial_d >::d-1)
 For a given Polynomial_d, adapts the according functor in Polynomial_traits_d<Polynomial_d>. More...
 
template<class Polynomial_d >
Polynomial_traits_d
< Polynomial_d >
::Scale::result_type 
scale (const Polynomial_d &p, const Polynomial_traits_d< Polynomial_d >::Innermost_coefficient_type &a, int index=Polynomial_traits_d< Polynomial_d >::d-1)
 For a given Polynomial_d, adapts the according functor in Polynomial_traits_d<Polynomial_d>. More...
 
template<class Polynomial_d >
Polynomial_traits_d
< Polynomial_d >
::Shift::result_type 
shift (const Polynomial_d &p, int i, int index=Polynomial_traits_d< Polynomial_d >::d-1)
 For a given Polynomial_d, adapts the according functor in Polynomial_traits_d<Polynomial_d>. More...
 
template<class Polynomial_d , class InputIterator >
Polynomial_traits_d
< Polynomial_d >
::Sign_at_homogeneous::result_type 
sign_at_homogeneous (const Polynomial_d &p, InputIterator begin, InputIterator end)
 For a given Polynomial_d, adapts the according functor in Polynomial_traits_d<Polynomial_d>. More...
 
template<class Polynomial_d , class InputIterator >
Polynomial_traits_d
< Polynomial_d >
::Sign_at::result_type 
sign_at (const Polynomial_d &p, InputIterator begin, InputIterator end)
 For a given Polynomial_d, adapts the according functor in Polynomial_traits_d<Polynomial_d>. More...
 
template<class Polynomial_d , class OutputIterator >
OutputIterator square_free_factorize (const Polynomial_d &p, OutputIterator it, Polynomial_traits_d< Polynomial >::Innermost_coefficient &a)
 For a given Polynomial_d, adapts the according functor in Polynomial_traits_d<Polynomial_d>. More...
 
template<class Polynomial_d , class OutputIterator >
OutputIterator square_free_factorize (const Polynomial_d &p, OutputIterator it)
 For a given Polynomial_d, adapts the according functor in Polynomial_traits_d<Polynomial_d>. More...
 
template<class Polynomial_d , class OutputIterator >
OutputIterator square_free_factorize_up_to_constant_factor (const Polynomial_d &p, OutputIterator it)
 For a given Polynomial_d, adapts the according functor in Polynomial_traits_d<Polynomial_d>. More...
 
template<typename Polynomial_d , typename OutputIterator >
OutputIterator sturm_habicht_sequence (Polynomial_d f, OutputIterator out)
 computes the Sturm-Habicht-sequence of \( f\) with respect to the outermost variable. More...
 
template<typename Polynomial_d , typename OutputIterator1 , typename OutputIterator2 , typename OutputIterator3 >
OutputIterator1 sturm_habicht_sequence_with_cofactors (Polynomial_d f, OutputIterator1 stha_out, OutputIterator2 cof_out, OutputIterator3 cofx_out)
 computes the Sturm-Habicht sequence of \( f\) stha_out, with respect to the outermost variable, and the cofactors for \( f\), cof_out and \( f'\), cofx_out. More...
 
template<class Polynomial_d , class InputIterator >
CGAL::Coercion_traits
< Polynomial_traits_d
< Polynomial_d >
::Innermost_coefficient,
std::iterator_traits
< Input_iterator >::value_type >
::Type 
substitute_homogeneous (const Polynomial_d &p, InputIterator begin, InputIterator end)
 For a given Polynomial_d, adapts the according functor in Polynomial_traits_d<Polynomial_d>. More...
 
template<class Polynomial_d , class InputIterator >
CGAL::Coercion_traits
< Polynomial_traits_d
< Polynomial_d >
::Innermost_coefficient,
std::iterator_traits
< Input_iterator >::value_type >
::Type 
substitute (const Polynomial_d &p, InputIterator begin, InputIterator end)
 For a given Polynomial_d, adapts the according functor in Polynomial_traits_d<Polynomial_d>. More...
 
template<class Polynomial_d >
Polynomial_traits_d
< Polynomial_d >
::Swap::result_type 
swap (const Polynomial_d &p, int i, int j)
 For a given Polynomial_d, adapts the according functor in Polynomial_traits_d<Polynomial_d>. More...
 
template<class Polynomial_d >
Polynomial_traits_d
< Polynomial_d >
::Total_degree::result_type 
total_degree (const Polynomial_d &p)
 For a given Polynomial_d, adapts the according functor in Polynomial_traits_d<Polynomial_d>. More...
 
template<class Polynomial_d >
Polynomial_traits_d
< Polynomial_d >
::Translate_homogeneous::result_type 
translate_homogeneous (const Polynomial_d &p, const Polynomial_traits_d< Polynomial_d >::Innermost_coefficient_type &u, const Polynomial_traits_d< Polynomial_d >::Innermost_coefficient_type &v, int index=Polynomial_traits_d< Polynomial_d >::d-1)
 For a given Polynomial_d, adapts the according functor in Polynomial_traits_d<Polynomial_d>. More...
 
template<class Polynomial_d >
Polynomial_traits_d
< Polynomial_d >
::Translate::result_type 
translate (const Polynomial_d &p, const Polynomial_traits_d< Polynomial_d >::Innermost_coefficient_type &a, int index=Polynomial_traits_d< Polynomial_d >::d-1)
 For a given Polynomial_d, adapts the according functor in Polynomial_traits_d<Polynomial_d>. More...
 
template<class Polynomial_d >
Polynomial_traits_d
< Polynomial_d >
::Univariate_content::result_type 
univariate_content (const Polynomial_d &p)
 For a given Polynomial_d, adapts the according functor in Polynomial_traits_d<Polynomial_d>. More...
 
template<class Polynomial_d >
Polynomial_traits_d
< Polynomial_d >
::Univariate_content_up_to_constant_factor::result_type 
univariate_content_up_to_constant_factor (const Polynomial_d &p)
 For a given Polynomial_d, adapts the according functor in Polynomial_traits_d<Polynomial_d>. More...