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_E0toDS_MAT_E9- coefficients of the matrix polynomialDS_MAT_X- right eigenvectorsDS_MAT_Y- left eigenvectorsDS_MAT_A- (workspace) first matrix of the linearizationDS_MAT_B- (workspace) second matrix of the linearizationDS_MAT_W- (workspace) right eigenvectors of the linearizationDS_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