 CGAL 5.6 - Polynomial
PolynomialTraits_d::PrincipalSturmHabichtSequence Concept Reference

## Definition

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$$.

Note
This functor is optional.
Refines
AdaptableBinaryFunction
CopyConstructible
DefaultConstructible
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$$.

## ◆ operator()()

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.