TiledArray
0.7.0
|
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... | |
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) |
Computes the largest subgroup of a permutation group that leaves the given set of indices fixed. More... | |
template<typename T > | |
T | identity () |
identity for group of objects of type T More... | |
T TiledArray::symmetry::identity | ( | ) |
identity for group of objects of type T
|
inline |
Permutation inequality operator.
p1 | The left-hand permutation to be compared |
p2 | The right-hand permutation to be compared |
true
if any element of p1
is not equal to that of p2
, otherwise false
. Definition at line 481 of file permutation.h.
|
inline |
Permutation multiplication operator.
p1 | The left-hand permutation |
p2 | The right-hand permutation |
p2
by p1
). Definition at line 523 of file permutation.h.
|
inline |
Permute a std::array
.
T | The element type of the array |
N | The size of the array |
perm | The permutation |
a | The array to be permuted |
a
TiledArray::Exception | When the dimension of the permutation is not equal to the size of a . |
Definition at line 557 of file permutation.h.
|
inline |
permute a std::vector<T>
T | The element type of the vector |
A | The allocator type of the vector |
perm | The permutation |
v | The vector to be permuted |
v
TiledArray::Exception | When the dimension of the permutation is not equal to the size of v . |
Definition at line 589 of file permutation.h.
|
inline |
return *this ^ other
Definition at line 529 of file permutation.h.
|
inline |
In-place permute a std::array
.
T | The element type of the array |
N | The size of the array |
[out] | a | The array to be permuted |
[in] | perm | The permutation |
a
TiledArray::Exception | When the dimension of the permutation is not equal to the size of a . |
Definition at line 573 of file permutation.h.
|
inline |
In-place permute a std::array
.
T | The element type of the vector |
A | The allocator type of the vector |
[out] | v | The vector to be permuted |
[in] | perm | The permutation |
v
TiledArray::Exception | When the dimension of the permutation is not equal to the size of v . |
Definition at line 605 of file permutation.h.
|
inline |
Inverse permutation operator.
perm | The permutation to be inverted |
perm.inverse()
Definition at line 513 of file permutation.h.
|
inline |
Permutation less-than operator.
p1 | The left-hand permutation to be compared |
p2 | The right-hand permutation to be compared |
true
if the elements of p1
are lexicographically less than that of p2
, otherwise false
. Definition at line 491 of file permutation.h.
|
inline |
Add permutation to an output stream.
[out] | output | The output stream |
[in] | p | The permutation to be added to the output stream |
Definition at line 502 of file permutation.h.
|
inline |
Permutation equality operator.
p1 | The left-hand permutation to be compared |
p2 | The right-hand permutation to be compared |
true
if all elements of p1
and p2
are equal and in the same order, otherwise false
. Definition at line 470 of file permutation.h.
|
inline |
Raise perm
to the n-th power.
Constructs the permutation , where is the permutation perm
.
perm | The base permutation |
n | Exponent value |
Definition at line 540 of file permutation.h.