DSNEP#

Dense Nonlinear Eigenvalue Problem.

Notes#

The problem is expressed as T(lambda)x = 0, where T(lambda) is a parameter-dependent matrix written as T(lambda) = sum_i E_if_i(lambda). The eigenvalues lambda are the arguments returned by DSSolve()..

The coefficient matrices E_i are the extra matrices of the DS, and the scalar functions f_i are passed via DSNEPSetFN(). Optionally, a callback function to fill the E_i matrices can be set with DSNEPSetComputeMatrixFunction().

Used DS matrices#

  • DS_MAT_Ex - coefficient matrices of the split form of T(lambda)

  • DS_MAT_X - eigenvectors

  • DS_MAT_A - (workspace) T(lambda) evaluated at a given lambda (SLP only)

  • DS_MAT_B - (workspace) T’(lambda) evaluated at a given lambda (SLP only)

  • DS_MAT_Q - (workspace) left Hankel matrix (contour only)

  • DS_MAT_Z - (workspace) right Hankel matrix (contour only)

  • DS_MAT_U - (workspace) left singular vectors (contour only)

  • DS_MAT_V - (workspace) right singular vectors (contour only)

  • DS_MAT_W - (workspace) auxiliary matrix of size nxn

Implemented methods#

  • 0 - Successive Linear Problems (SLP), computes just one eigenpair

  • 1 - Contour integral, computes all eigenvalues inside a region

See Also#

DSCreate(), DSSetType(), DSType, DSNEPSetFN(), DSNEPSetComputeMatrixFunction()

Level#

beginner

Location#

src/sys/classes/ds/impls/nep/dsnep.c


Index of all DS routines Table of Contents for all manual pages Index of all manual pages