StatMech
Loading...
Searching...
No Matches
HamiltonianEnsemble Class Reference

#include <Ensemble.hpp>

Collaboration diagram for HamiltonianEnsemble:
Collaboration graph

Public Types

using MatrixType = ObjectOnGPU< Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > >
 
using EigenSolver = MatrixUtils::EigenSolver< MatrixType >
 
using StateSpace = typename SubSpaceManager::SubHilbertSpace
 
using ScalableOperator = Ensemble::internal::ScalableOperator< MatrixType >
 
using MatrixType = Eigen::MatrixX< Scalar >
 
using EigenSolver = Eigen::SelfAdjointEigenSolver< MatrixType >
 
using StateSpace = typename SubSpaceManager::SubHilbertSpace
 
using ScalableOperator = Ensemble::internal::ScalableOperator< MatrixType >
 
using MatrixType = Eigen::MatrixX< Scalar >
 
using EigenSolver = Eigen::SelfAdjointEigenSolver< MatrixType >
 
using ScalableOperator = Ensemble::internal::ScalableOperator< MatrixType >
 
using MatrixType = ObjectOnGPU< Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > >
 
using EigenSolver = MatrixUtils::EigenSolver< MatrixType >
 
using StateSpace = typename SubSpaceManager::SubHilbertSpace
 
using MatrixType = Eigen::MatrixX< Scalar >
 
using EigenSolver = Eigen::SelfAdjointEigenSolver< MatrixType >
 
using StateSpace = typename SubSpaceManager::SubHilbertSpace
 
using ScalableOperator = Ensemble::internal::ScalableOperator< MatrixType >
 
using MatrixType = ObjectOnGPU< Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > >
 
using EigenSolver = MatrixUtils::EigenSolver< MatrixType >
 
using StateSpace = typename SubSpaceManager::SubHilbertSpace
 
using MatrixType = Eigen::MatrixX< Scalar >
 
using EigenSolver = Eigen::SelfAdjointEigenSolver< MatrixType >
 
using StateSpace = typename SubSpaceManager::SubHilbertSpace
 
using ScalableOperator = Ensemble::internal::ScalableOperator< MatrixType >
 

Public Member Functions

 HamiltonianEnsemble (const HamiltonianEnsemble &)=delete
 
HamiltonianEnsembleoperator= (const HamiltonianEnsemble &)=delete
 
 HamiltonianEnsemble (HamiltonianEnsemble &&)=delete
 
HamiltonianEnsembleoperator= (HamiltonianEnsemble &&)=delete
 
void discard (size_t n)
 
ScalableOperator sample ()
 
 HamiltonianEnsemble (const HamiltonianEnsemble &)=delete
 
HamiltonianEnsembleoperator= (const HamiltonianEnsemble &)=delete
 
 HamiltonianEnsemble (HamiltonianEnsemble &&)=delete
 
HamiltonianEnsembleoperator= (HamiltonianEnsemble &&)=delete
 
void discard (size_t n)
 
ScalableOperator sample ()
 
 HamiltonianEnsemble (const HamiltonianEnsemble &)=delete
 
HamiltonianEnsembleoperator= (const HamiltonianEnsemble &)=delete
 
 HamiltonianEnsemble (HamiltonianEnsemble &&)=delete
 
HamiltonianEnsembleoperator= (HamiltonianEnsemble &&)=delete
 
void discard (size_t n)
 
ScalableOperator sample ()
 
 HamiltonianEnsemble (const HamiltonianEnsemble &)=delete
 
HamiltonianEnsembleoperator= (const HamiltonianEnsemble &)=delete
 
 HamiltonianEnsemble (HamiltonianEnsemble &&)=delete
 
HamiltonianEnsembleoperator= (HamiltonianEnsemble &&)=delete
 
ScalableOperator< MatrixTypesample ()
 
void discard (size_t n)
 
 HamiltonianEnsemble (const HamiltonianEnsemble &)=delete
 
HamiltonianEnsembleoperator= (const HamiltonianEnsemble &)=delete
 
 HamiltonianEnsemble (HamiltonianEnsemble &&)=delete
 
HamiltonianEnsembleoperator= (HamiltonianEnsemble &&)=delete
 
void discard (size_t n)
 
ScalableOperator sample ()
 
 HamiltonianEnsemble (const HamiltonianEnsemble &)=delete
 
