TiledArray::symmetry::SymmetricGroup Class Referencefinal
Inheritance diagram for TiledArray::symmetry::SymmetricGroup:
Collaboration diagram for TiledArray::symmetry::SymmetricGroup:

Documentation

Symmetric group.

Symmetric group of degree $ n $ is a group of all permutations of set $ \{x_0, x_1, \dots x_{n-1}\} $ where $ x_i $ are nonnegative integers.

Definition at line 264 of file permutation_group.h.

Public Types

using index_type = Permutation::index_type
 
- Public Types inherited from TiledArray::symmetry::PermutationGroup
using Permutation = TiledArray::symmetry::Permutation
 
using element_type = Permutation
 

Public Member Functions

 SymmetricGroup ()=delete
 
 SymmetricGroup (const SymmetricGroup &)=default
 
 SymmetricGroup (SymmetricGroup &&)=default
 
SymmetricGroupoperator= (const SymmetricGroup &)=default
 
SymmetricGroupoperator= (SymmetricGroup &&)=default
 
 SymmetricGroup (unsigned int degree)
 
template<typename InputIterator , typename std::enable_if< ::TiledArray::detail::is_input_iterator< InputIterator >::value >::type * = nullptr>
 SymmetricGroup (InputIterator begin, InputIterator end)
 
template<typename Integer , typename std::enable_if< std::is_integral< Integer >::value >::type * = nullptr>
 SymmetricGroup (std::initializer_list< Integer > list)
 Construct symmetric group using domain as an initializer list. More...
 
unsigned int degree () const
 Degree accessor. More...
 
- Public Member Functions inherited from TiledArray::symmetry::PermutationGroup
 PermutationGroup (const PermutationGroup &)=default
 
 PermutationGroup (PermutationGroup &&)=default
 
PermutationGroupoperator= (const PermutationGroup &)=default
 
PermutationGroupoperator= (PermutationGroup &&)=default
 
 PermutationGroup (std::vector< Permutation > generators)
 General constructor. More...
 
unsigned int order () const
 Group order accessor. More...
 
const Permutationoperator[] (unsigned int i) const
 Group element accessor. More...
 
const std::vector< Permutation > & elements () const
 Elements vector accessor. More...
 
const std::vector< Permutation > & generators () const
 Generators vector accessor. More...
 
template<typename Set >
Set domain () const
 Computes the domain of this group. More...
 
std::vector< Permutation >::const_iterator begin () const
 forward iterator over the group elements pointing to the first element More...
 
std::vector< Permutation >::const_iterator cbegin () const
 forward iterator over the group elements pointing to the first element More...
 
std::vector< Permutation >::const_iterator end () const
 forward iterator over the group elements pointing past the last element More...
 
std::vector< Permutation >::const_iterator cend () const
 forward iterator over the group elements pointing past the last element More...
 

Additional Inherited Members

- Static Public Member Functions inherited from TiledArray::symmetry::PermutationGroup
static Permutation identity ()
 Idenity element accessor. More...
 
- Protected Member Functions inherited from TiledArray::symmetry::PermutationGroup
 PermutationGroup ()
 
- Static Protected Member Functions inherited from TiledArray::symmetry::PermutationGroup
static void init (std::vector< Permutation > &generators, std::vector< Permutation > &elements)
 
- Protected Attributes inherited from TiledArray::symmetry::PermutationGroup
std::vector< Permutationgenerators_
 Group generators. More...
 
std::vector< Permutationelements_
 Group elements. More...
 

Member Typedef Documentation

◆ index_type

Constructor & Destructor Documentation

◆ SymmetricGroup() [1/6]

TiledArray::symmetry::SymmetricGroup::SymmetricGroup ( )
delete

◆ SymmetricGroup() [2/6]

TiledArray::symmetry::SymmetricGroup::SymmetricGroup ( const SymmetricGroup )
default

◆ SymmetricGroup() [3/6]

TiledArray::symmetry::SymmetricGroup::SymmetricGroup ( SymmetricGroup &&  )
default

◆ SymmetricGroup() [4/6]

TiledArray::symmetry::SymmetricGroup::SymmetricGroup ( unsigned int  degree)
inline

Construct symmetric group on domain $ \{0, 1, \dots n-1\} $, where $ n $ = degree@param degree the degree of this group

Definition at line 277 of file permutation_group.h.

◆ SymmetricGroup() [5/6]

template<typename InputIterator , typename std::enable_if< ::TiledArray::detail::is_input_iterator< InputIterator >::value >::type * = nullptr>
TiledArray::symmetry::SymmetricGroup::SymmetricGroup ( InputIterator  begin,
InputIterator  end 
)
inline

Construct symmetric group on domain [begin,end)

Template Parameters
InputIteratoran input iterator type
Parameters
beginiterator pointing to the beginning of the range
enditerator pointing to past the end of the range

Definition at line 287 of file permutation_group.h.

Here is the call graph for this function:

◆ SymmetricGroup() [6/6]

template<typename Integer , typename std::enable_if< std::is_integral< Integer >::value >::type * = nullptr>
TiledArray::symmetry::SymmetricGroup::SymmetricGroup ( std::initializer_list< Integer >  list)
inlineexplicit

Construct symmetric group using domain as an initializer list.

Template Parameters
Integeran integral type
Parameters
listAn initializer list of Integer

Definition at line 319 of file permutation_group.h.

Member Function Documentation

◆ degree()

unsigned int TiledArray::symmetry::SymmetricGroup::degree ( ) const
inline

Degree accessor.

The degree of the group is the number of elements in the set on which the group members act

Returns
The degree of the group

Definition at line 326 of file permutation_group.h.

Here is the caller graph for this function:

◆ operator=() [1/2]

SymmetricGroup& TiledArray::symmetry::SymmetricGroup::operator= ( const SymmetricGroup )
default

◆ operator=() [2/2]

SymmetricGroup& TiledArray::symmetry::SymmetricGroup::operator= ( SymmetricGroup &&  )
default

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