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

#include <Ensemble.hpp>

Collaboration diagram for SubSpaceManager:
Collaboration graph

Public Types

using SubHilbertSpace = TransSector< RealScalar >
 
using TotalSpace = typename SubHilbertSpace::TotalSpace
 
using SubHilbertSpace = TransSector< RealScalar >
 
using TotalSpace = typename SubHilbertSpace::TotalSpace
 
using SubHilbertSpace = TransSector< RealScalar >
 
using TotalSpace = typename SubHilbertSpace::TotalSpace
 
using SubHilbertSpace = TransSector< RealScalar >
 
using TotalSpace = typename SubHilbertSpace::TotalSpace
 
using SubHilbertSpace = TransSector< RealScalar >
 
using TotalSpace = typename SubHilbertSpace::TotalSpace
 
using SubHilbertSpace = ParityTransSector< RealScalar >
 
using TotalSpace = typename SubHilbertSpace::TotalSpace
 

Public Member Functions

 SubSpaceManager (const SubSpaceManager &)=delete
 
SubSpaceManageroperator= (const SubSpaceManager &)=delete
 
 SubSpaceManager (SubSpaceManager &&)=delete
 
SubSpaceManageroperator= (SubSpaceManager &&)=delete
 
SubHilbertSpaceoperator[] (size_t L)
 
 SubSpaceManager (const SubSpaceManager &)=delete
 
SubSpaceManageroperator= (const SubSpaceManager &)=delete
 
 SubSpaceManager (SubSpaceManager &&)=delete
 
SubSpaceManageroperator= (SubSpaceManager &&)=delete
 
SubHilbertSpaceoperator[] (size_t L)
 
 SubSpaceManager (const SubSpaceManager &)=delete
 
SubSpaceManageroperator= (const SubSpaceManager &)=delete
 
 SubSpaceManager (SubSpaceManager &&)=delete
 
SubSpaceManageroperator= (SubSpaceManager &&)=delete
 
SubHilbertSpace const & operator[] (size_t L)
 
 SubSpaceManager (const SubSpaceManager &)=delete
 
SubSpaceManageroperator= (const SubSpaceManager &)=delete
 
 SubSpaceManager (SubSpaceManager &&)=delete
 
SubSpaceManageroperator= (SubSpaceManager &&)=delete
 
SubHilbertSpaceoperator[] (size_t L)
 
 SubSpaceManager (const SubSpaceManager &)=delete
 
SubSpaceManageroperator= (const SubSpaceManager &)=delete
 
 SubSpaceManager (SubSpaceManager &&)=delete
 
SubSpaceManageroperator= (SubSpaceManager &&)=delete
 
SubHilbertSpace const & operator[] (size_t L)
 
 SubSpaceManager (const SubSpaceManager &)=delete
 
SubSpaceManageroperator= (const SubSpaceManager &)=delete
 
 SubSpaceManager (SubSpaceManager &&)=delete
 
SubSpaceManageroperator= (SubSpaceManager &&)=delete
 
SubHilbertSpaceoperator[] (size_t L)
 

Static Public Member Functions

static SubSpaceManagerget_instance ()
 
static SubSpaceManagerget_instance ()
 
static SubSpaceManagerget_instance ()
 
static SubSpaceManagerget_instance ()
 
static SubSpaceManagerget_instance ()
 
static SubSpaceManagerget_instance ()
 

Private Member Functions

 SubSpaceManager ()=default
 
 SubSpaceManager ()=default
 
 SubSpaceManager ()=default
 
 SubSpaceManager ()=default
 
 SubSpaceManager ()=default
 
 SubSpaceManager ()=default
 

Private Attributes

std::vector< SubHilbertSpacem_sectors
 
std::vector< bool > m_isConstructed
 

Member Typedef Documentation

◆ SubHilbertSpace [1/6]

◆ SubHilbertSpace [2/6]

◆ SubHilbertSpace [3/6]

◆ SubHilbertSpace [4/6]

◆ SubHilbertSpace [5/6]

◆ SubHilbertSpace [6/6]

◆ TotalSpace [1/6]

◆ TotalSpace [2/6]

◆ TotalSpace [3/6]

◆ TotalSpace [4/6]

◆ TotalSpace [5/6]

◆ TotalSpace [6/6]

Constructor & Destructor Documentation

◆ SubSpaceManager() [1/18]

SubSpaceManager::SubSpaceManager ( )
privatedefault

◆ SubSpaceManager() [2/18]

