cgal/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Resultan...

61 lines
2.1 KiB
TeX

\begin{ccRefConcept}{PolynomialTraits_d::Resultant}
\ccDefinition
This \ccc{AdaptableBinaryFunction} computes the resultant of two polynomials
$f$ and $g$ of type \ccc{PolynomialTraits_d::Polynomial_d} with respect a
certain variable.
Note that this functor operates on the polynomial in the univariate view,
that is, the polynomial is considered as a univariate polynomial in one
specific variable.
Given two polynomials $f$ and $g$ over some \ccc{IntegralDomain}, where
\[f := f_n \prod_{i=1}^{n}{(x-\alpha_i)}\]
and
\[g := g_n \prod_{j=1}^{m}{(x-\beta_j)}.\]
The resultant of $f$ and $g$ is defined as
\[f_n g_n \prod_{i=1}^{n}\prod_{i=1}^{m}{(\alpha_i-\beta_j)}.\]
There are various ways to compute the resultant.
Naive options are the computation of the
resultant as the determinant of the Sylvester Matrix or the Bezout
Matrix as well as the so called subresultant algorithm,
which is a variant of the Euclidean Algorithm.
More sophisticated methods may use modular arithmetic and interpolation.
For more information we refer to, e.g., \cite{gg-mca-99}.
\ccRefines
\ccc{AdaptableBinaryFunction}
\ccTypes
\ccSetThreeColumns{xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}{xxx}{}
\ccCreationVariable{fo}
\ccTypedef{typedef PolynomialTraits_d::Coefficient_type result_type;}{}
\ccGlue
\ccTypedef{typedef PolynomialTraits_d::Polynomial_d first_argument_type;}{}
\ccGlue
\ccTypedef{typedef PolynomialTraits_d::Polynomial_d second_argument_type;}{}
\ccOperations
\ccMethod{result_type operator()(first_argument_type f,
second_argument_type g);}
{ Computes the resultant of $f$ and $g$,
with respect to the outermost variable.}
\ccMethod{result_type operator()(first_argument_type f,
second_argument_type g,
int i);}
{ Computes the resultant of $f$ and $g$,
with respect to variable $x_i$.
\ccPrecond $0 \leq i < d$
}
%\ccHasModels
\ccSeeAlso
\ccRefIdfierPage{Polynomial_d}\\
\ccRefIdfierPage{PolynomialTraits_d}\\
\end{ccRefConcept}