Documentation
Permutation group.
PermutationGroup is a group of permutations. A permutation group is specified compactly by a generating set (set of permutations that can multiplicatively generate the entire group).
Definition at line 49 of file permutation_group.h.
Public Types | |
using | Permutation = TiledArray::symmetry::Permutation |
using | element_type = Permutation |
Public Member Functions | |
PermutationGroup (const PermutationGroup &)=default | |
PermutationGroup (PermutationGroup &&)=default | |
PermutationGroup & | operator= (const PermutationGroup &)=default |
PermutationGroup & | operator= (PermutationGroup &&)=default |
PermutationGroup (std::vector< Permutation > generators) | |
General constructor. More... | |
unsigned int | order () const |
Group order accessor. More... | |
const Permutation & | operator[] (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... | |
Iterator accessors | |
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... | |
Static Public Member Functions | |
static Permutation | identity () |
Idenity element accessor. More... | |
Protected Member Functions | |
PermutationGroup () | |
Static Protected Member Functions | |
static void | init (std::vector< Permutation > &generators, std::vector< Permutation > &elements) |
Protected Attributes | |
std::vector< Permutation > | generators_ |
Group generators. More... | |
std::vector< Permutation > | elements_ |
Group elements. More... | |
Member Typedef Documentation
◆ element_type
Definition at line 52 of file permutation_group.h.
◆ Permutation
Definition at line 51 of file permutation_group.h.
Constructor & Destructor Documentation
◆ PermutationGroup() [1/4]
|
default |
◆ PermutationGroup() [2/4]
|
default |
◆ PermutationGroup() [3/4]
|
inline |
General constructor.
This constructs a permutation group from a set of generators. The order of generators does not matter, and repeated generators will be ignored (internally generators are stored as a sorted sequence).
- Parameters
-
degree The number of elements in the set whose symmetry this group describes generators The generating set that defines this group
Definition at line 74 of file permutation_group.h.
◆ PermutationGroup() [4/4]
|
inlineprotected |
Definition at line 170 of file permutation_group.h.
Member Function Documentation
◆ begin()
|
inline |
forward iterator over the group elements pointing to the first element
PermutationGroup iterators dereference to group elements, i.e. Permutation objects. Iterators can be used to iterate over group elements in lexicographical order.
- See also
- operator[]
- Returns
- a std::vector<Permutation>::const_iterator object that points to the first element in the group
Definition at line 124 of file permutation_group.h.
◆ cbegin()
|
inline |
forward iterator over the group elements pointing to the first element
- Returns
- a std::vector<Permutation>::const_iterator object that points to the first element in the group
Definition at line 132 of file permutation_group.h.
◆ cend()
|
inline |
forward iterator over the group elements pointing past the last element
- Returns
- a std::vector<Permutation>::const_iterator object that points past the last element in the group
Definition at line 148 of file permutation_group.h.
◆ domain()
|
inline |
Computes the domain of this group.
- Template Parameters
-
Set a container type in which the result will be returned (e.g. std::set
)
- Returns
- the domain of this permutation, as a sorted sequence
Definition at line 159 of file permutation_group.h.
◆ elements()
|
inline |
Elements vector accessor.
- Note
- Elements appear in lexicograhical order.
- Returns
- A const reference to the vector of elements
Definition at line 105 of file permutation_group.h.
◆ end()
|
inline |
forward iterator over the group elements pointing past the last element
- Returns
- a std::vector<Permutation>::const_iterator object that points past the last element in the group
Definition at line 140 of file permutation_group.h.
◆ generators()
|
inline |
Generators vector accessor.
- Note
- Generators appear in lexicograhical order.
- Returns
- A const reference to the vector of generators
Definition at line 111 of file permutation_group.h.
◆ identity()
|
inlinestatic |
Idenity element accessor.
- Returns
- the Identity element
Definition at line 89 of file permutation_group.h.
◆ init()
|
inlinestaticprotected |
computes elements
from generators
- Parameters
-
[in,out] generators sequence set of generators; duplicate generators will be removed, generators will be resorted [out] elements resulting elements
add generators to the elements
Definition at line 177 of file permutation_group.h.
◆ operator=() [1/2]
|
default |
◆ operator=() [2/2]
|
default |
◆ operator[]()
|
inline |
Group element accessor.
- Note
- Elements are ordered lexicograhically.
- Parameters
-
i Index of the group element to be returned, 0<=i&&i<order()
- Returns
- A const reference to the i-th group element
Definition at line 96 of file permutation_group.h.
◆ order()
|
inline |
Group order accessor.
The order of the group is the number of elements in the group. For symmetric group G
the order is factorial of G->degree()
- Returns
- The order of the group
Definition at line 84 of file permutation_group.h.
Member Data Documentation
◆ elements_
|
protected |
Group elements.
Definition at line 58 of file permutation_group.h.
◆ generators_
|
protected |
Group generators.
Definition at line 56 of file permutation_group.h.
The documentation for this class was generated from the following file:
- TiledArray/symm/permutation_group.h