Eigen  3.2.7
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
SparseSelfAdjointView< MatrixType, UpLo > Class Template Reference

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()
+ Inheritance diagram for SparseSelfAdjointView< MatrixType, UpLo >:

Public Member Functions

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

Friends

template<typename OtherDerived >
SparseSparseProduct
< OtherDerived, typename
OtherDerived::PlainObject > 
operator* (const SparseMatrixBase< OtherDerived > &lhs, const SparseSelfAdjointView &rhs)
 
template<typename OtherDerived >
DenseTimeSparseSelfAdjointProduct
< OtherDerived, MatrixType,
UpLo > 
operator* (const MatrixBase< OtherDerived > &lhs, const SparseSelfAdjointView &rhs)
 

Member Function Documentation

SparseSelfAdjointView< MatrixType, UpLo > & derived ( )
inlineinherited
Returns
a reference to the derived object
const SparseSelfAdjointView< MatrixType, UpLo > & derived ( ) const
inlineinherited
Returns
a const reference to the derived object
SparseSparseProduct<typename OtherDerived::PlainObject, OtherDerived> operator* ( const SparseMatrixBase< OtherDerived > &  rhs) const
inline
Returns
an expression of the matrix product between a sparse self-adjoint matrix *this and a sparse matrix rhs.

Note that there is no algorithmic advantage of performing such a product compared to a general sparse-sparse matrix product. Indeed, the SparseSelfadjointView operand is first copied into a temporary SparseMatrix before computing the product.

References EigenBase< Derived >::derived().

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

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

SparseSelfAdjointView& rankUpdate ( const SparseMatrixBase< DerivedU > &  u,
const 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().

Index size ( ) const
inlineinherited
Returns
the number of coefficients, which is rows()*cols().
See Also
rows(), cols(), SizeAtCompileTime.
SparseSymmetricPermutationProduct<_MatrixTypeNested,UpLo> twistedBy ( const PermutationMatrix< Dynamic, Dynamic, Index > &  perm) const
inline
Returns
an expression of P H P^-1

Friends And Related Function Documentation

SparseSparseProduct<OtherDerived, typename OtherDerived::PlainObject > operator* ( const SparseMatrixBase< OtherDerived > &  lhs,
const SparseSelfAdjointView< MatrixType, UpLo > &  rhs 
)
friend
Returns
an expression of the matrix product between a sparse matrix lhs and a sparse self-adjoint matrix rhs.

Note that there is no algorithmic advantage of performing such a product compared to a general sparse-sparse matrix product. Indeed, the SparseSelfadjointView operand is first copied into a temporary SparseMatrix before computing the product.

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

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


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