Eigen  5.0.1
 
Loading...
Searching...
No Matches
Eigen::ScaledPermutationMatrix< Scalar_, SizeAtCompileTime, MaxSizeAtCompileTime, StorageIndex_ > Class Template Reference

#include <Eigen/src/Core/ScaledPermutationMatrix.h>

Detailed Description

template<typename Scalar_, int SizeAtCompileTime, int MaxSizeAtCompileTime, typename StorageIndex_>
class Eigen::ScaledPermutationMatrix< Scalar_, SizeAtCompileTime, MaxSizeAtCompileTime, StorageIndex_ >

Scaled permutation matrix \(P D\) with its storage.

Template Parameters
Scalar_the type of the scales
SizeAtCompileTimethe number of rows/cols, or Dynamic
MaxSizeAtCompileTimethe maximum number of rows/cols, or Dynamic; defaults to SizeAtCompileTime
StorageIndex_the integer type of the permutation's indices

This is the type returned by the products of a permutation (or its inverse) and a diagonal matrix, in either order. See ScaledPermutationBase for the operations.

See also
class ScaledPermutationBase, class PermutationMatrix, class DiagonalMatrix
+ Inheritance diagram for Eigen::ScaledPermutationMatrix< Scalar_, SizeAtCompileTime, MaxSizeAtCompileTime, StorageIndex_ >:

Public Member Functions

constexpr IndicesType & indices ()
 
constexpr const IndicesType & indices () const
 
template<typename OtherDerived>
ScaledPermutationMatrix & operator= (const ScaledPermutationBase< OtherDerived > &other)
 
PermutationType & permutation ()
 
const PermutationType & permutation () const
 
void resize (Index size)
 
 ScaledPermutationMatrix ()=default
 
template<typename OtherDerived>
 ScaledPermutationMatrix (const DiagonalBase< OtherDerived > &diagonal)
 
template<typename IndicesDerived, typename ScalesDerived>
 ScaledPermutationMatrix (const MatrixBase< IndicesDerived > &indices, const MatrixBase< ScalesDerived > &scales)
 
template<typename OtherDerived>
 ScaledPermutationMatrix (const PermutationBase< OtherDerived > &permutation)
 
template<typename PermutationDerived, typename DiagonalDerived>
 ScaledPermutationMatrix (const PermutationBase< PermutationDerived > &permutation, const DiagonalBase< DiagonalDerived > &diagonal)
 
template<typename OtherDerived>
 ScaledPermutationMatrix (const ScaledPermutationBase< OtherDerived > &other)
 
 ScaledPermutationMatrix (Index size)
 
ScalesType & scales ()
 
const ScalesType & scales () const
 
void setIdentity ()
 
void setIdentity (Index size)
 
- Public Member Functions inherited from Eigen::ScaledPermutationBase< ScaledPermutationMatrix< Scalar_, SizeAtCompileTime, MaxSizeAtCompileTime, StorageIndex_ > >
PlainObject adjoint () const
 
Scalar coeff (Index row, Index col) const
 
constexpr Index cols () const
 
Scalar determinant () const
 
constexpr const IndicesType & indices () const
 
PlainObject inverse () const
 
internal::scaled_permutation_product_result< ScaledPermutationMatrix< Scalar_, SizeAtCompileTime, MaxSizeAtCompileTime, StorageIndex_ >, OtherDerived, StorageIndex >::type operator* (const DiagonalBase< OtherDerived > &other) const
 
PlainObject operator* (const InverseImpl< OtherDerived, PermutationStorage > &other) const
 
const Product< ScaledPermutationMatrix< Scalar_, SizeAtCompileTime, MaxSizeAtCompileTime, StorageIndex_ >, OtherDerived, DefaultProduct > operator* (const MatrixBase< OtherDerived > &other) const
 
PlainObject operator* (const PermutationBase< OtherDerived > &other) const
 
PlainObject operator* (const Scalar &alpha) const
 
internal::scaled_permutation_product_result< ScaledPermutationMatrix< Scalar_, SizeAtCompileTime, MaxSizeAtCompileTime, StorageIndex_ >, OtherDerived, StorageIndex >::type operator* (const ScaledPermutationBase< OtherDerived > &other) const
 
