Documentation
Function Documentation
◆ conjugate()
|
inline |
Computes conjugate permutation group obtained by the action of a permutation.
Conjugate of group under the action of element is a group .
- Note
- Since all permutation groups are subgroups of the symmetric group on the "infinite" set , this can be used to "shift" the domain of
G
by action ofh
that permutes elements in the domain ofG
with those outside its domain, e.g. if on domain , conjugation with will produce on domain .
- Parameters
-
G input PermutationGroup h input Permutation
- Returns
- conjugate PermutationGroup
Definition at line 376 of file permutation_group.h.
◆ intersect()
|
inline |
Computes intersect of 2 PermutationGroups
- Note
- The intersect is guaranteed to be a subgroup for both groups, hence this is the largest common subgroup.
- Parameters
-
G1 PermutationGroup G2 PermutationGroup
- Returns
- PermutationGroup
Definition at line 390 of file permutation_group.h.
◆ is_lexicographically_smallest()
bool TiledArray::symmetry::is_lexicographically_smallest | ( | const MultiIndex & | idx, |
const PermutationGroup & | pg | ||
) |
determines whether a given MultiIndex is lexicographically smallest among all indices generated by the action of pg
.
- Template Parameters
-
MultiIndex a sequence type that is directly addressable, i.e. has a fast operator
[]
- Parameters
-
idx an Index object pg the PermutationGroup
- Returns
false
if action of a permutation inpg
can produce an Index that is lexicographically smaller thanidx
(i.e. there existsi
such thatpg
[i]*idx is lexicographically less thanidx
),true
otherwise
Definition at line 351 of file permutation_group.h.
◆ operator!=() [1/2]
|
inline |
Permutation inequality operator.
- Parameters
-
p1 The left-hand permutation to be compared p2 The right-hand permutation to be compared
- Returns
true
if any element ofp1
is not equal to that ofp2
, otherwisefalse
.
Definition at line 419 of file permutation.h.
◆ operator!=() [2/2]
|
inline |
PermutationGroup inequality operator.
- Parameters
-
p1 The left-hand permutation group to be compared p2 The right-hand permutation group to be compared
- Returns
true
if any element ofp1
is not equal to that ofp2
, otherwisefalse
.
Definition at line 228 of file permutation_group.h.
◆ operator*()
|
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
p2
byp1
).
Definition at line 460 of file permutation.h.
◆ operator*=()
|
inline |
return *this ^ other
Definition at line 465 of file permutation.h.
◆ operator-()
|
inline |
Inverse permutation operator.
- Parameters
-
perm The permutation to be inverted
- Returns
perm.inverse()
Definition at line 452 of file permutation.h.
◆ operator<() [1/2]
|
inline |
Permutation less-than operator.
- Parameters
-
p1 The left-hand permutation to be compared p2 The right-hand permutation to be compared
- Returns
true
if the elements ofp1
are lexicographically less than that ofp2
, otherwisefalse
.
Definition at line 429 of file permutation.h.
◆ operator<() [2/2]
|
inline |
PermutationGroup less-than operator.
- Parameters
-
p1 The left-hand permutation group to be compared p2 The right-hand permutation group to be compared
- Returns
true
if the elements ofp1
are lexicographically less than that ofp2
, otherwisefalse
.
Definition at line 238 of file permutation_group.h.
◆ operator<<() [1/2]
|
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 439 of file permutation.h.
◆ operator<<() [2/2]
|
inline |
Add permutation group to an output stream.
- Parameters
-
[out] output The output stream [in] p The permutation group to be added to the output stream
- Returns
- The output stream
Definition at line 248 of file permutation_group.h.
◆ operator==() [1/2]
|
inline |
Permutation equality operator.
- Parameters
-
p1 The left-hand permutation to be compared p2 The right-hand permutation to be compared
- Returns
true
if all elements ofp1
andp2
are equal and in the same order, otherwisefalse
.
Definition at line 408 of file permutation.h.
◆ operator==() [2/2]
|
inline |
PermutationGroup equality operator.
- Parameters
-
p1 The left-hand permutation group to be compared p2 The right-hand permutation group to be compared
- Returns
true
if all elements ofp1
andp2
are equal, otherwisefalse
.
Definition at line 218 of file permutation_group.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 476 of file permutation.h.
◆ stabilizer()
|
inline |
Computes the largest subgroup of a permutation group that leaves the given set of indices fixed.
- Template Parameters
-
Set a set of indices
- Parameters
-
G input PermutationGroup f input Set
- Returns
- the fixed set subgroup of
G
Definition at line 406 of file permutation_group.h.