Main MRPT website > C++ reference
MRPT logo
Public Types | Public Member Functions | Protected Attributes | Friends
Eigen::SparseSelfAdjointView Class Reference

Detailed Description

Pseudo expression to manipulate a triangular sparse matrix as a selfadjoint matrix.

Parameters:
MatrixTypethe type of the dense matrix storing the coefficients
UpLocan be either Lower or Upper

This class is an expression of a sefladjoint matrix from a triangular part of a matrix with given dense storage of the coefficients. It is the return type of MatrixBase::selfadjointView() and most of the time this is the only way that it is used.

See also:
SparseMatrixBase::selfadjointView()
Inheritance diagram for Eigen::SparseSelfAdjointView:
Inheritance graph
[legend]

List of all members.

Public Types

typedef MatrixType::Scalar Scalar
typedef MatrixType::Index Index
typedef Matrix< Index, Dynamic, 1 > VectorI
typedef MatrixType::Nested MatrixTypeNested
typedef internal::remove_all
< MatrixTypeNested >::type 
_MatrixTypeNested
typedef internal::traits
< Derived >::StorageKind 
StorageKind

Public Member Functions

 SparseSelfAdjointView (const MatrixType &matrix)
Index rows () const
Index cols () const
const _MatrixTypeNestedmatrix () const
_MatrixTypeNestedmatrix ()
template<typename OtherDerived >
SparseSelfAdjointTimeDenseProduct
< MatrixType, OtherDerived,
UpLo > 
operator* (const MatrixBase< OtherDerived > &rhs) const
 Efficient sparse self-adjoint matrix times dense vector/matrix product.
template<typename DerivedU >
SparseSelfAdjointViewrankUpdate (const SparseMatrixBase< DerivedU > &u, Scalar alpha=Scalar(1))
 Perform a symmetric rank K update of the selfadjoint matrix *this: $ this = this + \alpha ( u u^* ) $ where u is a vector or matrix.
template<typename DestScalar >
void evalTo (SparseMatrix< DestScalar, ColMajor, Index > &_dest) const
template<typename DestScalar >
void evalTo (DynamicSparseMatrix< DestScalar, ColMajor, Index > &_dest) const
SparseSymmetricPermutationProduct
< _MatrixTypeNested, UpLo > 
twistedBy (const PermutationMatrix< Dynamic, Dynamic, Index > &perm) const
template<typename SrcMatrixType , int SrcUpLo>
SparseSelfAdjointViewoperator= (const SparseSymmetricPermutationProduct< SrcMatrixType, SrcUpLo > &permutedMatrix)
Derived & derived ()
const Derived & derived () const
Derived & const_cast_derived () const
const Derived & const_derived () const
Index size () const
void evalTo (Dest &dst) const
void addTo (Dest &dst) const
void subTo (Dest &dst) const
void applyThisOnTheRight (Dest &dst) const
void applyThisOnTheLeft (Dest &dst) const

Protected Attributes

const MatrixType::Nested m_matrix
VectorI m_countPerRow
VectorI m_countPerCol

Friends

template<typename OtherDerived >
DenseTimeSparseSelfAdjointProduct
< OtherDerived, MatrixType,
UpLo > 
operator* (const MatrixBase< OtherDerived > &lhs, const SparseSelfAdjointView &rhs)
 Efficient dense vector/matrix times sparse self-adjoint matrix product.

Member Typedef Documentation

Definition at line 75 of file Sparse.

typedef MatrixType::Index Eigen::SparseSelfAdjointView::Index

Reimplemented from Eigen::EigenBase< SparseSelfAdjointView< MatrixType, UpLo > >.

Definition at line 72 of file Sparse.

Definition at line 74 of file Sparse.

typedef MatrixType::Scalar Eigen::SparseSelfAdjointView::Scalar

Definition at line 71 of file Sparse.

typedef internal::traits<Derived>::StorageKind Eigen::EigenBase::StorageKind [inherited]

Definition at line 45 of file Core.

Definition at line 73 of file Sparse.


Constructor & Destructor Documentation

Eigen::SparseSelfAdjointView::SparseSelfAdjointView ( const MatrixType &  matrix) [inline]

Definition at line 77 of file Sparse.


Member Function Documentation

void Eigen::EigenBase::addTo ( Dest &  dst) const [inline, inherited]

Definition at line 71 of file Core.

void Eigen::EigenBase::applyThisOnTheLeft ( Dest &  dst) const [inline, inherited]

Definition at line 99 of file Core.

void Eigen::EigenBase::applyThisOnTheRight ( Dest &  dst) const [inline, inherited]

Definition at line 91 of file Core.

