glucat 0.12.0
Public Member Functions | Static Public Member Functions | Private Member Functions | Friends | List of all members
glucat::gen::generator_table< Matrix_T > Class Template Reference

Table of generators for specific signatures. More...

#include <generation.h>

Inheritance diagram for glucat::gen::generator_table< Matrix_T >:
Inheritance graph
[legend]
Collaboration diagram for glucat::gen::generator_table< Matrix_T >:
Collaboration graph
[legend]

Public Member Functions

auto operator() (const index_t p, const index_t q) -> const Matrix_T *
 Pointer to generators for a specific signature.
 
 generator_table (const generator_table &)=delete
 
auto operator= (const generator_table &) -> generator_table &=delete
 

Static Public Member Functions

static auto generator () -> generator_table< Matrix_T > &
 Single instance of generator table.
 

Private Member Functions

auto gen_vector (const index_t p, const index_t q) -> const std::vector< Matrix_T > &
 Construct a vector of generators for a specific signature.
 
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.
 
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_qp1_pm1 (const std::vector< Matrix_T > &old, const signature_t sig)
 Construct generators for p,q given generators for q+1,p-1.
 
 generator_table ()=default
 
 ~generator_table ()=default
 

Friends

class friend_for_private_destructor
 

Detailed Description

template<class Matrix_T>
class glucat::gen::generator_table< Matrix_T >

Table of generators for specific signatures.

Definition at line 52 of file generation.h.

Constructor & Destructor Documentation

◆ generator_table() [1/2]

template<class Matrix_T >
glucat::gen::generator_table< Matrix_T >::generator_table ( )
privatedefault

◆ ~generator_table()

template<class Matrix_T >
glucat::gen::generator_table< Matrix_T >::~generator_table ( )
privatedefault

◆ generator_table() [2/2]

template<class Matrix_T >
glucat::gen::generator_table< Matrix_T >::generator_table ( const generator_table< Matrix_T > &  )
delete

Member Function Documentation

◆ gen_from_pm1_qm1()

template<class Matrix_T >
void glucat::gen::generator_table< Matrix_T >::gen_from_pm1_qm1 ( const std::vector< Matrix_T > &  old,
const signature_t  sig 
)
private

Construct generators for p,q given generators for p-1,q-1.

Definition at line 127 of file generation_imp.h.

References glucat::matrix::mono_kron().

◆ gen_from_pm4_qp4()

template<class Matrix_T >
void glucat::gen::generator_table< Matrix_T >::gen_from_pm4_qp4 ( const std::vector< Matrix_T > &  old,
const signature_t  sig 
)
private

Construct generators for p,q given generators for p-4,q+4.

Definition at line 165 of file generation_imp.h.

References glucat::matrix::mono_prod().

◆ gen_from_pp4_qm4()

template<class Matrix_T >
void glucat::gen::generator_table< Matrix_T >::gen_from_pp4_qm4 ( const std::vector< Matrix_T > &  old,
const signature_t  sig 
)
private

Construct generators for p,q given generators for p+4,q-4.

Definition at line 198 of file generation_imp.h.

References glucat::matrix::mono_prod().

◆ gen_from_qp1_pm1()

template<class Matrix_T >
void glucat::gen::generator_table< Matrix_T >::gen_from_qp1_pm1 ( const std::vector< Matrix_T > &  old,
const signature_t  sig 
)
private

Construct generators for p,q given generators for q+1,p-1.

Definition at line 231 of file generation_imp.h.

References glucat::matrix::mono_prod().

◆ gen_vector()

template<class Matrix_T >
auto glucat::gen::generator_table< Matrix_T >::gen_vector ( const index_t  p,
const index_t  q 
) -> const std::vector<Matrix_T>&
private

Construct a vector of generators for a specific signature.

Definition at line 79 of file generation_imp.h.

References glucat::pos_mod().

◆ generator()

template<class Matrix_T >
auto glucat::gen::generator_table< Matrix_T >::generator
static

Single instance of generator table.

Definition at line 49 of file generation_imp.h.

Referenced by glucat::matrix_multi< Scalar_T, LO, HI, Tune_P >::basis_element().

◆ operator()()

template<class Matrix_T >
auto glucat::gen::generator_table< Matrix_T >::operator() ( const index_t  p,
const index_t  q 
) -> const Matrix_T*
inline

Pointer to generators for a specific signature.

Definition at line 58 of file generation_imp.h.

References glucat::gen::offset_to_super, and glucat::pos_mod().

◆ operator=()

template<class Matrix_T >
auto glucat::gen::generator_table< Matrix_T >::operator= ( const generator_table< Matrix_T > &  ) -> generator_table &=delete
delete

Friends And Related Function Documentation

◆ friend_for_private_destructor

template<class Matrix_T >
friend class friend_for_private_destructor
friend

Friend declaration to avoid compiler warning: "... only defines a private destructor and has no friends" Ref: Carlos O'Ryan, ACE http://doc.ece.uci.edu

Definition at line 75 of file generation.h.


The documentation for this class was generated from the following files: