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 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 _MatrixTypeNested & | matrix () const |
_MatrixTypeNested & | matrix () |
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> | |
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, 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) |
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.
Definition at line 49 of file SparseSelfAdjointView.h.
typedef internal::remove_all<MatrixTypeNested>::type Eigen::SparseSelfAdjointView< MatrixType, UpLo >::_MatrixTypeNested |
Definition at line 58 of file SparseSelfAdjointView.h.
typedef MatrixType::Index Eigen::SparseSelfAdjointView< MatrixType, UpLo >::Index |
Reimplemented from Eigen::EigenBase< SparseSelfAdjointView< MatrixType, UpLo > >.
Definition at line 55 of file SparseSelfAdjointView.h.
typedef MatrixType::Nested Eigen::SparseSelfAdjointView< MatrixType, UpLo >::MatrixTypeNested |
Definition at line 57 of file SparseSelfAdjointView.h.
typedef MatrixType::Scalar Eigen::SparseSelfAdjointView< MatrixType, UpLo >::Scalar |
Definition at line 54 of file SparseSelfAdjointView.h.
typedef Matrix<Index,Dynamic,1> Eigen::SparseSelfAdjointView< MatrixType, UpLo >::VectorI |
Definition at line 56 of file SparseSelfAdjointView.h.
Eigen::SparseSelfAdjointView< MatrixType, UpLo >::SparseSelfAdjointView | ( | const MatrixType & | matrix | ) | [inline] |
Definition at line 60 of file SparseSelfAdjointView.h.
Index Eigen::SparseSelfAdjointView< MatrixType, UpLo >::cols | ( | void | ) | const [inline] |
Reimplemented from Eigen::EigenBase< SparseSelfAdjointView< MatrixType, UpLo > >.
Definition at line 66 of file SparseSelfAdjointView.h.
void Eigen::SparseSelfAdjointView< MatrixType, UpLo >::evalTo | ( | SparseMatrix< DestScalar, StorageOrder, Index > & | _dest | ) | const [inline] |
Definition at line 124 of file SparseSelfAdjointView.h.
void Eigen::SparseSelfAdjointView< MatrixType, UpLo >::evalTo | ( | DynamicSparseMatrix< DestScalar, ColMajor, Index > & | _dest | ) | const [inline] |
Definition at line 129 of file SparseSelfAdjointView.h.
const _MatrixTypeNested& Eigen::SparseSelfAdjointView< MatrixType, UpLo >::matrix | ( | ) | const [inline] |
Definition at line 69 of file SparseSelfAdjointView.h.
_MatrixTypeNested& Eigen::SparseSelfAdjointView< MatrixType, UpLo >::matrix | ( | ) | [inline] |
Definition at line 70 of file SparseSelfAdjointView.h.
SparseSparseProduct<typename OtherDerived::PlainObject, OtherDerived> Eigen::SparseSelfAdjointView< MatrixType, UpLo >::operator* | ( | const SparseMatrixBase< OtherDerived > & | rhs | ) | const [inline] |
*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.
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.
SparseSelfAdjointView& Eigen::SparseSelfAdjointView< MatrixType, UpLo >::operator= | ( | const SparseSymmetricPermutationProduct< SrcMatrixType, SrcUpLo > & | permutedMatrix | ) | [inline] |
Definition at line 144 of file SparseSelfAdjointView.h.
SparseSelfAdjointView& Eigen::SparseSelfAdjointView< MatrixType, UpLo >::operator= | ( | const SparseSelfAdjointView< MatrixType, UpLo > & | src | ) | [inline] |
Definition at line 151 of file SparseSelfAdjointView.h.
SparseSelfAdjointView& Eigen::SparseSelfAdjointView< MatrixType, UpLo >::operator= | ( | const SparseSelfAdjointView< SrcMatrixType, SrcUpLo > & | src | ) | [inline] |
Definition at line 158 of file SparseSelfAdjointView.h.
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
: where u is a vector or matrix.
*this
To perform you can simply call this function with u.adjoint().
Definition at line 200 of file SparseSelfAdjointView.h.
Index Eigen::SparseSelfAdjointView< MatrixType, UpLo >::rows | ( | void | ) | const [inline] |
Reimplemented from Eigen::EigenBase< SparseSelfAdjointView< MatrixType, UpLo > >.
Definition at line 65 of file SparseSelfAdjointView.h.
SparseSymmetricPermutationProduct<_MatrixTypeNested,UpLo> Eigen::SparseSelfAdjointView< MatrixType, UpLo >::twistedBy | ( | const PermutationMatrix< Dynamic, Dynamic, Index > & | perm | ) | const [inline] |
Definition at line 138 of file SparseSelfAdjointView.h.
SparseSparseProduct<OtherDerived, typename OtherDerived::PlainObject > operator* | ( | const SparseMatrixBase< OtherDerived > & | lhs, |
const SparseSelfAdjointView< MatrixType, UpLo > & | rhs | ||
) | [friend] |
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.
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.
VectorI Eigen::SparseSelfAdjointView< MatrixType, UpLo >::m_countPerCol [mutable, protected] |
Definition at line 172 of file SparseSelfAdjointView.h.
VectorI Eigen::SparseSelfAdjointView< MatrixType, UpLo >::m_countPerRow [mutable, protected] |
Definition at line 171 of file SparseSelfAdjointView.h.
MatrixType::Nested Eigen::SparseSelfAdjointView< MatrixType, UpLo >::m_matrix [protected] |
Definition at line 170 of file SparseSelfAdjointView.h.