Index Eigen::SparseSelfAdjointView::cols ( void  ) const [inline]
Returns:
the number of columns.
See also:
rows(), ColsAtCompileTime

Reimplemented from Eigen::EigenBase< SparseSelfAdjointView< MatrixType, UpLo > >.

Definition at line 83 of file Sparse.

Derived& Eigen::EigenBase::const_cast_derived ( ) const [inline, inherited]

Definition at line 53 of file Core.

const Derived& Eigen::EigenBase::const_derived ( ) const [inline, inherited]

Definition at line 55 of file Core.

Derived& Eigen::EigenBase::derived ( ) [inline, inherited]
Returns:
a reference to the derived object

Definition at line 49 of file Core.

const Derived& Eigen::EigenBase::derived ( ) const [inline, inherited]
Returns:
a const reference to the derived object

Definition at line 51 of file Core.

void Eigen::EigenBase::evalTo ( Dest &  dst) const [inline, inherited]

Definition at line 67 of file Core.

template<typename DestScalar >
void Eigen::SparseSelfAdjointView::evalTo ( SparseMatrix< DestScalar, ColMajor, Index > &  _dest) const [inline]

Definition at line 117 of file Sparse.

template<typename DestScalar >
void Eigen::SparseSelfAdjointView::evalTo ( DynamicSparseMatrix< DestScalar, ColMajor, Index > &  _dest) const [inline]

Definition at line 122 of file Sparse.

const _MatrixTypeNested& Eigen::SparseSelfAdjointView::matrix ( ) const [inline]

Definition at line 86 of file Sparse.

_MatrixTypeNested& Eigen::SparseSelfAdjointView::matrix ( ) [inline]

Definition at line 87 of file Sparse.

template<typename OtherDerived >
SparseSelfAdjointTimeDenseProduct<MatrixType,OtherDerived,UpLo> Eigen::SparseSelfAdjointView::operator* ( const MatrixBase< OtherDerived > &  rhs) const [inline]

Efficient sparse self-adjoint matrix times dense vector/matrix product.

Definition at line 92 of file Sparse.

template<typename SrcMatrixType , int SrcUpLo>
SparseSelfAdjointView& Eigen::SparseSelfAdjointView::operator= ( const SparseSymmetricPermutationProduct< SrcMatrixType, SrcUpLo > &  permutedMatrix) [inline]

Definition at line 137 of file Sparse.

template<typename DerivedU >
SparseSelfAdjointView< MatrixType, UpLo > & Eigen::SparseSelfAdjointView::rankUpdate ( const SparseMatrixBase< DerivedU > &  u,
Scalar  alpha = Scalar(1) 
)

Perform a symmetric rank K update of the selfadjoint matrix *this: $ this = this + \alpha ( u u^* ) $ where u is a vector or matrix.

Returns:
a reference to *this

To perform $ this = this + \alpha ( u^* u ) $ you can simply call this function with u.adjoint().

Definition at line 179 of file Sparse.

Index Eigen::SparseSelfAdjointView::rows ( void  ) const [inline]
Returns:
the number of rows.
See also:
cols(), RowsAtCompileTime

Reimplemented from Eigen::EigenBase< SparseSelfAdjointView< MatrixType, UpLo > >.

Definition at line 82 of file Sparse.

Index Eigen::EigenBase::size ( ) const [inline, inherited]
Returns:
the number of coefficients, which is rows()*cols().
See also:
rows(), cols(), SizeAtCompileTime.

Definition at line 64 of file Core.

void Eigen::EigenBase::subTo ( Dest &  dst) const [inline, inherited]

Definition at line 81 of file Core.

SparseSymmetricPermutationProduct<_MatrixTypeNested,UpLo> Eigen::SparseSelfAdjointView::twistedBy ( const PermutationMatrix< Dynamic, Dynamic, Index > &  perm) const [inline]
Returns:
an expression of P^-1 H P

Definition at line 131 of file Sparse.


Friends And Related Function Documentation

template<typename OtherDerived >
DenseTimeSparseSelfAdjointProduct<OtherDerived,MatrixType,UpLo> operator* ( const MatrixBase< OtherDerived > &  lhs,
const SparseSelfAdjointView rhs 
) [friend]

Efficient dense vector/matrix times sparse self-adjoint matrix product.

Definition at line 100 of file Sparse.


Member Data Documentation

Definition at line 151 of file Sparse.

Definition at line 150 of file Sparse.

const MatrixType::Nested Eigen::SparseSelfAdjointView::m_matrix [protected]

Definition at line 149 of file Sparse.




Page generated by Doxygen 1.7.5 for MRPT 0.9.5 SVN: at Thu Oct 13 21:25:36 UTC 2011