SuanShu, a Java numerical and statistical library



com.numericalmethod.suanshu.algebra.linear.matrix.doubles.matrixtype.sparse
Interface SparseMatrix

All Superinterfaces:
AbelianGroup<Matrix>, DeepCopyable, Densifiable, Matrix, MatrixAccess, MatrixRing, MatrixTable, Monoid<Matrix>, Ring<Matrix>, SparseStructure, Table
All Known Implementing Classes:
CSRSparseMatrix, DOKSparseMatrix, LILSparseMatrix

public interface SparseMatrix
extends Matrix, Densifiable, SparseStructure

A sparse matrix stores only non-zero values. When there are only a few non-zeros in a matrix, sparse matrix saves memory space for storing the matrix. In addition, the matrix operations based on sparse matrix are usually more efficient. The time complexities are proportional to the number of non-zero values instead of the dimension-squared of dense matrix.

See Also:
Wikipedia: Sparse matrix

Nested Class Summary
static class SparseMatrix.Entry
          This is a (non-zero) entry in a sparse matrix.
 
Method Summary
 List<SparseMatrix.Entry> getEntrytList()
          Exports the non-zero values in the matrix as a list of SparseMatrix.Entrys.
 
Methods inherited from interface com.numericalmethod.suanshu.algebra.linear.matrix.doubles.Matrix
deepCopy, getColumn, getRow, multiply, scaled
 
Methods inherited from interface com.numericalmethod.suanshu.algebra.linear.matrix.doubles.MatrixAccess
get, set
 
Methods inherited from interface com.numericalmethod.suanshu.misc.datastructure.Table
nCols, nRows
 
Methods inherited from interface com.numericalmethod.suanshu.algebra.linear.matrix.doubles.MatrixRing
add, minus, multiply, ONE, opposite, t, ZERO
 
Methods inherited from interface com.numericalmethod.suanshu.algebra.linear.matrix.doubles.matrixtype.dense.Densifiable
toDense
 
Methods inherited from interface com.numericalmethod.suanshu.algebra.linear.matrix.doubles.matrixtype.sparse.SparseStructure
nNonZeros
 

Method Detail

getEntrytList

List<SparseMatrix.Entry> getEntrytList()
Exports the non-zero values in the matrix as a list of SparseMatrix.Entrys. This is useful for converting between the different formats of SparseMatrix.Entry. For example,

 // construct matrix using DOK
 DOKSparseMatrix dok = new DOKSparseMatrix(5, 5);
 // ... insert some values to DOK matrix
 // convert to CSR matrix for efficient matrix operations
 CSRSparseMatrix csr = new CSRSparseMatrix(5, 5, dok.getEntrytList());
 

Returns:
the sparse entries


Copyright © 2010-2014 Numerical Method Incorporation Limited. All Rights Reserved.