VMPS++
Loading...
Searching...
No Matches
VMPS::HubbardU1xU1 Class Reference

Detailed Description

Hubbard model with U(1) symmetries. MPO representation of the Hubbard model.

\[
    H = -t \sum_{<ij>\sigma} \left( c^\dagger_{i\sigma}c_{j\sigma} + h.c. \right)
        -t^{\prime} \sum_{<<ij>>\sigma} \left( c^\dagger_{i\sigma}c_{j\sigma} +h.c. \right)
        +\sum_i \left(t_{0,i}-\mu\right) n_i
        +U \sum_i n_{i\uparrow} n_{i\downarrow}
        +V \sum_{<ij>} n_{i} n_{j}
        -B_z \sum_{i} \left(n_{i\uparrow}-n_{i\downarrow}\right)
     -X \sum_{<ij>\sigma} \left( c^\dagger_{i\sigma}c_{j\sigma} + h.c.\right) \left(n_{i,-\sigma}-n_{j,-\sigma}\right)^2
        +H_{tJ}
        +H_{3-site}
\]

with

\[
H_{tJ} = +J \sum_{<ij>} (\mathbf{S}_{i} \mathbf{S}_{j} - \frac{1}{4} n_in_j)
\]

Note
: The term before $n_i n_j$ is not set and has to be adjusted with V

\[
H_{3-site} = -\frac{J}{4} \sum_{<ijk>\sigma} (c^\dagger_{i\sigma} n_{j,-\sigma} c_{k\sigma} - c^\dagger_{i\sigma} S^{-\sigma}_j c_{k,-\sigma} + h.c.) \
\]

Makes use of the U(1) particle conservation symmetry for both spin components separatly. You can change this by choosing another symmetry class. For example, to use the magnetization and the particle number use:
The default variable settings can be seen in HubbardU1xU1::defaults.
If the NNN-hopping is positive, the ground state energy is lowered.
Warning
$J>0$ is antiferromagnetic

Definition at line 49 of file HubbardU1xU1.h.

#include <HubbardU1xU1.h>

Inheritance diagram for VMPS::HubbardU1xU1:

Public Types

typedef Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > > Symmetry
 
- Public Types inherited from Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double >
typedef SparseMatrixXd SparseMatrixType
 
typedef SiteOperator< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > OperatorType
 
typedef Symmetry::qType qType
 
typedef Matrix< double, Dynamic, Dynamic > MatrixType
 
typedef double Scalar_
 
typedef Mps< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > StateXd
 
typedef Umps< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > StateUd
 
typedef Mps< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, std::complex< double > > StateXcd
 
typedef Umps< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, std::complex< double > > StateUcd
 
typedef MpsCompressor< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double, double > CompressorXd
 
typedef MpsCompressor< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, std::complex< double >, double > CompressorXcd
 
typedef Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > > > Operator
 
- Public Types inherited from MpoTerms< Symmetry, Scalar >
typedef SiteOperator< Symmetry, Scalar > OperatorType
 
typedef Symmetry::qType qType
 
typedef Eigen::SparseMatrix< Scalar, Eigen::ColMajor, EIGEN_DEFAULT_SPARSE_INDEX_TYPEMatrixType
 

Public Member Functions

 HubbardU1xU1 ()
 
 HubbardU1xU1 (Mpo< Symmetry > &Mpo_input, const vector< Param > &params)
 
 HubbardU1xU1 (const size_t &L, const vector< Param > &params, const BC &boundary=BC::OPEN, const DMRG::VERBOSITY::OPTION &VERB=DMRG::VERBOSITY::OPTION::ON_EXIT)
 
- Public Member Functions inherited from Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double >
 Mpo ()
 
 Mpo (MpoTerms< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > &Terms)
 
 Mpo (size_t L_input)
 
 Mpo (std::size_t L_input, qType Qtot_input, std::string label_input="Mpo", bool HERMITIAN_input=false, bool UNITARY_input=false, BC BC_input=BC::OPEN, DMRG::VERBOSITY::OPTION VERB_input=DMRG::VERBOSITY::OPTION::SILENT)
 
void construct_from_pushlist (const PushType< OperatorType, CouplScalar > &pushlist, const std::vector< std::vector< std::string > > &labellist, size_t Lcell)
 
void calc_reversedData_from_pushlist (const PushType< OperatorType, CouplScalar > &pushlist, double tolerance=::mynumeric_limits< double >::epsilon())
 
void push_qpath (const std::size_t loc, const std::vector< OperatorType > &opList, const std::vector< qType > &qList, const double lambda=1.0)
 
