sylm
Sylvester matrix of two polynomials
Syntax
S = sylm(a, b)
Arguments
- a, b
Two single polynomials with real or complex coefficients.
- S
square matrix of real or complex numbers, of size
degree(a*b)
.
Description
sylm(a,b)
gives the Sylvester matrix associated to polynomials
a
and b
, i.e. the matrix S
such that:
coeff( a*x + b*y )' = S * [coeff(x)';coeff(y)']
.
If a
and b
are coprime polynomials then
rank(sylm(a,b))=degree(a)+degree(b))
and the instructions
u = sylm(a,b) \ eye(na+nb,1) x = poly(u(1:nb),'z','coeff') y = poly(u(nb+1:na+nb),'z','coeff')
compute Bezout factors x
and y
of minimal degree
such that a*x+b*y = 1
Examples
--> x = poly(0, "x"); --> y = poly([1, 2, 3], "x","coeff") y = 1 +2x +3x² --> sylm(x, y) ans = 0. 0. 1. 1. 0. 2. 0. 1. 3.
Resultant of two polynomials: It can be defined as the determinant of the Sylvester matrix of the two polynomials. It is null if and only if both polynomials have at least one common root.
a = poly([1 2 3 4], "x", "roots") b = poly([-2 -1 5], "x", "roots") det(sylm(a, b)) // Simpler case: det(sylm((%s+1)^5, (%s+3)^3)) (-3 -(-1))^(5*3) // Expected resultant
--> a = poly([1 2 3 4],"x","roots") a = 24 -50x +35x² -10x³ +x⁴ --> b = poly([-2 -1 5],"x","roots") b = -10 -13x -2x² +x³ --> det(sylm(a,b)) ans = 1036800.0 --> // Simpler case: --> det(sylm((%s+1)^5,(%s+3)^3)) ans = -32768.000 --> (-3 -(-1))^(5*3) // Expected resultant ans = -32768.
See Also
Report an issue | ||
<< simp_mode | Polynomials | varn >> |