permutation.h File Reference
#include <algorithm>#include <array>#include <numeric>#include <TiledArray/error.h>#include <TiledArray/tensor/type_traits.h>#include <TiledArray/type_traits.h>#include <TiledArray/util/vector.h>#include <TiledArray/utility.h>
Include dependency graph for permutation.h:

This graph shows which files directly or indirectly include this file:

Classes | |
| class | TiledArray::Permutation |
| Permutation of a sequence of objects indexed by base-0 indices. More... | |
| class | TiledArray::BipartitePermutation |
| Permutation of a bipartite set. More... | |
Namespaces | |
| TiledArray | |
| TiledArray::detail | |
Functions | |
| bool | TiledArray::operator== (const Permutation &p1, const Permutation &p2) |
| Permutation equality operator. More... | |
| std::ostream & | TiledArray::operator<< (std::ostream &output, const Permutation &p) |
| Add permutation to an output stream. More... | |
| template<typename T , std::size_t N> | |
| std::array< T, N > | TiledArray::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 > & | TiledArray::operator*= (std::array< T, N > &a, const Permutation &perm) |
In-place permute a std::array. More... | |
| template<typename T , typename A > | |
| std::vector< T > | TiledArray::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 > & | TiledArray::operator*= (std::vector< T, A > &v, const Permutation &perm) |
In-place permute a std::vector. More... | |
| template<typename T > | |
| std::vector< T > | TiledArray::operator* (const Permutation &perm, const T *MADNESS_RESTRICT const ptr) |
| Permute a memory buffer. More... | |
| bool | TiledArray::operator== (const BipartitePermutation &p1, const BipartitePermutation &p2) |
| Permutation equality operator. More... | |
| template<typename Perm , typename Arg , typename Result , typename = std::enable_if_t<is_permutation_v<Perm>>> | |
| void | TiledArray::detail::permute_array (const Perm &perm, const Arg &arg, Result &result) |
| Create a permuted copy of an array. More... | |
| bool | TiledArray::operator!= (const Permutation &p1, const Permutation &p2) |
| Permutation inequality operator. More... | |
| bool | TiledArray::operator< (const Permutation &p1, const Permutation &p2) |
| Permutation less-than operator. More... | |
| Permutation | TiledArray::operator- (const Permutation &perm) |
| Inverse permutation operator. More... | |
| Permutation | TiledArray::operator* (const Permutation &p1, const Permutation &p2) |
| Permutation multiplication operator. More... | |
| Permutation & | TiledArray::operator*= (Permutation &p1, const Permutation &p2) |
| return *this ^ other More... | |
| Permutation | TiledArray::operator^ (const Permutation &perm, int n) |
Raise perm to the n-th power. More... | |
| template<typename T , std::size_t N> | |
| boost::container::small_vector< T, N > | TiledArray::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 > & | TiledArray::operator*= (boost::container::small_vector< T, N > &v, const Permutation &perm) |
In-place permute a boost::container::small_vector. More... | |
| bool | TiledArray::operator!= (const BipartitePermutation &p1, const BipartitePermutation &p2) |
| Permutation inequality operator. More... | |
| auto | TiledArray::inner (const Permutation &p) |
| auto | TiledArray::outer (const Permutation &p) |
| auto | TiledArray::inner_size (const Permutation &p) |
| auto | TiledArray::outer_size (const Permutation &p) |
| auto | TiledArray::inner (const BipartitePermutation &p) |
| auto | TiledArray::outer (const BipartitePermutation &p) |
| auto | TiledArray::inner_size (const BipartitePermutation &p) |
| auto | TiledArray::outer_size (const BipartitePermutation &p) |
1.8.20