\( \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.11.2 - Polynomial
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
PolynomialTraits_d::PolynomialSubresultants Concept Reference

Definition

Note: This functor is optional!

Computes the polynomial subresultant of two polynomials \( p\) and \( q\) of type PolynomialTraits_d::Polynomial_d with respect to outermost variable. Let \( p=\ccSum{i=0,\ldots,n}{} p_i x^i\) and \( q=\ccSum{i=0,\ldots,m}{} q_i x^i\), where \( x\) is the outermost variable. The \( i\)-th subresultant (with \( i=0,\ldots,\min\{n,m\}\)) is defined by

subresultant_def.png

where \( p_i\) and \( q_i\) are set to zero if \( i<0\). In the case that \( n=m\), \( \mathrm{Sres_n}\) is set to \( q\).

The result is written in an output range, starting with the \( 0\)-th subresultant \( \mathrm{Sres}_0(p,q)\) (aka as the resultant of \( p\) and \( q\)).

Refines:

AdaptableBinaryFunction

CopyConstructible

DefaultConstructible

See Also
Polynomial_d
PolynomialTraits_d
PolynomialTraits_d::Resultant
PolynomialTraits_d::PrincipalSubresultants
PolynomialTraits_d::PolynomialSubresultantsWithCofactors
PolynomialTraits_d::SturmHabichtSequence

Operations

template<typename OutputIterator >
OutputIterator operator() (Polynomial_d p, Polynomial_d q, OutputIterator out)
 computes the polynomial subresultants of \( p\) and \( q\), with respect to the outermost variable. More...
 
template<typename OutputIterator >
OutputIterator operator() (Polynomial_d p, Polynomial_d q, OutputIterator out, int i)
 computes the polynomial subresultants of \( p\) and \( q\), with respect to the variable \( x_i\).
 

Member Function Documentation

template<typename OutputIterator >
OutputIterator PolynomialTraits_d::PolynomialSubresultants::operator() ( Polynomial_d  p,
Polynomial_d  q,
OutputIterator  out 
)

computes the polynomial subresultants of \( p\) and \( q\), with respect to the outermost variable.

Each element is of type PolynomialTraits_d::Polynomial_d.