CGAL 4.7 - Polynomial: Functions

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

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Functions
Functions
Polynomial Reference

##

## Functions

template<class Polynomial_d >
Polynomial_traits_d < Polynomial_d > ::Canonicalize::result_type | CGAL::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 | CGAL::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 | CGAL::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 | CGAL::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 | CGAL::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 | CGAL::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 | CGAL::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 | CGAL::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 | CGAL::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 | CGAL::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 | CGAL::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 | CGAL::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 | CGAL::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 | CGAL::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 | CGAL::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 | CGAL::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 | CGAL::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 | CGAL::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 | CGAL::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 | CGAL::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 | CGAL::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 | CGAL::number_of_real_roots (Polynomial_d f)
| computes the number of distinct real roots of \(f\). More...
template<typename InputIterator >
int | CGAL::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 | CGAL::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 | CGAL::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 | CGAL::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 | CGAL::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 | CGAL::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 | CGAL::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 | CGAL::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 | CGAL::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 | CGAL::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 | CGAL::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 | CGAL::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 | CGAL::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 | CGAL::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 | CGAL::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 | CGAL::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 | CGAL::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 | CGAL::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 | CGAL::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 | CGAL::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

CGAL::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

CGAL::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 | CGAL::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 | CGAL::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 | CGAL::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 | CGAL::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 | CGAL::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 | CGAL::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...

## Function Documentation

template<class Polynomial_d >

Polynomial_traits_d<Polynomial_d>::Canonicalize::result_type CGAL::canonicalize | ( | const Polynomial_d & | p) |  |

For a given `Polynomial_d`, adapts the according functor in `Polynomial_traits_d<Polynomial_d>`.

Adapts `Polynomial_traits_d::Canonicalize`.

For more details see the concept `PolynomialTraits_d::Canonicalize`.

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::Canonicalize`

`#include <CGAL/polynomial_utils.h>`

Examples:
  Polynomial/gcd_up_to_constant_factor.cpp.

template<class Polynomial_d >

Polynomial_traits_d<Polynomial_d>::Compare::result_type CGAL::compare | ( | const Polynomial_d & | p,
|  | const Polynomial_d & | q
| ) |  |

For a given `Polynomial_d`, adapts the according functor in `Polynomial_traits_d<Polynomial_d>`.

Adapts `Polynomial_traits_d::Compare`.

For more details see the concept `PolynomialTraits_d::Compare`.

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::Compare`

`#include <CGAL/polynomial_utils.h>`

template<class Polynomial_d >

Polynomial_traits_d<Polynomial_d>::Degree::result_type CGAL::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>`.

Adapts `Polynomial_traits_d::Degree`.

For more details see the concept `PolynomialTraits_d::Degree`.

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::Degree`

`#include <CGAL/polynomial_utils.h>`

Examples:
  Polynomial/degree.cpp.

template<class Polynomial_d >

Polynomial_traits_d<Polynomial_d>::Degree_vector::result_type CGAL::degree_vector | ( | const Polynomial_d & | p) |  |

For a given `Polynomial_d`, adapts the according functor in `Polynomial_traits_d<Polynomial_d>`.

Adapts `Polynomial_traits_d::DegreeVector`.

For more details see the concept `PolynomialTraits_d::DegreeVector`.

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::Degree_vector`

`#include <CGAL/polynomial_utils.h>`

Examples:
  Polynomial/degree.cpp.

template<class Polynomial_d >

Polynomial_traits_d<Polynomial_d>::Differentiate::result_type CGAL::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>`.

Adapts `Polynomial_traits_d::Differentiate`.

For more details see the concept `PolynomialTraits_d::Differentiate`.

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::Differentiate`

`#include <CGAL/polynomial_utils.h>`

template<class Polynomial_d >

Polynomial_traits_d<Polynomial_d>::Evaluate::result_type CGAL::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>`.

Adapts `Polynomial_traits_d::Evaluate`.

For more details see the concept `PolynomialTraits_d::Evaluate`.

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::Evaluate`

