glucat 0.13.0
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 >:
Collaboration diagram for glucat::gen::generator_table< Matrix_T >:

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

References generator_table().

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(), and glucat::matrix::unit().

Referenced by gen_vector().

◆ 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().

Referenced by gen_vector().

◆ 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().

Referenced by gen_vector().

◆ 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().

Referenced by gen_vector().

◆ 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 gen_from_pm1_qm1(), gen_from_pm4_qp4(), gen_from_pp4_qm4(), gen_from_qp1_pm1(), gen_vector(), glucat::pos_mod(), and glucat::matrix::unit().

Referenced by gen_vector(), and operator()().

◆ generator()

template<class Matrix_T>
auto glucat::gen::generator_table< Matrix_T >::generator ( ) -> generator_table<Matrix_T>&
static

Single instance of generator table.

Definition at line 49 of file generation_imp.h.

References generator_table().

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 gen_vector(), 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

References generator_table().

Friends And Related Symbol 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.

References friend_for_private_destructor.

Referenced by friend_for_private_destructor.


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