cern.colt.matrix.tdouble.impl.SparseCCMDoubleMatrix2D Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of parallelcolt Show documentation
Show all versions of parallelcolt Show documentation
Parallel Colt is a multithreaded version of Colt - a library for high performance scientific computing in Java. It contains efficient algorithms for data analysis, linear algebra, multi-dimensional arrays, Fourier transforms, statistics and histogramming.
The newest version!
package cern.colt.matrix.tdouble.impl;
import cern.colt.matrix.tdouble.DoubleMatrix2D;
/**
* Sparse column-compressed-modified 2-d matrix holding double
* elements. Each column is stored as SparseDoubleMatrix1D.
*
* @author Piotr Wendykier ([email protected])
*
*/
public class SparseCCMDoubleMatrix2D extends WrapperDoubleMatrix2D {
private static final long serialVersionUID = 1L;
private SparseDoubleMatrix1D[] elements;
/**
* Constructs a matrix with a given number of rows and columns. All entries
* are initially 0.
*
* @param rows
* the number of rows the matrix shall have.
* @param columns
* the number of columns the matrix shall have.
* @throws IllegalArgumentException
* if
* rows<0 || columns<0 || (double)columns*rows > Integer.MAX_VALUE
* .
*/
public SparseCCMDoubleMatrix2D(int rows, int columns) {
super(null);
try {
setUp(rows, columns);
} catch (IllegalArgumentException exc) { // we can hold rows*columns>Integer.MAX_VALUE cells !
if (!"matrix too large".equals(exc.getMessage()))
throw exc;
}
elements = new SparseDoubleMatrix1D[columns];
for (int i = 0; i < columns; ++i)
elements[i] = new SparseDoubleMatrix1D(rows);
}
public SparseDoubleMatrix1D[] elements() {
return elements;
}
public double getQuick(int row, int column) {
return elements[column].getQuick(row);
}
public void setQuick(int row, int column, double value) {
elements[column].setQuick(row, value);
}
public void trimToSize() {
for (int c = 0; c < columns; c++) {
elements[c].trimToSize();
}
}
public SparseDoubleMatrix1D viewColumn(int column) {
return elements[column];
}
protected DoubleMatrix2D getContent() {
return this;
}
public DoubleMatrix2D like(int rows, int columns) {
return new SparseCCMDoubleMatrix2D(rows, columns);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy