Xped
Loading...
Searching...
No Matches
Xped::util::Permutation Struct Reference

#include <Permutations.hpp>

Collaboration diagram for Xped::util::Permutation:

Public Types

typedef std::vector< std::size_t > Cycle
 

Public Member Functions

 Permutation ()
 
template<typename Container >
 Permutation (const Container &in)
 
 Permutation (const std::string filename)
 
void initialize ()
 
bool operator== (const Permutation &other) const
 
std::string print () const
 
std::vector< Transpositiontranspositions () const
 
std::vector< std::vector< Transposition > > independentTranspositions () const
 
std::vector< std::size_t > decompose () const
 
std::size_t parity ()
 
template<typename Container >
void apply (Container &c) const
 
Permutation inverse () const
 
template<typename IndexType >
std::vector< IndexType > pi_as_index () const
 

Static Public Member Functions

static Permutation Identity (std::size_t N)
 
static std::vector< Permutationall (std::size_t N)
 

Public Attributes

std::size_t N
 
std::vector< std::size_t > pi
 
std::vector< std::size_t > pi_inv
 
std::vector< Cyclecycles
 

Friends

std::size_t hash_value (const Permutation &p)
 

Member Typedef Documentation

◆ Cycle

typedef std::vector<std::size_t> Xped::util::Permutation::Cycle

Constructor & Destructor Documentation

◆ Permutation() [1/3]

Xped::util::Permutation::Permutation ( )
inline
Here is the caller graph for this function:

◆ Permutation() [2/3]

template<typename Container >
Xped::util::Permutation::Permutation ( const Container &  in)
inline
Here is the call graph for this function:

◆ Permutation() [3/3]

Xped::util::Permutation::Permutation ( const std::string  filename)
inline
Here is the call graph for this function:

Member Function Documentation

◆ all()

static std::vector< Permutation > Xped::util::Permutation::all ( std::size_t  N)
inlinestatic

◆ apply()

template<typename Container >
void Xped::util::Permutation::apply ( Container &  c) const
inline

◆ decompose()

std::vector< std::size_t > Xped::util::Permutation::decompose ( ) const
inline
Here is the caller graph for this function:

◆ Identity()

static Permutation Xped::util::Permutation::Identity ( std::size_t  N)
inlinestatic
Here is the call graph for this function:

◆ independentTranspositions()

std::vector< std::vector< Transposition > > Xped::util::Permutation::independentTranspositions ( ) const
inline

◆ initialize()

void Xped::util::Permutation::initialize ( )
inline
Here is the caller graph for this function:

◆ inverse()

Permutation Xped::util::Permutation::inverse ( ) const
inline

◆ operator==()

bool Xped::util::Permutation::operator== ( const Permutation other) const
inline

◆ parity()

std::size_t Xped::util::Permutation::parity ( )
inline

◆ pi_as_index()

template<typename IndexType >
std::vector< IndexType > Xped::util::Permutation::pi_as_index ( ) const
inline

◆ print()

std::string Xped::util::Permutation::print ( ) const
inline

◆ transpositions()

std::vector< Transposition > Xped::util::Permutation::transpositions ( ) const
inline

Friends And Related Function Documentation

◆ hash_value

std::size_t hash_value ( const Permutation p)
friend

Member Data Documentation

◆ cycles

std::vector<Cycle> Xped::util::Permutation::cycles

◆ N

std::size_t Xped::util::Permutation::N

◆ pi

std::vector<std::size_t> Xped::util::Permutation::pi

◆ pi_inv

std::vector<std::size_t> Xped::util::Permutation::pi_inv

The documentation for this struct was generated from the following file: