 CGAL 4.7 - Polynomial
PolynomialTraits_d::SturmHabichtSequenceWithCofactors Concept Reference

Definition

Note: This functor is optional!

Computes the Sturm-Habicht polynomials of a polynomial $$f$$ of degree $$n$$, as defined in the documentation of PolynomialTraits_d::SturmHabichtSequence. Moreover, for $$\mathrm{Stha}_i(f)$$, polynomials $$u_i$$ and $$v_i$$ with $$\deg u_i\leq n-i-2$$ and $$\deg v_i\leq n-i-1$$ are computed such that $$\mathrm{Sres}_i(p,q)=u_i f + v_i f'$$. $$u_i$$ and $$v_i$$ are called the cofactors of $$\mathrm{Stha}_i(f)$$.

The result is written in three output ranges, each of length $$\min\{n,m\}+1$$, starting with the $$0$$-th Sturm-Habicht polynomial $$\mathrm{Stha_0(f)}$$ and the corresponding cofactors.

Refines:
Polynomial_d
PolynomialTraits_d
PolynomialTraits_d::Resultant
PolynomialTraits_d::SturmHabichtSequence
PolynomialTraits_d::PrincipalSturmHabichtSequence
PolynomialTraits_d::PolynomialSubresultantsWithCofactors

Operations

template<typename OutputIterator1 , typename OutputIterator2 , typename OutputIterator3 >
OutputIterator1 operator() (Polynomial_d f, OutputIterator1 stha, OutputIterator2 co_f, OutputIterator3 co_fx)
computes the Sturm-Habicht sequence of $$f$$, and the cofactors, with respect to the outermost variable. More...

template<typename OutputIterator1 , typename OutputIterator2 , typename OutputIterator3 >
OutputIterator1 operator() (Polynomial_d f, OutputIterator1 stha, OutputIterator2 co_f, OutputIterator3 co_fx, int i)
computes the Sturm-Habicht sequence of $$f$$, and the cofactors, with respect to $$x_i$$. More...

Member Function Documentation

template<typename OutputIterator1 , typename OutputIterator2 , typename OutputIterator3 >
 OutputIterator1 PolynomialTraits_d::SturmHabichtSequenceWithCofactors::operator() ( Polynomial_d f, OutputIterator1 stha, OutputIterator2 co_f, OutputIterator3 co_fx )

computes the Sturm-Habicht sequence of $$f$$, and the cofactors, with respect to the outermost variable.

Each element is of type PolynomialTraits_d::Polynomial_d.

template<typename OutputIterator1 , typename OutputIterator2 , typename OutputIterator3 >
 OutputIterator1 PolynomialTraits_d::SturmHabichtSequenceWithCofactors::operator() ( Polynomial_d f, OutputIterator1 stha, OutputIterator2 co_f, OutputIterator3 co_fx, int i )

computes the Sturm-Habicht sequence of $$f$$, and the cofactors, with respect to $$x_i$$.

Each element is of type PolynomialTraits_d::Polynomial_d.