SubSpaceManager::SubSpaceManager ( const SubSpaceManager )
delete

◆ SubSpaceManager() [3/18]

SubSpaceManager::SubSpaceManager ( SubSpaceManager &&  )
delete

◆ SubSpaceManager() [4/18]

SubSpaceManager::SubSpaceManager ( )
privatedefault

◆ SubSpaceManager() [5/18]

SubSpaceManager::SubSpaceManager ( const SubSpaceManager )
delete

◆ SubSpaceManager() [6/18]

SubSpaceManager::SubSpaceManager ( SubSpaceManager &&  )
delete

◆ SubSpaceManager() [7/18]

SubSpaceManager::SubSpaceManager ( )
privatedefault

◆ SubSpaceManager() [8/18]

SubSpaceManager::SubSpaceManager ( const SubSpaceManager )
delete

◆ SubSpaceManager() [9/18]

SubSpaceManager::SubSpaceManager ( SubSpaceManager &&  )
delete

◆ SubSpaceManager() [10/18]

SubSpaceManager::SubSpaceManager ( )
privatedefault

◆ SubSpaceManager() [11/18]

SubSpaceManager::SubSpaceManager ( const SubSpaceManager )
delete

◆ SubSpaceManager() [12/18]

SubSpaceManager::SubSpaceManager ( SubSpaceManager &&  )
delete

◆ SubSpaceManager() [13/18]

SubSpaceManager::SubSpaceManager ( )
privatedefault

◆ SubSpaceManager() [14/18]

SubSpaceManager::SubSpaceManager ( const SubSpaceManager )
delete

◆ SubSpaceManager() [15/18]

SubSpaceManager::SubSpaceManager ( SubSpaceManager &&  )
delete

◆ SubSpaceManager() [16/18]

SubSpaceManager::SubSpaceManager ( )
privatedefault

◆ SubSpaceManager() [17/18]

SubSpaceManager::SubSpaceManager ( const SubSpaceManager )
delete

◆ SubSpaceManager() [18/18]

SubSpaceManager::SubSpaceManager ( SubSpaceManager &&  )
delete

Member Function Documentation

◆ get_instance() [1/6]

static SubSpaceManager & SubSpaceManager::get_instance ( )
inlinestatic
32 {
33 static SubSpaceManager instance;
34 return instance;
35 }
Definition Ensemble.cuh:17

◆ get_instance() [2/6]

static SubSpaceManager & SubSpaceManager::get_instance ( )
inlinestatic
33 {
34 static SubSpaceManager instance;
35 return instance;
36 }

◆ get_instance() [3/6]

static SubSpaceManager & SubSpaceManager::get_instance ( )
inlinestatic
34 {
35 static SubSpaceManager instance;
36 return instance;
37 }

◆ get_instance() [4/6]

static SubSpaceManager & SubSpaceManager::get_instance ( )
inlinestatic
34 {
35 static SubSpaceManager instance;
36 return instance;
37 }

◆ get_instance() [5/6]

static SubSpaceManager & SubSpaceManager::get_instance ( )
inlinestatic
34 {
35 static SubSpaceManager instance;
36 return instance;
37 }

◆ get_instance() [6/6]

static SubSpaceManager & SubSpaceManager::get_instance ( )
inlinestatic
34 {
35 static SubSpaceManager instance;
36 return instance;
37 }

◆ operator=() [1/12]

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

◆ operator=() [2/12]

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

◆ operator=() [3/12]

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

◆ operator=() [4/12]

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

◆ operator=() [5/12]

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

◆ operator=() [6/12]

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

◆ operator=() [7/12]

SubSpaceManager & SubSpaceManager::operator= ( SubSpaceManager &&  )
delete

◆ operator=() [8/12]

SubSpaceManager & SubSpaceManager::operator= ( SubSpaceManager &&  )
delete

◆ operator=() [9/12]

SubSpaceManager & SubSpaceManager::operator= ( SubSpaceManager &&  )
delete

◆ operator=() [10/12]

SubSpaceManager & SubSpaceManager::operator= ( SubSpaceManager &&  )
delete

◆ operator=() [11/12]

SubSpaceManager & SubSpaceManager::operator= ( SubSpaceManager &&  )
delete

◆ operator=() [12/12]

SubSpaceManager & SubSpaceManager::operator= ( SubSpaceManager &&  )
delete

◆ operator[]() [1/6]