`#include <CGAL/polynomial_utils.h>`

Examples:
  Polynomial/substitute.cpp.

template<class Polynomial_d >

Polynomial_traits_d<Polynomial_d>::Evaluate_homogeneous::result_type CGAL::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>`.

Adapts `Polynomial_traits_d::Evaluate_homogeneous`.

For more details see the concept `PolynomialTraits_d::EvaluateHomogeneous`.

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::EvaluateHomogeneous`

`#include <CGAL/polynomial_utils.h>`

template<class Polynomial_d >

Polynomial_traits_d<Polynomial_d>::Gcd_up_to_constant_factor::result_type CGAL::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>`.

Adapts `Polynomial_traits_d::Gcd_up_to_constant_factor`.

For more details see the concept `PolynomialTraits_d::GcdUpToConstantFactor`.

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::GcdUpToConstantFactor`

`#include <CGAL/polynomial_utils.h>`

template<class Polynomial_d >

Polynomial_traits_d<Polynomial_d>::get_coefficient::result_type CGAL::get_coefficient | ( | const Polynomial_d & | p,
|  | int | i
| ) |  |

For a given `Polynomial_d`, adapts the according functor in `Polynomial_traits_d<Polynomial_d>`.

Adapts `Polynomial_traits_d::GetCoefficient`.

For more details see the concept `PolynomialTraits_d::GetCoefficient`.

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::GetCoefficient`
  `PolynomialTraits_d::GetInnermostCoefficient`

`#include <CGAL/polynomial_utils.h>`

Examples:
  Polynomial/coefficient_access.cpp.

template<class Polynomial_d >

Polynomial_traits_d<Polynomial_d>::get_innermost_coefficient::result_type CGAL::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>`.

Adapts `Polynomial_traits_d::GetInnermostCoefficient`.

For more details see the concept `PolynomialTraits_d::GetInnermostCoefficient`.

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::GetCoefficient`
  `PolynomialTraits_d::GetInnermostCoefficient`

`#include <CGAL/polynomial_utils.h>`

template<class Polynomial_d >

Polynomial_traits_d<Polynomial_d>::Innermost_leading_coefficient::result_type CGAL::innermost_leading_coefficient | ( | const Polynomial_d & | p) |  |

For a given `Polynomial_d`, adapts the according functor in `Polynomial_traits_d<Polynomial_d>`.

Adapts `Polynomial_traits_d::InnermostLeadingCoefficient`.

For more details see the concept `PolynomialTraits_d::InnermostLeadingCoefficient`.

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::InnermostLeadingCoefficient`

`#include <CGAL/polynomial_utils.h>`

template<class Polynomial_d >

Polynomial_traits_d<Polynomial_d>::Integral_division_up_to_constant_factor::result_type CGAL::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>`.

Adapts `Polynomial_traits_d::Integral_division_up_to_constant_factor`.

For more details see the concept `PolynomialTraits_d::IntegralDivisionUpToConstantFactor`.

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::IntegralDivisionUpToConstantFactor`

`#include <CGAL/polynomial_utils.h>`

template<class Polynomial_d >

Polynomial_traits_d<Polynomial_d>::Invert::result_type CGAL::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>`.

Adapts `Polynomial_traits_d::Invert`.

For more details see the concept `PolynomialTraits_d::Invert`.

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::Invert`

`#include <CGAL/polynomial_utils.h>`

template<class Polynomial_d >

Polynomial_traits_d<Polynomial_d>::Is_square_free::result_type CGAL::is_square_free | ( | const Polynomial_d & | p) |  |

For a given `Polynomial_d`, adapts the according functor in `Polynomial_traits_d<Polynomial_d>`.

Adapts `Polynomial_traits_d::Is_square_free`.

For more details see the concept `PolynomialTraits_d::IsSquareFree`.

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::IsSquareFree`

`#include <CGAL/polynomial_utils.h>`

template<class Polynomial_d , class InputIterator >

