template<int SizeAtCompileTime, int MaxSizeAtCompileTime, typename IndexType>
class Eigen::Transpositions< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType >
Represents a sequence of transpositions (row/column interchange)
- Parameters
-
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
. It is internally stored as a vector of integers indices
. Each transposition
applied on the left of a matrix (
) interchanges the rows i
and indices
[i] of the matrix M
. A transposition applied on the right (e.g.,
) 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:
* Transpositions tr;
* mat = tr * mat;
*
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.
- See Also
- class PermutationMatrix
Inherits TranspositionsBase< Derived >.
|
const Index & | coeff (Index i) const |
|
Index & | coeffRef (Index i) |
|
const IndicesType & | indices () const |
|
IndicesType & | indices () |
|
Transpose< TranspositionsBase > | inverse () const |
|
const Index & | operator() (Index i) const |
|
Index & | operator() (Index i) |
|
template<typename OtherDerived > |
Transpositions & | operator= (const TranspositionsBase< OtherDerived > &other) |
|
const Index & | operator[] (Index i) const |
|
Index & | operator[] (Index i) |
|
void | resize (int newSize) |
|
void | setIdentity () |
|
Index | size () const |
|
Transpose< TranspositionsBase > | transpose () const |
|
template<typename OtherDerived > |
| Transpositions (const TranspositionsBase< OtherDerived > &other) |
|
template<typename Other > |
| Transpositions (const MatrixBase< Other > &a_indices) |
|
| Transpositions (Index size) |
|