|
static constexpr bool | IS_CHARGE_SU2 () |
|
static constexpr bool | IS_SPIN_SU2 () |
|
static constexpr bool | IS_SPIN_U1 () |
|
static constexpr bool | NO_SPIN_SYM () |
|
static constexpr bool | NO_CHARGE_SYM () |
|
static std::string | name () |
|
static constexpr std::array< KIND, Nq > | kind () |
|
static constexpr qType | qvacuum () |
|
static constexpr std::array< qType, 1 > | lowest_qs () |
|
static qType | conj (const qType &q) |
|
static int | degeneracy (const qType &q) |
|
static qType | random_q () |
|
static std::vector< qType > | basis_combine (const qType &ql, const qType &qr) |
|
static std::size_t | multiplicity (const qType &q1, const qType &q2, const qType &q3) |
|
static bool | triangle (const qType &q1, const qType &q2, const qType &q3) |
|
|
static Scalar | coeff_dot (const qType &q1) |
|
static Scalar | coeff_twist (const qType &q) |
|
static Scalar | coeff_FS (const qType &q1) |
|
template<typename PlainLib > |
static PlainLib::template TType< Scalar_, 2 > | one_j_tensor (const qType &q1, const mpi::XpedWorld &world=mpi::getUniverse()) |
|
static Scalar | coeff_rightOrtho (const qType &q1, const qType &q2) |
|
static Scalar | coeff_3j (const qType &q1, const qType &q2, const qType &q3, int q1_z, int q2_z, int q3_z) |
|
static Scalar | coeff_turn (const qType &ql, const qType &qr, const qType &qf) |
|
template<typename PlainLib > |
static PlainLib::template TType< Scalar_, 3 > | CGC (const qType &q1, const qType &q2, const qType &q3, const std::size_t, const mpi::XpedWorld &world=mpi::getUniverse()) |
|
static Scalar | coeff_6j (const qType &q1, const qType &q2, const qType &q3, const qType &q4, const qType &q5, const qType &q6) |
|
static Scalar | coeff_9j (const qType &q1, const qType &q2, const qType &q3, const qType &q4, const qType &q5, const qType &q6, const qType &q7, const qType &q8, const qType &q9) |
|
static Scalar | coeff_recouple (const qType &q1, const qType &q2, const qType &q3, const qType &Q, const qType &Q12, const qType &Q23) |
|
static Scalar | coeff_swap (const qType &ql, const qType &qr, const qType &qf) |
|
static std::vector< qType > | reduceSilent (const qType &ql, const qType &qr) |
|
static std::vector< qType > | reduceSilent (const std::vector< qType > &ql, const qType &qr) |
|
static std::set< qType > | reduceSilent (const std::vector< qType > &ql, const std::vector< qType > &qr) |
|
static std::vector< qType > | reduceSilent (const qType &ql, const qType &qm, const qType &qr) |
|
static std::set< qType > | reduceSilent (const std::set< qType > &ql, const std::vector< qType > &qr) |
|
static std::set< qType > | reduceSilent (const std::unordered_set< qType > &ql, const std::vector< qType > &qr) |
|
static Scalar | coeff_FS (const qType &q) |
|
static Scalar | coeff_turn (const qType &ql, const qType &qr, const qType &qf) |
|
template<std::size_t M> |
static bool | compare (const std::array< qType, M > &q1, const std::array< qType, M > &q2) |
|
static bool | compare (const qType &q1, const qType &q2) |
|
static bool | triangle (const qType &q1, const qType &q2, const qType &q3) |
|
template<typename
Kind, typename Scalar_ = double>
class Xped::Sym::SU2< Kind, Scalar_ >
Class for handling a SU(2) symmetry of a Hamiltonian without explicitly store the Clebsch-Gordon coefficients but with computing \((3n)j\)-symbols.
\describe_Scalar
- Note
- An implementation for the basic \((3n)j\) symbols is used from SU2Wrappers.h. Currently, the gsl-implementation and the wig3j/fastwig3j library can be used, but other libraries which calculates the symbols can be included. Just add a wrapper in SU2Wrappers.h.