![]() |
Eigen
3.3.3
|
Pseudo expression to manipulate a triangular sparse matrix as a selfadjoint matrix.
MatrixType | the type of the dense matrix storing the coefficients |
Mode | 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.
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 > | |
SparseSelfAdjointView & | rankUpdate (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) |
Index Eigen::SparseSelfAdjointView< MatrixType, _Mode >::cols | ( | void | ) | const [inline] |
Reimplemented from Eigen::EigenBase< SparseSelfAdjointView< MatrixType, _Mode > >.
Product<SparseSelfAdjointView, OtherDerived> Eigen::SparseSelfAdjointView< MatrixType, _Mode >::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.
Product<SparseSelfAdjointView,OtherDerived> Eigen::SparseSelfAdjointView< MatrixType, _Mode >::operator* | ( | const MatrixBase< OtherDerived > & | rhs | ) | const [inline] |
Efficient sparse self-adjoint matrix times dense vector/matrix product
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
: where u is a vector or matrix.
*this
To perform you can simply call this function with u.adjoint().
Index Eigen::SparseSelfAdjointView< MatrixType, _Mode >::rows | ( | void | ) | const [inline] |
Reimplemented from Eigen::EigenBase< SparseSelfAdjointView< MatrixType, _Mode > >.
SparseSymmetricPermutationProduct<_MatrixTypeNested,Mode> Eigen::SparseSelfAdjointView< MatrixType, _Mode >::twistedBy | ( | const PermutationMatrix< Dynamic, Dynamic, StorageIndex > & | perm | ) | const [inline] |
Product<OtherDerived, SparseSelfAdjointView> operator* | ( | const SparseMatrixBase< OtherDerived > & | lhs, |
const SparseSelfAdjointView< MatrixType, _Mode > & | 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.
Product<OtherDerived,SparseSelfAdjointView> operator* | ( | const MatrixBase< OtherDerived > & | lhs, |
const SparseSelfAdjointView< MatrixType, _Mode > & | rhs | ||
) | [friend] |
Efficient dense vector/matrix times sparse self-adjoint matrix product