SparseSelfAdjointView< MatrixType, UpLo > Class Template Reference

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

#include <SparseSelfAdjointView.h>

+ Inheritance diagram for SparseSelfAdjointView< MatrixType, UpLo >:

Public Member Functions

SparseSelfAdjointView< MatrixType, UpLo > & derived ()
 
const SparseSelfAdjointView< MatrixType, UpLo > & derived () const
 
template<typename OtherDerived>
SparseSelfAdjointTimeDenseProduct< MatrixType, OtherDerived, UpLo > operator* (const MatrixBase< OtherDerived > &rhs) const
 
template<typename DerivedU>
SparseSelfAdjointViewrankUpdate (const SparseMatrixBase< DerivedU > &u, Scalar alpha=Scalar(1))
 
Index size () const
 
SparseSymmetricPermutationProduct< _MatrixTypeNested, UpLo > twistedBy (const PermutationMatrix< Dynamic, Dynamic, Index > &perm) const
 

Detailed Description

template<typename MatrixType, unsigned int UpLo>
class Eigen::SparseSelfAdjointView< MatrixType, UpLo >

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()

Member Function Documentation

◆ derived() [1/2]

SparseSelfAdjointView< MatrixType, UpLo > & derived ( )
inlineinherited
Returns
a reference to the derived object

◆ derived() [2/2]

const SparseSelfAdjointView< MatrixType, UpLo > & derived ( ) const
inlineinherited
Returns
a const reference to the derived object

◆ operator*()

template<typename MatrixType, unsigned int UpLo>
template<typename OtherDerived>
SparseSelfAdjointTimeDenseProduct< MatrixType, OtherDerived, UpLo > operator* ( const MatrixBase< OtherDerived > & rhs) const
inline

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

◆ rankUpdate()

template<typename MatrixType, unsigned int UpLo>
template<typename DerivedU>
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().

◆ size()

Index size ( ) const
inlineinherited
Returns
the number of coefficients, which is rows()*cols().
See also
rows(), cols(), SizeAtCompileTime.

◆ twistedBy()

template<typename MatrixType, unsigned int UpLo>
SparseSymmetricPermutationProduct< _MatrixTypeNested, UpLo > twistedBy ( const PermutationMatrix< Dynamic, Dynamic, Index > & perm) const
inline
Returns
an expression of P H P^-1

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