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

Detailed Description

Definition at line 19 of file KondoNecklaceU1.h.

#include <KondoNecklaceU1.h>

Inheritance diagram for VMPS::KondoNecklaceU1:

Public Types

typedef Sym::U1< Sym::SpinU1Symmetry
 
- Public Types inherited from Mpo< Sym::U1< Sym::SpinU1 >, double >
typedef SparseMatrixXd SparseMatrixType
 
typedef SiteOperator< Sym::U1< Sym::SpinU1 >, double > OperatorType
 
typedef Symmetry::qType qType
 
typedef Matrix< double, Dynamic, Dynamic > MatrixType
 
typedef double Scalar_
 
typedef Mps< Sym::U1< Sym::SpinU1 >, double > StateXd
 
typedef Umps< Sym::U1< Sym::SpinU1 >, double > StateUd
 
typedef Mps< Sym::U1< Sym::SpinU1 >, std::complex< double > > StateXcd
 
typedef Umps< Sym::U1< Sym::SpinU1 >, std::complex< double > > StateUcd
 
typedef MpsCompressor< Sym::U1< Sym::SpinU1 >, double, double > CompressorXd
 
typedef MpsCompressor< Sym::U1< Sym::SpinU1 >, std::complex< double >, double > CompressorXcd
 
typedef Mpo< Sym::U1< Sym::SpinU1 > > 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

 KondoNecklaceU1 ()
 
 KondoNecklaceU1 (const std::size_t L, const std::vector< Param > &params={}, const BC boundary=BC::OPEN, const DMRG::VERBOSITY::OPTION VERB=DMRG::VERBOSITY::ON_EXIT)
 
bool validate (qType qnum)
 