void setLocal (std::size_t loc, const OperatorType &op)
 
void setLocal (std::size_t loc, const OperatorType &op, const OperatorType &signOp)
 
void setLocal (std::size_t loc, const OperatorType &op, const std::vector< OperatorType > &signOp)
 
void setLocal (const std::vector< std::size_t > &locs, const std::vector< OperatorType > &ops)
 
void setLocal (const std::vector< std::size_t > &locs, const std::vector< OperatorType > &ops, const OperatorType &signOp)
 
void setLocal (const std::vector< std::size_t > &locs, const std::vector< OperatorType > &ops, const std::vector< OperatorType > &signOps)
 
void setLocalStag (std::size_t loc, const OperatorType &op, const std::vector< OperatorType > &stagSignOps)
 
void setLocalSum (const OperatorType &op, double(*f)(int)=localSumTrivial)
 
void setLocalSum (const std::vector< OperatorType > &op, std::vector< double > coeffs)
 
void setProductSum (const OperatorType &op1, const OperatorType &op2)
 
void precalc_TwoSiteData (bool FORCE=false)
 
std::string info (bool REDUCED=false) const
 
int get_dAux_max (int power=1) const
 
std::size_t length () const
 
std::size_t volume () const
 
int locality () const
 
void set_locality (std::size_t LocalSite_input)
 
OperatorType localOperator () const
 
void set_localOperator (OperatorType LocalOp_input)
 
Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > Identity () const
 
Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > Zero () const
 
bool IS_UNITARY () const
 
bool IS_HERMITIAN () const
 
bool IS_HAMILTONIAN () const
 
bool HAS_TWO_SITE_DATA () const
 
bool HAS_W () const
 
boost::multi_array< double, 4 > H2site (std::size_t loc, bool HALF_THE_LOCAL_TERM=false) const
 
void generate_label (std::size_t Lcell)
 
void push_width (const std::size_t n, const std::size_t loc, const double lambda, const OperatorType &outOp, const std::vector< OperatorType > &trans, const OperatorType &inOp)
 
void push_local (const std::size_t loc, const double lambda, const OperatorType &op)
 
void push_tight (const std::size_t loc, const double lambda, const OperatorType &op1, const OperatorType &op2)
 
void push_nextn (const std::size_t loc, const double lambda, const OperatorType &op1, const OperatorType &trans, const OperatorType &op2)
 
- Public Member Functions inherited from MpoTerms< Symmetry, Scalar >
void reconstruct (const std::vector< std::map< std::array< qType, 2 >, std::vector< std::vector< std::map< qType, OperatorType > > > > > &O_in, const std::vector< Qbasis< Symmetry > > &qAux_in, const std::vector< std::vector< qType > > &qPhys_in, const bool FINALIZED_IN, const BC boundary_condition_in, const qType &qTot_in=Symmetry::qvacuum())
 
 MpoTerms (const std::size_t L=0, const BC boundary_condition_in=BC::OPEN, const qType &qTot_in=Symmetry::qvacuum(), const DMRG::VERBOSITY::OPTION &VERB_in=DMRG::VERBOSITY::OPTION::SILENT)
 
void initialize (const std::size_t L, const BC boundary_condition_in, const qType &qTot_in)
 
virtual void push (const std::size_t loc, const std::vector< OperatorType > &opList, const std::vector< qType > &qList, const Scalar lambda=1.0)
 
void push (const std::size_t loc, const std::vector< OperatorType > &opList, const Scalar lambda=1.0)
 
void show () const
 
void save_label (const std::size_t loc, const std::string &info_label)
 
void set_name (const std::string &label_in)
 
const std::string get_name () const
 
std::vector< std::string > get_info () const
 
void scale (const Scalar factor, const Scalar offset=0., const std::size_t power=0ul, const double tolerance=1.e-14)
 
template<typename OtherScalar >
MpoTerms< Symmetry, OtherScalar > cast ()
 
void set_qPhys (const std::size_t loc, const std::vector< qType > &qPhys_in)
 
void finalize (const bool COMPRESS=true, const std::size_t power=1, const double tolerance=::mynumeric_limits< double >::epsilon())
 
void calc (const std::size_t power)
 
bool is_finalized () const
 
const std::vector< std::map< std::array< qType, 2 >, std::vector< std::vector< std::map< qType, OperatorType > > > > > & get_O () const
 
const std::vector< std::vector< std::vector< std::vector< Biped< Symmetry, MatrixType > > > > > & get_W () const
 
