Base class for permutations.
| Derived | the derived class | 
This class is the base class for all expressions representing a permutation matrix, internally stored as a vector of integers. The convention followed here is that if \( \sigma \) is a permutation, the corresponding permutation matrix \( P_\sigma \) is such that if \( (e_1,\ldots,e_p) \) is the canonical basis, we have:
\[ P_\sigma(e_i) = e_{\sigma(i)}. \]
This convention ensures that for any two permutations \( \sigma, \tau \), we have:
\[ P_{\sigma\circ\tau} = P_\sigma P_\tau. \]
Permutation matrices are square and invertible.
Notice that in addition to the member functions and operators listed here, there also are non-member operator* to multiply any kind of permutation object with any kind of matrix expression (MatrixBase) on either side.
| Derived & | applyTranspositionOnTheLeft (Index i, Index j) | 
| Derived & | applyTranspositionOnTheRight (Index i, Index j) | 
| Index | cols () const | 
| Index | determinant () const | 
| IndicesType & | indices () | 
| const IndicesType & | indices () const | 
| InverseReturnType | inverse () const | 
| template<typename Other > | |
| PlainPermutationType | operator* (const InverseImpl< Other, PermutationStorage > &other) const | 
| template<typename Other > | |
| PlainPermutationType | operator* (const PermutationBase< Other > &other) const | 
| template<typename OtherDerived > | |
| Derived & | operator= (const PermutationBase< OtherDerived > &other) | 
| template<typename OtherDerived > | |
| Derived & | operator= (const TranspositionsBase< OtherDerived > &tr) | 
| void | resize (Index newSize) | 
| Index | rows () const | 
| void | setIdentity () | 
| void | setIdentity (Index newSize) | 
| Index | size () const | 
| DenseMatrixType | toDenseMatrix () const | 
| InverseReturnType | transpose () const | 
|  | |
| EIGEN_CONSTEXPR Index | cols () const EIGEN_NOEXCEPT | 
| Derived & | derived () | 
| const Derived & | derived () const | 
| EIGEN_CONSTEXPR Index | rows () const EIGEN_NOEXCEPT | 
| EIGEN_CONSTEXPR Index | size () const EIGEN_NOEXCEPT | 
|  | |
| typedef Eigen::Index | Index | 
| The interface type of indices. More... | |
| 
 | inline | 
Multiplies *this by the transposition \((ij)\) on the left.
| 
 | inline | 
Multiplies *this by the transposition \((ij)\) on the right.
This is a fast operation, it only consists in swapping two indices.
| 
 | inline | 
| 
 | inline | 
This function is O(n) procedure allocating a buffer of n booleans. 
| 
 | inline | 
| 
 | inline | 
const version of indices().
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
Copies the other permutation into *this
| 
 | inline | 
Assignment from the Transpositions tr
| 
 | inline | 
Resizes to given size.
| 
 | inline | 
| 
 | inline | 
Sets *this to be the identity permutation matrix
| 
 | inline | 
Sets *this to be the identity permutation matrix of given size.
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
    © Eigen.
Licensed under the MPL2 License.
    https://eigen.tuxfamily.org/dox/classEigen_1_1PermutationBase.html