HamiltonianEnsembleoperator= (const HamiltonianEnsemble &)=delete
 
 HamiltonianEnsemble (HamiltonianEnsemble &&)=delete
 
HamiltonianEnsembleoperator= (HamiltonianEnsemble &&)=delete
 
ScalableOperator< MatrixTypesample ()
 
void discard (size_t n)
 
 HamiltonianEnsemble (const HamiltonianEnsemble &)=delete
 
HamiltonianEnsembleoperator= (const HamiltonianEnsemble &)=delete
 
 HamiltonianEnsemble (HamiltonianEnsemble &&)=delete
 
HamiltonianEnsembleoperator= (HamiltonianEnsemble &&)=delete
 
void discard (size_t n)
 
ScalableOperator sample ()
 

Static Public Member Functions

static std::string dataname (size_t rep)
 
static std::string usage (size_t nargs)
 
static constexpr size_t nargs (void)
 
static StateSpacestateSpace (size_t L)
 
static HamiltonianEnsembleget_instance (char **CL_argv)
 
static std::string dataname (size_t rep)
 
static std::string usage (size_t nargs)
 
static constexpr size_t nargs (void)
 
static StateSpacestateSpace (size_t L)
 
static HamiltonianEnsembleget_instance (char **CL_argv)
 
static std::string dataname (size_t rep)
 
static std::string usage (size_t nargs)
 
static constexpr size_t nargs (void)
 
static HamiltonianEnsembleget_instance (char **CL_argv)
 
static std::string dataname (size_t rep)
 
static std::string usage (size_t nargs)
 
static constexpr size_t nargs (void)
 
static StateSpace const & stateSpace (size_t L)
 
template<class... Args>
static HamiltonianEnsembleget_instance (Args... args)
 
static std::string dataname (size_t rep)
 
static std::string usage (size_t nargs)
 
static constexpr size_t nargs (void)
 
static StateSpacestateSpace (size_t L)
 
static HamiltonianEnsembleget_instance (char **CL_argv)
 
static std::string dataname (size_t rep)
 
static std::string usage (size_t nargs)
 
static constexpr size_t nargs (void)
 
static StateSpace const & stateSpace (size_t L)
 
template<class... Args>
static HamiltonianEnsembleget_instance (Args... args)
 
static std::string dataname (size_t rep)
 
static std::string usage (size_t nargs)
 
static constexpr size_t nargs (void)
 
static StateSpacestateSpace (size_t L)
 
static HamiltonianEnsembleget_instance (char **CL_argv)
 

Private Member Functions

 HamiltonianEnsemble (char **CL_argv)
 
 HamiltonianEnsemble (char **CL_argv)
 
 HamiltonianEnsemble (char **CL_argv)
 
 HamiltonianEnsemble (char **CL_argv)
 
 HamiltonianEnsemble (int locality)
 
 HamiltonianEnsemble (char **CL_argv)
 
 HamiltonianEnsemble (char **CL_argv)
 
 HamiltonianEnsemble (int locality)
 
 HamiltonianEnsemble (char **CL_argv)
 

Private Attributes

std::vector< GaussianRandomMatrixGenerator< OperatorSpace< Scalar > > > m_GRME
 
std::vector< bool > m_isConstructed
 
size_t m_Locality
 
GaussianRandomMatrixGenerator< OperatorSpace< Scalar > > m_GRME
 
MatrixType m_locMat
 

Static Private Attributes

static double class_B = 0
 
static double class_h = 0
 

Member Typedef Documentation

◆ EigenSolver [1/7]

◆ EigenSolver [2/7]

using HamiltonianEnsemble::EigenSolver = Eigen::SelfAdjointEigenSolver<MatrixType>

◆ EigenSolver [3/7]

using HamiltonianEnsemble::EigenSolver = Eigen::SelfAdjointEigenSolver<MatrixType>

◆ EigenSolver [4/7]

◆ EigenSolver [5/7]

using HamiltonianEnsemble::EigenSolver = Eigen::SelfAdjointEigenSolver<MatrixType>

◆ EigenSolver [6/7]

◆ EigenSolver [7/7]

using HamiltonianEnsemble::EigenSolver = Eigen::SelfAdjointEigenSolver<MatrixType>

◆ MatrixType [1/7]

using HamiltonianEnsemble::MatrixType = ObjectOnGPU< Eigen::Matrix<Scalar, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor> >

◆ MatrixType [2/7]

using HamiltonianEnsemble::MatrixType = Eigen::MatrixX<Scalar>

◆ MatrixType [3/7]

using HamiltonianEnsemble::MatrixType = Eigen::MatrixX<Scalar>

◆ MatrixType [4/7]

using HamiltonianEnsemble::MatrixType = ObjectOnGPU< Eigen::Matrix<Scalar, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor> >

◆ MatrixType [5/7]

using HamiltonianEnsemble::MatrixType = Eigen::MatrixX<Scalar>

◆ MatrixType [6/7]

using HamiltonianEnsemble::MatrixType = ObjectOnGPU< Eigen::Matrix<Scalar, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor> >

◆ MatrixType [7/7]

using HamiltonianEnsemble::MatrixType = Eigen::MatrixX<Scalar>

◆ ScalableOperator [1/5]

◆ ScalableOperator [2/5]

◆ ScalableOperator [3/5]

◆ ScalableOperator [4/5]

◆ ScalableOperator [5/5]

◆ StateSpace [1/6]

◆ StateSpace [2/6]

◆ StateSpace [3/6]

◆ StateSpace [4/6]

◆ StateSpace [5/6]

◆ StateSpace [6/6]

Constructor & Destructor Documentation

◆ HamiltonianEnsemble() [1/23]

HamiltonianEnsemble::HamiltonianEnsemble ( char **  CL_argv)
inlineprivate
108{}

◆ HamiltonianEnsemble() [2/23]

HamiltonianEnsemble::HamiltonianEnsemble ( const HamiltonianEnsemble )
delete

◆ HamiltonianEnsemble() [3/23]

HamiltonianEnsemble::HamiltonianEnsemble ( HamiltonianEnsemble &&  )
delete

◆ HamiltonianEnsemble() [4/23]

HamiltonianEnsemble::HamiltonianEnsemble ( char **  CL_argv)
inlineprivate
108{}

◆ HamiltonianEnsemble() [5/23]

HamiltonianEnsemble::HamiltonianEnsemble ( const HamiltonianEnsemble )
delete

◆ HamiltonianEnsemble() [6/23]

HamiltonianEnsemble::HamiltonianEnsemble ( HamiltonianEnsemble &&  )
delete

◆ HamiltonianEnsemble() [7/23]

HamiltonianEnsemble::HamiltonianEnsemble ( char **  CL_argv)
inlineprivate
70 {
71 // Write codes here
72 }

◆ HamiltonianEnsemble() [8/23]

HamiltonianEnsemble::HamiltonianEnsemble ( const HamiltonianEnsemble )
delete

◆ HamiltonianEnsemble() [9/23]

HamiltonianEnsemble::HamiltonianEnsemble ( HamiltonianEnsemble &&  )
delete

◆ HamiltonianEnsemble() [10/23]

HamiltonianEnsemble::HamiltonianEnsemble ( char **  CL_argv)
inlineprivate
204: HamiltonianEnsemble(std::atoi(CL_argv[0])) {}
Definition Ensemble.cuh:84

◆ HamiltonianEnsemble() [11/23]

HamiltonianEnsemble::HamiltonianEnsemble ( int  locality)
inlineprivate
205 : m_Locality(locality) {
206 assert(m_Locality >= 1);
207 size_t dim = 1;
208 for(int j = 0; j < m_Locality; ++j) { dim *= g_dimLoc; };
209 // std::cout << "dim = " << dim << std::endl;
210 auto HSpace = HilbertSpace<int>(dim);
211 auto OpSpace = OperatorSpace<Scalar>(HSpace);
213 }
Definition RandomMatrix.hpp:9
size_t m_Locality
Definition Ensemble.cuh:201
std::vector< GaussianRandomMatrixGenerator< OperatorSpace< Scalar > > > m_GRME
Definition Ensemble.cuh:105
Definition HilbertSpace.hpp:32
Definition OperatorSpace.hpp:132
int g_dimLoc
Definition Ensemble.hpp:13

◆ HamiltonianEnsemble() [12/23]

HamiltonianEnsemble::HamiltonianEnsemble ( const HamiltonianEnsemble )
delete

◆ HamiltonianEnsemble() [13/23]

HamiltonianEnsemble::HamiltonianEnsemble ( HamiltonianEnsemble &&  )
delete

◆ HamiltonianEnsemble() [14/23]

