Eigen  3.4.90 (git rev a4098ac676528a83cfb73d4d26ce1b42ec05f47c)
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.

Classes

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...
 

Functions

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
Returns
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