|
inline |
Adds an element to the basis.
size | size of the reduced tensor block of that element |
reps | Sector of irreps denoting the symmetry sector of that element |
drop_repeated | if true, only check that sizes match if we already have the element. If false, add the two sizes together if we already have the element. Only templated to allow for deduction on &&, avoiding the const& overload. |
References elementSize(), std::vector< std::pair< Index, Sector > >::emplace_back(), hasSymmetry(), numSymmetries, size(), and SYTEN_ASSERT_DEBUG.
Referenced by add(), syten::T3N::Lat::U1U1::add_3band_SOC_bases(), Basis(), syten::combineBasisExpansion(), syten::exponentialTensorGen(), syten::gen_vac(), syten::T3N::Lat::SU2U1::generateDMFT_CT3N(), syten::T3N::Lat::U1U1::generateDMFT_CT3N_Split(), syten::T3N::Lat::SU2U1::generateDMFT_FT3N(), syten::T3N::Lat::U1U1::generateDMFT_FT3N_Split(), syten::T3N::Lat::SU2U1::generateDMFT_MT3N(), syten::T3N::Lat::U1U1::generateDMFT_MT3N_Split(), syten::T3N::Lat::SU2U1::generateDMFT_SMP(), syten::T3N::Lat::U1U1::generateDMFT_SMP_Split(), syten::T3N::Lat::SU2U1::generateDMFT_T3N(), syten::T3N::Lat::U1U1::generateDMFT_T3N_Split(), syten::MPS::Lat::U1U1::genFermiBoseLattice(), syten::MPS::Lat::U1U1::genFermiHubbardAngularMomentum(), syten::MPS::Lat::U1::genFermiHubbardGrandCanonical(), syten::MPS::Lat::SU2U1Z::genFermiHubbardKNS(), syten::MPS::Lat::U1U1Z::genFermiHubbardKNS(), syten::MPS::Lat::SU2Fermion::genFermiHubbardSU2(), syten::MPS::Lat::U1U1::genKondoModel(), syten::MPS::Lat::U1U1::gentJ(), syten::MPS::Lat::SU2U1::gentJHardCoreBoson(), syten::Tensor< rank >::getAddedBasis(), and syten::Tensor< rank >::getBasis().