Permutation matrix. More...
#include <PermutationMatrix.h>
Inheritance diagram for PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType >:Public Member Functions | |
| PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType > & | applyTranspositionOnTheLeft (Index i, Index j) |
| PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType > & | applyTranspositionOnTheRight (Index i, Index j) |
| Index | cols () const |
| Derived & | derived () |
| const Derived & | derived () const |
| const IndicesType & | indices () const |
| IndicesType & | indices () |
| Transpose< PermutationBase > | inverse () const |
| PlainPermutationType | operator * (const PermutationBase< Other > &other) const |
| PlainPermutationType | operator * (const Transpose< PermutationBase< Other > > &other) const |
| template<typename Other > | |
| PermutationMatrix & | operator= (const PermutationBase< Other > &other) |
| template<typename Other > | |
| PermutationMatrix & | operator= (const TranspositionsBase< Other > &tr) |
| PermutationMatrix (int size) | |
| template<typename OtherDerived > | |
| PermutationMatrix (const PermutationBase< OtherDerived > &other) | |
| template<typename Other > | |
| PermutationMatrix (const MatrixBase< Other > &indices) | |
| template<typename Other > | |
| PermutationMatrix (const TranspositionsBase< Other > &tr) | |
| void | resize (Index size) |
| Index | rows () const |
| void | setIdentity () |
| void | setIdentity (Index size) |
| Index | size () const |
| DenseMatrixType | toDenseMatrix () const |
| Transpose< PermutationBase > | transpose () const |
Permutation matrix.
| SizeAtCompileTime | the number of rows/cols, or Dynamic |
| MaxSizeAtCompileTime | the maximum number of rows/cols, or Dynamic. This optional parameter defaults to SizeAtCompileTime. Most of the time, you should not have to specify it. |
| IndexType | the interger type of the indices |
This class represents a permutation matrix, internally stored as a vector of integers.
|
inline |
Constructs an uninitialized permutation matrix of given size.
|
inline |
Copy constructor.
|
inlineexplicit |
Generic constructor from expression of the indices. The indices array has the meaning that the permutations sends each integer i to indices[i].
|
inlineexplicit |
Convert the Transpositions tr to a permutation matrix
|
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 |
|
inlineinherited |
Referenced by MatrixBase< DiagonalProduct< MatrixType, DiagonalType, ProductOrder > >::applyOnTheLeft(), MatrixBase< DiagonalProduct< MatrixType, DiagonalType, ProductOrder > >::applyOnTheRight(), PermutationBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType > >::applyTranspositionOnTheLeft(), PermutationBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType > >::applyTranspositionOnTheRight(), SparseMatrixBase< CwiseBinaryOp< BinaryOp, Lhs, Rhs > >::binaryExpr(), EigenBase< SparseSymmetricPermutationProduct< MatrixType, UpLo > >::cols(), SparseMatrixBase< CwiseBinaryOp< BinaryOp, Lhs, Rhs > >::imag(), PermutationBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType > >::indices(), PermutationBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType > >::inverse(), RotationBase< Derived, 3 >::operator *(), Translation< _Scalar, _Dim >::operator *(), PermutationBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType > >::operator *(), SparseMatrixBase< CwiseBinaryOp< BinaryOp, Lhs, Rhs > >::operator *(), Transform< _Scalar, _Dim, _Mode, _Options >::operator *(), MatrixBase< DiagonalProduct< MatrixType, DiagonalType, ProductOrder > >::operator *=(), PermutationBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType > >::operator=(), DenseBase< Derived >::operator=(), Transform< _Scalar, _Dim, _Mode, _Options >::operator=(), PlainObjectBase< Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >::operator=(), PlainObjectBase< Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >::PlainObjectBase(), PlainObjectBase< Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >::resizeLike(), EigenBase< SparseSymmetricPermutationProduct< MatrixType, UpLo > >::rows(), SimplicialCholeskyBase< SimplicialLDLT< _MatrixType, _UpLo > >::solve(), IterativeSolverBase< ConjugateGradient< _MatrixType, _UpLo, _Preconditioner > >::solve(), CholmodBase< _MatrixType, _UpLo, CholmodSimplicialLLT< _MatrixType, _UpLo > >::solve(), SparseMatrix< Scalar, RowMajor >::SparseMatrix(), PermutationBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType > >::toDenseMatrix(), Transform< _Scalar, _Dim, _Mode, _Options >::Transform(), PermutationBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType > >::transpose(), and SparseMatrixBase< CwiseBinaryOp< BinaryOp, Lhs, Rhs > >::unaryExpr().
|
inlineinherited |
|
inline |
const version of indices().
|
inline |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inline |
Copies the other permutation into *this
|
inline |
Assignment from the Transpositions tr
|
inlineinherited |
Resizes to given size.
|
inlineinherited |
|
inlineinherited |
Sets *this to be the identity permutation matrix
|
inlineinherited |
Sets *this to be the identity permutation matrix of given size.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |