Loading [MathJax]/extensions/TeX/newcommand.js
\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 5.0 - Polynomial
All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Modules Pages
PolynomialTraits_d::PolynomialSubresultantsWithCofactors Concept Reference

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.