HamiltonianEnsemble::HamiltonianEnsemble ( char **  CL_argv)
inlineprivate
132 : m_Locality(std::atoi(CL_argv[0])) {
133 assert(m_Locality >= 1);
134 size_t dim = 1;
135 for(int j = 0; j < m_Locality; ++j) { dim *= g_dimLoc; };
136 auto HSpace = HilbertSpace<int>(dim);
137 auto OpSpace = OperatorSpace<Scalar>(HSpace);
139 }

◆ HamiltonianEnsemble() [15/23]

HamiltonianEnsemble::HamiltonianEnsemble ( const HamiltonianEnsemble )
delete

◆ HamiltonianEnsemble() [16/23]

HamiltonianEnsemble::HamiltonianEnsemble ( HamiltonianEnsemble &&  )
delete

◆ HamiltonianEnsemble() [17/23]

HamiltonianEnsemble::HamiltonianEnsemble ( char **  CL_argv)
inlineprivate
204: HamiltonianEnsemble(std::atoi(CL_argv[0])) {}

◆ HamiltonianEnsemble() [18/23]

HamiltonianEnsemble::HamiltonianEnsemble ( int  locality)
inlineprivate
205 : m_Locality(locality) {
206 assert(m_Locality >= 1);
207 size_t dim = 1;
208 for(int j = 0; j < m_Locality; ++j) { dim *= g_dimLoc; };
209 // std::cout << "dim = " << dim << std::endl;
210 auto HSpace = HilbertSpace<int>(dim);
211 auto OpSpace = OperatorSpace<Scalar>(HSpace);
213 }

◆ HamiltonianEnsemble() [19/23]

HamiltonianEnsemble::HamiltonianEnsemble ( const HamiltonianEnsemble )
delete

◆ HamiltonianEnsemble() [20/23]

HamiltonianEnsemble::HamiltonianEnsemble ( HamiltonianEnsemble &&  )
delete

◆ HamiltonianEnsemble() [21/23]

HamiltonianEnsemble::HamiltonianEnsemble ( char **  CL_argv)
inlineprivate
140 {
141 class_B = std::atof(CL_argv[0]);
142 class_h = std::atof(CL_argv[1]);
143 size_t dim = g_dimLoc * g_dimLoc;
144 MatrixType sX = MatrixType::Zero(g_dimLoc, g_dimLoc);
145 MatrixType sY = MatrixType::Zero(g_dimLoc, g_dimLoc);
146 MatrixType sZ = MatrixType::Zero(g_dimLoc, g_dimLoc);
147
148 double s = (g_dimLoc - 1) / 2.0;
149 for(auto j = 0; j != g_dimLoc - 1; ++j) {
150 double m = s - j;
151 sZ(j, j) = m;
152 sX(j, j + 1) = std::sqrt((s - m + 1) * (s + m));
153 sY(j + 1, j) = std::sqrt((s + m) * (s - m + 1));
154 }
155 sZ(g_dimLoc - 1, g_dimLoc - 1) = -s;
156 sX = (sX + sY).eval() / 2.0;
157 sY = Scalar(0, 1) * (sY - sX).eval();
158
159 auto Identity = MatrixType::Identity(g_dimLoc, g_dimLoc);
160
161 m_locMat = Eigen::kroneckerProduct(sZ, sZ);
163 += class_B
164 * (Eigen::kroneckerProduct(sX, Identity) + Eigen::kroneckerProduct(Identity, sX))
165 / 2.0;
167 += class_h
168 * (Eigen::kroneckerProduct(sZ, Identity) + Eigen::kroneckerProduct(Identity, sZ))
169 / 2.0;
170 std::cout << m_locMat << std::endl;
171 }
static double class_h
Definition Ensemble.hpp:137
MatrixType m_locMat
Definition Ensemble.hpp:138
ObjectOnGPU< Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > > MatrixType
Definition Ensemble.cuh:87
static double class_B
Definition Ensemble.hpp:136
Complex_t< RealScalar > Scalar
Definition Ensemble.hpp:17

◆ HamiltonianEnsemble() [22/23]

HamiltonianEnsemble::HamiltonianEnsemble ( const HamiltonianEnsemble )
delete

◆ HamiltonianEnsemble() [23/23]

HamiltonianEnsemble::HamiltonianEnsemble ( HamiltonianEnsemble &&  )
delete

Member Function Documentation

◆ dataname() [1/7]

static std::string HamiltonianEnsemble::dataname ( size_t  rep)
inlinestatic
92{ return "Hamiltonian_No" + std::to_string(rep); };

◆ dataname() [2/7]

static std::string HamiltonianEnsemble::dataname ( size_t  rep)
inlinestatic
92{ return "Hamiltonian_No" + std::to_string(rep); };

◆ dataname() [3/7]

static std::string HamiltonianEnsemble::dataname ( size_t  rep)
inlinestatic
60{ return "Hamiltonian_No" + std::to_string(rep); };

◆ dataname() [4/7]

static std::string HamiltonianEnsemble::dataname ( size_t  rep)
inlinestatic
187{ return "Hamiltonian_No" + std::to_string(rep); };

◆ dataname() [5/7]

static std::string HamiltonianEnsemble::dataname ( size_t  rep)
inlinestatic
115{ return "Hamiltonian_No" + std::to_string(rep); };

◆ dataname() [6/7]

static std::string HamiltonianEnsemble::dataname ( size_t  rep)
inlinestatic
187{ return "Hamiltonian_No" + std::to_string(rep); };

◆ dataname() [7/7]

static std::string HamiltonianEnsemble::dataname ( size_t  rep)
inlinestatic
116 {
117 std::stringstream buff("");
118 buff << std::setprecision(3);
119 buff << "Hamiltonian_B" << class_B << "_h" << class_h;
120 return buff.str();
121 };
std::stringstream buff("")

◆ discard() [1/7]

void HamiltonianEnsemble::discard ( size_t  n)
inline
120{}

◆ discard() [2/7]

void HamiltonianEnsemble::discard ( size_t  n)
inline
120{}

◆ discard() [3/7]

void HamiltonianEnsemble::discard ( size_t  n)
inline
84 {
85 // Write codes here
86 }

◆ discard() [4/7]

void HamiltonianEnsemble::discard ( size_t  n)
inline
233{ m_GRME.discard(n); }

◆ discard() [5/7]

void HamiltonianEnsemble::discard ( size_t  n)
inline
151{ m_GRME.discard(n); }

◆ discard() [6/7]

void HamiltonianEnsemble::discard ( size_t  n)
inline
233{ m_GRME.discard(n); }

◆ discard() [7/7]

void HamiltonianEnsemble::discard ( size_t  n)
inline
183{}

◆ get_instance() [1/7]

template<class... Args>
static HamiltonianEnsemble & HamiltonianEnsemble::get_instance ( Args...  args)
inlinestatic
221 {
222 static HamiltonianEnsemble instance(args...);
223 return instance;
224 }

◆ get_instance() [2/7]

template<class... Args>
static HamiltonianEnsemble & HamiltonianEnsemble::get_instance ( Args...  args)
inlinestatic
221 {
222 static HamiltonianEnsemble instance(args...);
223 return instance;
224 }

◆ get_instance() [3/7]

static HamiltonianEnsemble & HamiltonianEnsemble::get_instance ( char **  CL_argv)
inlinestatic
115 {
116 static HamiltonianEnsemble instance(CL_argv);
117 return instance;
118 }

◆ get_instance() [4/7]

static HamiltonianEnsemble & HamiltonianEnsemble::get_instance ( char **  CL_argv)
inlinestatic
115 {
116 static HamiltonianEnsemble instance(CL_argv);
117 return instance;
118 }

◆ get_instance() [5/7]

static HamiltonianEnsemble & HamiltonianEnsemble::get_instance ( char **  CL_argv)
inlinestatic
79 {
80 static HamiltonianEnsemble instance(CL_argv);
81 return instance;
82 }

◆ get_instance() [6/7]

static HamiltonianEnsemble & HamiltonianEnsemble::get_instance ( char **  CL_argv)
inlinestatic
146 {
147 static HamiltonianEnsemble instance(CL_argv);
148 return instance;
149 }

◆ get_instance() [7/7]

static HamiltonianEnsemble & HamiltonianEnsemble::get_instance ( char **  CL_argv)
inlinestatic
178 {
179 static HamiltonianEnsemble instance(CL_argv);
180 return instance;
181 }

◆ nargs() [1/7]

static constexpr size_t HamiltonianEnsemble::nargs ( void  )
inlinestaticconstexpr
97{ return 0; };

◆ nargs() [2/7]