const Product< ScaledPermutationMatrix< Scalar_, SizeAtCompileTime, MaxSizeAtCompileTime, StorageIndex_ >, OtherDerived, DefaultProduct > operator* (const TriangularBase< OtherDerived > &other) const
 
PlainObject operator- () const
 
const PermutationType & permutation () const
 
constexpr Index rows () const
 
const ScalesType & scales () const
 
DenseMatrixType toDenseMatrix () const
 
PlainObject transpose () const
 
- Public Member Functions inherited from Eigen::EigenBase< ScaledPermutationMatrix< Scalar_, SizeAtCompileTime, MaxSizeAtCompileTime, StorageIndex_ > >
constexpr Index cols () const noexcept
 
constexpr ScaledPermutationMatrix< Scalar_, SizeAtCompileTime, MaxSizeAtCompileTime, StorageIndex_ > & derived ()
 
constexpr const ScaledPermutationMatrix< Scalar_, SizeAtCompileTime, MaxSizeAtCompileTime, StorageIndex_ > & derived () const
 
constexpr Index rows () const noexcept
 
constexpr Index size () const noexcept
 

Related Symbols

(Note that these are not member symbols.)

template<typename DiagonalDerived, typename PermutationType>
internal::scaled_permutation_result< typenameDiagonalDerived::Scalar, PermutationType, DiagonalDerived, typenamePermutationType::StorageIndex >::type operator* (const DiagonalBase< DiagonalDerived > &diagonal, const InverseImpl< PermutationType, PermutationStorage > &inverse)
 
template<typename DiagonalDerived, typename PermutationDerived>
internal::scaled_permutation_result< typenameDiagonalDerived::Scalar, PermutationDerived, DiagonalDerived, typenamePermutationDerived::StorageIndex >::type operator* (const DiagonalBase< DiagonalDerived > &diagonal, const PermutationBase< PermutationDerived > &permutation)
 
template<typename PermutationType, typename DiagonalDerived>
internal::scaled_permutation_result< typenameDiagonalDerived::Scalar, PermutationType, DiagonalDerived, typenamePermutationType::StorageIndex >::type operator* (const InverseImpl< PermutationType, PermutationStorage > &inverse, const DiagonalBase< DiagonalDerived > &diagonal)
 
template<typename PermutationDerived, typename DiagonalDerived>
internal::scaled_permutation_result< typenameDiagonalDerived::Scalar, PermutationDerived, DiagonalDerived, typenamePermutationDerived::StorageIndex >::type operator* (const PermutationBase< PermutationDerived > &permutation, const DiagonalBase< DiagonalDerived > &diagonal)
 

Additional Inherited Members

- Public Types inherited from Eigen::EigenBase< ScaledPermutationMatrix< Scalar_, SizeAtCompileTime, MaxSizeAtCompileTime, StorageIndex_ > >
using Index
 The interface type of indices.
 

Constructor & Destructor Documentation

◆ ScaledPermutationMatrix() [1/7]

template<typename Scalar_, int SizeAtCompileTime, int MaxSizeAtCompileTime, typename StorageIndex_>
Eigen::ScaledPermutationMatrix< Scalar_, SizeAtCompileTime, MaxSizeAtCompileTime, StorageIndex_ >::ScaledPermutationMatrix ( )
default

Default constructor; the matrix is uninitialized.

◆ ScaledPermutationMatrix() [2/7]

template<typename Scalar_, int SizeAtCompileTime, int MaxSizeAtCompileTime, typename StorageIndex_>
Eigen::ScaledPermutationMatrix< Scalar_, SizeAtCompileTime, MaxSizeAtCompileTime, StorageIndex_ >::ScaledPermutationMatrix ( Index size)
inlineexplicit

Constructs an uninitialized scaled permutation of the given size.

◆ ScaledPermutationMatrix() [3/7]