SubHilbertSpace & SubSpaceManager::operator[] ( size_t  L)
inline
37 {
38 SubSpaceManager& instance = this->get_instance();
39 if(instance.m_sectors.size() <= L) {
40 instance.m_sectors.resize(L + 1);
41 instance.m_isConstructed.resize(L + 1, false);
42
43 if(!instance.m_isConstructed[L]) {
44 instance.m_sectors[L]
46 instance.m_isConstructed[L] = true;
47 }
48 }
49 return instance.m_sectors[L];
50 }
int g_momentum
Definition Ensemble.cuh:12
Definition HilbertSpace.hpp:423
std::vector< SubHilbertSpace > m_sectors
Definition Ensemble.cuh:23
std::vector< bool > m_isConstructed
Definition Ensemble.cuh:24
static SubSpaceManager & get_instance()
Definition Ensemble.cuh:32
Translation invariant sector of a many-body Hilbert space.
Definition TransSector.hpp:19
int g_dimLoc
Definition Ensemble.hpp:13

◆ operator[]() [2/6]

SubHilbertSpace & SubSpaceManager::operator[] ( size_t  L)
inline
38 {
39 SubSpaceManager& instance = this->get_instance();
40 if(instance.m_sectors.size() <= L) {
41 instance.m_sectors.resize(L + 1);
42 instance.m_isConstructed.resize(L + 1, false);
43
44 if(!instance.m_isConstructed[L]) {
45 instance.m_sectors[L]
47 instance.m_isConstructed[L] = true;
48 }
49 }
50 return instance.m_sectors[L];
51 }

◆ operator[]() [3/6]

SubHilbertSpace const & SubSpaceManager::operator[] ( size_t  L)
inline
39 {
40 SubSpaceManager& instance = this->get_instance();
41 if(instance.m_sectors.size() <= L) {
42 instance.m_sectors.resize(L + 1);
43 // instance.m_sectorsOnGPU.resize(L + 1);
44 instance.m_isConstructed.resize(L + 1, false);
45
46 if(!instance.m_isConstructed[L]) {
47 instance.m_sectors[L]
49 // instance.m_sectorsOnGPU[L]
50 // = ObjectOnGPU<SubHilbertSpace>(instance.m_sectors[L]);
51 instance.m_isConstructed[L] = true;
52 }
53 }
54 return instance.m_sectors[L];
55 }
TransSector< RealScalar > SubHilbertSpace
Definition Ensemble.cuh:19

◆ operator[]() [4/6]

SubHilbertSpace & SubSpaceManager::operator[] ( size_t  L)
inline
39 {
40 SubSpaceManager& instance = this->get_instance();
41 if(instance.m_sectors.size() <= L) {
42 instance.m_sectors.resize(L + 1);
43 instance.m_isConstructed.resize(L + 1, false);
44
45 if(!instance.m_isConstructed[L]) {
46 instance.m_sectors[L]
48 instance.m_isConstructed[L] = true;
49 }
50 }
51 return instance.m_sectors[L];
52 }

◆ operator[]() [5/6]

SubHilbertSpace const & SubSpaceManager::operator[] ( size_t  L)
inline
39 {
40 SubSpaceManager& instance = this->get_instance();
41 if(instance.m_sectors.size() <= L) {
42 instance.m_sectors.resize(L + 1);
43 // instance.m_sectorsOnGPU.resize(L + 1);
44 instance.m_isConstructed.resize(L + 1, false);
45
46 if(!instance.m_isConstructed[L]) {
47 instance.m_sectors[L]
49 // instance.m_sectorsOnGPU[L]
50 // = ObjectOnGPU<SubHilbertSpace>(instance.m_sectors[L]);
51 instance.m_isConstructed[L] = true;
52 }
53 }
54 return instance.m_sectors[L];
55 }

◆ operator[]() [6/6]

SubHilbertSpace & SubSpaceManager::operator[] ( size_t  L)
inline
39 {
40 SubSpaceManager& instance = this->get_instance();
41 if(instance.m_sectors.size() <= L) {
42 instance.m_sectors.resize(L + 1);
43 instance.m_isConstructed.resize(L + 1, false);
44
45 if(!instance.m_isConstructed[L]) {
46 instance.m_sectors[L]
48 instance.m_isConstructed[L] = true;
49 }
50 }
51 return instance.m_sectors[L];
52 }
Translation invariant sector of a many-body Hilbert space.
Definition ParityTransSector.hpp:19
int g_parity
Definition Ensemble.hpp:14

Member Data Documentation

◆ m_isConstructed

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

◆ m_sectors

std::vector< SubHilbertSpace > SubSpaceManager::m_sectors
private

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