Polynomial_traits_d<Polynomial_d>::Is_zero_at::result_type CGAL::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>`.

Adapts `Polynomial_traits_d::Is_zero_at`.

For more details see the concept `PolynomialTraits_d::IsZeroAt`.

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::IsZeroAt`

`#include <CGAL/polynomial_utils.h>`

template<class Polynomial_d , class InputIterator >

Polynomial_traits_d<Polynomial_d>::Is_zero_at_homogeneous::result_type CGAL::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>`.

Adapts `Polynomial_traits_d::Is_zero_at_homogeneous`.

For more details see the concept `PolynomialTraits_d::IsZeroAtHomogeneous`.

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::IsZeroAtHomogeneous`

`#include <CGAL/polynomial_utils.h>`

template<class Polynomial_d >

Polynomial_traits_d<Polynomial_d>::Leading_coefficient::result_type CGAL::leading_coefficient | ( | const Polynomial_d & | p) |  |

For a given `Polynomial_d`, adapts the according functor in `Polynomial_traits_d<Polynomial_d>`.

Adapts `Polynomial_traits_d::Leading_coefficient`.

For more details see the concept `PolynomialTraits_d::LeadingCoefficient`.

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::LeadingCoefficient`

`#include <CGAL/polynomial_utils.h>`

template<class Polynomial_d >

Polynomial_traits_d<Polynomial_d>::Make_square_free::result_type CGAL::make_square_free | ( | const Polynomial_d & | p) |  |

For a given `Polynomial_d`, adapts the according functor in `Polynomial_traits_d<Polynomial_d>`.

Adapts `Polynomial_traits_d::Make_square_free`.

For more details see the concept `PolynomialTraits_d::MakeSquareFree`.

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::MakeSquareFree`

`#include <CGAL/polynomial_utils.h>`

template<class Polynomial_d >

Polynomial_traits_d<Polynomial_d>::Move::result_type CGAL::move | ( | const Polynomial_d & | p,
|  | int | i,
|  | int | j
| ) |  |

For a given `Polynomial_d`, adapts the according functor in `Polynomial_traits_d<Polynomial_d>`.

Adapts `Polynomial_traits_d::Move`.

For more details see the concept `PolynomialTraits_d::Move`.

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::Move`

`#include <CGAL/polynomial_utils.h>`

Examples:
  Polynomial/swap_move.cpp.

template<class Polynomial_d >

Polynomial_traits_d<Polynomial_d>::Multivariate_content::result_type CGAL::multivariate_content | ( | const Polynomial_d & | p) |  |

For a given `Polynomial_d`, adapts the according functor in `Polynomial_traits_d<Polynomial_d>`.

Adapts `Polynomial_traits_d::Multivariate_content`.

For more details see the concept `PolynomialTraits_d::MultivariateContent`.

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::MultivariateContent`

`#include <CGAL/polynomial_utils.h>`

template<class Polynomial_d >

Polynomial_traits_d<Polynomial_d>::Negate::result_type CGAL::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>`.

Adapts `Polynomial_traits_d::Negate`.

For more details see the concept `PolynomialTraits_d::Negate`.

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::Negate`

`#include <CGAL/polynomial_utils.h>`

template<typename Polynomial_d >

int CGAL::number_of_real_roots | ( | Polynomial_d | f) |  |

computes the number of distinct real roots of \(f\).

Given a polynomial \( f\), or a range of values that is interpreted as the principal Sturm-Habicht coefficients of \( f\), the function computes

