slepc-main 2024-11-09
Report Typos and Errors

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