\( \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.12.2 - Polynomial
PolynomialTraits_d::SturmHabichtSequenceWithCofactors Concept Reference

Definition

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.

Note
This functor is optional.
Refines:

AdaptableBinaryFunction

CopyConstructible

DefaultConstructible

See also
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

◆ operator()() [1/2]

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.

◆ operator()() [2/2]

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.