Class to view a vector of integers as a permutation matrix. More...
#include <PermutationMatrix.h>
Public Types | |
typedef internal::traits < PermutationWrapper < _IndicesType > >::Index | Index |
typedef internal::traits < PermutationWrapper < _IndicesType > >::StorageKind | StorageKind |
Public Member Functions | |
void | addTo (Dest &dst) const |
void | applyThisOnTheLeft (Dest &dst) const |
void | applyThisOnTheRight (Dest &dst) const |
PermutationWrapper < _IndicesType > & | applyTranspositionOnTheLeft (Index i, Index j) |
PermutationWrapper < _IndicesType > & | applyTranspositionOnTheRight (Index i, Index j) |
Index | cols () const |
PermutationWrapper < _IndicesType > & | const_cast_derived () const |
const PermutationWrapper < _IndicesType > & | const_derived () const |
PermutationWrapper < _IndicesType > & | derived () |
const PermutationWrapper < _IndicesType > & | derived () const |
void | evalTo (Dest &dst) const |
IndicesType & | indices () |
const internal::remove_all < typename IndicesType::Nested > ::type & | indices () const |
Transpose< PermutationBase > | inverse () const |
PlainPermutationType | operator* (const PermutationBase< Other > &other) const |
PlainPermutationType | operator* (const Transpose< PermutationBase< Other > > &other) const |
PermutationWrapper (const IndicesType &indices) | |
void | resize (Index size) |
Index | rows () const |
void | setIdentity () |
void | setIdentity (Index size) |
Index | size () const |
void | subTo (Dest &dst) const |
DenseMatrixType | toDenseMatrix () const |
Transpose< PermutationBase > | transpose () const |
Protected Attributes | |
IndicesType::Nested | m_indices |
Class to view a vector of integers as a permutation matrix.
_IndicesType | the type of the vector of integer (can be any compatible expression) |
This class allows to view any vector expression of integers as a permutation matrix.
|
inherited |
|
inherited |
|
inline |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Multiplies *this by the transposition on the left.
|
inlineinherited |
Multiplies *this by the transposition on the right.
This is a fast operation, it only consists in swapping two indices.
|
inlineinherited |
Reimplemented from EigenBase< PermutationWrapper< _IndicesType > >.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inline |
const version of indices().
Reimplemented from PermutationBase< PermutationWrapper< _IndicesType > >.
References PermutationWrapper< _IndicesType >::m_indices.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Resizes to given size.
|
inlineinherited |
Reimplemented from EigenBase< PermutationWrapper< _IndicesType > >.
|
inlineinherited |
Sets *this to be the identity permutation matrix
|
inlineinherited |
Sets *this to be the identity permutation matrix of given size.
|
inlineinherited |
Reimplemented from EigenBase< PermutationWrapper< _IndicesType > >.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
protected |
Referenced by PermutationWrapper< _IndicesType >::indices().