\[ m:=\# \{\alpha\in\mathbb{R}\mid f(\alpha)=0\} \]

that is, the number of distinct real roots of \( f\).

The coefficient type of the polynomial, or the value type of the iterator range, respectively must be a model of `RealEmbeddable`. In the second version, it is not required to pass the exact princiapl Sturm-Habicht coefficients to the functions; it is only required that the sign of each element corresponds to the sign of the actual principal Sturm-Habicht coefficient.

Advanced

We explain the internals of this function. For a sequence \( I:=(a_0,\ldots,a_n)\) of real numbers with \( a_0\neq 0\), define

\[ C(I)=\ccSum{i=1}{s}\epsilon_i \]

where \( s\) is the number of subsequences of \( I\) of the form

with \( a\neq 0,b\neq 0, k\geq 0\).

For the \( i\)-th subsequence of \( I\), define

\[ \epsilon_i:=\begin{array}{cc} 0 & \mbox{if $k$ is odd},\\ (-1)^{k/2}\mathrm{sign}(ab) & \mbox{if $k$ is even}. \end{array} \]

For \( f\in\mathbb{R}[x]\) with \( \deg f=n\), we have:

\[ C(\mathrm{stha}_n(f),\ldots,\mathrm{stha}_0(f)) = \#\{\alpha\in\R\mid f(\alpha)=0\} \]

In other words, the signs of the principal Sturm-Habicht coefficients determine the number of distinct real roots of \( f\).

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::PrincipalSturmHabichtSequence`

`#include <CGAL/polynomial_utils.h>`

Examples:
  Polynomial/subresultants.cpp.

template<typename InputIterator >

int CGAL::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.

Given a polynomial \( f\), or a range of values that is interpreted as the principal Sturm-Habicht coefficients of \( f\), the function computes

\[ m:=\# \{\alpha\in\mathbb{R}\mid f(\alpha)=0\} \]

that is, the number of distinct real roots of \( f\).

The coefficient type of the polynomial, or the value type of the iterator range, respectively must be a model of `RealEmbeddable`. In the second version, it is not required to pass the exact princiapl Sturm-Habicht coefficients to the functions; it is only required that the sign of each element corresponds to the sign of the actual principal Sturm-Habicht coefficient.

Advanced

We explain the internals of this function. For a sequence \( I:=(a_0,\ldots,a_n)\) of real numbers with \( a_0\neq 0\), define

\[ C(I)=\ccSum{i=1}{s}\epsilon_i \]

where \( s\) is the number of subsequences of \( I\) of the form

with \( a\neq 0,b\neq 0, k\geq 0\).

For the \( i\)-th subsequence of \( I\), define

\[ \epsilon_i:=\begin{array}{cc} 0 & \mbox{if $k$ is odd},\\ (-1)^{k/2}\mathrm{sign}(ab) & \mbox{if $k$ is even}. \end{array} \]

For \( f\in\mathbb{R}[x]\) with \( \deg f=n\), we have:

\[ C(\mathrm{stha}_n(f),\ldots,\mathrm{stha}_0(f)) = \#\{\alpha\in\R\mid f(\alpha)=0\} \]

In other words, the signs of the principal Sturm-Habicht coefficients determine the number of distinct real roots of \( f\).

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::PrincipalSturmHabichtSequence`

`#include <CGAL/polynomial_utils.h>`

template<class Polynomial_d , class InputIterator >

Polynomial_traits_d<Polynomial_d>::Permute::result_type CGAL::permute | ( | const Polynomial_d & | p,
|  | InputIterator | begin,
|  | InputIterator | end
| ) |  |

For a given `Polynomial_d`, adapts the according functor in `Polynomial_traits_d<Polynomial_d>`.

Adapts `Polynomial_traits_d::Permute`.

For more details see the concept `PolynomialTraits_d::Permute`.

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::Permute`

`#include <CGAL/polynomial_utils.h>`

Examples:
  Polynomial/swap_move.cpp.

template<typename Polynomial_d , typename OutputIterator >

OutputIterator CGAL::polynomial_subresultants | ( | Polynomial_d | p,
|  | Polynomial_d | q,
|  | OutputIterator | out
| ) |  |

computes the polynomial subresultants of \( p\) and \( q\), with respect to the outermost variable.

Each element is of type `Polynomial_d`.

For a given `Polynomial_d`, adapts the according functor in `Polynomial_traits_d<Polynomial_d>`.

For more details see the concept `PolynomialTraits_d::PolynomialSubresultants`.

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::PolynomialSubresultants`

`#include <CGAL/polynomial_utils.h>`

template<typename Polynomial_d , typename OutputIterator1 , typename OutputIterator2 , typename OutputIterator3 >

OutputIterator1 CGAL::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`.

The elements of each output range are of type `Polynomial_d`.

For a given `Polynomial_d`, adapts the according functor in `Polynomial_traits_d<Polynomial_d>`.

For more details see the concept `PolynomialTraits_d::PolynomialSubresultantsWithCofactors`.

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::PolynomialSubresultantsWithCofactors`

`#include <CGAL/polynomial_utils.h>`

template<typename Polynomial_d , typename OutputIterator >

OutputIterator CGAL::principal_sturm_habicht_sequence | ( | typename Polynomial_d | f,
|  | OutputIterator | out
| ) |  |

computes the principal Sturm-Habicht coefficients of \( f\) with respect to the outermost variable.

Each element is of type `Polynomial_traits_d::Coefficient_type`b.

For a given `Polynomial_d`, adapts the according functor in `Polynomial_traits_d<Polynomial_d>`.

For more details see the concept `PolynomialTraits_d::PrincipalSturmHabichtSequence`.

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::PrincipalSturmHabichtSequence`

`#include <CGAL/polynomial_utils.h>`

template<typename Polynomial_d , typename OutputIterator >

OutputIterator CGAL::principal_subresultants | ( | Polynomial_d | p,
|  | Polynomial_d | q,
|  | OutputIterator | out
| ) |  |

computes the principal subresultants of \( p\) and \( q\), with respect to the outermost variable.

Each element is of type `Polynomial_traits_d::Coefficient_type`.

For a given `Polynomial_d`, adapts the according functor in `Polynomial_traits_d<Polynomial_d>`.

For more details see the concept `PolynomialTraits_d::PrincipalSubresultants`.

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::PrincipalSubresultants`

`#include <CGAL/polynomial_utils.h>`

template<class Polynomial_d >

void CGAL::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>`.

Adapts `Polynomial_traits_d::Pseudo_division`.

For more details see the concept `PolynomialTraits_d::PseudoDivision`.

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::PseudoDivision`

`#include <CGAL/polynomial_utils.h>`

template<class Polynomial_d >

Polynomial_traits_d<Polynomial_d>::Pseudo_division_quotient::result_type CGAL::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>`.

Adapts `Polynomial_traits_d::Pseudo_division_quotient`.

For more details see the concept `PolynomialTraits_d::PseudoDivisionQuotient`.

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::PseudoDivisionQuotient`

`#include <CGAL/polynomial_utils.h>`

template<class Polynomial_d >

Polynomial_traits_d<Polynomial_d>::Pseudo_division_remainder::result_type CGAL::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>`.

Adapts `Polynomial_traits_d::Pseudo_division_remainder`.

For more details see the concept `PolynomialTraits_d::PseudoDivisionRemainder`.

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::PseudoDivisionRemainder`

`#include <CGAL/polynomial_utils.h>`

template<class Polynomial_d >

Polynomial_traits_d<Polynomial_d>::Resultant::result_type CGAL::resultant | ( | const Polynomial_d & | p,
|  | const Polynomial_d & | q
| ) |  |

For a given `Polynomial_d`, adapts the according functor in `Polynomial_traits_d<Polynomial_d>`.

Adapts `Polynomial_traits_d::Resultant`.

For more details see the concept `PolynomialTraits_d::Resultant`.

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::Resultant`

`#include <CGAL/polynomial_utils.h>`

Examples:
  Polynomial/subresultants.cpp.

template<class Polynomial_d >

Polynomial_traits_d<Polynomial_d>::Scale::result_type CGAL::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>`.

Adapts `Polynomial_traits_d::Scale`.

For more details see the concept `PolynomialTraits_d::Scale`.

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::Scale`

`#include <CGAL/polynomial_utils.h>`

template<class Polynomial_d >

Polynomial_traits_d<Polynomial_d>::Scale_homogeneous::result_type CGAL::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>`.

Adapts `Polynomial_traits_d::Scale_homogeneous`.

For more details see the concept `PolynomialTraits_d::ScaleHomogeneous`.

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::ScaleHomogeneous`

`#include <CGAL/polynomial_utils.h>`

template<class Polynomial_d >

Polynomial_traits_d<Polynomial_d>::Shift::result_type CGAL::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>`.

Adapts `Polynomial_traits_d::Shift`.

For more details see the concept `PolynomialTraits_d::Shift`.

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::Shift`

`#include <CGAL/polynomial_utils.h>`

Examples:
  Polynomial/construction.cpp, and Polynomial/gcd_up_to_constant_factor.cpp.

template<class Polynomial_d , class InputIterator >

Polynomial_traits_d<Polynomial_d>::Sign_at::result_type CGAL::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>`.

Adapts `Polynomial_traits_d::Sign_at`.

For more details see the concept `PolynomialTraits_d::SignAt`.

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::SignAt`

`#include <CGAL/polynomial_utils.h>`

template<class Polynomial_d , class InputIterator >

Polynomial_traits_d<Polynomial_d>::Sign_at_homogeneous::result_type CGAL::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>`.

Adapts `Polynomial_traits_d::Sign_at_homogeneous`.

For more details see the concept `PolynomialTraits_d::SignAtHomogeneous`.

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::SignAtHomogeneous`

`#include <CGAL/polynomial_utils.h>`

template<class Polynomial_d , class OutputIterator >

OutputIterator CGAL::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>`.

Adapts `Polynomial_traits_d::Square_free_factorize`.

For more details see the concept `PolynomialTraits_d::SquareFreeFactorize`.

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::SquareFreeFactorize`

`#include <CGAL/polynomial_utils.h>`

template<class Polynomial_d , class OutputIterator >

OutputIterator CGAL::square_free_factorize | ( | const Polynomial_d & | p,
|  | OutputIterator | it
| ) |  |

For a given `Polynomial_d`, adapts the according functor in `Polynomial_traits_d<Polynomial_d>`.

Adapts `Polynomial_traits_d::Square_free_factorize`.

For more details see the concept `PolynomialTraits_d::SquareFreeFactorize`.

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::SquareFreeFactorize`

`#include <CGAL/polynomial_utils.h>`

template<class Polynomial_d , class OutputIterator >

OutputIterator CGAL::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>`.

Adapts `Polynomial_traits_d::Square_free_factorize_up_to_constant_factor`.

For more details see the concept `PolynomialTraits_d::SquareFreeFactorizeUpToConstantFactor`.

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::SquareFreeFactorizeUpToConstantFactor`

`#include <CGAL/polynomial_utils.h>`

template<typename Polynomial_d , typename OutputIterator >

OutputIterator CGAL::sturm_habicht_sequence | ( | Polynomial_d | f,
|  | OutputIterator | out
| ) |  |

computes the Sturm-Habicht-sequence of \( f\) with respect to the outermost variable.

Each element is of type `Polynomial_d`.

For a given `Polynomial_d`, adapts the according functor in `Polynomial_traits_d<Polynomial_d>`.

For more details see the concept `PolynomialTraits_d::SturmHabichtSequence`.

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::SturmHabichtSequence`

`#include <CGAL/polynomial_utils.h>`

template<typename Polynomial_d , typename OutputIterator1 , typename OutputIterator2 , typename OutputIterator3 >

OutputIterator1 CGAL::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`.

The elements of each output range are of type `Polynomial_d`.

For a given `Polynomial_d`, adapts the according functor in `Polynomial_traits_d<Polynomial_d>`.

For more details see the concept `PolynomialTraits_d::SturmHabichtSequenceWithCofactors`.

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::SturmHabichtSequenceWithCofactors`

`#include <CGAL/polynomial_utils.h>`

template<class Polynomial_d , class InputIterator >

CGAL::Coercion_traits<Polynomial_traits_d<Polynomial_d>::Innermost_coefficient,std::iterator_traits<Input_iterator>::value_type>::Type CGAL::substitute | ( | const Polynomial_d & | p,
|  | InputIterator | begin,
|  | InputIterator | end
| ) |  |

For a given `Polynomial_d`, adapts the according functor in `Polynomial_traits_d<Polynomial_d>`.

Adapts `Polynomial_traits_d::Substitute`.

For more details see the concept `PolynomialTraits_d::Substitute`.

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::Substitute`

`#include <CGAL/polynomial_utils.h>`

Examples:
  Polynomial/substitute.cpp.

template<class Polynomial_d , class InputIterator >

CGAL::Coercion_traits<Polynomial_traits_d<Polynomial_d>::Innermost_coefficient,std::iterator_traits<Input_iterator>::value_type>::Type CGAL::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>`.

Adapts `Polynomial_traits_d::Substitute_homogeneous`.

For more details see the concept `PolynomialTraits_d::SubstituteHomogeneous`.

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::SubstituteHomogeneous`

`#include <CGAL/polynomial_utils.h>`

template<class Polynomial_d >

Polynomial_traits_d<Polynomial_d>::Swap::result_type CGAL::swap | ( | const Polynomial_d & | p,
|  | int | i,
|  | int | j
| ) |  |

For a given `Polynomial_d`, adapts the according functor in `Polynomial_traits_d<Polynomial_d>`.

Adapts `Polynomial_traits_d::Swap`.

For more details see the concept `PolynomialTraits_d::Swap`.

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::Swap`

`#include <CGAL/polynomial_utils.h>`

Examples:
  Polynomial/swap_move.cpp.

template<class Polynomial_d >

Polynomial_traits_d<Polynomial_d>::Total_degree::result_type CGAL::total_degree | ( | const Polynomial_d & | p) |  |

For a given `Polynomial_d`, adapts the according functor in `Polynomial_traits_d<Polynomial_d>`.

Adapts `Polynomial_traits_d::Total_degree`.

For more details see the concept `PolynomialTraits_d::TotalDegree`.

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::TotalDegree`

`#include <CGAL/polynomial_utils.h>`

Examples:
  Polynomial/degree.cpp.

template<class Polynomial_d >

Polynomial_traits_d<Polynomial_d>::Translate::result_type CGAL::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>`.

Adapts `Polynomial_traits_d::Translate`.

For more details see the concept `PolynomialTraits_d::Translate`.

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::Translate`

`#include <CGAL/polynomial_utils.h>`

template<class Polynomial_d >

Polynomial_traits_d<Polynomial_d>::Translate_homogeneous::result_type CGAL::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>`.

Adapts `Polynomial_traits_d::Translate_homogeneous`.

For more details see the concept `PolynomialTraits_d::TranslateHomogeneous`.

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::TranslateHomogeneous`

`#include <CGAL/polynomial_utils.h>`

template<class Polynomial_d >

Polynomial_traits_d<Polynomial_d>::Univariate_content::result_type CGAL::univariate_content | ( | const Polynomial_d & | p) |  |

For a given `Polynomial_d`, adapts the according functor in `Polynomial_traits_d<Polynomial_d>`.

Adapts `Polynomial_traits_d::UnivariateContent`.

For more details see the concept `PolynomialTraits_d::UnivariateContent`.

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::Univariate_Content`

`#include <CGAL/polynomial_utils.h>`

template<class Polynomial_d >

Polynomial_traits_d<Polynomial_d>::Univariate_content_up_to_constant_factor::result_type CGAL::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>`.

Adapts `Polynomial_traits_d::Univariate_content_up_to_constant_factor`.

For more details see the concept `PolynomialTraits_d::UnivariateContentUpToConstantFactor`.

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `PolynomialTraits_d::UnivariateContentUpToConstantFactor`

`#include <CGAL/polynomial_utils.h>`