const std::vector< Qbasis< Symmetry > > & get_qAux () const
 
const std::vector< std::vector< qType > > & get_qOp () const
 
const std::vector< std::vector< qType > > & get_qPhys () const
 
const std::vector< std::vector< std::vector< std::vector< Biped< Symmetry, MatrixType > > > > > & get_W_power (std::size_t power) const
 
const std::vector< Qbasis< Symmetry > > & get_qAux_power (std::size_t power) const
 
const std::vector< std::vector< qType > > & get_qOp_power (std::size_t power) const
 
std::size_t get_hilbert_dimension (const std::size_t loc) const
 
BC get_boundary_condition () const
 
const qTypeget_qVac () const
 
const qTypeget_qTot () const
 
const std::size_t get_pos_qTot () const
 
bool check_qPhys () const
 
bool check_power (std::size_t power) const
 
std::size_t maxPower () const
 
std::size_t size () const
 
void transform_base (const qType &qShift, const bool PRINT=false, const int factor=-1, const std::size_t powre=0ul)
 
std::vector< std::vector< TwoSiteData< Symmetry, Scalar > > > calc_TwoSiteData () const
 
std::vector< std::pair< qType, std::size_t > > base_order_IBC (const std::size_t power=1) const
 
double memory (MEMUNIT memunit=kB) const
 
double sparsity (const std::size_t power=1, const bool PER_MATRIX=false) const
 
void set_Identity (const typename Symmetry::qType &Q=Symmetry::qvacuum())
 
void set_Zero ()
 
void set_verbosity (const DMRG::VERBOSITY::OPTION VERB_in)
 
DMRG::VERBOSITY::OPTION get_verbosity () const
 
void save (std::string filename)
 
void load (std::string filename)
 
const std::vector< std::vector< std::vector< Biped< Symmetry, MatrixType > > > > & W_at (const std::size_t loc) const
 
const std::vector< std::vector< std::vector< std::vector< Biped< Symmetry, MatrixType > > > > > & W_full () const
 
const std::vector< std::vector< qType > > & locBasis () const
 
const std::vector< qType > & locBasis (const std::size_t loc) const
 
const std::vector< Qbasis< Symmetry > > & auxBasis () const
 
const Qbasis< Symmetry > & auxBasis (const std::size_t loc) const
 
const Qbasis< Symmetry > & inBasis (const std::size_t loc) const
 
const Qbasis< Symmetry > & outBasis (const std::size_t loc) const
 
const std::vector< std::vector< qType > > & opBasis () const
 
const std::vector< qType > & opBasis (const std::size_t loc) const
 
const qTypeQtarget () const
 
void setLocBasis (const std::vector< std::vector< qType > > &q)
 
void setLocBasis (const std::vector< qType > &q, std::size_t loc)
 
const std::vector< std::vector< std::vector< Biped< Symmetry, MatrixType > > > > & Wsq_at (const std::size_t loc) const
 
const std::vector< qType > & opBasisSq (const std::size_t loc) const
 
const std::vector< std::vector< qType > > & opBasisSq () const
 
const bool check_SQUARE () const
 
double sparsity (bool USE_SQUARE, bool PER_MATRIX) const
 
void setQtarget (const qType &q)
 
- Public Member Functions inherited from HubbardObservables< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > > >
std::enable_if< Dummy::ABELIAN, Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type cc (size_t locx1, size_t locx2, size_t locy1=0, size_t locy2=0) const
 
std::enable_if< Dummy::ABELIAN, Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type cc (SPIN_INDEX sigma1, SPIN_INDEX sigma2, size_t locx1, size_t locx2, size_t locy1=0, size_t locy2=0) const
 
std::enable_if< Dummy::ABELIAN, Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type cdagcdag (size_t locx1, size_t locx2, size_t locy1=0, size_t locy2=0) const
 
std::enable_if< Dummy::ABELIAN, Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type cdagcdag (SPIN_INDEX sigma1, SPIN_INDEX sigma2, size_t locx1, size_t locx2, size_t locy1=0, size_t locy2=0) const
 
std::conditional< Dummy::IS_SPIN_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double >, vector< Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > > >::type cc3 (size_t locx1, size_t locx2, size_t locy1=0, size_t locy2=0) const
 
std::conditional< Dummy::IS_SPIN_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double >, vector< Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > > >::type cc1 (size_t locx1, size_t locx2, size_t locy1=0, size_t locy2=0) const
 
std::conditional< Dummy::IS_SPIN_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double >, vector< Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > > >::type cdagcdag3 (size_t locx1, size_t locx2, size_t locy1=0, size_t locy2=0) const
 
