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