- Public Member Functions inherited from Mpo< Sym::U1< Sym::SpinU1 >, double >
 Mpo ()
 
 Mpo (MpoTerms< Sym::U1< Sym::SpinU1 >, 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::U1< Sym::SpinU1 >, double > Identity () const
 
Mpo< Sym::U1< Sym::SpinU1 >, 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 KondoNecklaceObservables< Sym::U1< Sym::SpinU1 > >
std::enable_if< Dummy::IS_SPIN_SU2(), Mpo< Sym::U1< Sym::SpinU1 >, complex< double > > >::type Simp_ky (vector< complex< double > > phases) const
 
std::enable_if< Dummy::IS_SPIN_SU2(), Mpo< Sym::U1< Sym::SpinU1 >, complex< double > > >::type Simpdag_ky (vector< complex< double > > phases, double factor=sqrt(3.)) const
 
 KondoNecklaceObservables ()
 
 KondoNecklaceObservables (const size_t &L)
 
 KondoNecklaceObservables (const size_t &L, const vector< Param > &params, const map< string, any > &defaults)
 
std::enable_if< Dummy::IS_SPIN_SU2(), Mpo< Sym::U1< Sym::SpinU1 > > >::type Simp (size_t locx, size_t locy=0, double factor=1.) const
 
std::enable_if<!Dummy::IS_SPIN_SU2(), Mpo< Sym::U1< Sym::SpinU1 > > >::type Simp (SPINOP_LABEL Sa, size_t locx, size_t locy=0, double factor=1.) const
 
std::enable_if< Dummy::IS_SPIN_SU2(), Mpo< Sym::U1< Sym::SpinU1 > > >::type Simpdag (size_t locx, size_t locy=0, double factor=std::sqrt(3.)) const
 
std::enable_if< Dummy::IS_SPIN_SU2(), Mpo< Sym::U1< Sym::SpinU1 > > >::type Ssub (size_t locx, size_t locy=0, double factor=1.) const
 
std::enable_if<!Dummy::IS_SPIN_SU2(), Mpo< Sym::U1< Sym::SpinU1 > > >::type Ssub (SPINOP_LABEL Sa, size_t locx, size_t locy=0, double factor=1.) const
 
std::enable_if< Dummy::IS_SPIN_SU2(), Mpo< Sym::U1< Sym::SpinU1 > > >::type Ssubdag (size_t locx, size_t locy=0, double factor=std::sqrt(3.)) const
 
std::enable_if< Dummy::IS_SPIN_SU2(), Mpo< Sym::U1< Sym::SpinU1 > > >::type S (size_t locx, size_t locy=0, double factor=1.) const
 
std::enable_if<!Dummy::IS_SPIN_SU2(), Mpo< Sym::U1< Sym::SpinU1 > > >::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::U1< Sym::SpinU1 > > >::type Sz (size_t locx, size_t locy=0) const
 
std::enable_if<!Dummy::IS_SPIN_SU2(), Mpo< Sym::U1< Sym::SpinU1 > > >::type SimpSimp (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::U1< Sym::SpinU1 > > >::type SsubSsub (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::U1< Sym::SpinU1 > > >::type SimpSsub (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::conditional< Dummy::IS_SPIN_SU2(), Mpo< Sym::U1< Sym::SpinU1 > >, vector< Mpo< Sym::U1< Sym::SpinU1 > > > >::type SimpdagSimp (size_t locx1, size_t locx2, size_t locy1=0, size_t locy2=0) const
 
std::conditional< Dummy::IS_SPIN_SU2(), Mpo< Sym::U1< Sym::SpinU1 > >, vector< Mpo< Sym::U1< Sym::SpinU1 > > > >::type SsubdagSsub (size_t locx1, size_t locx2, size_t locy1=0, size_t locy2=0) const
 
std::conditional< Dummy::IS_SPIN_SU2(), Mpo< Sym::U1< Sym::SpinU1 > >, vector< Mpo< Sym::U1< Sym::SpinU1 > > > >::type SimpdagSsub (size_t locx1, size_t locx2, size_t locy1=0, size_t locy2=0) const
 
std::conditional< Dummy::IS_SPIN_SU2(), Mpo< Sym::U1< Sym::SpinU1 > >, vector< Mpo< Sym::U1< Sym::SpinU1 > > > >::type SdagS (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 void set_operators (const std::vector< SpinBase< Symmetry > > &Bsub, const std::vector< SpinBase< Symmetry > > &Bimp, const ParamHandler &P, PushType< SiteOperator< Symmetry, double >, double > &pushlist, std::vector< std::vector< std::string > > &labellist, const BC boundary)
 
- Static Public Member Functions inherited from Mpo< Sym::U1< Sym::SpinU1 >, double >
static std::vector< T > get_N_site_interaction (T const &Op0, Operator const &... Ops)
 
static Mpo< Sym::U1< Sym::SpinU1 >, double > Identity (const std::vector< std::vector< qType > > &qPhys, const qType &Q=Symmetry::qvacuum())
 
static Mpo< Sym::U1< Sym::SpinU1 >, double > Zero (const std::vector< std::vector< qType > > &qPhys)
 
static Mpo< Sym::U1< Sym::SpinU1 >, double > cast_Terms_to_Mpo (const MpoTerms< Sym::U1< Sym::SpinU1 >, 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 = HEISENBERG
 
static const std::map< string, std::any > defaults
 
static const std::map< string, std::any > sweep_defaults
 
- Static Public Attributes inherited from Mpo< Sym::U1< Sym::SpinU1 >, double >
static constexpr size_t Nq
 

Private Types

typedef Symmetry::qType qType
 
typedef Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixType
 
typedef Eigen::SparseMatrix< double, Eigen::ColMajor, EIGEN_DEFAULT_SPARSE_INDEX_TYPESparseMatrixType
 
typedef SiteOperatorQ< Symmetry, MatrixTypeOperatorType
 

Additional Inherited Members

- Public Attributes inherited from Mpo< Sym::U1< Sym::SpinU1 >, double >
Symmetry::qType qVac
 
bool GOT_TWO_SITE_DATA
 
std::vector< std::vector< TwoSiteData< Sym::U1< Sym::SpinU1 >, 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 KondoNecklaceObservables< Sym::U1< Sym::SpinU1 > >
Mpo< Sym::U1< Sym::SpinU1 > > make_local (KONDO_SUBSYSTEM SUBSYS, size_t locx, size_t locy, const OperatorType &Op, double factor=1., bool HERMITIAN=false) const
 
Mpo< Sym::U1< Sym::SpinU1 > > make_corr (KONDO_SUBSYSTEM SUBSYS, 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 HERMITIAN) const
 
Mpo< Sym::U1< Sym::SpinU1 >, complex< double > > make_FourierYSum (KONDO_SUBSYSTEM SUBSYS, 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 KondoNecklaceObservables< Sym::U1< Sym::SpinU1 > >
vector< SpinBase< Sym::U1< Sym::SpinU1 > > > Bimp
 
vector< SpinBase< Sym::U1< Sym::SpinU1 > > > Bsub
 

Member Typedef Documentation

◆ MatrixType

typedef Eigen::Matrix<double,Eigen::Dynamic,Eigen::Dynamic> VMPS::KondoNecklaceU1::MatrixType
private

Definition at line 28 of file KondoNecklaceU1.h.

◆ OperatorType

◆ qType

Definition at line 27 of file KondoNecklaceU1.h.

◆ SparseMatrixType

typedef Eigen::SparseMatrix<double,Eigen::ColMajor,EIGEN_DEFAULT_SPARSE_INDEX_TYPE> VMPS::KondoNecklaceU1::SparseMatrixType
private

Definition at line 29 of file KondoNecklaceU1.h.

◆ Symmetry

Constructor & Destructor Documentation

◆ KondoNecklaceU1() [1/2]

VMPS::KondoNecklaceU1::KondoNecklaceU1 ( )
inline

Empty constructor, constructs Terms for a lattice of size 0

Definition at line 36 of file KondoNecklaceU1.h.

◆ KondoNecklaceU1() [2/2]

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

Constructor

Parameters
LLattice size
paramsVector of parameters for the construction of the model

Definition at line 92 of file KondoNecklaceU1.h.

Member Function Documentation

◆ set_operators()

void VMPS::KondoNecklaceU1::set_operators ( const std::vector< SpinBase< Symmetry > > &  Bsub,
const std::vector< SpinBase< Symmetry > > &  Bimp,
const ParamHandler &  P,
PushType< SiteOperator< Symmetry, double >, double > &  pushlist,
std::vector< std::vector< std::string > > &  labellist,
const BC  boundary 
)
static

Fills operators into an instance of HamiltonianTerms with respect to the Kondo Necklace model, according to given parameters.

Parameters
BsubSpin bases for the substrate
BimpSpin bases for the impurities
PA ParamHandler that stores all parameter values
TermsAn instance of HamiltonianTerms with respective Symmetry that is filled

Definition at line 118 of file KondoNecklaceU1.h.

◆ validate()

bool VMPS::KondoNecklaceU1::validate ( qType  qnum)

Checks whether a quantum number D = 2S+1 can be reached by any combination of substrate and impurity spins and thereby validates this quantum number

Member Data Documentation

◆ defaults

const std::map< string, std::any > VMPS::KondoNecklaceU1::defaults
static
Initial value:
=
{
{"Jlocxy",1.}, {"Jlocz",1.},
{"Jparaxy",1.}, {"Jparaz",1.}, {"Jperpxy",0.}, {"Jperpz",0.}, {"Jprimexy",1.}, {"Jprimez",1.},
{"Bz",0.}, {"Bzsub",0.},
{"Dimp",2ul}, {"Dsub",2ul}, {"Ly",1ul},
{"maxPower",2ul}, {"CYLINDER",false}
}

Default values for model parameters, such as Heisenberg and Kondo couplings

Definition at line 59 of file KondoNecklaceU1.h.

◆ FAMILY

constexpr MODEL_FAMILY VMPS::KondoNecklaceU1::FAMILY = HEISENBERG
staticconstexpr

Definition at line 24 of file KondoNecklaceU1.h.

◆ sweep_defaults

const std::map< string, std::any > VMPS::KondoNecklaceU1::sweep_defaults
static
Initial value:
=
{
{"max_alpha",100.}, {"min_alpha",1e-11}, {"lim_alpha",12ul}, {"eps_svd",1e-7},
{"Dincr_abs", 4ul}, {"Dincr_per", 2ul}, {"Dincr_rel", 1.1},
{"min_Nsv",1ul}, {"max_Nrich",-1},
{"max_halfsweeps",100ul}, {"min_halfsweeps",24ul},
{"Dinit",5ul}, {"Qinit",6ul}, {"Dlimit",250ul},
{"tol_eigval",1e-9}, {"tol_state",1e-8},
{"savePeriod",0ul}, {"CALC_S_ON_EXIT", true}, {"CONVTEST", DMRG::CONVTEST::VAR_HSQ}
}

Default values for the sweeping process

Definition at line 64 of file KondoNecklaceU1.h.


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