1#ifndef XPED_SPINSU2xX_HPP_
2#define XPED_SPINSU2xX_HPP_
11template <
typename Symmetry, std::
size_t order>
14template <
typename Symmetry_>
15class Spin<Sym::Combined<Sym::SU2<Sym::SpinSU2>, Symmetry_>>
17 using Scalar = double;
44template <
typename Symmetry_>
49 typename Symmetry::qType Q = {
static_cast<int>(
D), Symmetry_::qvacuum()[0]};
54 S_1s_ = OperatorType({3, Symmetry_::qvacuum()[0]},
basis_1s_);
57 Scalar locS = 0.5 *
static_cast<double>(
D - 1);
58 S_1s_(Q, Q)(0, 0) = std::sqrt(locS * (locS + 1.));
59 Sdag_1s_ = S_1s_.adjoint();
60 Q_1s_ = std::sqrt(2.) *
OperatorType::prod(S_1s_, S_1s_, {5, Symmetry_::qvacuum()[0]});
Definition: Qbasis.hpp:39
void push_back(const qType &q, const size_t &inner_dim)
Definition: Qbasis.cpp:32
OperatorType Id_1s() const
Definition: SpinSU2xX.hpp:25
OperatorType S_1s() const
Definition: SpinSU2xX.hpp:27
std::size_t D
Definition: SpinSU2xX.hpp:34
OperatorType Id_1s_
Definition: SpinSU2xX.hpp:38
OperatorType S_1s_
Definition: SpinSU2xX.hpp:39
Spin()
Definition: SpinSU2xX.hpp:22
Qbasis< Symmetry, 1 > basis_1s_
Definition: SpinSU2xX.hpp:36
OperatorType Q_1s_
Definition: SpinSU2xX.hpp:41
Spin(std::size_t D_input)
OperatorType Q_1s() const
Definition: SpinSU2xX.hpp:29
OperatorType Sdag_1s_
Definition: SpinSU2xX.hpp:40
Qbasis< Symmetry, 1 > basis_1s() const
Definition: SpinSU2xX.hpp:31
OperatorType Id_1s_
Definition: Spin.hpp:62
Qbasis< Symmetry, 1 > basis_1s_
Definition: Spin.hpp:59
std::size_t D
Definition: Spin.hpp:51
Tensor< Scalar, 1, 2, Symmetry, false > data
Definition: SiteOperator.hpp:86
static SiteOperator< Scalar, Symmetry > prod(XPED_CONST SiteOperator< Scalar, Symmetry > &O1, XPED_CONST SiteOperator< Scalar, Symmetry > &O2, const qType &target)
Definition: SiteOperator.cpp:36
void setIdentity()
Definition: SiteOperator.hpp:63
Definition: CombSym.hpp:12