template<typename Scalar_, int SizeAtCompileTime, int MaxSizeAtCompileTime, typename StorageIndex_>
template<typename PermutationDerived, typename DiagonalDerived>
Eigen::ScaledPermutationMatrix< Scalar_, SizeAtCompileTime, MaxSizeAtCompileTime, StorageIndex_ >::ScaledPermutationMatrix ( const PermutationBase< PermutationDerived > & permutation,
const DiagonalBase< DiagonalDerived > & diagonal )
inline

Constructs the product permutation times diagonal.

◆ ScaledPermutationMatrix() [4/7]

template<typename Scalar_, int SizeAtCompileTime, int MaxSizeAtCompileTime, typename StorageIndex_>
template<typename IndicesDerived, typename ScalesDerived>
Eigen::ScaledPermutationMatrix< Scalar_, SizeAtCompileTime, MaxSizeAtCompileTime, StorageIndex_ >::ScaledPermutationMatrix ( const MatrixBase< IndicesDerived > & indices,
const MatrixBase< ScalesDerived > & scales )
inline

Constructs the scaled permutation with the given indices and scales.

◆ ScaledPermutationMatrix() [5/7]

template<typename Scalar_, int SizeAtCompileTime, int MaxSizeAtCompileTime, typename StorageIndex_>
template<typename OtherDerived>
Eigen::ScaledPermutationMatrix< Scalar_, SizeAtCompileTime, MaxSizeAtCompileTime, StorageIndex_ >::ScaledPermutationMatrix ( const PermutationBase< OtherDerived > & permutation)
inlineexplicit

Converts the permutation permutation, all scales being one.

◆ ScaledPermutationMatrix() [6/7]

template<typename Scalar_, int SizeAtCompileTime, int MaxSizeAtCompileTime, typename StorageIndex_>
template<typename OtherDerived>
Eigen::ScaledPermutationMatrix< Scalar_, SizeAtCompileTime, MaxSizeAtCompileTime, StorageIndex_ >::ScaledPermutationMatrix ( const DiagonalBase< OtherDerived > & diagonal)
inlineexplicit

Converts the diagonal matrix diagonal, the permutation being the identity.

◆ ScaledPermutationMatrix() [7/7]

template<typename Scalar_, int SizeAtCompileTime, int MaxSizeAtCompileTime, typename StorageIndex_>
template<typename OtherDerived>
Eigen::ScaledPermutationMatrix< Scalar_, SizeAtCompileTime, MaxSizeAtCompileTime, StorageIndex_ >::ScaledPermutationMatrix ( const ScaledPermutationBase< OtherDerived > & other)
inline

Copies the scaled permutation other.

Member Function Documentation

◆ indices() [1/2]

template<typename Scalar_, int SizeAtCompileTime, int MaxSizeAtCompileTime, typename StorageIndex_>
IndicesType & Eigen::ScaledPermutationMatrix< Scalar_, SizeAtCompileTime, MaxSizeAtCompileTime, StorageIndex_ >::indices ( )
inlineconstexpr
Returns
a reference to the permutation's indices

◆ indices() [2/2]

template<typename Scalar_, int SizeAtCompileTime, int MaxSizeAtCompileTime, typename StorageIndex_>
const IndicesType & Eigen::ScaledPermutationMatrix< Scalar_, SizeAtCompileTime, MaxSizeAtCompileTime, StorageIndex_ >::indices ( ) const
inlineconstexpr
Returns
the permutation's indices

◆ operator=()

template<typename Scalar_, int SizeAtCompileTime, int MaxSizeAtCompileTime, typename StorageIndex_>
template<typename OtherDerived>
ScaledPermutationMatrix & Eigen::ScaledPermutationMatrix< Scalar_, SizeAtCompileTime, MaxSizeAtCompileTime, StorageIndex_ >::operator= ( const ScaledPermutationBase< OtherDerived > & other)
inline

Copies the scaled permutation other.

◆ permutation() [1/2]

template<typename Scalar_, int SizeAtCompileTime, int MaxSizeAtCompileTime, typename StorageIndex_>
PermutationType & Eigen::ScaledPermutationMatrix< Scalar_, SizeAtCompileTime, MaxSizeAtCompileTime, StorageIndex_ >::permutation ( )
inline
Returns
a reference to the permutation factor

◆ permutation() [2/2]

