Pseudo expression to manipulate a triangular sparse matrix as a selfadjoint matrix. More...
#include <SparseSelfAdjointView.h>
Public Types | |
typedef internal::remove_all < MatrixTypeNested >::type | _MatrixTypeNested |
typedef MatrixType::Index | Index |
typedef MatrixType::Nested | MatrixTypeNested |
typedef MatrixType::Scalar | Scalar |
typedef internal::traits < SparseSelfAdjointView < MatrixType, UpLo > >::StorageKind | StorageKind |
typedef Matrix< Index, Dynamic, 1 > | VectorI |
Public Member Functions | |
void | addTo (Dest &dst) const |
void | applyThisOnTheLeft (Dest &dst) const |
void | applyThisOnTheRight (Dest &dst) const |
Index | cols () const |
SparseSelfAdjointView < MatrixType, UpLo > & | const_cast_derived () const |
const SparseSelfAdjointView < MatrixType, UpLo > & | const_derived () const |
SparseSelfAdjointView < MatrixType, UpLo > & | derived () |
const SparseSelfAdjointView < MatrixType, UpLo > & | derived () const |
void | evalTo (Dest &dst) 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 _MatrixTypeNested & | matrix () const |
_MatrixTypeNested & | matrix () |
template<typename OtherDerived > | |
SparseSelfAdjointTimeDenseProduct < MatrixType, OtherDerived, UpLo > | operator* (const MatrixBase< OtherDerived > &rhs) const |
template<typename SrcMatrixType , int SrcUpLo> | |
SparseSelfAdjointView & | operator= (const SparseSymmetricPermutationProduct< SrcMatrixType, SrcUpLo > &permutedMatrix) |
SparseSelfAdjointView & | operator= (const SparseSelfAdjointView &src) |
template<typename SrcMatrixType , unsigned int SrcUpLo> | |
SparseSelfAdjointView & | operator= (const SparseSelfAdjointView< SrcMatrixType, SrcUpLo > &src) |
template<typename DerivedU > | |
SparseSelfAdjointView & | rankUpdate (const SparseMatrixBase< DerivedU > &u, Scalar alpha=Scalar(1)) |
Index | rows () const |
Index | size () const |
SparseSelfAdjointView (const MatrixType &matrix) | |
void | subTo (Dest &dst) const |
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 > | |
DenseTimeSparseSelfAdjointProduct < OtherDerived, MatrixType, UpLo > | operator* (const MatrixBase< OtherDerived > &lhs, const SparseSelfAdjointView &rhs) |
Pseudo expression to manipulate a triangular sparse matrix as a selfadjoint matrix.
MatrixType | the type of the dense matrix storing the coefficients |
UpLo | can 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.
typedef internal::remove_all<MatrixTypeNested>::type _MatrixTypeNested |
typedef MatrixType::Index Index |
Reimplemented from EigenBase< SparseSelfAdjointView< MatrixType, UpLo > >.
typedef MatrixType::Nested MatrixTypeNested |
typedef MatrixType::Scalar Scalar |
|
inherited |
|
inline |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inline |
Reimplemented from EigenBase< SparseSelfAdjointView< MatrixType, UpLo > >.
References SparseSelfAdjointView< MatrixType, UpLo >::m_matrix.
Referenced by SparseSelfAdjointView< MatrixType, UpLo >::SparseSelfAdjointView().
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Efficient sparse self-adjoint matrix times dense vector/matrix product
References SparseSelfAdjointView< MatrixType, UpLo >::m_matrix.
|
inline |
|
inline |
|
inline |
SparseSelfAdjointView< MatrixType, UpLo > & rankUpdate | ( | const SparseMatrixBase< DerivedU > & | u, |
Scalar | alpha = Scalar(1) |
||
) |
Perform a symmetric rank K update of the selfadjoint matrix *this
: where u is a vector or matrix.
*this
To perform you can simply call this function with u.adjoint().
References SparseMatrixBase< Derived >::adjoint(), and EigenBase< SparseMatrix< _Scalar, _Options, _Index > >::const_cast_derived().
|
inline |
Reimplemented from EigenBase< SparseSelfAdjointView< MatrixType, UpLo > >.
References SparseSelfAdjointView< MatrixType, UpLo >::m_matrix.
Referenced by SparseSelfAdjointView< MatrixType, UpLo >::SparseSelfAdjointView().
|
inlineinherited |
|
inlineinherited |
|
inline |
References SparseSelfAdjointView< MatrixType, UpLo >::m_matrix.
Referenced by SparseSelfAdjointView< MatrixType, UpLo >::operator=().
|
friend |
Efficient dense vector/matrix times sparse self-adjoint matrix product
|
mutableprotected |
|
mutableprotected |
|
protected |
Referenced by SparseSelfAdjointView< MatrixType, UpLo >::cols(), SparseSelfAdjointView< MatrixType, UpLo >::evalTo(), SparseSelfAdjointView< MatrixType, UpLo >::matrix(), SparseSelfAdjointView< MatrixType, UpLo >::operator*(), SparseSelfAdjointView< MatrixType, UpLo >::rows(), and SparseSelfAdjointView< MatrixType, UpLo >::twistedBy().