Multi-shift Hessenberg solves¶
Solve for \(X\) in the system
\[H^\# X - X D^\# = \alpha Y\]
where \(H\) is Hessenberg, \(D\) is diagonal, and \(A^\#\) is defined to be one of \(\{A,A^T,A^H\}\).
Note
Only a few subcases are currently supported, as this was added as part of
HessenbergPseudospectrum()
Python API¶
-
MultiShiftHessSolve
(H, shifts, X[, alpha=1, uplo=LOWER, orient=NORMAL])¶ - Parameters
H – Dense Hessenberg matrix to solve against (with shifts)
shifts – a list of shifts (one per right-hand side) to subtract from the diagonal of \(H\) before solving the linear system
X – the right-hand sides to solve against (and overwrite)
alpha – (optional) the scaling of the right-hand sides
uplo – (optional) whether \(H\) is lower or upper-Hessenberg
orient – (optional) whether to solve against \(H\), \(H^T\), or \(H^H\)
C++ API¶
-
void
MultiShiftHessSolve
(UpperOrLower uplo, Orientation orientation, F alpha, const Matrix<F> &H, const Matrix<F> &shifts, Matrix<F> &X)¶
-
void
MultiShiftHessSolve
(UpperOrLower uplo, Orientation orientation, F alpha, const AbstractDistMatrix<F> &H, const AbstractDistMatrix<F> &shifts, AbstractDistMatrix<F> &X)¶
C API¶
Single-precision¶
-
ElError
ElMultiShiftHessSolve_s
(ElUpperOrLower uplo, ElOrientation orientation, float alpha, ElConstMatrix_s H, ElConstMatrix_s shifts, ElMatrix_s X)¶
-
ElError
ElMultiShiftHessSolveDist_s
(ElUpperOrLower uplo, ElOrientation orientation, float alpha, ElConstDistMatrix_s H, ElConstDistMatrix_s shifts, ElDistMatrix_s X)¶
Double-precision¶
-
ElError
ElMultiShiftHessSolve_d
(ElUpperOrLower uplo, ElOrientation orientation, float alpha, ElConstMatrix_d H, ElConstMatrix_d shifts, ElMatrix_d X)¶
-
ElError
ElMultiShiftHessSolveDist_d
(ElUpperOrLower uplo, ElOrientation orientation, float alpha, ElConstDistMatrix_d H, ElConstDistMatrix_d shifts, ElDistMatrix_d X)¶
Single-precision complex¶
-
ElError
ElMultiShiftHessSolve_c
(ElUpperOrLower uplo, ElOrientation orientation, float alpha, ElConstMatrix_c H, ElConstMatrix_c shifts, ElMatrix_c X)¶
-
ElError
ElMultiShiftHessSolveDist_c
(ElUpperOrLower uplo, ElOrientation orientation, float alpha, ElConstDistMatrix_c H, ElConstDistMatrix_c shifts, ElDistMatrix_c X)¶
Double-precision complex¶
-
ElError
ElMultiShiftHessSolve_z
(ElUpperOrLower uplo, ElOrientation orientation, float alpha, ElConstMatrix_z H, ElConstMatrix_z shifts, ElMatrix_z X)¶
-
ElError
ElMultiShiftHessSolveDist_z
(ElUpperOrLower uplo, ElOrientation orientation, float alpha, ElConstDistMatrix_z H, ElConstDistMatrix_z shifts, ElDistMatrix_z X)¶