Class to view a vector of integers as a permutation matrix. More...
Inheritance diagram for PermutationWrapper< _IndicesType >: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 |
Friends | |
| PlainPermutationType | operator* (const Transpose< PermutationBase< Other > > &other, const PermutationBase &perm) |
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.
typedef internal::traits<PermutationWrapper< _IndicesType > >::Index Index [inherited] |
typedef internal::traits<PermutationWrapper< _IndicesType > >::StorageKind StorageKind [inherited] |
| PermutationWrapper | ( | const IndicesType & | indices | ) | [inline] |
| void addTo | ( | Dest & | dst | ) | const [inline, inherited] |
| void applyThisOnTheLeft | ( | Dest & | dst | ) | const [inline, inherited] |
| void applyThisOnTheRight | ( | Dest & | dst | ) | const [inline, inherited] |
| PermutationWrapper< _IndicesType > & applyTranspositionOnTheLeft | ( | Index | i, |
| Index | j | ||
| ) | [inline, inherited] |
Multiplies *this by the transposition
on the left.
| PermutationWrapper< _IndicesType > & applyTranspositionOnTheRight | ( | Index | i, |
| Index | j | ||
| ) | [inline, inherited] |
Multiplies *this by the transposition
on the right.
This is a fast operation, it only consists in swapping two indices.
| Index cols | ( | void | ) | const [inline, inherited] |
Reimplemented from EigenBase< PermutationWrapper< _IndicesType > >.
| PermutationWrapper< _IndicesType > & const_cast_derived | ( | ) | const [inline, inherited] |
| const PermutationWrapper< _IndicesType > & const_derived | ( | ) | const [inline, inherited] |
| PermutationWrapper< _IndicesType > & derived | ( | ) | [inline, inherited] |
| const PermutationWrapper< _IndicesType > & derived | ( | ) | const [inline, inherited] |
| void evalTo | ( | Dest & | dst | ) | const [inline, inherited] |
| IndicesType& indices | ( | ) | [inline, inherited] |
| const internal::remove_all<typename IndicesType::Nested>::type& indices | ( | ) | const [inline] |
const version of indices().
Reimplemented from PermutationBase< PermutationWrapper< _IndicesType > >.
| Transpose<PermutationBase> inverse | ( | ) | const [inline, inherited] |
| PlainPermutationType operator* | ( | const PermutationBase< Other > & | other | ) | const [inline, inherited] |
| PlainPermutationType operator* | ( | const Transpose< PermutationBase< Other > > & | other | ) | const [inline, inherited] |
| void resize | ( | Index | size | ) | [inline, inherited] |
Resizes to given size.
| Index rows | ( | void | ) | const [inline, inherited] |
Reimplemented from EigenBase< PermutationWrapper< _IndicesType > >.
| void setIdentity | ( | ) | [inline, inherited] |
Sets *this to be the identity permutation matrix
| void setIdentity | ( | Index | size | ) | [inline, inherited] |
Sets *this to be the identity permutation matrix of given size.
| Index size | ( | ) | const [inline, inherited] |
Reimplemented from EigenBase< PermutationWrapper< _IndicesType > >.
| void subTo | ( | Dest & | dst | ) | const [inline, inherited] |
| DenseMatrixType toDenseMatrix | ( | ) | const [inline, inherited] |
| Transpose<PermutationBase> transpose | ( | ) | const [inline, inherited] |
| PlainPermutationType operator* | ( | const Transpose< PermutationBase< Other > > & | other, |
| const PermutationBase< PermutationWrapper< _IndicesType > > & | perm | ||
| ) | [friend, inherited] |
IndicesType::Nested m_indices [protected] |
1.7.5.1