polymroot#
Purpose#
Computes the roots of the determinant of a matrix polynomial.
Format#
- r = polymroot(c)#
- Parameters:
c (matrix) – (N+1)*KxK matrix. coefficients of an Nth order polynomial of rank K
- Returns:
r (K*N vector) – contains the roots of the determinantal equation.
Examples#
Solve
\[det(A2*t^2 + A1*t + A0) = 0\]
where
A2 = 1 2 A1 = 5 8 A0 = 3 4
2 1 10 7 6 5
// Setup coefficient matrices
a2 = { 1 2, 2 1 };
a1 = { 5 8, 10 7 };
a0 = { 3 4, 6 5 };
// The pipe operator '|' provides vertical concatenation
print polymroot(a2|a1|a0);
-4.3027756
-.69722436
-2.6180340
-.38196601
Remarks#
c is constructed of N+1 KxK coefficient matrices stacked vertically with the coefficient matrix of the \(t^n\) at the top, \(t^{n-1}\) next, down to the \(t^0\) matrix at the bottom.
Note that this procedure solves the scalar problem as well, that is, the
one that polyroot()
solves.
See also
Functions polychar()
, polymult()
, polyroot()
, polyeval()