static constexpr size_t HamiltonianEnsemble::nargs ( void  )
inlinestaticconstexpr
97{ return 0; };

◆ nargs() [3/7]

static constexpr size_t HamiltonianEnsemble::nargs ( void  )
inlinestaticconstexpr
67{ return 1; };

◆ nargs() [4/7]

static constexpr size_t HamiltonianEnsemble::nargs ( void  )
inlinestaticconstexpr
193{ return 1; };

◆ nargs() [5/7]

static constexpr size_t HamiltonianEnsemble::nargs ( void  )
inlinestaticconstexpr
121{ return 1; };

◆ nargs() [6/7]

static constexpr size_t HamiltonianEnsemble::nargs ( void  )
inlinestaticconstexpr
193{ return 1; };

◆ nargs() [7/7]

static constexpr size_t HamiltonianEnsemble::nargs ( void  )
inlinestaticconstexpr
128{ return 2; };

◆ operator=() [1/14]

HamiltonianEnsemble & HamiltonianEnsemble::operator= ( const HamiltonianEnsemble )
delete

◆ operator=() [2/14]

HamiltonianEnsemble & HamiltonianEnsemble::operator= ( const HamiltonianEnsemble )
delete

◆ operator=() [3/14]

HamiltonianEnsemble & HamiltonianEnsemble::operator= ( const HamiltonianEnsemble )
delete

◆ operator=() [4/14]

HamiltonianEnsemble & HamiltonianEnsemble::operator= ( const HamiltonianEnsemble )
delete

◆ operator=() [5/14]

HamiltonianEnsemble & HamiltonianEnsemble::operator= ( const HamiltonianEnsemble )
delete

◆ operator=() [6/14]

HamiltonianEnsemble & HamiltonianEnsemble::operator= ( const HamiltonianEnsemble )
delete

◆ operator=() [7/14]

HamiltonianEnsemble & HamiltonianEnsemble::operator= ( const HamiltonianEnsemble )
delete

◆ operator=() [8/14]

HamiltonianEnsemble & HamiltonianEnsemble::operator= ( HamiltonianEnsemble &&  )
delete

◆ operator=() [9/14]

HamiltonianEnsemble & HamiltonianEnsemble::operator= ( HamiltonianEnsemble &&  )
delete

◆ operator=() [10/14]

HamiltonianEnsemble & HamiltonianEnsemble::operator= ( HamiltonianEnsemble &&  )
delete

◆ operator=() [11/14]

HamiltonianEnsemble & HamiltonianEnsemble::operator= ( HamiltonianEnsemble &&  )
delete

◆ operator=() [12/14]

HamiltonianEnsemble & HamiltonianEnsemble::operator= ( HamiltonianEnsemble &&  )
delete

◆ operator=() [13/14]

HamiltonianEnsemble & HamiltonianEnsemble::operator= ( HamiltonianEnsemble &&  )
delete

◆ operator=() [14/14]

HamiltonianEnsemble & HamiltonianEnsemble::operator= ( HamiltonianEnsemble &&  )
delete

◆ sample() [1/7]

ScalableOperator HamiltonianEnsemble::sample ( )
inline
Ensemble::internal::ScalableOperator< MatrixType > ScalableOperator
Definition Ensemble.cuh:90
std::vector< bool > m_isConstructed
Definition Ensemble.cuh:106

◆ sample() [2/7]

ScalableOperator HamiltonianEnsemble::sample ( )
inline

◆ sample() [3/7]

ScalableOperator HamiltonianEnsemble::sample ( )
inline
88 {
90 // Write codes to construct an observable here
91 return res;
92 }
Definition Ensemble.cuh:112

◆ sample() [4/7]

ScalableOperator< MatrixType > HamiltonianEnsemble::sample ( )
inline
226 {
227 auto hMat = m_GRME();
228 // std::cout << hMat << std::endl;
230 return res;
231 }

◆ sample() [5/7]

ScalableOperator HamiltonianEnsemble::sample ( )
inline
153 {
154 auto hMat = m_GRME();
155 // std::cout << hMat << std::endl;
156 ScalableOperator res(std::move(hMat), g_dimLoc);
157 return res;
158 }

◆ sample() [6/7]

ScalableOperator< MatrixType > HamiltonianEnsemble::sample ( )
inline
226 {
227 auto hMat = m_GRME();
228 // std::cout << hMat << std::endl;
230 return res;
231 }

