Shapeworks Studio  2.1
Shape analysis software suite
List of all members | Public Types | Public Member Functions | Protected Attributes
Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType > Class Template Reference

Permutation matrix. More...

#include <PermutationMatrix.h>

+ Inheritance diagram for Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType >:
+ Collaboration diagram for Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType >:

Public Types

typedef Traits::IndicesType IndicesType
 
- Public Types inherited from Eigen::PermutationBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType > >
enum  
 
typedef Traits::IndicesType IndicesType
 
typedef Traits::Scalar Scalar
 
typedef Traits::Index Index
 
typedef Matrix< Scalar, RowsAtCompileTime, ColsAtCompileTime, 0, MaxRowsAtCompileTime, MaxColsAtCompileTime > DenseMatrixType
 
typedef PermutationMatrix< IndicesType::SizeAtCompileTime, IndicesType::MaxSizeAtCompileTime, Index > PlainPermutationType
 
- Public Types inherited from Eigen::EigenBase< Derived >
typedef internal::traits< Derived >::StorageKind StorageKind
 
typedef internal::traits< Derived >::Index Index
 

Public Member Functions

 PermutationMatrix (int size)
 
template<typename OtherDerived >
 PermutationMatrix (const PermutationBase< OtherDerived > &other)
 
 PermutationMatrix (const PermutationMatrix &other)
 
template<typename Other >
 PermutationMatrix (const MatrixBase< Other > &a_indices)
 
template<typename Other >
 PermutationMatrix (const TranspositionsBase< Other > &tr)
 
template<typename Other >
PermutationMatrixoperator= (const PermutationBase< Other > &other)
 
template<typename Other >
PermutationMatrixoperator= (const TranspositionsBase< Other > &tr)
 
PermutationMatrixoperator= (const PermutationMatrix &other)
 
const IndicesType & indices () const
 
IndicesType & indices ()
 
template<typename Other >
 PermutationMatrix (const Transpose< PermutationBase< Other > > &other)
 
template<typename Lhs , typename Rhs >
 PermutationMatrix (internal::PermPermProduct_t, const Lhs &lhs, const Rhs &rhs)
 
- Public Member Functions inherited from Eigen::PermutationBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType > >
PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType > & operator= (const PermutationBase< OtherDerived > &other)
 
PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType > & operator= (const TranspositionsBase< OtherDerived > &tr)
 
PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType > & operator= (const PermutationBase &other)
 
Index rows () const
 
Index cols () const
 
Index size () const
 
void evalTo (MatrixBase< DenseDerived > &other) const
 
DenseMatrixType toDenseMatrix () const
 
const IndicesTypeindices () const
 
IndicesTypeindices ()
 
void resize (Index newSize)
 
void setIdentity ()
 
void setIdentity (Index newSize)
 
PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType > & applyTranspositionOnTheLeft (Index i, Index j)
 
PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType > & applyTranspositionOnTheRight (Index i, Index j)
 
Transpose< PermutationBaseinverse () const
 
Transpose< PermutationBasetranspose () const
 
PlainPermutationType operator* (const PermutationBase< Other > &other) const
 
PlainPermutationType operator* (const Transpose< PermutationBase< Other > > &other) const
 
- Public Member Functions inherited from Eigen::EigenBase< Derived >
Derived & derived ()
 
const Derived & derived () const
 
Derived & const_cast_derived () const
 
const Derived & const_derived () const
 
Index rows () const
 
Index cols () const
 
Index size () const
 
template<typename Dest >
void evalTo (Dest &dst) const
 
template<typename Dest >
void addTo (Dest &dst) const
 
template<typename Dest >
void subTo (Dest &dst) const
 
template<typename Dest >
void applyThisOnTheRight (Dest &dst) const
 
template<typename Dest >
void applyThisOnTheLeft (Dest &dst) const
 

Protected Attributes

IndicesType m_indices
 

Additional Inherited Members

- Protected Member Functions inherited from Eigen::PermutationBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType > >
void assignTranspose (const PermutationBase< OtherDerived > &other)
 
void assignProduct (const Lhs &lhs, const Rhs &rhs)
 

Detailed Description

template<int SizeAtCompileTime, int MaxSizeAtCompileTime, typename IndexType>
class Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType >

