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
is a permutation, the corresponding permutation matrix
is such that if
is the canonical basis, we have:
This convention ensures that for any two permutations
, we have:
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.

Public Types | |
| typedef internal::traits < Derived >::StorageKind | StorageKind |
| typedef internal::traits < Derived >::Index | Index |
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. | |
| Index | rows () const |
| Index | cols () const |
| Index | size () const |
| DenseMatrixType | toDenseMatrix () const |
| const IndicesType & | indices () const |
| const version of indices(). | |
| IndicesType & | indices () |
| void | resize (Index size) |
| Resizes to given size. | |
| void | setIdentity () |
| Sets *this to be the identity permutation matrix. | |
| void | setIdentity (Index size) |
| Sets *this to be the identity permutation matrix of given size. | |
| Derived & | applyTranspositionOnTheLeft (Index i, Index j) |
Multiplies *this by the transposition on the left. | |
| Derived & | applyTranspositionOnTheRight (Index i, Index j) |
Multiplies *this by the transposition on the right. | |
| Transpose< PermutationBase > | inverse () const |
| Transpose< PermutationBase > | transpose () const |
| template<typename Other > | |
| PlainPermutationType | operator* (const PermutationBase< Other > &other) const |
| template<typename Other > | |
| PlainPermutationType | operator* (const Transpose< PermutationBase< Other > > &other) const |
| Derived & | derived () |
| const Derived & | derived () const |
| Derived & | const_cast_derived () const |
| const Derived & | const_derived () const |
| template<typename Dest > | |
| void | evalTo (Dest &dst) const |
| template<typename Dest > | |
| void | addTo (Dest &dst) const |
| template<typename Dest > | |
| void | subTo (Dest &dst) const |
| template<typename Dest > | |
| void | applyThisOnTheRight (Dest &dst) const |
| template<typename Dest > | |
| void | applyThisOnTheLeft (Dest &dst) const |
Private Types | |
| typedef internal::traits< Derived > | Traits |
| typedef EigenBase< Derived > | Base |
Friends | |
| template<typename Other > | |
| PlainPermutationType | operator* (const Transpose< PermutationBase< Other > > &other, const PermutationBase &perm) |
typedef EigenBase<Derived> Eigen::PermutationBase< Derived >::Base [private] |
Reimplemented in Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType >, Eigen::Map< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType >, _PacketAccess >, Eigen::PermutationWrapper< _IndicesType >, Eigen::PermutationMatrix< Dynamic >, Eigen::PermutationMatrix< Dynamic, Dynamic >, Eigen::PermutationMatrix< ColsAtCompileTime, MaxColsAtCompileTime >, and Eigen::PermutationMatrix< RowsAtCompileTime, MaxRowsAtCompileTime >.
typedef internal::traits<Derived>::Index Eigen::EigenBase< Derived >::Index [inherited] |
Reimplemented in Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >, Eigen::DenseCoeffsBase< Derived, WriteAccessors >, Eigen::DenseCoeffsBase< Derived, DirectAccessors >, Eigen::DenseCoeffsBase< Derived, DirectWriteAccessors >, Eigen::TriangularBase< Derived >, Eigen::TriangularView< _MatrixType, _Mode >, Eigen::SelfAdjointView< MatrixType, UpLo >, Eigen::internal::BandMatrixBase< Derived >, Eigen::internal::BandMatrix< _Scalar, Rows, Cols, Supers, Subs, Options >, Eigen::internal::BandMatrixWrapper< _CoefficientsType, _Rows, _Cols, _Supers, _Subs, _Options >, Eigen::internal::TridiagonalMatrix< Scalar, Size, Options >, Eigen::HouseholderSequence< VectorsType, CoeffsType, Side >, Eigen::SparseMatrixBase< Derived >, Eigen::SparseSelfAdjointView< MatrixType, UpLo >, Eigen::SparseSymmetricPermutationProduct< MatrixType, UpLo >, Eigen::SkylineMatrixBase< Derived >, Eigen::SkylineMatrixBase< Derived >, Eigen::TriangularBase< TriangularView< _MatrixType, _Mode > >, Eigen::TriangularBase< SelfAdjointView< MatrixType, UpLo > >, Eigen::internal::BandMatrixBase< BandMatrix< RealScalar, Rows, Cols, Supers, Subs, Options > >, Eigen::internal::BandMatrixBase< BandMatrix< _Scalar, Rows, Cols, Supers, Subs, Options > >, Eigen::internal::BandMatrixBase< BandMatrixWrapper< _CoefficientsType, _Rows, _Cols, _Supers, _Subs, _Options > >, Eigen::internal::BandMatrixBase< BandMatrix< Scalar, Rows, Cols, Supers, Subs, Options > >, Eigen::internal::BandMatrix< RealScalar, ColsAtCompileTime, ColsAtCompileTime, 1, 0 >, Eigen::internal::BandMatrix< Scalar, Size, Size, Options &SelfAdjoint?0:1, 1, Options|RowMajor >, Eigen::SparseMatrixBase< CwiseUnaryOp< UnaryOp, MatrixType > >, Eigen::SparseMatrixBase< Transpose< MatrixType > >, Eigen::SparseMatrixBase< SparseDiagonalProduct< Lhs, Rhs > >, Eigen::SparseMatrixBase< CwiseUnaryView< ViewOp, MatrixType > >, Eigen::SparseMatrixBase< SparseInnerVectorSet< DynamicSparseMatrix< _Scalar, _Options >, Size > >, Eigen::SparseMatrixBase< SparseMatrix< _Scalar, _Options, _Index > >, Eigen::SparseMatrixBase< SparseMatrix< Scalar, _Options, _Index > >, Eigen::SparseMatrixBase< SparseInnerVectorSet< SparseMatrix< _Scalar, _Options >, Size > >, Eigen::SparseMatrixBase< SparseDenseOuterProduct< Lhs, Rhs, Tr > >, Eigen::SparseMatrixBase< SparseInnerVectorSet< MatrixType, Size > >, Eigen::SparseMatrixBase< MappedSparseMatrix< _Scalar, _Flags, _Index > >, Eigen::SparseMatrixBase< SparseMatrix< Scalar, _Options, Index > >, Eigen::SparseMatrixBase< SparseSparseProduct< LhsNested, RhsNested > >, Eigen::SparseMatrixBase< SparseTriangularView< MatrixType, Mode > >, Eigen::SparseMatrixBase< SparseVector< _Scalar, _Options, _Index > >, Eigen::SparseMatrixBase< SparseView< MatrixType > >, Eigen::SparseMatrixBase< CwiseBinaryOp< BinaryOp, Lhs, Rhs > >, Eigen::SparseMatrixBase< DynamicSparseMatrix< _Scalar, _Options, _Index > >, Eigen::SkylineMatrixBase< SkylineMatrix< _Scalar, _Options > >, and Eigen::SkylineMatrixBase< SkylineMatrix< _Scalar, _Options > >.
typedef internal::traits<Derived>::StorageKind Eigen::EigenBase< Derived >::StorageKind [inherited] |
Reimplemented in Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >, Eigen::DenseCoeffsBase< Derived, WriteAccessors >, Eigen::TriangularBase< Derived >, Eigen::TriangularView< _MatrixType, _Mode >, Eigen::SparseMatrixBase< Derived >, Eigen::SkylineMatrixBase< Derived >, Eigen::SkylineMatrixBase< Derived >, Eigen::TriangularBase< TriangularView< _MatrixType, _Mode > >, Eigen::TriangularBase< SelfAdjointView< MatrixType, UpLo > >, Eigen::SparseMatrixBase< CwiseUnaryOp< UnaryOp, MatrixType > >, Eigen::SparseMatrixBase< Transpose< MatrixType > >, Eigen::SparseMatrixBase< SparseDiagonalProduct< Lhs, Rhs > >, Eigen::SparseMatrixBase< CwiseUnaryView< ViewOp, MatrixType > >, Eigen::SparseMatrixBase< SparseInnerVectorSet< DynamicSparseMatrix< _Scalar, _Options >, Size > >, Eigen::SparseMatrixBase< SparseMatrix< _Scalar, _Options, _Index > >, Eigen::SparseMatrixBase< SparseMatrix< Scalar, _Options, _Index > >, Eigen::SparseMatrixBase< SparseInnerVectorSet< SparseMatrix< _Scalar, _Options >, Size > >, Eigen::SparseMatrixBase< SparseDenseOuterProduct< Lhs, Rhs, Tr > >, Eigen::SparseMatrixBase< SparseInnerVectorSet< MatrixType, Size > >, Eigen::SparseMatrixBase< MappedSparseMatrix< _Scalar, _Flags, _Index > >, Eigen::SparseMatrixBase< SparseMatrix< Scalar, _Options, Index > >, Eigen::SparseMatrixBase< SparseSparseProduct< LhsNested, RhsNested > >, Eigen::SparseMatrixBase< SparseTriangularView< MatrixType, Mode > >, Eigen::SparseMatrixBase< SparseVector< _Scalar, _Options, _Index > >, Eigen::SparseMatrixBase< SparseView< MatrixType > >, Eigen::SparseMatrixBase< CwiseBinaryOp< BinaryOp, Lhs, Rhs > >, Eigen::SparseMatrixBase< DynamicSparseMatrix< _Scalar, _Options, _Index > >, Eigen::SkylineMatrixBase< SkylineMatrix< _Scalar, _Options > >, and Eigen::SkylineMatrixBase< SkylineMatrix< _Scalar, _Options > >.
typedef internal::traits<Derived> Eigen::PermutationBase< Derived >::Traits [private] |
Reimplemented in Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType >, Eigen::Map< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType >, _PacketAccess >, Eigen::PermutationWrapper< _IndicesType >, Eigen::PermutationMatrix< Dynamic >, Eigen::PermutationMatrix< Dynamic, Dynamic >, Eigen::PermutationMatrix< ColsAtCompileTime, MaxColsAtCompileTime >, and Eigen::PermutationMatrix< RowsAtCompileTime, MaxRowsAtCompileTime >.
| void Eigen::EigenBase< Derived >::addTo | ( | Dest & | dst | ) | const [inline, inherited] |
| void Eigen::EigenBase< Derived >::applyThisOnTheLeft | ( | Dest & | dst | ) | const [inline, inherited] |
Reimplemented in Eigen::HouseholderSequence< VectorsType, CoeffsType, Side >.
| void Eigen::EigenBase< Derived >::applyThisOnTheRight | ( | Dest & | dst | ) | const [inline, inherited] |
Reimplemented in Eigen::HouseholderSequence< VectorsType, CoeffsType, Side >.
| Derived& Eigen::PermutationBase< Derived >::applyTranspositionOnTheLeft | ( | Index | i, |
| Index | j | ||
| ) | [inline] |
| Derived& Eigen::PermutationBase< Derived >::applyTranspositionOnTheRight | ( | Index | i, |
| Index | j | ||
| ) | [inline] |
| Index Eigen::PermutationBase< Derived >::cols | ( | void | ) | const [inline] |
Reimplemented from Eigen::EigenBase< Derived >.
| Derived& Eigen::EigenBase< Derived >::const_cast_derived | ( | ) | const [inline, inherited] |
| const Derived& Eigen::EigenBase< Derived >::const_derived | ( | ) | const [inline, inherited] |
| const Derived& Eigen::EigenBase< Derived >::derived | ( | ) | const [inline, inherited] |
| Derived& Eigen::EigenBase< Derived >::derived | ( | ) | [inline, inherited] |
Definition at line 49 of file Core.
Referenced by mrpt::math::loadVector().
| void Eigen::EigenBase< Derived >::evalTo | ( | Dest & | dst | ) | const [inline, inherited] |
Reimplemented in Eigen::internal::BandMatrixBase< Derived >, Eigen::internal::BandMatrixBase< BandMatrix< RealScalar, Rows, Cols, Supers, Subs, Options > >, Eigen::internal::BandMatrixBase< BandMatrix< _Scalar, Rows, Cols, Supers, Subs, Options > >, Eigen::internal::BandMatrixBase< BandMatrixWrapper< _CoefficientsType, _Rows, _Cols, _Supers, _Subs, _Options > >, and Eigen::internal::BandMatrixBase< BandMatrix< Scalar, Rows, Cols, Supers, Subs, Options > >.
| IndicesType& Eigen::PermutationBase< Derived >::indices | ( | ) | [inline] |
Reimplemented in Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType >, Eigen::Map< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType >, _PacketAccess >, Eigen::PermutationMatrix< Dynamic >, Eigen::PermutationMatrix< Dynamic, Dynamic >, Eigen::PermutationMatrix< ColsAtCompileTime, MaxColsAtCompileTime >, and Eigen::PermutationMatrix< RowsAtCompileTime, MaxRowsAtCompileTime >.
| const IndicesType& Eigen::PermutationBase< Derived >::indices | ( | ) | const [inline] |
const version of indices().
Reimplemented in Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType >, Eigen::Map< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType >, _PacketAccess >, Eigen::PermutationWrapper< _IndicesType >, Eigen::PermutationMatrix< Dynamic >, Eigen::PermutationMatrix< Dynamic, Dynamic >, Eigen::PermutationMatrix< ColsAtCompileTime, MaxColsAtCompileTime >, and Eigen::PermutationMatrix< RowsAtCompileTime, MaxRowsAtCompileTime >.
| Transpose<PermutationBase> Eigen::PermutationBase< Derived >::inverse | ( | ) | const [inline] |
| PlainPermutationType Eigen::PermutationBase< Derived >::operator* | ( | const Transpose< PermutationBase< Other > > & | other | ) | const [inline] |
| PlainPermutationType Eigen::PermutationBase< Derived >::operator* | ( | const PermutationBase< Other > & | other | ) | const [inline] |
| Derived& Eigen::PermutationBase< Derived >::operator= | ( | const PermutationBase< OtherDerived > & | other | ) | [inline] |
| Derived& Eigen::PermutationBase< Derived >::operator= | ( | const TranspositionsBase< OtherDerived > & | tr | ) | [inline] |
Assignment from the Transpositions tr.
| void Eigen::PermutationBase< Derived >::resize | ( | Index | size | ) | [inline] |
| Index Eigen::PermutationBase< Derived >::rows | ( | void | ) | const [inline] |
Reimplemented from Eigen::EigenBase< Derived >.
| void Eigen::PermutationBase< Derived >::setIdentity | ( | ) | [inline] |
| void Eigen::PermutationBase< Derived >::setIdentity | ( | Index | size | ) | [inline] |
| Index Eigen::PermutationBase< Derived >::size | ( | ) | const [inline] |
Reimplemented from Eigen::EigenBase< Derived >.
| void Eigen::EigenBase< Derived >::subTo | ( | Dest & | dst | ) | const [inline, inherited] |
| DenseMatrixType Eigen::PermutationBase< Derived >::toDenseMatrix | ( | ) | const [inline] |
| Transpose<PermutationBase> Eigen::PermutationBase< Derived >::transpose | ( | ) | const [inline] |
| PlainPermutationType operator* | ( | const Transpose< PermutationBase< Other > > & | other, |
| const PermutationBase< Derived > & | perm | ||
| ) | [friend] |
| Page generated by Doxygen 1.7.4 for MRPT 0.9.5 SVN:2717 at Sun Oct 16 16:08:03 PDT 2011 | Hosted on: |