Please, help us to better know about our user community by answering the following short survey:
Eigen  3.3.9
SparseCore module

Detailed Description

This module provides a sparse matrix representation, and basic associated matrix manipulations and operations.

See the Sparse tutorial

#include <Eigen/SparseCore>

This module depends on: Core.


class  Eigen::Map< SparseMatrixType >
 Specialization of class Map for SparseMatrix-like storage. More...
class  Eigen::Ref< SparseMatrixType, Options >
 A sparse matrix expression referencing an existing sparse expression. More...
class  Eigen::Ref< SparseVectorType >
 A sparse vector expression referencing an existing sparse vector expression. More...
class  Eigen::SparseCompressedBase< Derived >
 Common base class for sparse [compressed]-{row|column}-storage format. More...
class  Eigen::SparseMapBase< Derived, ReadOnlyAccessors >
 Common base class for Map and Ref instance of sparse matrix and vector. More...
class  Eigen::SparseMapBase< Derived, WriteAccessors >
 Common base class for writable Map and Ref instance of sparse matrix and vector. More...
class  Eigen::SparseMatrix< _Scalar, _Options, _StorageIndex >
 A versatible sparse matrix representation. More...
class  Eigen::SparseMatrixBase< Derived >
 Base class of any sparse matrices or sparse expressions. More...
class  Eigen::SparseSelfAdjointView< MatrixType, _Mode >
 Pseudo expression to manipulate a triangular sparse matrix as a selfadjoint matrix. More...
class  Eigen::SparseSolverBase< Derived >
 A base class for sparse solvers. More...
class  Eigen::SparseVector< _Scalar, _Options, _StorageIndex >
 a sparse vector class More...
class  Eigen::SparseView< MatrixType >
 Expression of a dense or sparse matrix with zero or too small values removed. More...
class  Eigen::TriangularViewImpl< MatrixType, Mode, Sparse >
 Base class for a triangular part in a sparse matrix. More...
class  Eigen::Triplet< Scalar, StorageIndex >
 A small structure to hold a non zero as a triplet (i,j,value). More...


const SparseView< Derived > Eigen::MatrixBase< Derived >::sparseView (const Scalar &m_reference=Scalar(0), const typename NumTraits< Scalar >::Real &m_epsilon=NumTraits< Scalar >::dummy_precision()) const

Function Documentation

◆ sparseView()

template<typename Derived >
const SparseView< Derived > Eigen::MatrixBase< Derived >::sparseView ( const Scalar reference = Scalar(0),
const typename NumTraits< Scalar >::Real &  epsilon = NumTraits<Scalar>::dummy_precision() 
) const
a sparse expression of the dense expression *this with values smaller than reference * epsilon removed.

This method is typically used when prototyping to convert a quickly assembled dense Matrix D to a SparseMatrix S:

MatrixXd D(n,m);
SparseMatrix<double> S;
S = D.sparseView(); // suppress numerical zeros (exact)
S = D.sparseView(reference);
S = D.sparseView(reference,epsilon);

where reference is a meaningful non zero reference value, and epsilon is a tolerance factor defaulting to NumTraits<Scalar>::dummy_precision().

See also
SparseMatrixBase::pruned(), class SparseView