SLATE 2024.05.31
Software for Linear Algebra Targeting Exascale
|
\(Ax = \lambda B x\), etc. More...
Functions | |
template<typename scalar_t > | |
void | slate::hegv (int64_t itype, HermitianMatrix< scalar_t > &A, HermitianMatrix< scalar_t > &B, std::vector< blas::real_type< scalar_t > > &Lambda, Matrix< scalar_t > &Z, Options const &opts) |
Distributed parallel computation of all the eigenvalues, and optionally, the eigenvectors of a complex generalized Hermitian-definite eigenproblem, of the form: | |
\(Ax = \lambda B x\), etc.
void slate::hegv | ( | int64_t | itype, |
HermitianMatrix< scalar_t > & | A, | ||
HermitianMatrix< scalar_t > & | B, | ||
std::vector< blas::real_type< scalar_t > > & | Lambda, | ||
Matrix< scalar_t > & | Z, | ||
Options const & | opts | ||
) |
Distributed parallel computation of all the eigenvalues, and optionally, the eigenvectors of a complex generalized Hermitian-definite eigenproblem, of the form:
itype | Problem |
---|---|
itype = 1 | \(A z = \lambda B z\) |
itype = 2 | \(A B z = \lambda z\) |
itype = 3 | \(B A z = \lambda z\) |
Here A and B are assumed to be Hermitian and B is also positive definite.
scalar_t | One of float, double, std::complex<float>, std::complex<double>. |
[in] | itype |
|
[in,out] | A | On entry, the n-by-n Hermitian matrix \(A\). On exit, contents are destroyed. |
[in,out] | B | On entry, the n-by-n Hermitian positive definite matrix \(B\). On exit, B is overwritten by the triangular factor U or L from the Cholesky factorization \(B = U^H U\) or \(B = L L^H\). |
[out] | Lambda | The vector Lambda of length n. If successful, the eigenvalues in ascending order. |
[out] | Z | On entry, if Z is empty, does not compute eigenvectors. On exit, orthonormal eigenvectors of the matrix A. |
[in] | opts | Additional options, as map of name = value pairs. Possible options:
|
TODO: return value