iterative-solver 0.0
 
Loading...
Searching...
No Matches
SubspaceData.h
1#ifndef LINEARALGEBRA_SRC_MOLPRO_LINALG_ITSOLV_SUBSPACE_SUBSPACEDATA_H
2#define LINEARALGEBRA_SRC_MOLPRO_LINALG_ITSOLV_SUBSPACE_SUBSPACEDATA_H
3#include <map>
4#include <molpro/linalg/itsolv/subspace/Matrix.h>
5
7enum class EqnData { H, S, rhs, value };
8
10template <typename T = double>
11using SubspaceData = std::map<EqnData, Matrix<T>>;
12
13template <typename T = double, EqnData... DataTypes>
14auto null_data() {
15 return SubspaceData<T>{std::make_pair<EqnData, Matrix<T>>(DataTypes, {})...};
16}
17} // namespace molpro::linalg::itsolv::subspace
18
19#endif // LINEARALGEBRA_SRC_MOLPRO_LINALG_ITSOLV_SUBSPACE_SUBSPACEDATA_H
EqnData
Definition SubspaceData.h:7
std::map< EqnData, Matrix< T > > SubspaceData
Equation data blocks of the subspace, in the scalar type of the problem.
Definition SubspaceData.h:11
auto null_data()
Definition SubspaceData.h:14
std::unique_ptr< LinearEigensystem< R, Q, P > > create_LinearEigensystem(const LinearEigensystemOptions &options, const std::shared_ptr< ArrayHandlers< R, Q, P > > &handlers=std::make_shared< molpro::linalg::itsolv::ArrayHandlers< R, Q, P > >())
Definition SolverFactory.h:111