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(A2t2+A1t+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 tn at the top, tn1 next, down to the t0 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()