CGAL 6.2 - Polynomial: Functions

CGAL 6.2 - Polynomial

Loading...
Searching...
No Matches
Functions
Functions
Reference Manual

##

## 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>`.
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>`.
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>`.
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>`.
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>`.
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>`.
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>`.
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>`.
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>`.
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>`.
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>`.
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>`.
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>`.
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>`.
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>`.
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>`.
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>`.
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>`.
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>`.
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>`.
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>`.
template<typename Polynomial_d >
int | CGAL::number_of_real_roots (Polynomial_d f)
| computes the number of distinct real roots of \(f\).
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.
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>`.
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.
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`.
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.
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.
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>`.
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>`.
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>`.
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>`.
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>`.
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>`.
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>`.
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>`.
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>`.
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>`.
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>`.
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>`.
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.
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`.
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>`.
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>`.
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>`.
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>`.
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>`.
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>`.
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>`.
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>`.

## Function Documentation

## ◆ canonicalize()

template<class Polynomial_d >

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

`#include <CGAL/polynomial_utils.h>`

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`

## ◆ compare()

template<class Polynomial_d >

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

`#include <CGAL/polynomial_utils.h>`

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`

## ◆ degree()

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`
| ) |  |

`#include <CGAL/polynomial_utils.h>`

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`

## ◆ degree_vector()

template<class Polynomial_d >

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

`#include <CGAL/polynomial_utils.h>`

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`

## ◆ differentiate()

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`
| ) |  |

`#include <CGAL/polynomial_utils.h>`

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`

## ◆ evaluate()

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
| ) |  |

`#include <CGAL/polynomial_utils.h>`

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`

## ◆ evaluate_homogeneous()

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
| ) |  |

`#include <CGAL/polynomial_utils.h>`

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`

## ◆ gcd_up_to_constant_factor()

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
| ) |  |

`#include <CGAL/polynomial_utils.h>`

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`

## ◆ get_coefficient()

template<class Polynomial_d >

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

`#include <CGAL/polynomial_utils.h>`

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`

## ◆ get_innermost_coefficient()

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
| ) |  |

`#include <CGAL/polynomial_utils.h>`

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`

## ◆ innermost_leading_coefficient()

template<class Polynomial_d >

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

`#include <CGAL/polynomial_utils.h>`

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`

## ◆ integral_division_up_to_constant_factor()

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
| ) |  |

`#include <CGAL/polynomial_utils.h>`

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`

## ◆ invert()

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`
| ) |  |

`#include <CGAL/polynomial_utils.h>`

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`

## ◆ is_square_free()

template<class Polynomial_d >

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

`#include <CGAL/polynomial_utils.h>`

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`

## ◆ is_zero_at()

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
| ) |  |

`#include <CGAL/polynomial_utils.h>`

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`

## ◆ is_zero_at_homogeneous()

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
| ) |  |

`#include <CGAL/polynomial_utils.h>`

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`

## ◆ leading_coefficient()

template<class Polynomial_d >

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

`#include <CGAL/polynomial_utils.h>`

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`

## ◆ make_square_free()

template<class Polynomial_d >

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

`#include <CGAL/polynomial_utils.h>`

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`

## ◆ move()

template<class Polynomial_d >

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

`#include <CGAL/polynomial_utils.h>`

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`

## ◆ multivariate_content()

template<class Polynomial_d >

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

`#include <CGAL/polynomial_utils.h>`

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`

## ◆ negate()

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`
| ) |  |

`#include <CGAL/polynomial_utils.h>`

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`

## ◆ number_of_real_roots() [1/2]

template<typename InputIterator >

int CGAL::number_of_real_roots | ( | InputIterator | start,
|  | InputIterator | end
| ) |  |

`#include <CGAL/polynomial_utils.h>`

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

\[ (a,\underbrace{0, \dots,0}_{k},b) \]

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`

## ◆ number_of_real_roots() [2/2]

template<typename Polynomial_d >

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

`#include <CGAL/polynomial_utils.h>`

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

