CGAL 5.1 - Polynomial
PolynomialTraits_d::PolynomialSubresultantsWithCofactors Class Reference

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

Definition

Computes the polynomial subresultant of two polynomials \( p\) and \( q\) of degree \( n\) and \( m\), respectively, as defined in the documentation of PolynomialTraits_d::PolynomialSubresultants. Moreover, for \( \mathrm{Sres}_i(p,q)\), polynomials \( u_i\) and \( v_i\) with \( \deg u_i\leq m-i-1\) and \( \deg v_i\leq n-i-1\) are computed such that \( \mathrm{Sres}_i(p,q)=u_i p + v_i q\). \( u_i\) and \( v_i\) are called the cofactors of \( \mathrm{Sres}_i(p,q)\).

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

Note
This functor is optional.
Refines:

AdaptableBinaryFunction

CopyConstructible

DefaultConstructible

See also
Polynomial_d
PolynomialTraits_d
PolynomialTraits_d::Resultant
PolynomialTraits_d::PolynomialSubresultants
PolynomialTraits_d::PrincipalSubresultants
PolynomialTraits_d::SturmHabichtSequenceWithCofactors

Operations

template<typename OutputIterator1 , typename OutputIterator2 , typename OutputIterator3 >
OutputIterator1 operator() (Polynomial_d p, Polynomial_d q, OutputIterator1 sres, OutputIterator2 co_p, OutputIterator3 co_q)
 computes the subresultants of \( p\) and \( q\), and the cofactors, with respect to the outermost variable. More...
 
template<typename OutputIterator1 , typename OutputIterator2 , typename OutputIterator3 >
OutputIterator1 operator() (Polynomial_d p, Polynomial_d q, OutputIterator1 sres, OutputIterator2 co_p, OutputIterator3 co_q, int i)
 computes the subresultants of \( p\) and \( q\), 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::PolynomialSubresultantsWithCofactors::operator() ( Polynomial_d  p,
Polynomial_d  q,
OutputIterator1  sres,
OutputIterator2  co_p,
OutputIterator3  co_q 
)

computes the subresultants of \( p\) and \( q\), 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::PolynomialSubresultantsWithCofactors::operator() ( Polynomial_d  p,
Polynomial_d  q,
OutputIterator1  sres,
OutputIterator2  co_p,
OutputIterator3  co_q,
int  i 
)

computes the subresultants of \( p\) and \( q\), and the cofactors, with respect to \( x_i\).

Each element is of type PolynomialTraits_d::Polynomial_d.