MATLAB Function Reference    

Polynomial eigenvalue problem



[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.

If lambda is the jth eigenvalue in e, and x is the jth column of eigenvectors in X, then (A0 + lambda*A1 + ... + lambda^p*Ap)*x is approximately 0.

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 p and n, polyeig handles several special cases:


If both 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.

See Also

eig, qz

  polyder polyfit