AngouriMath

Navigation

PolynomialResultant


← Back to list of classes

Description

Summary

The resultant of two polynomials in several variables over the rationals, and the
discriminant that follows from it. Eliminating a variable between two equations is
what these are for: Res(f, g) taken in y vanishes exactly where
f and g have a common y, so it is the condition on the
remaining variables that the pair be solvable.

Remarks

The resultant is defined here as the determinant of the Sylvester matrix, and it is
computed as one. That is deliberate. The remainder-sequence formulations are faster,
but each carries a factor (-1)^k and a power of a leading coefficient that has
to be tracked through every step, and a sign convention got wrong there is a wrong
answer that looks entirely plausible. Taken as a determinant, the sign convention is
the one property that cannot be got wrong: Res(f, g) = (-1)^(deg f * deg g)
Res(g, f)
and Res(f, g) = lc(f)^deg g * lc(g)^deg f * prod (a_i - b_j) both fall out of the matrix rather than being imposed on it.
The determinant is taken by one-step fraction-free elimination, which is the same
idea as the subresultant remainder sequence in PolynomialGcd and for
the same reason: every intermediate entry is a minor of the original matrix, so the
division at each step comes out exact and the coefficients stay the size of those
minors instead of compounding. Bareiss, Sylvester's identity and multistep
integer-preserving Gaussian elimination
, Math. Comp. 22 (1968); Geddes, Czapor
and Labahn, Algorithms for Computer Algebra, §9.3; Knuth, TAOCP vol. 2,
§4.6.1.
The degenerate cases are the ones implementations usually differ on, and these were
measured against SymPy 1.14 rather than recalled: a zero argument gives zero whatever
the other side is, two arguments free of the main variable give one, and
Res(f, c) = c^deg f. All three are what the Sylvester matrix already says once
a polynomial free of the main variable is read as having degree zero — the matrix is
then diagonal, or empty, and an empty determinant is one.
Part of the polynomial layer of
#746, item 43.

Members

























Angouri © 2019-2023 · Project's repo · Site's repo · Octicons · Transparency · 4378 pages online