DSGHIEP#

Dense Generalized Hermitian Indefinite Eigenvalue Problem.

Notes#

The problem is expressed as AX = BX*Lambda, where both A and B are real symmetric (or complex Hermitian) and possibly indefinite. Lambda is a diagonal matrix whose diagonal elements are the arguments of DSSolve(). After solve, A is overwritten with Lambda. Note that in the case of real scalars, A is overwritten with a real representation of Lambda, i.e., complex conjugate eigenvalue pairs are stored as a 2x2 block in the quasi-diagonal matrix.

In the intermediate state A is reduced to tridiagonal form and B is transformed into a signature matrix. In compact storage format, these matrices are stored in T and D, respectively.

Used DS matrices#

  • DS_MAT_A - first problem matrix

  • DS_MAT_B - second problem matrix

  • DS_MAT_T - symmetric tridiagonal matrix of the reduced pencil

  • DS_MAT_D - diagonal matrix (signature) of the reduced pencil

  • DS_MAT_Q - pseudo-orthogonal transformation that reduces (A,B) to tridiagonal-diagonal form (intermediate step) or a real basis of eigenvectors

Implemented methods#

  • 0 - QR iteration plus inverse iteration for the eigenvectors

  • 1 - HZ iteration

  • 2 - QR iteration plus pseudo-orthogonalization for the eigenvectors

References#

  • 1. - C. Campos and J. E. Roman, “Restarted Q-Arnoldi-type methods exploiting symmetry in quadratic eigenvalue problems”, BIT Numer. Math. 56(4):1213-1236, 2016.

See Also#

DSCreate(), DSSetType(), DSType

Level#

beginner

Location#

src/sys/classes/ds/impls/ghiep/dsghiep.c


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