![]() |
QMCPACK
|
Static Public Member Functions | |
static void | solveGeneralizedEigenvalues (Matrix< Real > &A, Matrix< Real > &B, std::vector< Real > &eigenvals, Matrix< Real > &eigenvectors) |
Use generalized eigenvalue solver. More... | |
static void | solveGeneralizedEigenvalues_Inv (Matrix< Real > &A, Matrix< Real > &B, std::vector< Real > &eigenvals, Matrix< Real > &eigenvectors) |
Solve by explicitly inverting the overlap matrix. More... | |
Private Types | |
using | Real = QMCTraits::RealType |
Definition at line 28 of file Eigensolver.h.
|
private |
Definition at line 30 of file Eigensolver.h.
|
static |
Use generalized eigenvalue solver.
[in] | A | Hamiltonian matrix |
[in] | B | Overlap matrix |
[out] | eigenvals | Eigenvalues |
[out] | eigenvectors | Eigenvectors corresponding to the eigenvalues |
Definition at line 32 of file Eigensolver.cpp.
References qmcplusplus::Units::distance::A, B(), Matrix< T, Alloc >::cols(), Matrix< T, Alloc >::data(), LAPACK::ggev(), and Matrix< T, Alloc >::rows().
Referenced by LinearMethod::getLowestEigenvector_Gen(), and qmcplusplus::TEST_CASE().
|
static |
Solve by explicitly inverting the overlap matrix.
[in] | A | Hamiltonian matrix |
[in] | B | Overlap matrix |
[out] | eigenvals | Eigenvalues |
[out] | eigenvectors | Eigenvectors corresponding to the eigenvalues |
Definition at line 78 of file Eigensolver.cpp.
References qmcplusplus::Units::distance::A, B(), Matrix< T, Alloc >::cols(), Matrix< T, Alloc >::data(), LAPACK::geev(), qmcplusplus::invert_matrix(), qmcplusplus::MatrixOperators::product(), and Matrix< T, Alloc >::rows().
Referenced by LinearMethod::getLowestEigenvector_Inv(), and qmcplusplus::TEST_CASE().