\( \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.3 - Polynomial

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Classes | Functions
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...