|MATLAB Function Reference|
Polynomial eigenvalue problem
[X,e] = polyeig(A0,A1,...Ap)
solves the polynomial eigenvalue problem of degree
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*p, contains eigenvectors in its columns. Output vector
e, of length
n*p, contains eigenvalues.
lambda is the
jth eigenvalue in
x is the
jth column of eigenvectors in
(A0 + lambda*A1 + ... + lambda^p*Ap)*x is approximately
e = polyeig(A0,A1,..,Ap)
is a vector of length
n*p whose elements are the eigenvalues of the polynomial eigenvalue problem.
Based on the values of
polyeig handles several special cases:
p = 0, or
polyeig(A)is the standard eigenvalue problem:
p = 1, or
polyeig(A,B)is the generalized eigenvalue problem:
n = 1, or
apis the standard polynomial problem:
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
Ap is singular, the problem is well posed but some of the eigenvalues may be zero or infinite (
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
qz for more on this.