![]() |
|
Permutation matrix. More...
#include <PermutationMatrix.h>
Public Types | |
typedef const PermutationMatrix & | Nested |
typedef Traits::IndicesType | IndicesType |
typedef Traits::StorageIndex | StorageIndex |
![]() | |
enum | |
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< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, StorageIndex_ > > | InverseReturnType |
typedef void | Scalar |
![]() | |
typedef Eigen::Index | Index |
The interface type of indices. More... | |
typedef internal::traits< Derived >::StorageKind | StorageKind |
Public Member Functions | |
PermutationMatrix () | |
PermutationMatrix (Index 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) | |
template<typename Other > | |
PermutationMatrix & | operator= (const PermutationBase< Other > &other) |
template<typename Other > | |
PermutationMatrix & | operator= (const TranspositionsBase< Other > &tr) |
const IndicesType & | indices () const |
IndicesType & | indices () |
template<typename Other > | |
PermutationMatrix (const InverseImpl< Other, PermutationStorage > &other) | |
template<typename Lhs , typename Rhs > | |
PermutationMatrix (internal::PermPermProduct_t, const Lhs &lhs, const Rhs &rhs) | |
![]() | |
PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, StorageIndex_ > & | operator= (const PermutationBase< OtherDerived > &other) |
PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, StorageIndex_ > & | operator= (const TranspositionsBase< OtherDerived > &tr) |
EIGEN_DEVICE_FUNC Index | rows () const |
EIGEN_DEVICE_FUNC Index | cols () const |
EIGEN_DEVICE_FUNC Index | size () const |
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) |
PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, StorageIndex_ > & | applyTranspositionOnTheLeft (Index i, Index j) |
PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, StorageIndex_ > & | applyTranspositionOnTheRight (Index i, Index j) |
InverseReturnType | inverse () const |
InverseReturnType | transpose () const |
PlainPermutationType | operator* (const PermutationBase< Other > &other) const |
PlainPermutationType | operator* (const InverseImpl< Other, PermutationStorage > &other) const |
Index | determinant () const |
constexpr EIGEN_DEVICE_FUNC PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, StorageIndex_ > & | derived () |
constexpr EIGEN_DEVICE_FUNC const PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, StorageIndex_ > & | derived () const |
![]() | |
constexpr EIGEN_DEVICE_FUNC Derived & | derived () |
constexpr EIGEN_DEVICE_FUNC const Derived & | derived () const |
EIGEN_DEVICE_FUNC Derived & | const_cast_derived () const |
EIGEN_DEVICE_FUNC const Derived & | const_derived () const |
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index | rows () const EIGEN_NOEXCEPT |
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index | cols () const EIGEN_NOEXCEPT |
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index | size () const EIGEN_NOEXCEPT |
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 |
template<typename Device > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE DeviceWrapper< Derived, Device > | device (Device &device) |
template<typename Device > | |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE DeviceWrapper< const Derived, Device > | device (Device &device) const |
Protected Attributes | |
IndicesType | m_indices |
Private Types | |
typedef PermutationBase< PermutationMatrix > | Base |
typedef internal::traits< PermutationMatrix > | Traits |
Additional Inherited Members | |
![]() | |
void | assignTranspose (const PermutationBase< OtherDerived > &other) |
void | assignProduct (const Lhs &lhs, const Rhs &rhs) |
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. |
StorageIndex_ | the integer type of the indices |
This class represents a permutation matrix, internally stored as a vector of integers.
|
private |
typedef Traits::IndicesType Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, StorageIndex_ >::IndicesType |
typedef const PermutationMatrix& Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, StorageIndex_ >::Nested |
typedef Traits::StorageIndex Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, StorageIndex_ >::StorageIndex |
|
private |
|
inline |
|
inlineexplicit |
Constructs an uninitialized permutation matrix of given size.
References eigen_internal_assert, and Eigen::PermutationBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, StorageIndex_ > >::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
|
inline |
References Eigen::InverseImpl< XprType, StorageKind >::coeff(), eigen_internal_assert, Eigen::placeholders::end, i, and Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, StorageIndex_ >::m_indices.
|
inline |
References Eigen::PermutationBase< Derived >::assignProduct().
|
inline |
References Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, StorageIndex_ >::m_indices.
|
inline |
const version of indices().
References Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, StorageIndex_ >::m_indices.
Referenced by Eigen::ColPivHouseholderQR< MatrixType_, PermutationIndex_ >::_solve_impl(), Eigen::FullPivHouseholderQR< MatrixType_, PermutationIndex_ >::_solve_impl(), Eigen::FullPivLU< MatrixType_, PermutationIndex_ >::_solve_impl_transposed(), Eigen::SparseLU< MatrixType_, OrderingType_ >::analyzePattern(), Eigen::SimplicialCholeskyBase< Derived >::factorize(), Eigen::SparseLU< MatrixType_, OrderingType_ >::factorize(), Eigen::internal::lmqrsolv(), Eigen::internal::minimum_degree_ordering(), Eigen::MetisOrdering< StorageIndex >::operator()(), Eigen::COLAMDOrdering< StorageIndex >::operator()(), Eigen::internal::Assignment< DstXprType, SparseSymmetricPermutationProduct< MatrixType, Mode >, internal::assign_op< Scalar, typename MatrixType::Scalar >, Sparse2Sparse >::run(), testLmder(), and testLmdif().
|
inline |
Copies the other permutation into *this
References Eigen::PermutationBase< Derived >::indices(), and Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, StorageIndex_ >::m_indices.
|
inline |
Assignment from the Transpositions tr
References Eigen::TranspositionsBase< Derived >::derived(), and Eigen::PermutationBase< Derived >::operator=().
|
protected |
Referenced by Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, StorageIndex_ >::indices(), Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, StorageIndex_ >::operator=(), and Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, StorageIndex_ >::PermutationMatrix().