compbio
Public Types | Public Member Functions | Protected Attributes | List of all members
Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex > Class Template Reference

Permutation matrix. More...

#include <PermutationMatrix.h>

Inheritance diagram for Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex >:
Eigen::PermutationBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex > > Eigen::EigenBase< Derived >

Public Types

typedef const PermutationMatrixNested
 
typedef Traits::IndicesType IndicesType
 
typedef Traits::StorageIndex StorageIndex
 
- Public Types inherited from Eigen::PermutationBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, _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
 
- Public Types inherited from Eigen::EigenBase< Derived >
typedef Eigen::Index Index
 The interface type of indices. More...
 
typedef internal::traits< Derived >::StorageKind StorageKind
 

Public Member Functions

 PermutationMatrix (Index size)
 Constructs an uninitialized permutation matrix of given size.
 
template<typename OtherDerived >
 PermutationMatrix (const PermutationBase< OtherDerived > &other)
 Copy constructor. More...
 
 PermutationMatrix (const PermutationMatrix &other)
 Standard copy constructor. More...
 
template<typename Other >
 PermutationMatrix (const MatrixBase< Other > &indices)
 Generic constructor from expression of the indices. More...
 
template<typename Other >
 PermutationMatrix (const TranspositionsBase< Other > &tr)
 Convert the Transpositions tr to a permutation matrix.
 
template<typename Other >
PermutationMatrixoperator= (const PermutationBase< Other > &other)
 Copies the other permutation into *this.
 
template<typename Other >
PermutationMatrixoperator= (const TranspositionsBase< Other > &tr)
 Assignment from the Transpositions tr.
 
PermutationMatrixoperator= (const PermutationMatrix &other)
 This is a special case of the templated operator=. More...
 
const IndicesType & indices () const
 const version of indices(). More...
 
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)
 
- Public Member Functions inherited from Eigen::PermutationBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex > >
PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex > & operator= (const PermutationBase< OtherDerived > &other)
 Copies the other permutation into *this.
 
PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex > & operator= (const TranspositionsBase< OtherDerived > &tr)
 Assignment from the Transpositions tr.
 
PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex > & operator= (const PermutationBase &other)
 This is a special case of the templated operator=. More...
 
Index rows () const
 
Index cols () const
 
Index size () const
 
void evalTo (MatrixBase< DenseDerived > &other) const
 
DenseMatrixType toDenseMatrix () const
 
const IndicesTypeindices () const
 const version of indices(). More...
 
IndicesTypeindices ()
 
void resize (Index newSize)
 Resizes to given size.
 
void setIdentity ()
 Sets *this to be the identity permutation matrix.
 
void setIdentity (Index newSize)
 Sets *this to be the identity permutation matrix of given size.
 
PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex > & applyTranspositionOnTheLeft (Index i, Index j)
 Multiplies *this by the transposition \((ij)\) on the left. More...
 
PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex > & applyTranspositionOnTheRight (Index i, Index j)
 Multiplies *this by the transposition \((ij)\) on the right. More...
 
InverseReturnType inverse () const
 
InverseReturnType transpose () const
 
PlainPermutationType operator* (const PermutationBase< Other > &other) const
 
PlainPermutationType operator* (const InverseImpl< Other, PermutationStorage > &other) const
 
Index determinant () const
 
- Public Member Functions inherited from Eigen::EigenBase< Derived >
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
 
EIGEN_DEVICE_FUNC Index rows () const
 
EIGEN_DEVICE_FUNC Index cols () const
 
EIGEN_DEVICE_FUNC Index size () 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 Attributes

IndicesType m_indices
 

Additional Inherited Members

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

Detailed Description

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

Permutation matrix.

Template 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.
_StorageIndexthe integer 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

Constructor & Destructor Documentation

§ PermutationMatrix() [1/3]

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

Copy constructor.

§ PermutationMatrix() [2/3]

template<int SizeAtCompileTime, int MaxSizeAtCompileTime, typename _StorageIndex>
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

§ PermutationMatrix() [3/3]

template<int SizeAtCompileTime, int MaxSizeAtCompileTime, typename _StorageIndex>
template<typename Other >
Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex >::PermutationMatrix ( const MatrixBase< Other > &  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.

Member Function Documentation

§ indices() [1/2]

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

const version of indices().

§ indices() [2/2]

template<int SizeAtCompileTime, int MaxSizeAtCompileTime, typename _StorageIndex>
IndicesType& Eigen::PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex >::indices ( )
inline
Returns
a reference to the stored array representing the permutation.

§ operator=()

template<int SizeAtCompileTime, int MaxSizeAtCompileTime, typename _StorageIndex>
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=.


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