![]() |
Prusa Slicer 2.6.0
|
Base class for permutations. More...
#include <src/eigen/Eigen/src/Core/PermutationMatrix.h>
Inheritance diagram for Eigen::PermutationBase< Derived >:
Collaboration diagram for Eigen::PermutationBase< Derived >:Public Types | |
| enum | { Flags = Traits::Flags , RowsAtCompileTime = Traits::RowsAtCompileTime , ColsAtCompileTime = Traits::ColsAtCompileTime , MaxRowsAtCompileTime = Traits::MaxRowsAtCompileTime , MaxColsAtCompileTime = Traits::MaxColsAtCompileTime } |
| typedef Traits::IndicesType | IndicesType |
| typedef Traits::StorageIndex | StorageIndex |
| typedef Matrix< StorageIndex, RowsAtCompileTime, ColsAtCompileTime, 0, MaxRowsAtCompileTime, MaxColsAtCompileTime > | DenseMatrixType |
| typedef PermutationMatrix< IndicesType::SizeAtCompileTime, IndicesType::MaxSizeAtCompileTime, StorageIndex > | PlainPermutationType |
| typedef PlainPermutationType | PlainObject |
| typedef Inverse< Derived > | InverseReturnType |
| typedef void | Scalar |
| typedef Eigen::Index | Index |
| The interface type of indices. | |
| typedef internal::traits< Derived >::StorageKind | StorageKind |
Public Member Functions | |
| template<typename OtherDerived > | |
| Derived & | operator= (const PermutationBase< OtherDerived > &other) |
| template<typename OtherDerived > | |
| Derived & | operator= (const TranspositionsBase< OtherDerived > &tr) |
| Derived & | operator= (const PermutationBase &other) |
| Index | rows () const |
| Index | cols () const |
| Index | size () const |
| template<typename DenseDerived > | |
| void | evalTo (MatrixBase< DenseDerived > &other) const |
| DenseMatrixType | toDenseMatrix () const |
| const IndicesType & | indices () const |
| IndicesType & | indices () |
| void | resize (Index newSize) |
| void | setIdentity () |
| void | setIdentity (Index newSize) |
| Derived & | applyTranspositionOnTheLeft (Index i, Index j) |
| Derived & | applyTranspositionOnTheRight (Index i, Index j) |
| InverseReturnType | inverse () const |
| InverseReturnType | transpose () const |
| template<typename Other > | |
| PlainPermutationType | operator* (const PermutationBase< Other > &other) const |
| template<typename Other > | |
| PlainPermutationType | operator* (const InverseImpl< Other, PermutationStorage > &other) const |
| Index | determinant () const |
| EIGEN_DEVICE_FUNC Derived & | derived () |
| EIGEN_DEVICE_FUNC const Derived & | derived () const |
| EIGEN_DEVICE_FUNC Derived & | const_cast_derived () const |
| EIGEN_DEVICE_FUNC const Derived & | const_derived () const |
| template<typename Dest > | |
| EIGEN_DEVICE_FUNC void | evalTo (Dest &dst) const |
| template<typename Dest > | |
| EIGEN_DEVICE_FUNC void | addTo (Dest &dst) const |
| template<typename Dest > | |
| EIGEN_DEVICE_FUNC void | subTo (Dest &dst) const |
| template<typename Dest > | |
| EIGEN_DEVICE_FUNC void | applyThisOnTheRight (Dest &dst) const |
| template<typename Dest > | |
| EIGEN_DEVICE_FUNC void | applyThisOnTheLeft (Dest &dst) const |
Protected Member Functions | |
| template<typename OtherDerived > | |
| void | assignTranspose (const PermutationBase< OtherDerived > &other) |
| template<typename Lhs , typename Rhs > | |
| void | assignProduct (const Lhs &lhs, const Rhs &rhs) |
Private Types | |
| typedef internal::traits< Derived > | Traits |
| typedef EigenBase< Derived > | Base |
Friends | |
| template<typename Other > | |
| PlainPermutationType | operator* (const InverseImpl< Other, PermutationStorage > &other, const PermutationBase &perm) |
Base class for permutations.
| Derived | the derived class |
This class is the base class for all expressions representing a permutation matrix, internally stored as a vector of integers. The convention followed here is that if
This convention ensures that for any two permutations
Permutation matrices are square and invertible.
Notice that in addition to the member functions and operators listed here, there also are non-member operator* to multiply any kind of permutation object with any kind of matrix expression (MatrixBase) on either side.
|
private |
| typedef Matrix<StorageIndex,RowsAtCompileTime,ColsAtCompileTime,0,MaxRowsAtCompileTime,MaxColsAtCompileTime> Eigen::PermutationBase< Derived >::DenseMatrixType |
|
inherited |
The interface type of indices.
To change this, #define the preprocessor symbol EIGEN_DEFAULT_DENSE_INDEX_TYPE.
| typedef Traits::IndicesType Eigen::PermutationBase< Derived >::IndicesType |
| typedef Inverse<Derived> Eigen::PermutationBase< Derived >::InverseReturnType |
| typedef PlainPermutationType Eigen::PermutationBase< Derived >::PlainObject |
| typedef PermutationMatrix<IndicesType::SizeAtCompileTime,IndicesType::MaxSizeAtCompileTime,StorageIndex> Eigen::PermutationBase< Derived >::PlainPermutationType |
| typedef void Eigen::PermutationBase< Derived >::Scalar |
| typedef Traits::StorageIndex Eigen::PermutationBase< Derived >::StorageIndex |
|
inherited |
|
private |
| anonymous enum |
| Enumerator | |
|---|---|
| Flags | |
| RowsAtCompileTime | |
| ColsAtCompileTime | |
| MaxRowsAtCompileTime | |
| MaxColsAtCompileTime | |
|
inlineinherited |
|
inlineinherited |
References Eigen::EigenBase< Derived >::derived().
Here is the call graph for this function:
|
inlineinherited |
References Eigen::EigenBase< Derived >::derived().
Here is the call graph for this function:
|
inline |
Multiplies *this by the transposition
References Eigen::PermutationBase< Derived >::derived(), eigen_assert, Eigen::PermutationBase< Derived >::indices(), and Eigen::PermutationBase< Derived >::size().
Here is the call graph for this function:
|
inline |
Multiplies *this by the transposition
This is a fast operation, it only consists in swapping two indices.
References Eigen::PermutationBase< Derived >::derived(), eigen_assert, Eigen::PermutationBase< Derived >::indices(), and Eigen::PermutationBase< Derived >::size().
Referenced by Eigen::PermutationBase< Derived >::operator=().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprotected |
References eigen_assert, Eigen::PermutationBase< Derived >::indices(), and Eigen::PermutationBase< Derived >::rows().
Referenced by Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex >::PermutationMatrix().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprotected |
References Eigen::PermutationBase< Derived >::indices(), and Eigen::PermutationBase< Derived >::rows().
Here is the call graph for this function:
|
inline |
References Eigen::PermutationBase< Derived >::indices(), and Eigen::PermutationBase< Derived >::size().
Here is the call graph for this function:
|
inlineinherited |
Referenced by Eigen::TriangularViewImpl< _MatrixType, _Mode, Dense >::swap().
Here is the caller graph for this function:
|
inlineinherited |
|
inline |
Referenced by Eigen::PermutationBase< Derived >::applyTranspositionOnTheLeft(), Eigen::PermutationBase< Derived >::applyTranspositionOnTheRight(), Eigen::PermutationBase< Derived >::indices(), Eigen::PermutationBase< Derived >::indices(), Eigen::PermutationBase< Derived >::inverse(), Eigen::operator*(), Eigen::PermutationBase< Derived >::operator*(), Eigen::operator*(), Eigen::operator*(), Eigen::operator*(), Eigen::PermutationBase< Derived >::operator=(), Eigen::Map< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex >, _PacketAccess >::operator=(), Eigen::PermutationBase< Derived >::operator=(), Eigen::PermutationBase< Derived >::operator=(), Eigen::PermutationBase< Derived >::toDenseMatrix(), and Eigen::PermutationBase< Derived >::transpose().
Here is the caller graph for this function:
|
inline |
|
inline |
This function is O(n) procedure allocating a buffer of n booleans.
References Eigen::PermutationBase< Derived >::size().
Here is the call graph for this function:
|
inlineinherited |
Referenced by Eigen::EigenBase< Derived >::subTo().
Here is the caller graph for this function:
|
inline |
References Eigen::PermutationBase< Derived >::indices(), Eigen::PermutationBase< Derived >::rows(), and Eigen::DenseBase< Derived >::setZero().
Here is the call graph for this function:
|
inline |
References Eigen::PermutationBase< Derived >::derived().
Here is the call graph for this function:
|
inline |
const version of indices().
References Eigen::PermutationBase< Derived >::derived().
Referenced by Eigen::PermutationBase< Derived >::applyTranspositionOnTheLeft(), Eigen::PermutationBase< Derived >::applyTranspositionOnTheRight(), Eigen::PermutationBase< Derived >::assignProduct(), Eigen::PermutationBase< Derived >::assignTranspose(), Eigen::PermutationBase< Derived >::cols(), Eigen::PermutationBase< Derived >::evalTo(), Eigen::PermutationBase< Derived >::operator=(), Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex >::operator=(), Eigen::PermutationBase< Derived >::operator=(), Eigen::PermutationBase< Derived >::resize(), Eigen::PermutationBase< Derived >::rows(), Eigen::PermutationBase< Derived >::setIdentity(), and Eigen::PermutationBase< Derived >::size().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
References Eigen::PermutationBase< Derived >::derived().
Referenced by Eigen::SparseLU< _MatrixType, _OrderingType >::_solve_impl(), and Eigen::FullPivLU< _MatrixType >::_solve_impl_transposed().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
References Eigen::internal::PermPermProduct.
|
inline |
References Eigen::PermutationBase< Derived >::derived(), and Eigen::internal::PermPermProduct.
Here is the call graph for this function:
|
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::PermutationBase< Derived >::derived(), and Eigen::PermutationBase< Derived >::indices().
Here is the call graph for this function:
|
inline |
Copies the other permutation into *this
References Eigen::PermutationBase< Derived >::derived(), and Eigen::PermutationBase< Derived >::indices().
Referenced by Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex >::operator=().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Assignment from the Transpositions tr
References Eigen::PermutationBase< Derived >::applyTranspositionOnTheRight(), Eigen::TranspositionsBase< Derived >::coeff(), Eigen::PermutationBase< Derived >::derived(), Eigen::PermutationBase< Derived >::setIdentity(), Eigen::PermutationBase< Derived >::size(), and Eigen::TranspositionsBase< Derived >::size().
Here is the call graph for this function:
|
inline |
Resizes to given size.
References Eigen::PermutationBase< Derived >::indices().
Referenced by Eigen::internal::minimum_degree_ordering(), Eigen::NaturalOrdering< StorageIndex >::operator()(), Eigen::MetisOrdering< StorageIndex >::operator()(), Eigen::COLAMDOrdering< StorageIndex >::operator()(), and Eigen::PermutationBase< Derived >::setIdentity().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
References Eigen::PermutationBase< Derived >::indices(), and Eigen::PermutationBase< Derived >::size().
Referenced by Eigen::PermutationBase< Derived >::assignProduct(), Eigen::PermutationBase< Derived >::assignTranspose(), and Eigen::PermutationBase< Derived >::evalTo().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Sets *this to be the identity permutation matrix
References Eigen::PermutationBase< Derived >::indices(), and Eigen::PermutationBase< Derived >::size().
Referenced by Eigen::PermutationBase< Derived >::operator=(), and Eigen::PermutationBase< Derived >::setIdentity().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Sets *this to be the identity permutation matrix of given size.
References Eigen::PermutationBase< Derived >::resize(), and Eigen::PermutationBase< Derived >::setIdentity().
Here is the call graph for this function:
|
inline |
References Eigen::PermutationBase< Derived >::indices(), and Eigen::PermutationBase< Derived >::size().
Referenced by Eigen::SimplicialCholeskyBase< Derived >::_solve_impl(), Eigen::SparseQR< _MatrixType, _OrderingType >::_solve_impl(), Eigen::PermutationBase< Derived >::applyTranspositionOnTheLeft(), Eigen::PermutationBase< Derived >::applyTranspositionOnTheRight(), Eigen::PermutationBase< Derived >::cols(), Eigen::PermutationBase< Derived >::determinant(), Eigen::SimplicialCholeskyBase< Derived >::dumpMemory(), Eigen::SimplicialCholeskyBase< Derived >::factorize(), Eigen::PermutationBase< Derived >::operator=(), Eigen::PermutationBase< Derived >::rows(), Eigen::PermutationBase< Derived >::setIdentity(), and Eigen::PermutationBase< Derived >::size().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineinherited |
References Eigen::EigenBase< Derived >::cols(), Eigen::EigenBase< Derived >::evalTo(), and Eigen::EigenBase< Derived >::rows().
Here is the call graph for this function:
|
inline |
References Eigen::PermutationBase< Derived >::derived().
Here is the call graph for this function:
|
inline |
References Eigen::PermutationBase< Derived >::derived().
Referenced by Eigen::PartialPivLU< _MatrixType >::_solve_impl_transposed(), and Eigen::internal::permutation_matrix_product< ExpressionType, Side, Transposed, SparseShape >::run().
Here is the call graph for this function:
Here is the caller graph for this function:
|
friend |