Permutation matrix.

Parameters
SizeAtCompileTimethe number of rows/cols, or Dynamic
MaxSizeAtCompileTimethe maximum number of rows/cols, or Dynamic. This optional parameter defaults to SizeAtCompileTime. Most of the time, you should not have to specify it.
IndexTypethe interger type of the indices

This class represents a permutation matrix, internally stored as a vector of integers.

See also
class PermutationBase, class PermutationWrapper, class DiagonalMatrix

Definition at line 283 of file PermutationMatrix.h.

Constructor & Destructor Documentation

template<int SizeAtCompileTime, int MaxSizeAtCompileTime, typename IndexType>
Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType >::PermutationMatrix ( int  size)
inline

Constructs an uninitialized permutation matrix of given size.

Definition at line 298 of file PermutationMatrix.h.

template<int SizeAtCompileTime, int MaxSizeAtCompileTime, typename IndexType>
template<typename OtherDerived >
Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType >::PermutationMatrix ( const PermutationBase< OtherDerived > &  other)
inline

Copy constructor.

Definition at line 303 of file PermutationMatrix.h.

304  : m_indices(other.indices()) {}
template<int SizeAtCompileTime, int MaxSizeAtCompileTime, typename IndexType>
Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType >::PermutationMatrix ( const PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType > &  other)
inline

Standard copy constructor. Defined only to prevent a default copy constructor from hiding the other templated constructor

Definition at line 309 of file PermutationMatrix.h.

309 : m_indices(other.indices()) {}
template<int SizeAtCompileTime, int MaxSizeAtCompileTime, typename IndexType>
template<typename Other >
Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType >::PermutationMatrix ( const MatrixBase< Other > &  a_indices)
inlineexplicit

Generic constructor from expression of the indices. The indices array has the meaning that the permutations sends each integer i to indices[i].

Warning
It is your responsibility to check that the indices array that you passes actually describes a permutation, i.e., each value between 0 and n-1 occurs exactly once, where n is the array's size.

Definition at line 320 of file PermutationMatrix.h.

320  : m_indices(a_indices)
321  {}
template<int SizeAtCompileTime, int MaxSizeAtCompileTime, typename IndexType>
template<typename Other >
Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType >::PermutationMatrix ( const TranspositionsBase< Other > &  tr)
inlineexplicit

Convert the Transpositions tr to a permutation matrix

Definition at line 325 of file PermutationMatrix.h.

326  : m_indices(tr.size())
327  {
328  *this = tr;
329  }

Member Function Documentation

template<int SizeAtCompileTime, int MaxSizeAtCompileTime, typename IndexType>
const IndicesType& Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType >::indices ( ) const
inline

const version of indices().

Definition at line 358 of file PermutationMatrix.h.

358 { return m_indices; }
template<int SizeAtCompileTime, int MaxSizeAtCompileTime, typename IndexType>
IndicesType& Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType >::indices ( )
inline
Returns
a reference to the stored array representing the permutation.

Definition at line 360 of file PermutationMatrix.h.

360 { return m_indices; }
template<int SizeAtCompileTime, int MaxSizeAtCompileTime, typename IndexType>
template<typename Other >
PermutationMatrix& Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType >::operator= ( const PermutationBase< Other > &  other)
inline

Copies the other permutation into *this

Definition at line 333 of file PermutationMatrix.h.

334  {
335  m_indices = other.indices();
336  return *this;
337  }
template<int SizeAtCompileTime, int MaxSizeAtCompileTime, typename IndexType>
template<typename Other >
PermutationMatrix& Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType >::operator= ( const TranspositionsBase< Other > &  tr)
inline

Assignment from the Transpositions tr

Definition at line 341 of file PermutationMatrix.h.

342  {
343  return Base::operator=(tr.derived());
344  }
Derived & operator=(const PermutationBase< OtherDerived > &other)
template<int SizeAtCompileTime, int MaxSizeAtCompileTime, typename IndexType>
PermutationMatrix& Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType >::operator= ( const PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, IndexType > &  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 350 of file PermutationMatrix.h.

351  {
352  m_indices = other.m_indices;
353  return *this;
354  }

The documentation for this class was generated from the following file: