MOAB
4.9.3pre
|
Permutation matrix. More...
#include <PermutationMatrix.h>
Public Types | |
typedef const PermutationMatrix & | Nested |
typedef Traits::IndicesType | IndicesType |
typedef Traits::StorageIndex | StorageIndex |
Public Member Functions | |
PermutationMatrix () | |
PermutationMatrix (Index size) | |
template<typename OtherDerived > | |
PermutationMatrix (const PermutationBase< OtherDerived > &other) | |
PermutationMatrix (const PermutationMatrix &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) |
PermutationMatrix & | operator= (const PermutationMatrix &other) |
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) | |
Protected Attributes | |
IndicesType | m_indices |
Private Types | |
typedef PermutationBase < PermutationMatrix > | Base |
typedef internal::traits < PermutationMatrix > | Traits |
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.
Definition at line 308 of file PermutationMatrix.h.
typedef PermutationBase<PermutationMatrix> Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex >::Base [private] |
Reimplemented from Eigen::PermutationBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex > >.
Definition at line 310 of file PermutationMatrix.h.
typedef Traits::IndicesType Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex >::IndicesType |
Reimplemented from Eigen::PermutationBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex > >.
Definition at line 317 of file PermutationMatrix.h.
typedef const PermutationMatrix& Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex >::Nested |
Definition at line 314 of file PermutationMatrix.h.
typedef Traits::StorageIndex Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex >::StorageIndex |
Reimplemented from Eigen::PermutationBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex > >.
Definition at line 318 of file PermutationMatrix.h.
typedef internal::traits<PermutationMatrix> Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex >::Traits [private] |
Reimplemented from Eigen::PermutationBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex > >.
Definition at line 311 of file PermutationMatrix.h.
Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex >::PermutationMatrix | ( | ) | [inline] |
Definition at line 321 of file PermutationMatrix.h.
{}
Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex >::PermutationMatrix | ( | Index | size | ) | [inline, explicit] |
Constructs an uninitialized permutation matrix of given size.
Definition at line 326 of file PermutationMatrix.h.
: m_indices(size) { eigen_internal_assert(size <= NumTraits<StorageIndex>::highest()); }
Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex >::PermutationMatrix | ( | const PermutationBase< OtherDerived > & | other | ) | [inline] |
Copy constructor.
Definition at line 333 of file PermutationMatrix.h.
: m_indices(other.indices()) {}
Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex >::PermutationMatrix | ( | const PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex > & | other | ) | [inline] |
Standard copy constructor. Defined only to prevent a default copy constructor from hiding the other templated constructor
Definition at line 339 of file PermutationMatrix.h.
: m_indices(other.indices()) {}
Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex >::PermutationMatrix | ( | const MatrixBase< Other > & | indices | ) | [inline, explicit] |
Generic constructor from expression of the indices. The indices array has the meaning that the permutations sends each integer i to indices[i].
Definition at line 350 of file PermutationMatrix.h.
Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex >::PermutationMatrix | ( | const TranspositionsBase< Other > & | tr | ) | [inline, explicit] |
Convert the Transpositions tr to a permutation matrix
Definition at line 355 of file PermutationMatrix.h.
: m_indices(tr.size()) { *this = tr; }
Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex >::PermutationMatrix | ( | const InverseImpl< Other, PermutationStorage > & | other | ) | [inline] |
Definition at line 397 of file PermutationMatrix.h.
: m_indices(other.derived().nestedExpression().size()) { eigen_internal_assert(m_indices.size() <= NumTraits<StorageIndex>::highest()); StorageIndex end = StorageIndex(m_indices.size()); for (StorageIndex i=0; i<end;++i) m_indices.coeffRef(other.derived().nestedExpression().indices().coeff(i)) = i; }
Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex >::PermutationMatrix | ( | internal::PermPermProduct_t | , |
const Lhs & | lhs, | ||
const Rhs & | rhs | ||
) | [inline] |
Definition at line 406 of file PermutationMatrix.h.
: m_indices(lhs.indices().size()) { Base::assignProduct(lhs,rhs); }
const IndicesType& Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex >::indices | ( | ) | const [inline] |
const version of indices().
Reimplemented from Eigen::PermutationBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex > >.
Definition at line 388 of file PermutationMatrix.h.
{ return m_indices; }
IndicesType& Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex >::indices | ( | ) | [inline] |
Reimplemented from Eigen::PermutationBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex > >.
Definition at line 390 of file PermutationMatrix.h.
{ return m_indices; }
PermutationMatrix& Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex >::operator= | ( | const PermutationBase< Other > & | other | ) | [inline] |
Copies the other permutation into *this
Definition at line 363 of file PermutationMatrix.h.
{ m_indices = other.indices(); return *this; }
PermutationMatrix& Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex >::operator= | ( | const TranspositionsBase< Other > & | tr | ) | [inline] |
Assignment from the Transpositions tr
Definition at line 371 of file PermutationMatrix.h.
{ return Base::operator=(tr.derived()); }
PermutationMatrix& Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex >::operator= | ( | const PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex > & | other | ) | [inline] |
This is a special case of the templated operator=. Its purpose is to prevent a default operator= from hiding the templated operator=.
Definition at line 380 of file PermutationMatrix.h.
{ m_indices = other.m_indices; return *this; }
IndicesType Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex >::m_indices [protected] |
Definition at line 415 of file PermutationMatrix.h.