19 #ifndef __MELEMENTARYPERMUTATION_H_095019_ 20 #define __MELEMENTARYPERMUTATION_H_095019_ 22 #include "../Utilities.h" 25 template <
unsigned int tp_size>
33 template <
unsigned int tp_size>
36 template <
unsigned int s>
37 friend std::ostream& operator<<(std::ostream&, MelementaryPermutation<s>);
57 unsigned int getA()
const;
61 unsigned int getB()
const;
66 unsigned int image(
const unsigned int k)
const override;
72 template <
unsigned int tp_size>
78 template <
unsigned int tp_size>
86 template <
unsigned int s>
87 std::ostream& operator<<(std::ostream& stream, MelementaryPermutation<s> perm)
89 stream<<perm.getA()<<
" <--> "<<perm.getB();
95 template <
unsigned int tp_size>
100 if (
getA() > tp_size or
getB() > tp_size)
106 template <
unsigned int tp_size>
const unsigned int data_elA
Definition: MelementaryPermutation.h:41
const unsigned int data_elB
Definition: MelementaryPermutation.h:43
Definition: SNexceptions.cpp:201
A permutation is a bijection of a finite subset of N.
Definition: MgenericPermutation.h:48
unsigned int image(const unsigned int k) const override
return by value the image of 'k' by the permutation.
Definition: MelementaryPermutation.h:107
unsigned int getA() const
Return the first of the two elements that are permuted.
Definition: MelementaryPermutation.h:73
Definition: MelementaryPermutation.h:34
unsigned int getB() const
Return the second of the two elements that are permuted.
Definition: MelementaryPermutation.h:79
Definition: SNexceptions.cpp:177
This class represents a permutation (not a matrix).
Definition: MelementaryPermutation.h:26
MelementaryPermutation(const unsigned int A, const unsigned int B)
Definition: MelementaryPermutation.h:96