DSPEP#
Dense Polynomial Eigenvalue Problem.
Notes#
The problem is expressed as P(lambda)*x = 0, where P(.) is a matrix polynomial of degree d. The eigenvalues lambda are the arguments returned by DSSolve().
The degree of the polynomial, d, can be set with DSPEPSetDegree(), with the first d+1 extra matrices of the DS defining the matrix polynomial. By default, the polynomial is expressed in the monomial basis, but a different basis can be used by setting the corresponding coefficients via DSPEPSetCoefficients().
The problem is solved via linearization, by building a pencil (A,B) of size p*n and solving the corresponding GNHEP.
Used DS matrices#
DS_MAT_Ex - coefficients of the matrix polynomial
DS_MAT_X - right eigenvectors
DS_MAT_Y - left eigenvectors
DS_MAT_A - (workspace) first matrix of the linearization
DS_MAT_B - (workspace) second matrix of the linearization
DS_MAT_W - (workspace) right eigenvectors of the linearization
DS_MAT_U - (workspace) left eigenvectors of the linearization
Implemented methods#
0 - QZ iteration on the linearization (_ggev)
See Also#
DSCreate(), DSSetType(), DSType, DSPEPSetDegree(), DSPEPSetCoefficients()
Level#
beginner
Location#
src/sys/classes/ds/impls/pep/dspep.c
Index of all DS routines Table of Contents for all manual pages Index of all manual pages