CGAL 5.1 - Polynomial
PolynomialTraits_d::PrincipalSturmHabichtSequence Class Reference

#include <Concepts/PolynomialTraits_d--PrincipalSturmHabichtSequence.h>

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

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\). More...
 

Member Function Documentation

◆ operator()() [1/2]

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.

◆ operator()() [2/2]

template<typename OutputIterator >
OutputIterator PolynomialTraits_d::PrincipalSturmHabichtSequence::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\).