DSPEP#

Dense Polynomial Eigenvalue Problem.

Notes#

The problem is expressed as \(P(\lambda)x = 0\), where \(P(\cdot)\) is a polynomial matrix 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 storing the polynomial coefficient. 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 \(d\cdot n\) and solving the corresponding GNHEP.

Used DS matrices#

  • DS_MAT_E0 to DS_MAT_E9 - 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#

DS: Direct Solver (or Dense System), 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