slepc-main 2024-11-09
Report Typos and Errors

DSGHIEP

Dense Generalized Hermitian Indefinite Eigenvalue Problem.

Notes

The problem is expressed as A*X = B*X*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