1#ifndef SPINSITESU2xX_H_
2#define SPINSITESU2xX_H_
14template <
typename Symmetry,
size_t order>
class SpinSite;
16template <
typename OtherSym,
size_t order>
17class SpinSite<
Sym::S1xS2<Sym::SU2<Sym::SpinSU2>, OtherSym >, order>
44template<
typename OtherSym,
size_t order>
46SpinSite(std::size_t D_input)
52 Eigen::Index inner_dim = 1;
53 std::vector<std::string> ident;
54 ident.push_back(
"spin");
62 Scalar locS = 0.5*
static_cast<double>(
D-1);
63 S_1s_(
"spin",
"spin" ) = std::sqrt(locS*(locS+1.));
64 Sdag_1s_ = S_1s_.adjoint();
static SiteOperatorQ< Symmetry, Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic > > prod(const SiteOperatorQ< Symmetry, Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic > > &O1, const SiteOperatorQ< Symmetry, Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic > > &O2, const qType &target)
Qbasis< Symmetry > basis_1s_
OperatorType Q_1s() const
OperatorType S_1s() const
OperatorType Id_1s() const
Sym::S1xS2< Sym::SU2< Sym::SpinSU2 >, OtherSym > Symmetry
SiteOperatorQ< Symmetry, Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic > > OperatorType
Qbasis< Symmetry > basis_1s() const
Qbasis< Symmetry > basis_1s_
SiteOperatorQ< Symmetry, Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic > > OperatorType
constexpr qarray< Nq1+Nq2 > join(qarray< Nq1 > rhs, qarray< Nq2 > lhs)