Represents a sequence of transpositions (row/column interchange) More...
#include <Transpositions.h>

| Public Types | |
| typedef TranspositionsBase< Transpositions > | Base | 
| typedef IndicesType::Scalar | Index | 
| typedef Traits::IndicesType | IndicesType | 
|  Public Types inherited from Eigen::TranspositionsBase< Transpositions< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType > > | |
| typedef IndicesType::Scalar | Index | 
| typedef Traits::IndicesType | IndicesType | 
| Public Member Functions | |
| const IndicesType & | indices () const | 
| IndicesType & | indices () | 
| template<typename OtherDerived > | |
| Transpositions & | operator= (const TranspositionsBase< OtherDerived > &other) | 
| Transpositions & | operator= (const Transpositions &other) | 
| Transpositions () | |
| template<typename OtherDerived > | |
| Transpositions (const TranspositionsBase< OtherDerived > &other) | |
| Transpositions (const Transpositions &other) | |
| template<typename Other > | |
| Transpositions (const MatrixBase< Other > &a_indices) | |
| Transpositions (Index size) | |
|  Public Member Functions inherited from Eigen::TranspositionsBase< Transpositions< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType > > | |
| const Index & | coeff (Index i) const | 
| Index & | coeffRef (Index i) | 
| Transpositions< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType > & | derived () | 
| const Transpositions< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType > & | derived () const | 
| const IndicesType & | indices () const | 
| IndicesType & | indices () | 
| Transpose< TranspositionsBase > | inverse () const | 
| const Index & | operator() (Index i) const | 
| Index & | operator() (Index i) | 
| Transpositions< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType > & | operator= (const TranspositionsBase< OtherDerived > &other) | 
| Transpositions< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType > & | operator= (const TranspositionsBase &other) | 
| const Index & | operator[] (Index i) const | 
| Index & | operator[] (Index i) | 
| void | resize (int newSize) | 
| void | setIdentity () | 
| Index | size () const | 
| Transpose< TranspositionsBase > | transpose () const | 
| Protected Attributes | |
| IndicesType | m_indices | 
| Private Types | |
| typedef internal::traits< Transpositions > | Traits | 
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}]$](form_30.png) . It is internally stored as a vector of integers
. It is internally stored as a vector of integers indices. Each transposition  applied on the left of a matrix (
 applied on the left of a matrix (  ) interchanges the rows
) interchanges the rows i and indices[i] of the matrix M. A transposition applied on the right (e.g.,  ) yields a column interchange.
) 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.
Definition at line 156 of file Transpositions.h.
| typedef TranspositionsBase<Transpositions> Eigen::Transpositions< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType >::Base | 
Definition at line 161 of file Transpositions.h.
| typedef IndicesType::Scalar Eigen::Transpositions< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType >::Index | 
Definition at line 163 of file Transpositions.h.
| typedef Traits::IndicesType Eigen::Transpositions< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType >::IndicesType | 
Definition at line 162 of file Transpositions.h.
| 
 | private | 
Definition at line 158 of file Transpositions.h.
| 
 | inline | 
Definition at line 165 of file Transpositions.h.
| 
 | inline | 
Copy constructor.
Definition at line 169 of file Transpositions.h.
| 
 | inline | 
Standard copy constructor. Defined only to prevent a default copy constructor from hiding the other templated constructor
Definition at line 175 of file Transpositions.h.
| 
 | inlineexplicit | 
Generic constructor from expression of the transposition indices.
Definition at line 180 of file Transpositions.h.
| 
 | inline | 
Constructs an uninitialized permutation matrix of given size.
Definition at line 203 of file Transpositions.h.
| 
 | inline | 
const version of indices().
Definition at line 207 of file Transpositions.h.
| 
 | inline | 
Definition at line 209 of file Transpositions.h.
| 
 | inline | 
Copies the other transpositions into *this 
Definition at line 185 of file Transpositions.h.
| 
 | inline | 
This is a special case of the templated operator=. Its purpose is to prevent a default operator= from hiding the templated operator=.
Definition at line 194 of file Transpositions.h.
| 
 | protected | 
Definition at line 213 of file Transpositions.h.