Resultants of two monic polynomials
edit · history · discussion · files · long url · algebra polynomial
Polynomials
$m$
$n$ 
$\operatorname{Res}(f_m,g_n)$
1
1:
-a0 + b0
1
2:
a0^2 - a0*b1 + b0
1
3:
-a0^3 + a0^2*b2 - a0*b1 + b0
1
4:
a0^4 - a0^3*b3 + a0^2*b2 - a0*b1 + b0
1
5:
-a0^5 + a0^4*b4 - a0^3*b3 + a0^2*b2 - a0*b1 + b0
2
1:
-a1*b0 + b0^2 + a0
2
2:
a1^2*b0 - a0*a1*b1 - a1*b0*b1 + a0*b1^2 + a0^2 - 2*a0*b0 + b0^2
2
3:
-a1^3*b0 + a0*a1^2*b1 - a0^2*a1*b2 + a1^2*b0*b2 - a0*a1*b1*b2 + a0^2*b2^2 + a0^3 + 3*a0*a1*b0 - 2*a0^2*b1 - a1*b0*b1 + a0*b1^2 - 2*a0*b0*b2 + b0^2
2
4:
a1^4*b0 - a0*a1^3*b1 + a0^2*a1^2*b2 - a0^3*a1*b3 - a1^3*b0*b3 + a0*a1^2*b1*b3 - a0^2*a1*b2*b3 + a0^3*b3^2 + a0^4 - 4*a0*a1^2*b0 + 3*a0^2*a1*b1 - 2*a0^3*b2 + a1^2*b0*b2 - a0*a1*b1*b2 + a0^2*b2^2 + 3*a0*a1*b0*b3 - 2*a0^2*b1*b3 + 2*a0^2*b0 - a1*b0*b1 + a0*b1^2 - 2*a0*b0*b2 + b0^2
3
1:
-a2*b0^2 + b0^3 + a1*b0 - a0
3
2:
a2^2*b0^2 - a1*a2*b0*b1 - a2*b0^2*b1 + a0*a2*b1^2 + a1*b0*b1^2 - a0*b1^3 + a1^2*b0 - 2*a0*a2*b0 - 2*a1*b0^2 + b0^3 - a0*a1*b1 + 3*a0*b0*b1 + a0^2
3
3:
-a2^3*b0^2 + a1*a2^2*b0*b1 - a0*a2^2*b1^2 - a1^2*a2*b0*b2 + 2*a0*a2^2*b0*b2 + a2^2*b0^2*b2 + a0*a1*a2*b1*b2 - a1*a2*b0*b1*b2 + a0*a2*b1^2*b2 - a0^2*a2*b2^2 + a1^2*b0*b2^2 - 2*a0*a2*b0*b2^2 - a0*a1*b1*b2^2 + a0^2*b2^3 + a1^3*b0 - 3*a0*a1*a2*b0 + 3*a1*a2*b0^2 - a0*a1^2*b1 + 2*a0^2*a2*b1 - 2*a1^2*b0*b1 - a0*a2*b0*b1 - a2*b0^2*b1 + 2*a0*a1*b1^2 + a1*b0*b1^2 - a0*b1^3 + a0^2*a1*b2 + a0*a1*b0*b2 - 2*a1*b0^2*b2 - 3*a0^2*b1*b2 + 3*a0*b0*b1*b2 - a0^3 + 3*a0^2*b0 - 3*a0*b0^2 + b0^3
4
1:
-a3*b0^3 + b0^4 + a2*b0^2 - a1*b0 + a0
4
2:
a3^2*b0^3 - a2*a3*b0^2*b1 - a3*b0^3*b1 + a1*a3*b0*b1^2 + a2*b0^2*b1^2 - a0*a3*b1^3 - a1*b0*b1^3 + a0*b1^4 + a2^2*b0^2 - 2*a1*a3*b0^2 - 2*a2*b0^3 + b0^4 - a1*a2*b0*b1 + 3*a0*a3*b0*b1 + 3*a1*b0^2*b1 + a0*a2*b1^2 - 4*a0*b0*b1^2 + a1^2*b0 - 2*a0*a2*b0 + 2*a0*b0^2 - a0*a1*b1 + a0^2
5
1:
-a4*b0^4 + b0^5 + a3*b0^3 - a2*b0^2 + a1*b0 - a0
Definition
For integers $m,n\geq1$, let $f_m(x)=x^m+\sum_{i=0}^{m-1}a_i x^i$ and $g_n(x)=x^n+\sum_{j=0}^{n-1}b_j x^j$ be monic polynomials with formal coefficients. The entry is the resultant $\operatorname{Res}(f_m,g_n)$ [1], with the product taken over the roots of $f_m$ as in Formula (1).
Parameters
$m$
—   degree of $f_m$ ($m\geq1$)
$n$
—   degree of $g_n$ ($n\geq1$)
Formulas
(1)
If $\alpha_1,\dots,\alpha_m$ are the roots of $f_m$, counted with multiplicity, then $\operatorname{Res}(f_m,g_n)=\prod_{r=1}^m g_n(\alpha_r)$.
(2)
$\operatorname{Res}(g_n,f_m)=(-1)^{mn}\operatorname{Res}(f_m,g_n)$.
(3)
$\operatorname{Res}(f_m,g_n)$ is the determinant of the Sylvester matrix [1] of $f_m$ and $g_n$.
(4)
$\operatorname{Res}(x+a_0,x+b_0)=b_0-a_0$.
(5)
$\operatorname{Res}(x+a_0,x^2+b_1x+b_0)=a_0^2-a_0b_1+b_0$.
(6)
$\operatorname{Res}(x^2+a_1x+a_0,x+b_0)=b_0^2-a_1b_0+a_0$.
Comments
(7)
The coefficient $a_i$ multiplies $x^i$ in $f_m$, and $b_j$ multiplies $x^j$ in $g_n$. The entry for $(m,n)$ is written in the variables $a_0,\dots,a_{m-1},b_0,\dots,b_{n-1}$.
(8)
The order of the two polynomials matters. The entry is the product of $g_n$ over the roots of $f_m$, as in Formula (1); interchanging them multiplies the result by $(-1)^{mn}$, so the entries at $(m,n)$ and $(n,m)$ are different polynomials.
Programs
(P1)
Sage
from sage.all import ZZ, PolynomialRing

