Skip to main content
`Ctrl`+`K`

# 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. Details of the implemented methods are presented in [Campos and Roman, 2016].

## 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

[Cam16c]

C. Campos and J. E. Roman. Restarted Q-Arnoldi-type methods exploiting symmetry in quadratic eigenvalue problems. BIT, 56(4):1213–1236, 2016. doi:10.1007/s10543-016-0601-5.

## See Also

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