Public Types | Public Member Functions | Protected Attributes | Friends
Eigen::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 Eigen::SparseSelfAdjointView< MatrixType, UpLo >:
Inheritance graph
[legend]

List of all members.

Public Types

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

Public Member Functions

Index cols () const
template<typename DestScalar , int StorageOrder>
void evalTo (SparseMatrix< DestScalar, StorageOrder, Index > &_dest) const
template<typename DestScalar >
void evalTo (DynamicSparseMatrix< DestScalar, ColMajor, Index > &_dest) const
const _MatrixTypeNestedmatrix () const
_MatrixTypeNestedmatrix ()
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 SrcMatrixType , int SrcUpLo>
SparseSelfAdjointViewoperator= (const SparseSymmetricPermutationProduct< SrcMatrixType, SrcUpLo > &permutedMatrix)
SparseSelfAdjointViewoperator= (const SparseSelfAdjointView &src)
template<typename SrcMatrixType , unsigned int SrcUpLo>
SparseSelfAdjointViewoperator= (const SparseSelfAdjointView< SrcMatrixType, SrcUpLo > &src)
template<typename DerivedU >
SparseSelfAdjointViewrankUpdate (const SparseMatrixBase< DerivedU > &u, const Scalar &alpha=Scalar(1))
Index rows () const
 SparseSelfAdjointView (const MatrixType &matrix)
SparseSymmetricPermutationProduct
< _MatrixTypeNested, UpLo > 
twistedBy (const PermutationMatrix< Dynamic, Dynamic, Index > &perm) const

Protected Attributes

VectorI m_countPerCol
VectorI m_countPerRow
MatrixType::Nested m_matrix

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)

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

Definition at line 49 of file SparseSelfAdjointView.h.


Member Typedef Documentation

template<typename MatrixType, unsigned int UpLo>
typedef internal::remove_all<MatrixTypeNested>::type Eigen::SparseSelfAdjointView< MatrixType, UpLo >::_MatrixTypeNested

Definition at line 58 of file SparseSelfAdjointView.h.

template<typename MatrixType, unsigned int UpLo>
typedef MatrixType::Index Eigen::SparseSelfAdjointView< MatrixType, UpLo >::Index
template<typename MatrixType, unsigned int UpLo>
typedef MatrixType::Nested Eigen::SparseSelfAdjointView< MatrixType, UpLo >::MatrixTypeNested

Definition at line 57 of file SparseSelfAdjointView.h.

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

Definition at line 54 of file SparseSelfAdjointView.h.

template<typename MatrixType, unsigned int UpLo>
typedef Matrix<Index,Dynamic,1> Eigen::SparseSelfAdjointView< MatrixType, UpLo >::VectorI

Definition at line 56 of file SparseSelfAdjointView.h.


Constructor & Destructor Documentation

template<typename MatrixType, unsigned int UpLo>
Eigen::SparseSelfAdjointView< MatrixType, UpLo >::SparseSelfAdjointView ( const MatrixType &  matrix) [inline]

Definition at line 60 of file SparseSelfAdjointView.h.


Member Function Documentation

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

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

Definition at line 66 of file SparseSelfAdjointView.h.

template<typename MatrixType, unsigned int UpLo>
template<typename DestScalar , int StorageOrder>
void Eigen::SparseSelfAdjointView< MatrixType, UpLo >::evalTo ( SparseMatrix< DestScalar, StorageOrder, Index > &  _dest) const [inline]

Definition at line 124 of file SparseSelfAdjointView.h.

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

Definition at line 129 of file SparseSelfAdjointView.h.

template<typename MatrixType, unsigned int UpLo>
const _MatrixTypeNested& Eigen::SparseSelfAdjointView< MatrixType, UpLo >::matrix ( ) const [inline]

Definition at line 69 of file SparseSelfAdjointView.h.

template<typename MatrixType, unsigned int UpLo>
_MatrixTypeNested& Eigen::SparseSelfAdjointView< MatrixType, UpLo >::matrix ( ) [inline]

Definition at line 70 of file SparseSelfAdjointView.h.

template<typename MatrixType, unsigned int UpLo>
template<typename OtherDerived >
SparseSparseProduct<typename OtherDerived::PlainObject, OtherDerived> Eigen::SparseSelfAdjointView< MatrixType, UpLo >::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.

Definition at line 79 of file SparseSelfAdjointView.h.

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

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

Definition at line 99 of file SparseSelfAdjointView.h.

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

Definition at line 144 of file SparseSelfAdjointView.h.

template<typename MatrixType, unsigned int UpLo>
SparseSelfAdjointView& Eigen::SparseSelfAdjointView< MatrixType, UpLo >::operator= ( const SparseSelfAdjointView< MatrixType, UpLo > &  src) [inline]

Definition at line 151 of file SparseSelfAdjointView.h.

template<typename MatrixType, unsigned int UpLo>
template<typename SrcMatrixType , unsigned int SrcUpLo>
SparseSelfAdjointView& Eigen::SparseSelfAdjointView< MatrixType, UpLo >::operator= ( const SparseSelfAdjointView< SrcMatrixType, SrcUpLo > &  src) [inline]

Definition at line 158 of file SparseSelfAdjointView.h.

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

Definition at line 200 of file SparseSelfAdjointView.h.

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

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

Definition at line 65 of file SparseSelfAdjointView.h.

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

Definition at line 138 of file SparseSelfAdjointView.h.


Friends And Related Function Documentation

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

Definition at line 91 of file SparseSelfAdjointView.h.

template<typename MatrixType, unsigned int UpLo>
template<typename OtherDerived >
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

Definition at line 107 of file SparseSelfAdjointView.h.


Member Data Documentation

template<typename MatrixType, unsigned int UpLo>
VectorI Eigen::SparseSelfAdjointView< MatrixType, UpLo >::m_countPerCol [mutable, protected]

Definition at line 172 of file SparseSelfAdjointView.h.

template<typename MatrixType, unsigned int UpLo>
VectorI Eigen::SparseSelfAdjointView< MatrixType, UpLo >::m_countPerRow [mutable, protected]

Definition at line 171 of file SparseSelfAdjointView.h.

template<typename MatrixType, unsigned int UpLo>
MatrixType::Nested Eigen::SparseSelfAdjointView< MatrixType, UpLo >::m_matrix [protected]

Definition at line 170 of file SparseSelfAdjointView.h.


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


acado
Author(s): Milan Vukov, Rien Quirynen
autogenerated on Sat Jun 8 2019 19:40:54