std::conditional< Dummy::IS_SPIN_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double >, vector< Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > > >::type cdagcdag1 (size_t locx1, size_t locx2, size_t locy1=0, size_t locy2=0) const
 
std::enable_if< Dummy::IS_SPIN_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type StringCorrSpin (size_t locx1, size_t locx2, size_t locy1=0, size_t locy2=0) const
 
std::enable_if< Dummy::IS_SPIN_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type StringCorrTpm (size_t locx1, size_t locx2, size_t locy1=0, size_t locy2=0) const
 
std::enable_if< Dummy::IS_SPIN_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type StringCorrTz (size_t locx1, size_t locx2, size_t locy1=0, size_t locy2=0) const
 
std::enable_if< Dummy::IS_SPIN_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type StringCorrId (size_t locx1, size_t locx2, size_t locy1=0, size_t locy2=0) const
 
std::enable_if<!Dummy::IS_SPIN_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type StringCorrSz (size_t locx1, size_t locx2, size_t locy1=0, size_t locy2=0) const
 
 HubbardObservables ()
 
 HubbardObservables (const size_t &L)
 
 HubbardObservables (const size_t &L, const vector< Param > &params, const std::map< string, std::any > &defaults)
 
Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > Id () const
 
std::enable_if< Dummy::IS_SPIN_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type c (size_t locx, size_t locy=0, double factor=1.) const
 
std::enable_if<!Dummy::IS_SPIN_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type c (size_t locx, size_t locy=0, double factor=1.) const
 
std::enable_if< Dummy::IS_SPIN_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type cdag (size_t locx, size_t locy=0, double factor=std::sqrt(2.)) const
 
std::enable_if<!Dummy::IS_SPIN_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type cdag (size_t locx, size_t locy=0, double factor=1.) const
 
std::enable_if<!Dummy::IS_CHARGE_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type cc (size_t locx, size_t locy=0) const
 
std::enable_if<!Dummy::IS_CHARGE_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type cdagcdag (size_t locx, size_t locy=0) const
 
std::conditional< Dummy::IS_SPIN_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double >, vector< Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > > >::type cdagc (size_t locx1, size_t locx2, size_t locy1=0, size_t locy2=0) const
 
std::enable_if<!Dummy::IS_SPIN_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type cdagc (size_t locx1, size_t locx2, size_t locy1=0, size_t locy2=0, double factor=1.) const
 
std::enable_if<!Dummy::IS_SPIN_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type cdagc (SPIN_INDEX sigma1, SPIN_INDEX sigma2, size_t locx1, size_t locx2, size_t locy1=0, size_t locy2=0, double factor=1.) const
 
std::conditional< Dummy::IS_SPIN_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double >, vector< Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > > >::type cdag_nc (size_t locx1, size_t locx2, size_t locy1=0, size_t locy2=0) const
 
std::conditional< Dummy::IS_SPIN_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double >, vector< Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > > >::type cdagn_c (size_t locx1, size_t locx2, size_t locy1=0, size_t locy2=0) const
 
std::conditional< Dummy::IS_SPIN_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double >, vector< Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > > >::type cdagc3 (size_t locx1, size_t locx2, size_t locy1=0, size_t locy2=0) const
 
std::enable_if<!Dummy::IS_CHARGE_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type d (size_t locx, size_t locy=0) const
 
std::enable_if<!Dummy::IS_CHARGE_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type dtot () const
 
Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > ns (size_t locx, size_t locy=0) const
 
Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > nh (size_t locx, size_t locy=0) const
 
Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > nssq (size_t locx, size_t locy=0) const
 
Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > nhsq (size_t locx, size_t locy=0) const
 
std::enable_if<!Dummy::IS_SPIN_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type n (size_t locx, size_t locy=0) const
 
std::enable_if<!Dummy::IS_CHARGE_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type n (size_t locx, size_t locy=0) const
 
std::enable_if<!Dummy::IS_SPIN_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type nn (size_t locx1, size_t locx2, size_t locy1=0, size_t locy2=0) const
 
Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > nn (size_t locx1, size_t locx2, size_t locy1=0, size_t locy2=0) const
 
std::enable_if<!Dummy::IS_CHARGE_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type hh (size_t locx1, size_t locx2, size_t locy1=0, size_t locy2=0) const
 
std::enable_if< Dummy::IS_CHARGE_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type T (size_t locx, size_t locy=0, double factor=1.) const
 
