iterative-solver 0.0
 
Loading...
Searching...
No Matches
Dimensions.h
1#ifndef LINEARALGEBRA_SRC_MOLPRO_LINALG_ITSOLV_SUBSPACE_DIMENSIONS_H
2#define LINEARALGEBRA_SRC_MOLPRO_LINALG_ITSOLV_SUBSPACE_DIMENSIONS_H
3
4#include <cstddef>
5
9struct Dimensions {
10 Dimensions() = default;
11 Dimensions(size_t np, size_t nq, size_t nc) : nP(np), nQ(nq), nD(nc) {}
12 size_t nP = 0;
13 size_t nQ = 0;
14 size_t nD = 0;
15 size_t nRHS = 0;
16 size_t nX() const { return nP + nQ + nD; }
17 size_t oP() const { return 0; }
18 size_t oQ() const { return nP; }
19 size_t oD() const { return nP + nQ; }
20};
21} // namespace molpro::linalg::itsolv::subspace
22
23#endif // LINEARALGEBRA_SRC_MOLPRO_LINALG_ITSOLV_SUBSPACE_DIMENSIONS_H
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
size_t oP() const
offset of the P block
Definition Dimensions.h:17
Dimensions(size_t np, size_t nq, size_t nc)
Definition Dimensions.h:11
size_t nD
Definition Dimensions.h:14
size_t nQ
Definition Dimensions.h:13
size_t nRHS
number of rigt-hand-side vectors in the system of linear equations
Definition Dimensions.h:15
size_t nP
Definition Dimensions.h:12
size_t oQ() const
offset of the Q block
Definition Dimensions.h:18
size_t oD() const
offset of the D block
Definition Dimensions.h:19
size_t nX() const
total size of the X space
Definition Dimensions.h:16