SuanShu, a Java numerical and statistical library

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
Methods inherited from interface com.numericalmethod.suanshu.algebra.linear.matrix.doubles.matrixtype.sparse.SparseStructure

Method Detail


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());

the sparse entries

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