\[ (a,\underbrace{0, \dots,0}_{k},b) \]

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`

Examples
  Polynomial/subresultants.cpp.

## ◆ permute()

template<class Polynomial_d , class InputIterator >

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

`#include <CGAL/polynomial_utils.h>`

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`

## ◆ polynomial_subresultants()

template<typename Polynomial_d , typename OutputIterator >

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

`#include <CGAL/polynomial_utils.h>`

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`

## ◆ polynomial_subresultants_with_cofactors()

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
| ) |  |

`#include <CGAL/polynomial_utils.h>`

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`

## ◆ principal_sturm_habicht_sequence()

template<typename Polynomial_d , typename OutputIterator >

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

`#include <CGAL/polynomial_utils.h>`

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`

## ◆ principal_subresultants()

template<typename Polynomial_d , typename OutputIterator >

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

`#include <CGAL/polynomial_utils.h>`

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`

## ◆ pseudo_division()

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
| ) |  |

`#include <CGAL/polynomial_utils.h>`

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`

## ◆ pseudo_division_quotient()

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
| ) |  |

`#include <CGAL/polynomial_utils.h>`

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`

## ◆ pseudo_division_remainder()

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
| ) |  |

`#include <CGAL/polynomial_utils.h>`

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`

## ◆ resultant()

template<class Polynomial_d >

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

`#include <CGAL/polynomial_utils.h>`

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`

## ◆ scale()

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`
| ) |  |

`#include <CGAL/polynomial_utils.h>`

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`

## ◆ scale_homogeneous()

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`
| ) |  |

`#include <CGAL/polynomial_utils.h>`

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`

## ◆ shift()

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`
| ) |  |

`#include <CGAL/polynomial_utils.h>`

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`

## ◆ sign_at()

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
| ) |  |

`#include <CGAL/polynomial_utils.h>`

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`

## ◆ sign_at_homogeneous()

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
| ) |  |

`#include <CGAL/polynomial_utils.h>`

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`

## ◆ square_free_factorize() [1/2]

template<class Polynomial_d , class OutputIterator >

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

`#include <CGAL/polynomial_utils.h>`

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`

## ◆ square_free_factorize() [2/2]

template<class Polynomial_d , class OutputIterator >

OutputIterator CGAL::square_free_factorize | ( | const Polynomial_d & | p,
|  | OutputIterator | it,
|  | Polynomial_traits_d< Polynomial >::Innermost_coefficient & | a
| ) |  |

`#include <CGAL/polynomial_utils.h>`

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`

## ◆ square_free_factorize_up_to_constant_factor()

template<class Polynomial_d , class OutputIterator >

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

`#include <CGAL/polynomial_utils.h>`

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`

## ◆ sturm_habicht_sequence()

template<typename Polynomial_d , typename OutputIterator >

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

`#include <CGAL/polynomial_utils.h>`

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`

## ◆ sturm_habicht_sequence_with_cofactors()

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
| ) |  |

`#include <CGAL/polynomial_utils.h>`

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`

## ◆ substitute()

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
| ) |  |

`#include <CGAL/polynomial_utils.h>`

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`

## ◆ substitute_homogeneous()

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
| ) |  |

`#include <CGAL/polynomial_utils.h>`

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`

## ◆ swap()

template<class Polynomial_d >

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

`#include <CGAL/polynomial_utils.h>`

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`

## ◆ total_degree()

template<class Polynomial_d >

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

`#include <CGAL/polynomial_utils.h>`

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`

## ◆ translate()

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`
| ) |  |

`#include <CGAL/polynomial_utils.h>`

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`

## ◆ translate_homogeneous()

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`
| ) |  |

`#include <CGAL/polynomial_utils.h>`

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`

## ◆ univariate_content()

template<class Polynomial_d >

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

`#include <CGAL/polynomial_utils.h>`

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`

## ◆ univariate_content_up_to_constant_factor()

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 | ) |

`#include <CGAL/polynomial_utils.h>`

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`