Eigen  3.4.90 (git rev 67eeba6e720c5745abc77ae6c92ce0a44aa7b7ae)
Eigen::SparseSelfAdjointView< MatrixType, Mode_ > Class Template Reference

Detailed Description

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

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

Parameters
MatrixTypethe type of the dense matrix storing the coefficients
Modecan 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< MatrixType, Mode_ >:

Public Member Functions

template<typename OtherDerived >
Product< SparseSelfAdjointView, OtherDerived > operator* (const MatrixBase< OtherDerived > &rhs) const
 
template<typename OtherDerived >
Product< SparseSelfAdjointView, OtherDerived > operator* (const SparseMatrixBase< OtherDerived > &rhs) const
 
template<typename DerivedU >
SparseSelfAdjointViewrankUpdate (const SparseMatrixBase< DerivedU > &u, const Scalar &alpha=Scalar(1))
 
SparseSymmetricPermutationProduct< MatrixTypeNested_, Mode > twistedBy (const PermutationMatrix< Dynamic, Dynamic, StorageIndex > &perm) const
 
- Public Member Functions inherited from Eigen::EigenBase< SparseSelfAdjointView< MatrixType, Mode_ > >
EIGEN_CONSTEXPR Index cols () const EIGEN_NOEXCEPT
 
SparseSelfAdjointView< MatrixType, Mode_ > & derived ()
 
const SparseSelfAdjointView< MatrixType, Mode_ > & derived () const
 
EIGEN_CONSTEXPR Index rows () const EIGEN_NOEXCEPT
 
EIGEN_CONSTEXPR Index size () const EIGEN_NOEXCEPT
 

Additional Inherited Members

- Public Types inherited from Eigen::EigenBase< SparseSelfAdjointView< MatrixType, Mode_ > >
typedef Eigen::Index Index
 The interface type of indices. More...
 

Member Function Documentation

◆ operator*() [1/2]

template<typename MatrixType , unsigned int Mode_>
template<typename OtherDerived >
Product<SparseSelfAdjointView,OtherDerived> Eigen::SparseSelfAdjointView< MatrixType, Mode_ >::operator* ( const MatrixBase< OtherDerived > &  rhs) const
inline

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

◆ operator*() [2/2]

template<typename MatrixType , unsigned int Mode_>
template<typename OtherDerived >
Product<SparseSelfAdjointView, OtherDerived> Eigen::SparseSelfAdjointView< MatrixType, Mode_ >::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.

◆ rankUpdate()

template<typename MatrixType , unsigned int Mode_>
template<typename DerivedU >
SparseSelfAdjointView& Eigen::SparseSelfAdjointView< MatrixType, Mode_ >::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().

◆ twistedBy()

template<typename MatrixType , unsigned int Mode_>
SparseSymmetricPermutationProduct<MatrixTypeNested_,Mode> Eigen::SparseSelfAdjointView< MatrixType, Mode_ >::twistedBy ( const PermutationMatrix< Dynamic, Dynamic, StorageIndex > &  perm) const
inline
Returns
an expression of P H P^-1

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