Namespaces | |
| detail | |
Classes | |
| class | Permutation |
| Permutation of a sequence of objects indexed by base-0 indices. More... | |
| class | PermutationGroup |
| Permutation group. More... | |
| class | Representation |
| class | SymmetricGroup |
| Symmetric group. More... | |
Functions | |
| bool | operator== (const Permutation &p1, const Permutation &p2) |
| Permutation equality operator. More... | |
| bool | operator!= (const Permutation &p1, const Permutation &p2) |
| Permutation inequality operator. More... | |
| bool | operator< (const Permutation &p1, const Permutation &p2) |
| Permutation less-than operator. More... | |
| std::ostream & | operator<< (std::ostream &output, const Permutation &p) |
| Add permutation to an output stream. More... | |
| Permutation | operator- (const Permutation &perm) |
| Inverse permutation operator. More... | |
| Permutation | operator* (const Permutation &p1, const Permutation &p2) |
| Permutation multiplication operator. More... | |
| Permutation & | operator*= (Permutation &p1, const Permutation &p2) |
| return *this ^ other More... | |
| Permutation | operator^ (const Permutation &perm, int n) |
Raise perm to the n-th power. More... | |
| template<typename T , std::size_t N> | |
| std::array< T, N > | operator* (const Permutation &perm, const std::array< T, N > &a) |
Permute a std::array. More... | |
| template<typename T , std::size_t N> | |
| std::array< T, N > & | operator*= (std::array< T, N > &a, const Permutation &perm) |
In-place permute a std::array. More... | |
| template<typename T , typename A > | |
| std::vector< T > | operator* (const Permutation &perm, const std::vector< T, A > &v) |
permute a std::vector<T> More... | |
| template<typename T , typename A > | |
| std::vector< T, A > & | operator*= (std::vector< T, A > &v, const Permutation &perm) |
In-place permute a std::array. More... | |
| template<typename T , std::size_t N> | |
| boost::container::small_vector< T, N > | operator* (const Permutation &perm, const boost::container::small_vector< T, N > &v) |
permute a boost::container::small_vector<T> More... | |
| template<typename T , std::size_t N> | |
| boost::container::small_vector< T, N > & | operator*= (boost::container::small_vector< T, N > &v, const Permutation &perm) |
In-place permute a boost::container::small_vector. More... | |
| bool | operator== (const PermutationGroup &p1, const PermutationGroup &p2) |
| PermutationGroup equality operator. More... | |
| bool | operator!= (const PermutationGroup &p1, const PermutationGroup &p2) |
| PermutationGroup inequality operator. More... | |
| bool | operator< (const PermutationGroup &p1, const PermutationGroup &p2) |
| PermutationGroup less-than operator. More... | |
| std::ostream & | operator<< (std::ostream &output, const PermutationGroup &p) |
| Add permutation group to an output stream. More... | |
| template<typename MultiIndex > | |
| bool | is_lexicographically_smallest (const MultiIndex &idx, const PermutationGroup &pg) |
| PermutationGroup | conjugate (const PermutationGroup &G, const PermutationGroup::Permutation &h) |
| Computes conjugate permutation group obtained by the action of a permutation. More... | |
| PermutationGroup | intersect (const PermutationGroup &G1, const PermutationGroup &G2) |
| template<typename Set > | |
| PermutationGroup | stabilizer (const PermutationGroup &G, const Set &f) |
| template<typename T > | |
| T | identity () |
| identity for group of objects of type T More... | |
Function Documentation
◆ identity()
| T TiledArray::symmetry::identity | ( | ) |
identity for group of objects of type T

◆ operator!=()
|
inline |
Permutation inequality operator.
- Parameters
-
p1 The left-hand permutation to be compared p2 The right-hand permutation to be compared
- Returns
trueif any element ofp1is not equal to that ofp2, otherwisefalse.
Definition at line 460 of file permutation.h.

