polyeig

Purpose

Solve polynomial eigenvalue problem.

Synopsis

[X,e] = polyeig(A0,A1,...Ap)

Description

[X,e] = polyeig(A0,A1,...Ap) solves the polynomial eigenvalue problem of degree p

where p is an integer from 1 to 10. The input matrices A0, A1,...Ap are size p+1-by-p+1 matrices, all of order n. The output matrix X, of size n-by-n*p, contains the eigenvectors in its columns. The output vector e, of length n*p, contains the 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]).

Algorithm

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

polyeig uses the QZ factorization method 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.

See Also

eig, qz

(c) Copyright 1994 by The MathWorks, Inc.