compbio
|
Represents a sequence of transpositions (row/column interchange) More...
#include <Transpositions.h>
Public Types | |
typedef TranspositionsBase< Transpositions > | Base |
typedef Traits::IndicesType | IndicesType |
typedef IndicesType::Scalar | StorageIndex |
![]() | |
typedef Traits::IndicesType | IndicesType |
typedef IndicesType::Scalar | StorageIndex |
typedef Eigen::Index | Index |
Public Member Functions | |
template<typename OtherDerived > | |
Transpositions (const TranspositionsBase< OtherDerived > &other) | |
Copy constructor. More... | |
Transpositions (const Transpositions &other) | |
Standard copy constructor. More... | |
template<typename Other > | |
Transpositions (const MatrixBase< Other > &indices) | |
Generic constructor from expression of the transposition indices. More... | |
template<typename OtherDerived > | |
Transpositions & | operator= (const TranspositionsBase< OtherDerived > &other) |
Copies the other transpositions into *this . | |
Transpositions & | operator= (const Transpositions &other) |
This is a special case of the templated operator=. More... | |
Transpositions (Index size) | |
Constructs an uninitialized permutation matrix of given size. | |
const IndicesType & | indices () const |
const version of indices(). More... | |
IndicesType & | indices () |
![]() | |
Transpositions< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex > & | derived () |
const Transpositions< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex > & | derived () const |
Transpositions< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex > & | operator= (const TranspositionsBase< OtherDerived > &other) |
Copies the other transpositions into *this . | |
Transpositions< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex > & | operator= (const TranspositionsBase &other) |
This is a special case of the templated operator=. More... | |
Index | size () const |
Index | rows () const |
Index | cols () const |
const StorageIndex & | coeff (Index i) const |
Direct access to the underlying index vector. | |
StorageIndex & | coeffRef (Index i) |
Direct access to the underlying index vector. | |
const StorageIndex & | operator() (Index i) const |
Direct access to the underlying index vector. | |
StorageIndex & | operator() (Index i) |
Direct access to the underlying index vector. | |
const StorageIndex & | operator[] (Index i) const |
Direct access to the underlying index vector. | |
StorageIndex & | operator[] (Index i) |
Direct access to the underlying index vector. | |
const IndicesType & | indices () const |
const version of indices(). More... | |
IndicesType & | indices () |
void | resize (Index newSize) |
Resizes to given size. More... | |
void | setIdentity () |
Sets *this to represents an identity transformation. | |
Transpose< TranspositionsBase > | inverse () const |
Transpose< TranspositionsBase > | transpose () const |
Protected Attributes | |
IndicesType | m_indices |
Represents a sequence of transpositions (row/column interchange)
SizeAtCompileTime | the number of transpositions, or Dynamic |
MaxSizeAtCompileTime | the maximum number of transpositions, or Dynamic. This optional parameter defaults to SizeAtCompileTime. Most of the time, you should not have to specify it. |
This class represents a permutation transformation as a sequence of n transpositions \([T_{n-1} \ldots T_{i} \ldots T_{0}]\). It is internally stored as a vector of integers indices
. Each transposition \( T_{i} \) applied on the left of a matrix ( \( T_{i} M\)) interchanges the rows i
and indices
[i] of the matrix M
. A transposition applied on the right (e.g., \( M T_{i}\)) yields a column interchange.
Compared to the class PermutationMatrix, such a sequence of transpositions is what is computed during a decomposition with pivoting, and it is faster when applying the permutation in-place.
To apply a sequence of transpositions to a matrix, simply use the operator * as in the following example:
In this example, we detect that the matrix appears on both side, and so the transpositions are applied in-place without any temporary or extra copy.
|
inline |
Copy constructor.
|
inline |
Standard copy constructor.
Defined only to prevent a default copy constructor from hiding the other templated constructor
|
inlineexplicit |
Generic constructor from expression of the transposition indices.
|
inline |
const version of indices().
|
inline |
|
inline |
This is a special case of the templated operator=.
Its purpose is to prevent a default operator= from hiding the templated operator=.