iterative-solver 0.0
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
Definition: PSpace.h:7
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