SyTen

◆ add() [2/2]

template<typename Type >
void syten::Basis::add ( Index  size,
Type &&  reps,
bool  drop_repeated = true 
)
inline

Adds an element to the basis.

Parameters
sizesize of the reduced tensor block of that element
repsSector of irreps denoting the symmetry sector of that element
drop_repeatedif 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().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: