Search Results

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: