This AdaptableBinaryFunction computes the resultant of two polynomials and of type PolynomialTraits_d::Polynomial_d with respect to 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.
Let and be two univariate polynomials over some commutative ring , where
and
The resultant of and is defined as the determinant of the Sylvester matrix:
Note that this is a matrix as there are rows for and rows that are used for . The blanc spaces are supposed to be filled with zeros.
advanced |
and
then the resultant of and is (up to leading coefficients) the product of all pairwise differences of the roots of and , namely
advanced |
In particular, iff and have a common factor with a positive degree in .
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., [vzGG99].
| ||
|
||
| ||
|
||
| ||
|
|
| |
Computes the resultant of and , with respect to the outermost variable. |
Polynomial_d
PolynomialTraits_d
PolynomialTraits_d::UnivariateContent