35 public Step<EigenproblemEnvironment<double>> {
38 size_t number_of_requested_eigenpairs;
50 number_of_requested_eigenpairs {number_of_requested_eigenpairs} {}
61 return "Diagonalize the subspace matrix, i.e. the projection of the matrix A onto the subspace spanned by the vectors in V, and write its eigenvalues and eigenvectors to the environment.";
77 const auto& S = environment.
S;
79 auto dense_diagonalizer = EigenproblemSolver::Dense<double>();
80 dense_diagonalizer.perform(dense_environment);
83 environment.
Lambda = dense_environment.eigenvalues.head(this->number_of_requested_eigenpairs);
86 environment.
Z = dense_environment.eigenvectors.topLeftCorner(S.cols(), this->number_of_requested_eigenpairs);
Definition: EigenproblemEnvironment.hpp:35
VectorX< double > eigenvalues
Definition: EigenproblemEnvironment.hpp:57
MatrixX< Scalar > Z
Definition: EigenproblemEnvironment.hpp:69
VectorX< double > Lambda
Definition: EigenproblemEnvironment.hpp:66
SquareMatrix< Scalar > S
Definition: EigenproblemEnvironment.hpp:63
static EigenproblemEnvironment Dense(const SquareMatrix< Scalar > &A)
Definition: EigenproblemEnvironment.hpp:121
Definition: SubspaceMatrixDiagonalization.hpp:35
void execute(EigenproblemEnvironment< double > &environment) override
Definition: SubspaceMatrixDiagonalization.hpp:70
std::string description() const override
Definition: SubspaceMatrixDiagonalization.hpp:60
SubspaceMatrixDiagonalization(const size_t number_of_requested_eigenpairs=1)
Definition: SubspaceMatrixDiagonalization.hpp:49
Definition: BaseOneElectronIntegralBuffer.hpp:25