DSNHEPTS#
Dense Non-Hermitian Eigenvalue Problem (special variant intended for two-sided Krylov solvers).
Notes#
Two related problems are solved, \(AX = X\Lambda\) and \(BY = Y\Lambda^*\), where \(A\) and
\(B\) are supposed to come from the Arnoldi factorizations of a certain matrix and its
(conjugate) transpose, respectively. Hence, in exact arithmetic the columns of \(Y\)
are equal to the left eigenvectors of \(A\). \(\Lambda\) is a diagonal matrix whose diagonal
elements are the arguments of DSSolve(). After solve, \(A\) is overwritten with the
upper quasi-triangular matrix \(T\) of the (real) Schur form, \(AQ = QT\), and similarly
another (real) Schur relation is computed, \(BZ = ZS\), overwriting \(B\).
In the intermediate state \(A\) and \(B\) are reduced to upper Hessenberg form.
When left eigenvectors DS_MAT_Y are requested, right eigenvectors of \(B\) are returned,
while DS_MAT_X contains right eigenvectors of \(A\).
Used DS matrices#
DS_MAT_A- first problem matrix obtained from ArnoldiDS_MAT_B- second problem matrix obtained from Arnoldi on the transposeDS_MAT_Q- orthogonal/unitary transformation that reduces \(A\) to Hessenberg form (intermediate step) or matrix of orthogonal Schur vectors of \(A\)DS_MAT_Z- orthogonal/unitary transformation that reduces \(B\) to Hessenberg form (intermediate step) or matrix of orthogonal Schur vectors of \(B\)
Implemented methods#
0 - Implicit QR (
_hseqr)
See Also#
DS: Direct Solver (or Dense System), DSCreate(), DSSetType(), DSType
Level#
beginner
Location#
src/sys/classes/ds/impls/nhepts/dsnhepts.c
Index of all DS routines Table of Contents for all manual pages Index of all manual pages