1 #ifndef _GLUCAT_GENERATION_H 2 #define _GLUCAT_GENERATION_H 40 namespace ublas = boost::numeric::ublas;
46 template<
class Matrix_T >
48 private std::map< signature_t, std::vector<Matrix_T> >
59 void gen_from_pm1_qm1(
const std::vector<Matrix_T>& old,
const signature_t sig);
61 void gen_from_pm4_qp4(
const std::vector<Matrix_T>& old,
const signature_t sig);
63 void gen_from_pp4_qm4(
const std::vector<Matrix_T>& old,
const signature_t sig);
65 void gen_from_qp1_pm1(
const std::vector<Matrix_T>& old,
const signature_t sig);
84 #endif // _GLUCAT_GENERATION_H static generator_table< Matrix_T > & generator()
Single instance of generator table.
static const index_t offset_to_super[]
Offsets between the current signature and that of the real superalgebra.
Table of generators for specific signatures.
void gen_from_qp1_pm1(const std::vector< Matrix_T > &old, const signature_t sig)
Construct generators for p,q given generators for q+1,p-1.
friend class friend_for_private_destructor
void gen_from_pm4_qp4(const std::vector< Matrix_T > &old, const signature_t sig)
Construct generators for p,q given generators for p-4,q+4.
void gen_from_pp4_qm4(const std::vector< Matrix_T > &old, const signature_t sig)
Construct generators for p,q given generators for p+4,q-4.
void gen_from_pm1_qm1(const std::vector< Matrix_T > &old, const signature_t sig)
Construct generators for p,q given generators for p-1,q-1.
std::pair< index_t, index_t > signature_t
A signature is a pair of indices, p, q, with p == frame.max(), q == -frame.min()
generator_table & operator=(const generator_table &)
const std::vector< Matrix_T > & gen_vector(const index_t p, const index_t q)
Construct a vector of generators for a specific signature.
int index_t
Size of index_t should be enough to represent LO, HI.
const Matrix_T * operator()(const index_t p, const index_t q)
Pointer to generators for a specific signature.