slepc3.21.1 20240426
DSNHEPTS
Dense NonHermitian Eigenvalue Problem (special variant intended for twosided Krylov solvers).
Notes
Two related problems are solved, A*X = X*Lambda and B*Y = 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 quasitriangular matrix T of the (real) Schur form, A*Q = Q*T, and similarly
another (real) Schur relation is computed, B*Z = Z*S, 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 Arnoldi

 DS_MAT_B   second problem matrix obtained from Arnoldi on the transpose

 DS_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
See Also
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