54 : tag_handler(
new table_type())
56 phys.
insert(std::make_pair(1, 1));
57 phys.
insert(std::make_pair(-1, 1));
59 op_t ident_op, splus_op, sminus_op, sz_op;
62 ident_op.insert_block(Matrix(1, 1, 1), 1, 1);
64 splus_op.insert_block(Matrix(1, 1, 1), -1, 1);
66 sminus_op.insert_block(Matrix(1, 1, 1), 1, -1);
68 sz_op.insert_block(Matrix(1, 1, 0.5), 1, 1);
69 sz_op.insert_block(Matrix(1, 1, -0.5), -1, -1);
75 #define REGISTER(op, kind) op = tag_handler->register_op(op ## _op, kind);
86 for (
int p=0; p<lat.
size(); ++p) {
87 std::vector<int> neighs = lat.
forward(p);
88 for (
int n=0; n<neighs.size(); ++n) {
92 term.push_back( boost::make_tuple(p, sz) );
93 term.push_back( boost::make_tuple(neighs[n], sz) );
94 this->
terms_.push_back(term);
99 term.push_back( boost::make_tuple(p, splus) );
100 term.push_back( boost::make_tuple(neighs[n], sminus) );
101 this->
terms_.push_back(term);
106 term.push_back( boost::make_tuple(p, sminus) );
107 term.push_back( boost::make_tuple(neighs[n], splus) );
108 this->
terms_.push_back(term);
#define REGISTER(op, kind)
size_type insert_block(Matrix const &, charge, charge)
std::vector< pos_t > forward(pos_t site) const
std::size_t insert(std::pair< charge, std::size_t > const &x)