m = 2
n = 3
R = PolynomialRing(ZZ, ["a%s" % i for i in range(m)] + ["b%s" % j for j in range(n)])
gens = R.gens()
a = gens[:m]
b = gens[m:]
S = PolynomialRing(R, "x")
x = S.gen()
f = x**m + sum(a[i] * x**i for i in range(m))
g = x**n + sum(b[j] * x**j for j in range(n))
print(f.resultant(g))
Links
Similar tables
Discriminants of the general polynomial of degree $n$ —   uses the same resultant normalization to define the discriminant of one polynomial and its derivative
Discriminants of the trinomials $x^n+ax^m+b$ —   uses resultants to state the discriminants of a sparse monic polynomial family
Data properties
Entries are of type: integral polynomial
Table is complete: no (it holds every pair $m,n\geq1$ with $m+n\leq6$; the next antidiagonal would use seven coefficient variables, more than polynomial search accepts)
How they were obtained:

The generator computes exact integer coefficients in polynomial rings over $\mathbb Z$ from the resultant, and all arithmetic is exact.

more

It checks Formula (1) by substituting the elementary symmetric polynomials of independent roots, compares the small rows from Formula (4), Formula (5), and Formula (6) against the stored values, compares every stored row with an independently assembled Sylvester determinant, and compares integer specializations with Sage's exact univariate resultant over $\mathbb Z[x]$.