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

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
List of all members
PolynomialTraits_d::PrincipalSturmHabichtSequence Concept Reference
Concepts

## Definition

Note: This functor is optional!

Computes the principal leading coefficients of the Sturm-Habicht sequence of a polynomials \( f\) of type `PolynomialTraits_d::Polynomial_d` with respect a certain variable \( x_i\). This means that for the \( j\)-th Sturm-Habicht polynomial, this methods returns the coefficient of \( x_i^j\).

Note that the degree of the \( j\)-th Sturm-Habicht polynomial is at most \( j\), but the principal coefficient might be zero, thus, this functor does not necessarily give the leading coefficient of the Sturm-Habicht polynomials.

In case that `PolynomialTraits_d::Coefficient_type` is `RealEmbeddable`, the function `CGAL::number_of_real_roots` can be used on the resulting sequence to count the number of distinct real roots of the polynomial \( f\).

Refines:

  `AdaptableBinaryFunction`

  `CopyConstructible`

  `DefaultConstructible`

See Also
  `Polynomial_d`
  `PolynomialTraits_d`
  `CGAL::number_of_real_roots()`
  `PolynomialTraits_d::Resultant`
  `PolynomialTraits_d::SturmHabichtSequence`
  `PolynomialTraits_d::PrincipalSubresultants`

## Operations
template<typename OutputIterator >
OutputIterator | operator() (Polynomial_d f, OutputIterator out)
| computes the principal coefficients of the Sturm-Habicht sequence of \( f\), with respect to the outermost variable. More...
template<typename OutputIterator >
OutputIterator | operator() (Polynomial_d f, OutputIterator out, int i)
| computes the principal coefficients of the Sturm-Habicht sequence of \( f\) with respect to the variable \( x_i\).

## Member Function Documentation

template<typename OutputIterator >

OutputIterator PolynomialTraits_d::PrincipalSturmHabichtSequence::operator() | ( | Polynomial_d | f,
|  | OutputIterator | out
| ) |  |

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

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