template<typename Scalar_, int SizeAtCompileTime, int MaxSizeAtCompileTime, typename StorageIndex_>
const PermutationType & Eigen::ScaledPermutationMatrix< Scalar_, SizeAtCompileTime, MaxSizeAtCompileTime, StorageIndex_ >::permutation ( ) const
inline
Returns
the permutation factor

◆ resize()

template<typename Scalar_, int SizeAtCompileTime, int MaxSizeAtCompileTime, typename StorageIndex_>
void Eigen::ScaledPermutationMatrix< Scalar_, SizeAtCompileTime, MaxSizeAtCompileTime, StorageIndex_ >::resize ( Index size)
inline

Resizes to the given size, leaving the coefficients uninitialized.

◆ scales() [1/2]

template<typename Scalar_, int SizeAtCompileTime, int MaxSizeAtCompileTime, typename StorageIndex_>
ScalesType & Eigen::ScaledPermutationMatrix< Scalar_, SizeAtCompileTime, MaxSizeAtCompileTime, StorageIndex_ >::scales ( )
inline
Returns
a reference to the scales

◆ scales() [2/2]

template<typename Scalar_, int SizeAtCompileTime, int MaxSizeAtCompileTime, typename StorageIndex_>
const ScalesType & Eigen::ScaledPermutationMatrix< Scalar_, SizeAtCompileTime, MaxSizeAtCompileTime, StorageIndex_ >::scales ( ) const
inline
Returns
the scales

◆ setIdentity() [1/2]

template<typename Scalar_, int SizeAtCompileTime, int MaxSizeAtCompileTime, typename StorageIndex_>
void Eigen::ScaledPermutationMatrix< Scalar_, SizeAtCompileTime, MaxSizeAtCompileTime, StorageIndex_ >::setIdentity ( )
inline

Sets *this to the identity matrix.

◆ setIdentity() [2/2]

template<typename Scalar_, int SizeAtCompileTime, int MaxSizeAtCompileTime, typename StorageIndex_>
void Eigen::ScaledPermutationMatrix< Scalar_, SizeAtCompileTime, MaxSizeAtCompileTime, StorageIndex_ >::setIdentity ( Index size)
inline

Sets *this to the identity matrix of the given size.

Friends And Related Symbol Documentation

◆ operator*() [1/4]

template<typename DiagonalDerived, typename PermutationType>
internal::scaled_permutation_result< typenameDiagonalDerived::Scalar, PermutationType, DiagonalDerived, typenamePermutationType::StorageIndex >::type operator* ( const DiagonalBase< DiagonalDerived > & diagonal,
const InverseImpl< PermutationType, PermutationStorage > & inverse )
related
Returns
the scaled permutation diagonal times inverse (an inverse permutation)

◆ operator*() [2/4]

template<typename DiagonalDerived, typename PermutationDerived>
internal::scaled_permutation_result< typenameDiagonalDerived::Scalar, PermutationDerived, DiagonalDerived, typenamePermutationDerived::StorageIndex >::type operator* ( const DiagonalBase< DiagonalDerived > & diagonal,
const PermutationBase< PermutationDerived > & permutation )
related
Returns
the scaled permutation diagonal times permutation

◆ operator*() [3/4]

template<typename PermutationType, typename DiagonalDerived>
internal::scaled_permutation_result< typenameDiagonalDerived::Scalar, PermutationType, DiagonalDerived, typenamePermutationType::StorageIndex >::type operator* ( const InverseImpl< PermutationType, PermutationStorage > & inverse,
const DiagonalBase< DiagonalDerived > & diagonal )
related
Returns
the scaled permutation inverse (an inverse permutation) times diagonal

◆ operator*() [4/4]

template<typename PermutationDerived, typename DiagonalDerived>
internal::scaled_permutation_result< typenameDiagonalDerived::Scalar, PermutationDerived, DiagonalDerived, typenamePermutationDerived::StorageIndex >::type operator* ( const PermutationBase< PermutationDerived > & permutation,
const DiagonalBase< DiagonalDerived > & diagonal )
related
Returns
the scaled permutation permutation times diagonal

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