$treeview $search $mathjax
$projectbrief
$projectbrief
$searchbox

DynamicSparseMatrix< _Scalar, _Options, _Index > Class Template Reference

A sparse matrix class designed for matrix assembly purpose. More...

Inherits SparseMatrixBase< DynamicSparseMatrix< _Scalar, _Options, _Index > >.

List of all members.

Public Member Functions

Scalar coeff (Index row, Index col) const
Scalar & coeffRef (Index row, Index col)
template<typename OtherDerived >
EIGEN_DEPRECATED DynamicSparseMatrix (const SparseMatrixBase< OtherDerived > &other)
EIGEN_DEPRECATED DynamicSparseMatrix (Index rows, Index cols)
EIGEN_DEPRECATED DynamicSparseMatrix ()
EIGEN_DEPRECATED void endFill ()
EIGEN_DEPRECATED Scalar & fill (Index row, Index col)
EIGEN_DEPRECATED Scalar & fillrand (Index row, Index col)
void finalize ()
Scalar & insertBack (Index row, Index col)
Scalar & insertBackByOuterInner (Index outer, Index inner)
Index nonZeros () const
void prune (Scalar reference, RealScalar epsilon=NumTraits< RealScalar >::dummy_precision())
void resize (Index rows, Index cols)
EIGEN_DEPRECATED void startFill (Index reserveSize=1000)
void startVec (Index)
 ~DynamicSparseMatrix ()

Detailed Description

template<typename _Scalar, int _Options, typename _Index>
class Eigen::DynamicSparseMatrix< _Scalar, _Options, _Index >

A sparse matrix class designed for matrix assembly purpose.

Deprecated:
use a SparseMatrix in an uncompressed mode
Parameters:
_Scalar the scalar type, i.e. the type of the coefficients

Unlike SparseMatrix, this class provides a much higher degree of flexibility. In particular, it allows random read/write accesses in log(rho*outer_size) where rho is the probability that a coefficient is nonzero and outer_size is the number of columns if the matrix is column-major and the number of rows otherwise.

Internally, the data are stored as a std::vector of compressed vector. The performances of random writes might decrease as the number of nonzeros per inner-vector increase. In practice, we observed very good performance till about 100 nonzeros/vector, and the performance remains relatively good till 500 nonzeros/vectors.

See also:
SparseMatrix

Constructor & Destructor Documentation

EIGEN_DEPRECATED DynamicSparseMatrix (  )  [inline]

The class DynamicSparseMatrix is deprectaed

EIGEN_DEPRECATED DynamicSparseMatrix ( Index  rows,
Index  cols 
) [inline]
EIGEN_DEPRECATED DynamicSparseMatrix ( const SparseMatrixBase< OtherDerived > &  other  )  [inline, explicit]

The class DynamicSparseMatrix is deprectaed

~DynamicSparseMatrix (  )  [inline]

Destructor


Member Function Documentation

Scalar coeff ( Index  row,
Index  col 
) const [inline]
Returns:
the coefficient value at given position row, col This operation involes a log(rho*outer_size) binary search.
Scalar& coeffRef ( Index  row,
Index  col 
) [inline]
Returns:
a reference to the coefficient value at given position row, col This operation involes a log(rho*outer_size) binary search. If the coefficient does not exist yet, then a sorted insertion into a sequential buffer is performed.
EIGEN_DEPRECATED void endFill (  )  [inline]
Deprecated:
use finalize() Does nothing. Provided for compatibility with SparseMatrix.
EIGEN_DEPRECATED Scalar& fill ( Index  row,
Index  col 
) [inline]
Deprecated:
use insert() inserts a nonzero coefficient at given coordinates row, col and returns its reference assuming that: 1 - the coefficient does not exist yet 2 - this the coefficient with greater inner coordinate for the given outer coordinate. In other words, assuming *this is column-major, then there must not exists any nonzero coefficient of coordinates i x col such that i >= row. Otherwise the matrix is invalid.
See also:
fillrand(), coeffRef()

References DynamicSparseMatrix< _Scalar, _Options, _Index >::insertBack().

EIGEN_DEPRECATED Scalar& fillrand ( Index  row,
Index  col 
) [inline]
Deprecated:
use insert() Like fill() but with random inner coordinates. Compared to the generic coeffRef(), the unique limitation is that we assume the coefficient does not exist yet.
void finalize (  )  [inline]

Does nothing: provided for compatibility with SparseMatrix

Scalar& insertBack ( Index  row,
Index  col 
) [inline]
Returns:
a reference to the non zero coefficient at position row, col assuming that:
  • the nonzero does not already exist
  • the new coefficient is the last one of the given inner vector.
See also:
insert, insertBackByOuterInner

References DynamicSparseMatrix< _Scalar, _Options, _Index >::insertBackByOuterInner().

Referenced by DynamicSparseMatrix< _Scalar, _Options, _Index >::fill().

Scalar& insertBackByOuterInner ( Index  outer,
Index  inner 
) [inline]
Index nonZeros (  )  const [inline]
Returns:
the number of non zero coefficients
void prune ( Scalar  reference,
RealScalar  epsilon = NumTraits<RealScalar>::dummy_precision() 
) [inline]

Suppress all nonzeros which are smaller than reference under the tolerence epsilon

void resize ( Index  rows,
Index  cols 
) [inline]

Resize the matrix without preserving the data (the matrix is set to zero)

Referenced by DynamicSparseMatrix< _Scalar, _Options, _Index >::DynamicSparseMatrix().

EIGEN_DEPRECATED void startFill ( Index  reserveSize = 1000  )  [inline]
Deprecated:
Set the matrix to zero and reserve the memory for reserveSize nonzero coefficients.
void startVec ( Index   )  [inline]

Does nothing: provided for compatibility with SparseMatrix


The documentation for this class was generated from the following file: