Documentation of CSL
Data Structures | Namespaces | Functions
symmetry.h File Reference
#include <vector>
#include "std_vector_implementation.h"
#include "index.h"
Include dependency graph for symmetry.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  csl::Permutation
 Handles a std::vector of integers that represents the permutation of n indices, with a possible symmetry of an IndexStructure. More...
 
class  csl::Symmetry
 Handles the full symmetry properties of an TensorElement, i.e. a vector of Permutation objects, each giving a permutation of the indices and the sign of the permutation (if the permutation is symmetric or anti-symmetric). More...
 
class  csl::IndexedSymmetry
 

Namespaces

 csl
 Namespace for csl library.
 

Functions

std::vector< std::vector< int > > csl::permutations (std::vector< int > init)
 Gets all permutations (int the form of vectors of integers) of n elements, n beeing the size of init. The vector init must contain all integers between 0 and n-1. More...
 
std::vector< Permutation > csl::permutations (const Permutation &init)
 Gets all permutations (int the form of Permutation objects) of n elements, n beeing the size of init. More...
 
void csl::reducePermutation (std::vector< Permutation > &permutation)
 Takes a vector of Permutation objects and erase the redundant ones, i.e. the permutations present several times in the vector. More...
 
std::vector< Permutation > csl::getSpan (const std::vector< Permutation > &init)
 Calculates all permutations spanned by an ensemble of initial Permutations init. More...
 
void csl::getSpan (std::vector< Permutation > &spanned, const Permutation &element)
 This function adds an element in an already complete set of permutations. It assumes that the std::vector spanned is already complete by itself and modifies it by adding all the permutations spanned by itself and the new permutation element. More...
 

Detailed Description

Author
Grégoire Uhlrich
Version
1.3