#include <Ensemble.hpp>
◆ RandomMatrixGenerators [1/2]
template<class MatrixType >
◆ RandomMatrixGenerators [2/2]
template<class MatrixType >
◆ Scalar [1/5]
template<class MatrixType >
◆ Scalar [2/5]
template<class MatrixType >
◆ Scalar [3/5]
template<class MatrixType >
◆ Scalar [4/5]
template<class MatrixType >
◆ Scalar [5/5]
template<class MatrixType >
◆ ScalableOperator() [1/5]
template<class MatrixType >
std::vector< bool > & m_isConstructed
Definition Ensemble.cuh:61
RandomMatrixGenerators & m_GRME
Definition Ensemble.cuh:60
◆ ScalableOperator() [2/5]
template<class MatrixType >
◆ ScalableOperator() [3/5]
template<class MatrixType >
43
44 }
MatrixType m_locOp
Definition Ensemble.template.hpp:39
◆ ScalableOperator() [4/5]
template<class MatrixType >
67 std::cerr << "Error at [" << __FILE__ << ":" << __LINE__ << "]\n\t"
68 << __PRETTY_FUNCTION__ << "\nMessage:\t locOp.rows()("
69 <<
m_locOp.rows() <<
") != locOp.cols()(" << locOp.cols() <<
"): "
70 << "local operator must be a square matrix" << std::endl;
71 std::exit(EXIT_FAILURE);
72 }
75 if(dim % dimLoc != 0) {
76 std::cerr << "Error at [" << __FILE__ << ":" << __LINE__ << "]\n\t"
77 << __PRETTY_FUNCTION__ << "\nMessage:\t locOp.rows()("
78 <<
m_locOp.rows() <<
") must be a power of dimLoc(" << dimLoc
79 << ")" << std::endl;
80 std::exit(EXIT_FAILURE);
81 }
82 dim /= dimLoc;
83 }
84 }
size_t m_Locality
Definition Ensemble.hpp:62
size_t m_dimLoc
Definition Ensemble.hpp:61
◆ ScalableOperator() [5/5]
template<class MatrixType >
68 std::cerr << "Error at [" << __FILE__ << ":" << __LINE__ << "]\n\t"
69 << __PRETTY_FUNCTION__ << "\nMessage:\t locOp.rows()("
70 <<
m_locOp.rows() <<
") != locOp.cols()(" << locOp.cols() <<
"): "
71 << "local operator must be a square matrix" << std::endl;
72 std::exit(EXIT_FAILURE);
73 }
76 if(dim % dimLoc != 0) {
77 std::cerr << "Error at [" << __FILE__ << ":" << __LINE__ << "]\n\t"
78 << __PRETTY_FUNCTION__ << "\nMessage:\t locOp.rows()("
79 <<
m_locOp.rows() <<
") must be a power of dimLoc(" << dimLoc
80 << ")" << std::endl;
81 std::exit(EXIT_FAILURE);
82 }
83 dim /= dimLoc;
84 }
85 }
◆ construct_globalOp() [1/5]
template<class MatrixType >
67 {
68 auto currentSize =
m_GRME.size();
73 auto dim = subSpaces[L].dim();
78 }
79 return MatrixType(
m_GRME[L]());
80 };
Definition RandomMatrix.hpp:9
Definition HilbertSpace.hpp:32
Definition OperatorSpace.hpp:132
Definition Ensemble.cuh:17
static SubSpaceManager & get_instance()
Definition Ensemble.cuh:32
◆ construct_globalOp() [2/5]
template<class MatrixType >
68 {
69 auto currentSize =
m_GRME.size();
74 auto dim = subSpaces[L].dim();
79 }
81 };
◆ construct_globalOp() [3/5]
template<class MatrixType >
46 {
47 MatrixType res;
48
49 return res;
50 };
◆ construct_globalOp() [4/5]
template<class MatrixType >
86 {
88 std::cerr << "Error at [" << __FILE__ << ":" << __LINE__ << "]\n\t"
89 << __PRETTY_FUNCTION__ << "\n\t L(" << L
90 <<
") must not be smaller than m_Locality(" <<
m_Locality <<
")."
91 << std::endl;
92 std::exit(EXIT_FAILURE);
93 }
94
95 size_t dimCompl = 1;
97
98 auto Identity = MatrixType::Identity(dimCompl, dimCompl);
100 auto& subSpaceBase = subSpaces[L].basis();
101 MatrixType res = subSpaceBase.adjoint() * Eigen::kroneckerProduct(Identity,
m_locOp)
102 * subSpaceBase;
103 return res;
104 };
int g_dimLoc
Definition Ensemble.cuh:11
◆ construct_globalOp() [5/5]
template<class MatrixType >
87 {
89 std::cerr << "Error at [" << __FILE__ << ":" << __LINE__ << "]\n\t"
90 << __PRETTY_FUNCTION__ << "\n\t L(" << L
91 <<
") must not be smaller than m_Locality(" <<
m_Locality <<
")."
92 << std::endl;
93 std::exit(EXIT_FAILURE);
94 }
95
96 size_t dimCompl = 1;
98
99 auto Identity = MatrixType::Identity(dimCompl, dimCompl);
101 auto& subSpaceBase = subSpaces[L].basis();
102 MatrixType res = subSpaceBase.adjoint() * Eigen::kroneckerProduct(Identity,
m_locOp)
103 * subSpaceBase;
104 return res;
105 };
◆ m_dimLoc
template<class MatrixType >
◆ m_GRME
template<class MatrixType >
◆ m_isConstructed
template<class MatrixType >
◆ m_Locality
template<class MatrixType >
◆ m_locOp
template<class MatrixType >
The documentation for this class was generated from the following files: