Handles a std::vector of integers that represents the permutation of n indices, with a possible symmetry of an IndexStructure.
More...
|
|
| Permutation () |
| | Default constructor.
|
| |
| | Permutation (int n) |
| | Initializes the identity permutation of n elements. More...
|
| |
| | Permutation (const std::vector< int > &t_permutation) |
| | constructor that takes a vector of integers corresponding to the permutation. All integers between 0 and the size of t_permutation-1 must be represented. More...
|
| |
| | Permutation (int n, const std::vector< int > &list) |
| | Constructor that initializes the size of the Permutation to n, and takes one cycle (that concerns possibly only few elements) as initialization. For example, Permutation(5,{1,0,2}) intializes the permutation to (2,0,1,3,4). More...
|
| |
|
| Permutation (int n, const std::vector< int > &list, int sym) |
| |
| | Permutation (int n, const std::vector< std::vector< int > > &list) |
| | Constructor that initializes the size of the Permutation to n, and takes several cycles (that concerns possibly only few elements) as initialization. For example Permutation(10,{{6,7},{1,0,2}}) initializes the permutation to (2,0,1,3,4,5,7,6,8,9). More...
|
| |
| | Permutation (const Permutation &permutation)=default |
| | Copy constructor. More...
|
| |
|
| ~Permutation () |
| | Destructor.
|
| |
| int | getOrder () |
| | This function calculates the order of the permutation the first time, or just return it if it has already been calculated. More...
|
| |
| int | getSign () |
| | This function calculates the sign of the permutation the first time, or just return it if it has already been calculated. More...
|
| |
| int | getSymmetry () const |
| |
| std::vector< int > | getPermutation () const |
| |
| void | setSymmetry (int t_symmetry) |
| |
|
void | adjustToSize (size_t newSize) |
| |
|
void | applyRedefinition (const std::vector< size_t > &redefinition) |
| |
| Permutation & | operator= (const Permutation &t_permutation)=default |
| | Assignement operator. Copies t_permutation and returns a reference to *this. More...
|
| |
| Permutation | operator* (const Permutation &t_permutation) const |
| | operator*, Compose two Permutation objects and returns the result in a new Permutation. More...
|
| |
| bool | operator== (const Permutation &t_permutation) const |
| | operator==, tells if two Permutation objects are equal. More...
|
| |
| bool | operator!= (const Permutation &t_permuation) const |
| | operator!=, tells if two Permutation objects are not equal. More...
|
| |
Handles a std::vector of integers that represents the permutation of n indices, with a possible symmetry of an IndexStructure.
| csl::Permutation::Permutation |
( |
int |
n, |
|
|
const std::vector< int > & |
list |
|
) |
| |
Constructor that initializes the size of the Permutation to n, and takes one cycle (that concerns possibly only few elements) as initialization. For example, Permutation(5,{1,0,2}) intializes the permutation to (2,0,1,3,4).
- Parameters
-
| n | Total size of the permutation. |
| list | Only cycle in the permutation. |
| csl::Permutation::Permutation |
( |
int |
n, |
|
|
const std::vector< std::vector< int > > & |
list |
|
) |
| |
Constructor that initializes the size of the Permutation to n, and takes several cycles (that concerns possibly only few elements) as initialization. For example Permutation(10,{{6,7},{1,0,2}}) initializes the permutation to (2,0,1,3,4,5,7,6,8,9).
- Parameters
-
| n | Total size of the permutation. |
| list | Cycles in the permutation. |
Here just test of validity of the cycle