Base class for permutations. More...
Public Member Functions | |
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 |
Public Member Functions inherited from Eigen::EigenBase< Derived > | |
template<typename Dest > | |
void | addTo (Dest &dst) const |
template<typename Dest > | |
void | applyThisOnTheLeft (Dest &dst) const |
template<typename Dest > | |
void | applyThisOnTheRight (Dest &dst) const |
EIGEN_CONSTEXPR Index | cols () const EIGEN_NOEXCEPT |
Derived & | const_cast_derived () const |
const Derived & | const_derived () const |
Derived & | derived () |
const Derived & | derived () const |
template<typename Dest > | |
void | evalTo (Dest &dst) const |
EIGEN_CONSTEXPR Index | rows () const EIGEN_NOEXCEPT |
EIGEN_CONSTEXPR Index | size () const EIGEN_NOEXCEPT |
template<typename Dest > | |
void | subTo (Dest &dst) const |
Private Types | |
typedef EigenBase< Derived > | Base |
typedef internal::traits< Derived > | Traits |
Additional Inherited Members | |
Public Types inherited from Eigen::EigenBase< Derived > | |
typedef Eigen::Index | Index |
The interface type of indices. More... | |
typedef internal::traits< Derived >::StorageKind | StorageKind |
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.
Definition at line 48 of file PermutationMatrix.h.
|
private |
Definition at line 51 of file PermutationMatrix.h.
|
private |
Definition at line 50 of file PermutationMatrix.h.
|
inline |
Multiplies *this by the transposition \((ij)\) on the left.
Definition at line 157 of file PermutationMatrix.h.
|
inline |
Multiplies *this by the transposition \((ij)\) on the right.
This is a fast operation, it only consists in swapping two indices.
Definition at line 176 of file PermutationMatrix.h.
|
inline |
Definition at line 96 of file PermutationMatrix.h.
|
inline |
This function is O(n
) procedure allocating a buffer of n
booleans.
Definition at line 244 of file PermutationMatrix.h.
|
inline |
Definition at line 123 of file PermutationMatrix.h.
|
inline |
|
inline |
Definition at line 187 of file PermutationMatrix.h.
|
inline |
Definition at line 229 of file PermutationMatrix.h.
|
inline |
Definition at line 221 of file PermutationMatrix.h.
|
inline |
Copies the other permutation into *this
Definition at line 76 of file PermutationMatrix.h.
|
inline |
Assignment from the Transpositions tr
Definition at line 84 of file PermutationMatrix.h.
|
inline |
Resizes to given size.
Definition at line 127 of file PermutationMatrix.h.
|
inline |
Definition at line 93 of file PermutationMatrix.h.
|
inline |
|
inline |
Sets *this to be the identity permutation matrix of given size.
Definition at line 142 of file PermutationMatrix.h.
|
inline |
Definition at line 99 of file PermutationMatrix.h.
|
inline |
|
inline |
Definition at line 193 of file PermutationMatrix.h.