SyTen
QCDMRG::Model Class Reference
+ Collaboration diagram for QCDMRG::Model:

Public Member Functions

void addTerm (double scale, int pos1, int type1)
 
void addTerm (double scale, int pos1, int type1, int pos2, int type2)
 
void addTerm (double scale, int pos1, int type1, int pos2, int type2, int pos3, int type3)
 
void addTerm (double scale, int pos1, int type1, int pos2, int type2, int pos3, int type3, int pos4, int type4)
 
void clearOperatorTerms ()
 
double coreEnergy () const
 
int fillingIndex () const noexcept
 
const std::vector< OperatorTerm > & fourTerms () const noexcept
 
int identityIndex () const noexcept
 
bool isSSOFermionic (int sso_type_index) const
 
const std::vector< std::string > & labels () const noexcept
 
int length () const noexcept
 
 Model (const Params &param)
 Construction from FCIDUMP. More...
 
 Model (const QCDMRG::Params &param, syten::DenseTensor< 2, syten::SRDef > t, syten::DenseTensor< 4, syten::SRDef > v, double core_energy=0.0)
 Construction for full integrals tensors. More...
 
int nFermionicSSOs (const OperatorTerm &ops) const
 
std::size_t nFourTerms () const noexcept
 
std::size_t nOneTerms () const noexcept
 
std::size_t nTerms () const noexcept
 
std::size_t nThreeTerms () const noexcept
 
std::size_t nTwoTerms () const noexcept
 
const std::vector< int > & occupationDown () const noexcept
 
const std::vector< int > & occupationUp () const noexcept
 
const std::vector< OperatorTerm > & oneTerms () const noexcept
 
std::vector< int > orbIrreps () const
 
const std::vector< int > & orbitalOrder () const noexcept
 
void printHamiltonianTerms () const
 
int size () const noexcept
 
double SSOSpin (int sso_type_index) const
 
const std::vector< OperatorTerm > & threeTerms () const noexcept
 
const std::vector< OperatorTerm > & twoTerms () const noexcept
 
void useFiedlerOrder ()
 
void useNonOptimizedOrder ()
 

Private Member Functions

bool bothFermionic (int type1, int type2) const
 
void computeInversedOrder ()
 
void computeOccupation ()
 
void init_SU2U1 ()
 
void init_U1U1 ()
 
void setCoreEnergy ()
 
void swapTwoSSO (int &pos1, int &type1, int &pos2, int &type2) const noexcept
 

Private Attributes

double core_energy_ = 0.0
 
double fiedler_prefactor_ = 1.0e-7
 
int filling_index_ = 0
 
std::vector< OperatorTermfour_terms_
 
int identity_index_ = 1
 
QCToolkit::Integral integral_
 
std::vector< int > inversed_order_
 
int length_ = 0
 
int nelec_ = 0
 
int nelec_a_
 
int nelec_b_
 
std::vector< int > occupation_down_
 
std::vector< int > occupation_up_
 
std::vector< OperatorTermone_terms_
 
std::vector< int > orbital_order_
 
int spin_ = 0
 
std::vector< int > sso_fermionic_data_
 
std::vector< std::stringsso_labels_
 
std::vector< double > sso_spin_data_
 
std::string symm_
 
int symm_irrep_
 
QCToolkit::Symmetry symmPG_
 
std::vector< OperatorTermthree_terms_
 
std::vector< OperatorTermtwo_terms_
 

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