![]() |
Prusa Slicer 2.6.0
|
Represents a sequence of transpositions (row/column interchange) More...
#include <src/eigen/Eigen/src/Core/Transpositions.h>
Inheritance diagram for Eigen::Transpositions< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex >:
Collaboration diagram for Eigen::Transpositions< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex >:Public Types | |
| typedef TranspositionsBase< Transpositions > | Base |
| typedef Traits::IndicesType | IndicesType |
| typedef IndicesType::Scalar | StorageIndex |
| typedef Eigen::Index | Index |
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 indices. Each transposition i and indices[i] of the matrix M. A transposition applied on the right (e.g.,
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.
| typedef TranspositionsBase<Transpositions> Eigen::Transpositions< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex >::Base |
|
inherited |
| typedef Traits::IndicesType Eigen::Transpositions< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex >::IndicesType |
| typedef IndicesType::Scalar Eigen::Transpositions< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex >::StorageIndex |
|
private |
|
inline |
|
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 |
Constructs an uninitialized permutation matrix of given size.
|
inlineinherited |
Direct access to the underlying index vector
|
inlineinherited |
Direct access to the underlying index vector
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inline |
References Eigen::Transpositions< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex >::m_indices.
|
inline |
const version of indices().
References Eigen::Transpositions< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex >::m_indices.
|
inlineinherited |
|
inlineinherited |
Direct access to the underlying index vector
|
inlineinherited |
Direct access to the underlying index vector
|
inline |
This is a special case of the templated operator=. Its purpose is to prevent a default operator= from hiding the templated operator=.
References Eigen::Transpositions< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex >::m_indices.
|
inline |
Copies the other transpositions into *this
References Eigen::TranspositionsBase< Derived >::operator=().
Here is the call graph for this function:
|
inlineinherited |
Direct access to the underlying index vector
|
inlineinherited |
Direct access to the underlying index vector
|
inlineinherited |
Resizes to given size.
|
inlineinherited |
|
inlineinherited |
Sets *this to represents an identity transformation
|
inlineinherited |
|
inlineinherited |
|
protected |