|
Medial Code Documentation
|
Base class for permutations. More...
#include <PermutationMatrix.h>
Public Types | |
| enum | { Flags = Traits::Flags , RowsAtCompileTime = Traits::RowsAtCompileTime , ColsAtCompileTime = Traits::ColsAtCompileTime , MaxRowsAtCompileTime = Traits::MaxRowsAtCompileTime , MaxColsAtCompileTime = Traits::MaxColsAtCompileTime } |
| typedef Traits::IndicesType | IndicesType |
| typedef Traits::StorageIndex | StorageIndex |
| typedef Matrix< StorageIndex, RowsAtCompileTime, ColsAtCompileTime, 0, MaxRowsAtCompileTime, MaxColsAtCompileTime > | DenseMatrixType |
| typedef PermutationMatrix< IndicesType::SizeAtCompileTime, IndicesType::MaxSizeAtCompileTime, StorageIndex > | PlainPermutationType |
| typedef PlainPermutationType | PlainObject |
| typedef Inverse< Derived > | InverseReturnType |
| typedef void | Scalar |
Public Types inherited from Eigen::EigenBase< Derived > | |
| typedef Eigen::Index | Index |
| The interface type of indices. | |
| typedef internal::traits< Derived >::StorageKind | StorageKind |
Public Member Functions | |
| template<typename OtherDerived > | |
| Derived & | operator= (const PermutationBase< OtherDerived > &other) |
| Copies the other permutation into *this. | |
| template<typename OtherDerived > | |
| Derived & | operator= (const TranspositionsBase< OtherDerived > &tr) |
| Assignment from the Transpositions tr. | |
| EIGEN_DEVICE_FUNC Index | rows () const |
| EIGEN_DEVICE_FUNC Index | cols () const |
| EIGEN_DEVICE_FUNC Index | size () const |
| template<typename DenseDerived > | |
| void | evalTo (MatrixBase< DenseDerived > &other) const |
| DenseMatrixType | toDenseMatrix () const |
| const IndicesType & | indices () const |
| const version of indices(). | |
| IndicesType & | indices () |
| void | resize (Index newSize) |
| Resizes to given size. | |
| void | setIdentity () |
| Sets *this to be the identity permutation matrix. | |
| void | setIdentity (Index newSize) |
| Sets *this to be the identity permutation matrix of given size. | |
| Derived & | applyTranspositionOnTheLeft (Index i, Index j) |
Multiplies *this by the transposition ![]() | |
| Derived & | applyTranspositionOnTheRight (Index i, Index j) |
Multiplies *this by the transposition ![]() | |
| InverseReturnType | inverse () const |
| InverseReturnType | transpose () const |
| template<typename Other > | |
| PlainPermutationType | operator* (const PermutationBase< Other > &other) const |
| template<typename Other > | |
| PlainPermutationType | operator* (const InverseImpl< Other, PermutationStorage > &other) const |
| Index | determinant () const |
| EIGEN_DEVICE_FUNC Derived & | derived () |
| EIGEN_DEVICE_FUNC const Derived & | derived () const |
Public Member Functions inherited from Eigen::EigenBase< Derived > | |
| EIGEN_DEVICE_FUNC Derived & | derived () |
| EIGEN_DEVICE_FUNC const Derived & | derived () const |
| EIGEN_DEVICE_FUNC Derived & | const_cast_derived () const |
| EIGEN_DEVICE_FUNC const Derived & | const_derived () const |
| EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index | rows () const EIGEN_NOEXCEPT |
| EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index | cols () const EIGEN_NOEXCEPT |
| EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index | size () const EIGEN_NOEXCEPT |
| template<typename Dest > | |
| EIGEN_DEVICE_FUNC void | evalTo (Dest &dst) const |
| template<typename Dest > | |
| EIGEN_DEVICE_FUNC void | addTo (Dest &dst) const |
| template<typename Dest > | |
| EIGEN_DEVICE_FUNC void | subTo (Dest &dst) const |
| template<typename Dest > | |
| EIGEN_DEVICE_FUNC void | applyThisOnTheRight (Dest &dst) const |
| template<typename Dest > | |
| EIGEN_DEVICE_FUNC void | applyThisOnTheLeft (Dest &dst) const |
Protected Member Functions | |
| template<typename OtherDerived > | |
| void | assignTranspose (const PermutationBase< OtherDerived > &other) |
| template<typename Lhs , typename Rhs > | |
| void | assignProduct (const Lhs &lhs, const Rhs &rhs) |
Friends | |
| template<typename Other > | |
| PlainPermutationType | operator* (const InverseImpl< Other, PermutationStorage > &other, const PermutationBase &perm) |
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 


![\[ P_\sigma(e_i) = e_{\sigma(i)}. \]](form_23.png)
This convention ensures that for any two permutations 
![\[ P_{\sigma\circ\tau} = P_\sigma P_\tau. \]](form_25.png)
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.
|
inline |
Multiplies *this by the transposition 
|
inline |
Multiplies *this by the transposition 
This is a fast operation, it only consists in swapping two indices.
|
inline |
|
inline |
|
inline |
|
inline |
This function is O(n) procedure allocating a buffer of n booleans.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
friend |