◆ sample() [7/7]

ScalableOperator HamiltonianEnsemble::sample ( )
inline

◆ stateSpace() [1/6]

static StateSpace & HamiltonianEnsemble::stateSpace ( size_t  L)
inlinestatic
99 {
101 return subSpaces[L];
102 }
Definition Ensemble.cuh:17
static SubSpaceManager & get_instance()
Definition Ensemble.cuh:32

◆ stateSpace() [2/6]

static StateSpace & HamiltonianEnsemble::stateSpace ( size_t  L)
inlinestatic
99 {
101 return subSpaces[L];
102 }

◆ stateSpace() [3/6]

static StateSpace const & HamiltonianEnsemble::stateSpace ( size_t  L)
inlinestatic
195 {
197 return subSpaces[L];
198 }

◆ stateSpace() [4/6]

static StateSpace & HamiltonianEnsemble::stateSpace ( size_t  L)
inlinestatic
123 {
125 return subSpaces[L];
126 }

◆ stateSpace() [5/6]

static StateSpace const & HamiltonianEnsemble::stateSpace ( size_t  L)
inlinestatic
195 {
197 return subSpaces[L];
198 }

◆ stateSpace() [6/6]

static StateSpace & HamiltonianEnsemble::stateSpace ( size_t  L)
inlinestatic
130 {
132 return subSpaces[L];
133 }

◆ usage() [1/7]

static std::string HamiltonianEnsemble::usage ( size_t  nargs)
inlinestatic
93 {
94 std::string usage = "HamiltonianEnsemble Usage: ";
95 return usage;
96 };
static std::string usage(size_t nargs)
Definition Ensemble.cuh:93

◆ usage() [2/7]

static std::string HamiltonianEnsemble::usage ( size_t  nargs)
inlinestatic
93 {
94 std::string usage = "HamiltonianEnsemble Usage: ";
95 return usage;
96 };

◆ usage() [3/7]

static std::string HamiltonianEnsemble::usage ( size_t  nargs)
inlinestatic
61 {
62 std::string usage = "HamiltonianEnsemble Usage: ";
63 usage += std::to_string(nargs + 0) + ".(...) ";
64 // Add codes here
65 return usage;
66 };
static constexpr size_t nargs(void)
Definition Ensemble.cuh:97

◆ usage() [4/7]

static std::string HamiltonianEnsemble::usage ( size_t  nargs)
inlinestatic
188 {
189 std::string usage = "HamiltonianEnsemble Usage: ";
190 usage += std::to_string(nargs + 0) + ".(Locality) ";
191 return usage;
192 };

◆ usage() [5/7]

static std::string HamiltonianEnsemble::usage ( size_t  nargs)
inlinestatic
116 {
117 std::string usage = "HamiltonianEnsemble Usage: ";
118 usage += std::to_string(nargs + 0) + ".(Locality) ";
119 return usage;
120 };

◆ usage() [6/7]

static std::string HamiltonianEnsemble::usage ( size_t  nargs)
inlinestatic
188 {
189 std::string usage = "HamiltonianEnsemble Usage: ";
190 usage += std::to_string(nargs + 0) + ".(Locality) ";
191 return usage;
192 };

◆ usage() [7/7]

static std::string HamiltonianEnsemble::usage ( size_t  nargs)
inlinestatic
122 {
123 std::string usage = "HamiltonianEnsemble Usage: ";
124 usage += std::to_string(nargs + 0) + ".(Transverse field) ";
125 usage += std::to_string(nargs + 1) + ".(Longitudinal field) ";
126 return usage;
127 };

Member Data Documentation

◆ class_B

double HamiltonianEnsemble::class_B = 0
staticprivate

◆ class_h

double HamiltonianEnsemble::class_h = 0
staticprivate

◆ m_GRME [1/2]

GaussianRandomMatrixGenerator< OperatorSpace< Scalar > > HamiltonianEnsemble::m_GRME
private

◆ m_GRME [2/2]

GaussianRandomMatrixGenerator< OperatorSpace<Scalar> > HamiltonianEnsemble::m_GRME
private

◆ m_isConstructed

std::vector< bool > HamiltonianEnsemble::m_isConstructed
private

◆ m_Locality

size_t HamiltonianEnsemble::m_Locality
private

◆ m_locMat

MatrixType HamiltonianEnsemble::m_locMat
private

The documentation for this class was generated from the following files: