iterative-solver 0.0
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
8struct Dimensions {
9 Dimensions() = default;
10 Dimensions(size_t np, size_t nq, size_t nc) : nP(np), nQ(nq), nD(nc) {}
11 size_t nP = 0;
12 size_t nQ = 0;
13 size_t nD = 0;
14 size_t nX = nP + nQ + nD;
15 size_t oP = 0;
16 size_t oQ = nP;
17 size_t oD = oQ + nQ;
18 size_t nRHS = 0;
19};
20} // namespace molpro::linalg::itsolv::subspace
21
22#endif // LINEARALGEBRA_SRC_MOLPRO_LINALG_ITSOLV_SUBSPACE_DIMENSIONS_H
Definition: PSpace.h:7
Stores partitioning of XSpace into P, Q and R blocks with sizes and offsets for each one.
Definition: Dimensions.h:8
size_t oQ
Definition: Dimensions.h:16
Dimensions(size_t np, size_t nq, size_t nc)
Definition: Dimensions.h:10
size_t nD
Definition: Dimensions.h:13
size_t nX
Definition: Dimensions.h:14
size_t nQ
Definition: Dimensions.h:12
size_t nRHS
number of rigt-hand-side vectors in the system of linear equations
Definition: Dimensions.h:18
size_t nP
Definition: Dimensions.h:11
size_t oP
Definition: Dimensions.h:15
size_t oD
Definition: Dimensions.h:17