MATLAB Function Reference | Search  Help Desk |
polyeig | See Also |
[X,e] = polyeig(A0,A1,...Ap)
[X,e] = polyeig(A0,A1,...Ap)
solves the polynomial eigenvalue problem of degree p:
where polynomial degree p
is a non-negative integer, and A0,A1,...Ap
are input matrices of order n
. Output matrix X
, of size n
-by-n
*p
, contains eigenvectors in its columns. Output vector e
, of length n*p
, contains eigenvalues.
Based on the values of p
and n
, polyeig
handles several special cases:
p = 0
, or polyeig(A)
is the standard eigenvalue problem: eig(A)
.
p = 1
, or polyeig(A,B)
is the generalized eigenvalue problem: eig(A,-B)
.
n = 1
, or polyeig(a0
,a1
,...ap)
for scalars a0
, a1
..., ap
is the standard polynomial problem: roots([ap
...
a1
a0])
.
A0
and Ap
are singular, the problem is potentially ill posed; solutions might not exist or they might not be unique. In this case, the computed solutions may be inaccurate. polyeig
attempts to detect this situation and display an appropriate warning message. If either one, but not both, of A0
and Ap
is singular, the problem is well posed but some of the eigenvalues may be zero or infinite (Inf
).
The polyeig
function uses the QZ factorization to find intermediate results in the computation of generalized eigenvalues. It uses these intermediate results to determine if the eigenvalues are well-determined. See the descriptions of eig
and qz
for more on this, as well as the EISPACK Guide.
eig
Eigenvalues and eigenvectors
qz
QZ factorization for generalized eigenvalues