Eigen  3.3.3
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 >:

List of all members.

Public Member Functions

Index cols () const
template<typename OtherDerived >
Product< SparseSelfAdjointView,
OtherDerived > 
operator* (const SparseMatrixBase< OtherDerived > &rhs) const
template<typename OtherDerived >
Product< SparseSelfAdjointView,
OtherDerived > 
operator* (const MatrixBase< OtherDerived > &rhs) const
template<typename DerivedU >
SparseSelfAdjointViewrankUpdate (const SparseMatrixBase< DerivedU > &u, const Scalar &alpha=Scalar(1))
Index rows () const
SparseSymmetricPermutationProduct
< _MatrixTypeNested, Mode > 
twistedBy (const PermutationMatrix< Dynamic, Dynamic, StorageIndex > &perm) const

Friends

template<typename OtherDerived >
Product< OtherDerived,
SparseSelfAdjointView
operator* (const SparseMatrixBase< OtherDerived > &lhs, const SparseSelfAdjointView &rhs)
template<typename OtherDerived >
Product< OtherDerived,
SparseSelfAdjointView
operator* (const MatrixBase< OtherDerived > &lhs, const SparseSelfAdjointView &rhs)

Member Function Documentation

template<typename MatrixType, unsigned int _Mode>
Index Eigen::SparseSelfAdjointView< MatrixType, _Mode >::cols ( void  ) const [inline]
Returns:
the number of columns.
See also:
rows(), ColsAtCompileTime

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

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.

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

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

template<typename MatrixType, unsigned int _Mode>
Index Eigen::SparseSelfAdjointView< MatrixType, _Mode >::rows ( void  ) const [inline]
Returns:
the number of rows.
See also:
cols(), RowsAtCompileTime

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

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

Friends And Related Function Documentation

template<typename MatrixType, unsigned int _Mode>
template<typename OtherDerived >
Product<OtherDerived, SparseSelfAdjointView> operator* ( const SparseMatrixBase< OtherDerived > &  lhs,
const SparseSelfAdjointView< MatrixType, _Mode > &  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.

template<typename MatrixType, unsigned int _Mode>
template<typename OtherDerived >
Product<OtherDerived,SparseSelfAdjointView> operator* ( const MatrixBase< OtherDerived > &  lhs,
const SparseSelfAdjointView< MatrixType, _Mode > &  rhs 
) [friend]

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


The documentation for this class was generated from the following file:
 All Classes Functions Variables Typedefs Enumerations Enumerator Friends