std::enable_if< Dummy::IS_CHARGE_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type Tdag (size_t locx, size_t locy=0, double factor=std::sqrt(3.)) const
 
std::enable_if<!Dummy::IS_CHARGE_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type Tp (size_t locx, size_t locy=0) const
 
std::enable_if<!Dummy::IS_CHARGE_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type Tm (size_t locx, size_t locy=0) const
 
std::enable_if< Dummy::NO_CHARGE_SYM(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type Tx (size_t locx, size_t locy=0) const
 
std::enable_if< Dummy::NO_CHARGE_SYM(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type iTy (size_t locx, size_t locy=0) const
 
std::enable_if<!Dummy::IS_CHARGE_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type Tz (size_t locx, size_t locy=0) const
 
std::enable_if<!Dummy::IS_CHARGE_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type TpTm (size_t locx1, size_t locx2, size_t locy1=0, size_t locy2=0, double fac=1.) const
 
std::enable_if<!Dummy::IS_CHARGE_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type TmTp (size_t locx1, size_t locx2, size_t locy1=0, size_t locy2=0, double fac=1.) const
 
std::enable_if<!Dummy::IS_CHARGE_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type TzTz (size_t locx1, size_t locx2, size_t locy1=0, size_t locy2=0) const
 
std::conditional< Dummy::IS_CHARGE_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double >, vector< Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > > >::type TdagT (size_t locx1, size_t locx2, size_t locy1=0, size_t locy2=0) const
 
std::enable_if< Dummy::IS_SPIN_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type S (size_t locx, size_t locy=0, double factor=1.) const
 
std::enable_if< Dummy::IS_SPIN_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type Sdag (size_t locx, size_t locy=0, double factor=std::sqrt(3.)) const
 
std::enable_if< Dummy::IS_SPIN_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type Stot (size_t locy, double factor, int dLphys) const
 
std::enable_if< Dummy::IS_SPIN_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type Sdagtot (size_t locy, double factor, int dLphys) const
 
std::enable_if<!Dummy::IS_SPIN_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type Scomp (SPINOP_LABEL Sa, size_t locx, size_t locy=0, double factor=1.) const
 
std::enable_if<!Dummy::IS_SPIN_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, complex< double > > >::type exp_ipiSz (size_t locx, size_t locy=0, double factor=1.) const
 
std::enable_if<!Dummy::IS_SPIN_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type Scomptot (SPINOP_LABEL Sa, size_t locy=0, double factor=1., int dLphys=1) const
 
std::enable_if<!Dummy::IS_SPIN_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type Sz (size_t locx, size_t locy=0) const
 
std::enable_if<!Dummy::IS_SPIN_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type Sp (size_t locx, size_t locy=0) const
 
std::enable_if<!Dummy::IS_SPIN_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type Sm (size_t locx, size_t locy=0) const
 
std::enable_if<!Dummy::IS_SPIN_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type ScompScomp (SPINOP_LABEL Sa1, SPINOP_LABEL Sa2, size_t locx1, size_t locx2, size_t locy1=0, size_t locy2=0, double fac=1.) const
 
std::enable_if<!Dummy::IS_SPIN_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type SpSm (size_t locx1, size_t locx2, size_t locy1=0, size_t locy2=0, double fac=1.) const
 
std::enable_if<!Dummy::IS_SPIN_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type SmSp (size_t locx1, size_t locx2, size_t locy1=0, size_t locy2=0, double fac=1.) const
 
std::enable_if<!Dummy::IS_SPIN_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type SzSz (size_t locx1, size_t locx2, size_t locy1=0, size_t locy2=0) const
 
std::conditional< Dummy::IS_SPIN_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double >, vector< Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > > >::type SdagS (size_t locx1, size_t locx2, size_t locy1=0, size_t locy2=0) const
 
std::enable_if< Dummy::IS_SPIN_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type CanonicalEntangler (int dLphys, double factor=1.) const
 
std::enable_if< Dummy::IS_SPIN_U1(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type CanonicalEntangler (int dLphys, double factor=1.) const
 
std::enable_if<!Dummy::IS_SPIN_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, complex< double > > >::type Rcomp (SPINOP_LABEL Sa, size_t locx, size_t locy=0) const
 
std::enable_if<!Dummy::IS_SPIN_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type Stringz (size_t locx1, size_t locx2, size_t locy1=0, size_t locy2=0) const
 
std::enable_if<!Dummy::IS_SPIN_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type StringzDimer (size_t locx1, size_t locx2, size_t locy1=0, size_t locy2=0) const
 
std::enable_if< Dummy::IS_SPIN_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, complex< double > > >::type S_ky (vector< complex< double > > phases) const
 
std::enable_if< Dummy::IS_SPIN_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, complex< double > > >::type Sdag_ky (vector< complex< double > > phases, double factor=sqrt(3.)) const
 
std::enable_if< Dummy::IS_CHARGE_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, complex< double > > >::type T_ky (vector< complex< double > > phases) const
 
std::enable_if< Dummy::IS_CHARGE_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, complex< double > > >::type Tdag_ky (vector< complex< double > > phases, double factor=sqrt(3.)) const
 
std::enable_if< Dummy::IS_SPIN_SU2() and!Dummy::IS_CHARGE_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, complex< double > > >::type c_ky (vector< complex< double > > phases, double factor=1.) const
 
std::enable_if< Dummy::IS_SPIN_SU2() and!Dummy::IS_CHARGE_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, complex< double > > >::type cdag_ky (vector< complex< double > > phases, double factor=sqrt(2.)) const
 
std::enable_if< Dummy::IS_SPIN_SU2() and!Dummy::IS_CHARGE_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type P (size_t locx1, size_t locx2, size_t locy1=0, size_t locy2=0) const
 
std::enable_if<!Dummy::IS_SPIN_SU2(), Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > >::type P (size_t locx1, size_t locx2, size_t locy1=0, size_t locy2=0) const
 
- Public Member Functions inherited from ParamReturner
 ParamReturner ()
 
 ParamReturner (const std::map< string, std::any > &defaults_input)
 
DMRG::CONTROL::DYN get_DmrgDynParam (const vector< Param > &params={}) const
 
DMRG::CONTROL::GLOB get_DmrgGlobParam (const vector< Param > &params={}) const
 
VUMPS::CONTROL::DYN get_VumpsDynParam (const vector< Param > &params={}) const
 
VUMPS::CONTROL::GLOB get_VumpsGlobParam (const vector< Param > &params={}) const
 

Static Public Member Functions

static qarray< 2 > singlet (int N=0, int L=0)
 
template<typename Symmetry_ >
static void set_operators (const std::vector< FermionBase< Symmetry_ > > &F, const ParamHandler &P, PushType< SiteOperator< Symmetry_, double >, double > &pushlist, std::vector< std::vector< std::string > > &labellist, const BC boundary=BC::OPEN)
 
- Static Public Member Functions inherited from Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double >
static std::vector< T > get_N_site_interaction (T const &Op0, Operator const &... Ops)
 
static Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > Identity (const std::vector< std::vector< qType > > &qPhys, const qType &Q=Symmetry::qvacuum())
 
static Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > Zero (const std::vector< std::vector< qType > > &qPhys)
 
static Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > cast_Terms_to_Mpo (const MpoTerms< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > &input)
 
- Static Public Member Functions inherited from MpoTerms< Symmetry, Scalar >
static MpoTerms< Symmetry, Scalar > prod (const MpoTerms< Symmetry, Scalar > &top, const MpoTerms< Symmetry, Scalar > &bottom, const qType &qTot, const double tolerance=::mynumeric_limits< double >::epsilon())
 
static MpoTerms< Symmetry, Scalar > sum (const MpoTerms< Symmetry, Scalar > &top, const MpoTerms< Symmetry, Scalar > &bottom, const double tolerance=::mynumeric_limits< double >::epsilon())
 

Static Public Attributes

static constexpr MODEL_FAMILY FAMILY = HUBBARD
 
static constexpr int spinfac = 2
 
static const std::map< string, std::any > defaults
 
- Static Public Attributes inherited from Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double >
static constexpr size_t Nq
 

Additional Inherited Members

- Public Attributes inherited from Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double >
Symmetry::qType qVac
 
bool GOT_TWO_SITE_DATA
 
std::vector< std::vector< TwoSiteData< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > > > TSD
 
bool UNITARY
 
bool HERMITIAN
 
bool HAMILTONIAN
 
bool GOT_SEMIOPEN_LEFT
 
bool GOT_SEMIOPEN_RIGHT
 
OperatorType LocalOp
 
int LocalSite
 
- Public Attributes inherited from MpoTerms< Symmetry, Scalar >
std::vector< std::vector< qType > > qOp
 
std::vector< Qbasis< Symmetry > > qAux
 
std::vector< std::vector< qType > > qPhys
 
std::vector< std::vector< std::vector< std::vector< Biped< Symmetry, MatrixType > > > > > W
 
std::vector< std::vector< std::vector< qType > > > qOp_powers
 
std::vector< std::vector< Qbasis< Symmetry > > > qAux_powers
 
std::vector< std::vector< std::vector< std::vector< std::vector< Biped< Symmetry, MatrixType > > > > > > W_powers
 
std::size_t N_sites
 
std::size_t N_phys = 0ul
 
reversedData reversed
 
std::string label = "MPO"
 
- Protected Member Functions inherited from MpoTerms< Symmetry, Scalar >
void increment_auxdim (const std::size_t loc, const qType &q)
 
void increment_first_auxdim_OBC (const qType &qIn)
 
void increment_last_auxdim_OBC (const qType &qOut)
 
void decrement_auxdim (const std::size_t loc, const qType &q)
 
void decrement_first_auxdim_OBC (const qType &qIn)
 
void decrement_last_auxdim_OBC (const qType &qOut)
 
void add (const std::size_t loc, const OperatorType &op, const qType &qIn, const qType &qOut, const std::size_t IndexIn, const std::size_t IndexOut)
 
std::size_t get_auxdim (const std::size_t loc, const qType &q) const
 
void assert_hilbert (const std::size_t loc, const std::size_t dim)
 
bool eliminate_linearlyDependent_rows (const std::size_t loc, const qType &qIn, const double tolerance)
 
bool eliminate_linearlyDependent_cols (const std::size_t loc, const qType &qOut, const double tolerance)
 
std::map< qType, std::vector< std::map< qType, OperatorType > > > delete_row (const std::size_t loc, const qType &qIn, const std::size_t row_to_delete, const bool SAMESITE)
 
std::map< qType, std::vector< std::map< qType, OperatorType > > > delete_col (const std::size_t loc, const qType &qOut, const std::size_t col_to_delete, const bool SAMESITE)
 
void add_to_row (const std::size_t loc, const qType &qIn, const std::size_t row, const std::map< qType, std::vector< std::map< qType, OperatorType > > > &ops, const Scalar factor)
 
void add_to_col (const std::size_t loc, const qType &qOut, const std::size_t col, const std::map< qType, std::vector< std::map< qType, OperatorType > > > &ops, const Scalar factor)
 
void calc_qOp ()
 
void calc_qAux ()
 
void calc_W ()
 
void got_update ()
 
void initialize ()
 
void compress (const double tolerance)
 
void renormalize ()
 
void clear_opLabels ()
 
std::tuple< std::size_t, std::size_t, std::size_t, std::size_t > auxdim_infos () const
 
std::vector< qTypecalc_qList (const std::vector< OperatorType > &opList)
 
void fill_O_from_W ()
 
- Protected Member Functions inherited from HubbardObservables< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > > >
Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > make_local (size_t locx, size_t locy, const OperatorType &Op, double factor=1., bool FERMIONIC=false, bool HERMITIAN=false) const
 
Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > make_localSum (const vector< OperatorType > &Op, vector< double > factor, bool HERMITIAN) const
 
Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, double > make_corr (size_t locx1, size_t locx2, size_t locy1, size_t locy2, const OperatorType &Op1, const OperatorType &Op2, qarray< Symmetry::Nq > Qtot, double factor, bool FERMIONIC, bool HERMITIAN) const
 
Mpo< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > >, complex< double > > make_FourierYSum (string name, const vector< OperatorType > &Ops, double factor, bool HERMITIAN, const vector< complex< double > > &phases) const
 
Symmetry::qType getQ_ScompScomp (SPINOP_LABEL Sa1, SPINOP_LABEL Sa2) const
 
- Static Protected Member Functions inherited from MpoTerms< Symmetry, Scalar >
static void prod_swap_IBC (std::vector< std::map< std::array< qType, 2 >, std::vector< std::vector< std::map< qType, OperatorType > > > > > &O_out, std::vector< std::size_t > &row_qVac, std::vector< std::size_t > &col_qVac, std::vector< std::size_t > &row_qTot, std::vector< std::size_t > &col_qTot)
 
static void prod_delZeroCols_OBC (std::map< std::array< qType, 2 >, std::vector< std::vector< std::map< qType, OperatorType > > > > &O_last, Qbasis< Symmetry > &qAux_last, Qbasis< Symmetry > &qAux_prev, const qType &qTot, const std::size_t col_qTot)
 
static std::string power_to_string (std::size_t power)
 
static std::pair< std::string, std::size_t > detect_and_remove_power (const std::string &name_w_power)
 
- Protected Attributes inherited from MpoTerms< Symmetry, Scalar >
std::vector< std::map< std::array< qType, 2 >, std::vector< std::vector< std::map< qType, OperatorType > > > > > O
 
std::vector< std::map< qType, std::size_t > > auxdim
 
qType qTot
 
qType qVac = Symmetry::qvacuum()
 
std::size_t pos_qTot
 
std::size_t pos_qVac
 
BC boundary_condition
 
std::vector< std::vector< std::string > > info
 
std::vector< int > hilbert_dimension
 
MPO_STATUS::OPTION status = MPO_STATUS::ALTERABLE
 
DMRG::VERBOSITY::OPTION VERB = DMRG::VERBOSITY::OPTION::SILENT
 
std::string before_verb_set
 
std::size_t current_power = 1
 
bool GOT_QOP = false
 
bool GOT_QAUX = false
 
bool GOT_W = false
 
std::vector< bool > GOT_QPHYS
 
- Protected Attributes inherited from HubbardObservables< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > > >
vector< FermionBase< Sym::S1xS2< Sym::U1< Sym::SpinU1 >, Sym::U1< Sym::ChargeU1 > > > > F
 
vector< SUB_LATTICEG
 

Member Typedef Documentation

◆ Symmetry

Constructor & Destructor Documentation

◆ HubbardU1xU1() [1/3]

VMPS::HubbardU1xU1::HubbardU1xU1 ( )
inline

Definition at line 59 of file HubbardU1xU1.h.

◆ HubbardU1xU1() [2/3]

VMPS::HubbardU1xU1::HubbardU1xU1 ( Mpo< Symmetry > &  Mpo_input,
const vector< Param > &  params 
)
inline

Definition at line 61 of file HubbardU1xU1.h.

◆ HubbardU1xU1() [3/3]

VMPS::HubbardU1xU1::HubbardU1xU1 ( const size_t &  L,
const vector< Param > &  params,
const BC boundary = BC::OPEN,
const DMRG::VERBOSITY::OPTION VERB = DMRG::VERBOSITY::OPTION::ON_EXIT 
)

Definition at line 113 of file HubbardU1xU1.h.

Member Function Documentation

◆ set_operators()

template<typename Symmetry_ >
void VMPS::HubbardU1xU1::set_operators ( const std::vector< FermionBase< Symmetry_ > > &  F,
const ParamHandler &  P,
PushType< SiteOperator< Symmetry_, double >, double > &  pushlist,
std::vector< std::vector< std::string > > &  labellist,
const BC  boundary = BC::OPEN 
)
static

This function merges the different local operators together to a PushType instance (See DmrgTypedefs.h for the type definition.). This pushlist is used for the construction of the Mpo.

Parameters
B: Base class from which the local operators are received
P: The parameters
pushlist: All the local operators for the Mpo will be pushed into pushlist.
labellist: All the labels for the Mpo will be put into labellist. Mpo::generate_label will produce a nice label from the data in labellist.
boundary: Boundary condition. Either BC::OPEN, BC::PERIODIC or BC::INFINITE.

Definition at line 152 of file HubbardU1xU1.h.

◆ singlet()

static qarray< 2 > VMPS::HubbardU1xU1::singlet ( int  N = 0,
int  L = 0 
)
inlinestatic

Definition at line 78 of file HubbardU1xU1.h.

Member Data Documentation

◆ defaults

const std::map< string, std::any > VMPS::HubbardU1xU1::defaults
static
Initial value:
=
{
{"t",1.}, {"tPrime",0.}, {"tRung",1.},
{"mu",0.}, {"t0",0.},
{"U",0.}, {"Uph",0.},
{"V",0.}, {"Vrung",0.},
{"Vxy",0.}, {"Vz",0.},
{"Bz",0.},
{"J",0.}, {"Jperp",0.}, {"J3site",0.},
{"X",0.}, {"Xperp",0.},
{"REMOVE_DOUBLE",false}, {"REMOVE_EMPTY",false}, {"REMOVE_UP",false}, {"REMOVE_DN",false}, {"mfactor",1}, {"k",0},
{"maxPower",2ul}, {"CYLINDER",false}, {"Ly",1ul}
}

Default parameters.

Definition at line 96 of file HubbardU1xU1.h.

◆ FAMILY

constexpr MODEL_FAMILY VMPS::HubbardU1xU1::FAMILY = HUBBARD
staticconstexpr

Definition at line 79 of file HubbardU1xU1.h.

◆ spinfac

constexpr int VMPS::HubbardU1xU1::spinfac = 2
staticconstexpr

Definition at line 80 of file HubbardU1xU1.h.


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