◆ operator*() [1/4]
|
inline |
Permutation multiplication operator.
- Parameters
-
p1 The left-hand permutation p2 The right-hand permutation
- Returns
- The product of p1 and p2 (which is the permutation of
p2byp1).
Definition at line 500 of file permutation.h.

◆ operator*() [2/4]
|
inline |
permute a boost::container::small_vector<T>
- Template Parameters
-
T The element type of the vector N The max static size of the vector
- Parameters
-
perm The permutation v The vector to be permuted
- Returns
- A permuted copy of
v
- Exceptions
-
TiledArray::Exception When the dimension of the permutation is not equal to the size of v.
Definition at line 630 of file permutation.h.

◆ operator*() [3/4]
|
inline |
Permute a std::array.
- Template Parameters
-
T The element type of the array N The size of the array
- Parameters
-
perm The permutation a The array to be permuted
- Returns
- A permuted copy of
a
- Exceptions
-
TiledArray::Exception When the dimension of the permutation is not equal to the size of a.
Definition at line 562 of file permutation.h.

◆ operator*() [4/4]
|
inline |
permute a std::vector<T>
- Template Parameters
-
T The element type of the vector A The allocator type of the vector
- Parameters
-
perm The permutation v The vector to be permuted
- Returns
- A permuted copy of
v
- Exceptions
-
TiledArray::Exception When the dimension of the permutation is not equal to the size of v.
Definition at line 596 of file permutation.h.

◆ operator*=() [1/4]
|
inline |
In-place permute a boost::container::small_vector.
- Template Parameters
-
T The element type of the vector N The max static size of the vector
- Parameters
-
[out] v The vector to be permuted [in] perm The permutation
- Returns
- A reference to
v
- Exceptions
-
TiledArray::Exception When the dimension of the permutation is not equal to the size of v.
Definition at line 647 of file permutation.h.

◆ operator*=() [2/4]
|
inline |
return *this ^ other
Definition at line 505 of file permutation.h.
◆ operator*=() [3/4]
|
inline |
In-place permute a std::array.
- Template Parameters
-
T The element type of the array N The size of the array
- Parameters
-
[out] a The array to be permuted [in] perm The permutation
- Returns
- A reference to
a
- Exceptions
-
TiledArray::Exception When the dimension of the permutation is not equal to the size of a.
Definition at line 579 of file permutation.h.

◆ operator*=() [4/4]
|
inline |
In-place permute a std::array.
- Template Parameters
-
T The element type of the vector A The allocator type of the vector
- Parameters
-
[out] v The vector to be permuted [in] perm The permutation
- Returns
- A reference to
v
- Exceptions
-
TiledArray::Exception When the dimension of the permutation is not equal to the size of v.
Definition at line 613 of file permutation.h.

◆ operator-()
|
inline |
Inverse permutation operator.
- Parameters
-
perm The permutation to be inverted
- Returns
perm.inverse()
Definition at line 492 of file permutation.h.

◆ operator<()
|
inline |
Permutation less-than operator.
- Parameters
-
p1 The left-hand permutation to be compared p2 The right-hand permutation to be compared
- Returns
trueif the elements ofp1are lexicographically less than that ofp2, otherwisefalse.
Definition at line 470 of file permutation.h.

◆ operator<<()
|
inline |
Add permutation to an output stream.
- Parameters
-
[out] output The output stream [in] p The permutation to be added to the output stream
- Returns
- The output stream
Definition at line 481 of file permutation.h.

◆ operator==()
|
inline |
Permutation equality operator.
- Parameters
-
p1 The left-hand permutation to be compared p2 The right-hand permutation to be compared
- Returns
trueif all elements ofp1andp2are equal and in the same order, otherwisefalse.
Definition at line 450 of file permutation.h.


◆ operator^()
|
inline |
Raise perm to the n-th power.
Constructs the permutation
, where
is the permutation perm.
- Parameters
-
perm The base permutation n Exponent value
- Returns
- This permutation raised to the n-th power
Definition at line 516 of file permutation.h.

1.8.20