\( \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.8 - Polynomial

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
List of all members
PolynomialTraits_d::PolynomialSubresultantsWithCofactors Concept Reference
Concepts

## Definition

Note: This functor is optional!

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.

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

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`.

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`.