Package org.la4j.matrix.sparse
Class CCSMatrix
java.lang.Object
org.la4j.Matrix
org.la4j.matrix.SparseMatrix
org.la4j.matrix.ColumnMajorSparseMatrix
org.la4j.matrix.sparse.CCSMatrix
This is a CCS (Compressed Column Storage) matrix class.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate int[]
private static final byte
private static final int
private int[]
private double[]
Fields inherited from class org.la4j.matrix.SparseMatrix
cardinality
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate int
align
(int cardinality) blankOfShape
(int rows, int columns) Creates the blank matrix (a zero matrix with same size) of this matrix of the given shape:rows
xcolumns
.static CCSMatrix
Returns a column-major matrix iterator.copyOfShape
(int rows, int columns) Copies this matrix into the new matrix with specified dimensions:rows
andcolumns
.static CCSMatrix
diagonal
(int size, double diagonal) void
each
(MatrixProcedure procedure) Applies givenprocedure
to each element of this matrix.void
eachInColumn
(int j, VectorProcedure procedure) Applies givenprocedure
to each element of specified column of this matrix.void
eachNonZero
(MatrixProcedure procedure) Applies givenprocedure
to each non-zero element of this matrix.void
eachNonZeroInColumn
(int j, VectorProcedure procedure) Applies the givenprocedure
to each non-zero element of the specified column of this matrix.static CCSMatrix
from1DArray
(int rows, int columns, double[] array) Creates a newCCSMatrix
from the given 1Darray
with compressing (copying) the underlying array.static CCSMatrix
from2DArray
(double[][] array) Creates a newCCSMatrix
from the given 2Darray
with compressing (copying) the underlying array.static CCSMatrix
fromBinary
(byte[] array) DecodesCCSMatrix
from the given bytearray
.static CCSMatrix
ParsesCCSMatrix
from the given CSV string.static CCSMatrix
ParsesCCSMatrix
from the given Matrix Market string.getColumn
(int j) Copies the specified column of this matrix into the vector.double
getOrElse
(int i, int j, double defaultValue) Gets the specified element, or adefaultValue
if there is no actual element at (i
,j
) in this sparse matrix.getRow
(int i) Copies the specified row of this matrix into the vector.private void
growUp()
static CCSMatrix
identity
(int size) Creates an identityCCSMatrix
of the givensize
.private void
insert
(int k, int i, int j, double value) iteratorOfColumn
(int j) Returns a vector iterator of the given column {code j}.double
max()
Searches for the maximum value of the elements of this matrix.double
maxInColumn
(int j) Searches for the maximum value of specified column in this matrix.double
min()
Searches for the minimum value of the elements of this matrix.double
minInColumn
(int j) Searches for the minimum value of specified column in this matrix.boolean
nonZeroAt
(int i, int j) Whether or not the specified element is not zero.Returns a non-zero column-major matrix iterator.nonZeroIteratorOfColumn
(int j) Returns a non-zero vector iterator of the given columnj
.static CCSMatrix
static CCSMatrix
randomSymmetric
(int size, double density, Random random) Creates a random symmetricCCSMatrix
of the givensize
.private void
remove
(int k, int j) private int
searchForRowIndex
(int i, int left, int right) select
(int[] rowIndices, int[] columnIndices) Returns a CCSMatrix with the selected rows and columns.void
set
(int i, int j, double value) Sets the specified element of this matrix to givenvalue
.void
setAll
(double value) Sets all elements of this matrix to the givenvalue
.<T extends Matrix>
Tto
(MatrixFactory<T> factory) Converts this matrix using the givenfactory
.byte[]
toBinary()
Encodes this matrix into a byte array.void
updateAt
(int i, int j, MatrixFunction function) Updates the specified element of this matrix by applying givenfunction
.static CCSMatrix
zero
(int rows, int columns) static CCSMatrix
zero
(int rows, int columns, int capacity) Methods inherited from class org.la4j.matrix.ColumnMajorSparseMatrix
apply, apply, apply, isRowMajor, iterator, nonZeroIterator, rotate, transpose
Methods inherited from class org.la4j.matrix.SparseMatrix
add, capacity, cardinality, density, eachNonZeroInRow, ensureCardinalityIsCorrect, foldNonZero, foldNonZeroInColumn, foldNonZeroInColumns, foldNonZeroInRow, foldNonZeroInRows, get, isColumnMajor, isZeroAt, multiply, nonZeroIteratorOfRow, nonZeroRowMajorIterator, toMatrixMarket
Methods inherited from class org.la4j.Matrix
add, blank, blankOfColumns, blankOfRows, columns, constant, copy, copyOfColumns, copyOfRows, determinant, diagonalProduct, divide, eachInRow, ensureDimensionsAreCorrect, ensureIndexesAreInBounds, equals, equals, euclideanNorm, fail, fold, foldColumn, foldColumns, foldRow, foldRows, hadamardProduct, hashCode, infinityNorm, insert, insert, insert, insert, insertColumn, insertRow, is, is, iteratorOfRow, kroneckerProduct, manhattanNorm, maxInRow, minInRow, mkString, mkString, mkString, multiply, multiply, multiplyByItsTranspose, non, non, norm, power, product, random, randomSymmetric, rank, removeColumn, removeFirstColumn, removeFirstRow, removeLastColumn, removeLastRow, removeRow, rowMajorIterator, rows, setColumn, setColumn, setRow, setRow, shuffle, slice, sliceBottomRight, sliceTopLeft, subtract, subtract, sum, swapColumns, swapRows, toColumnMajorSparseMatrix, toColumnVector, toCSV, toCSV, toDenseMatrix, toMatrixMarket, toRowMajorSparseMatrix, toRowVector, toSparseMatrix, toString, trace, transform, transformColumn, transformRow, unit, update, updateColumn, updateRow, withDecompositor, withInverter, withSolver
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Field Details
-
MATRIX_TAG
private static final byte MATRIX_TAG- See Also:
-
MINIMUM_SIZE
private static final int MINIMUM_SIZE- See Also:
-
values
private double[] values -
rowIndices
private int[] rowIndices -
columnPointers
private int[] columnPointers
-
-
Constructor Details
-
CCSMatrix
public CCSMatrix() -
CCSMatrix
public CCSMatrix(int rows, int columns) -
CCSMatrix
public CCSMatrix(int rows, int columns, int capacity) -
CCSMatrix
public CCSMatrix(int rows, int columns, int cardinality, double[] values, int[] rowIndices, int[] columnPointers)
-
-
Method Details
-
zero
-
zero
-
diagonal
-
identity
Creates an identityCCSMatrix
of the givensize
. -
random
-
randomSymmetric
Creates a random symmetricCCSMatrix
of the givensize
. -
from1DArray
Creates a newCCSMatrix
from the given 1Darray
with compressing (copying) the underlying array. -
from2DArray
Creates a newCCSMatrix
from the given 2Darray
with compressing (copying) the underlying array. -
block
-
fromBinary
DecodesCCSMatrix
from the given bytearray
.- Parameters:
array
- the byte array representing a matrix- Returns:
- a decoded matrix
-
fromCSV
ParsesCCSMatrix
from the given CSV string.- Parameters:
csv
- the CSV string representing a matrix- Returns:
- a parsed matrix
-
fromMatrixMarket
ParsesCCSMatrix
from the given Matrix Market string.- Parameters:
mm
- the string in Matrix Market format- Returns:
- a parsed matrix
-
getOrElse
public double getOrElse(int i, int j, double defaultValue) Description copied from class:SparseMatrix
Gets the specified element, or adefaultValue
if there is no actual element at (i
,j
) in this sparse matrix.- Specified by:
getOrElse
in classSparseMatrix
- Parameters:
i
- the element's row indexj
- the element's column indexdefaultValue
- the default value- Returns:
- the element of this vector or a default value
-
set
public void set(int i, int j, double value) Description copied from class:Matrix
Sets the specified element of this matrix to givenvalue
. -
setAll
public void setAll(double value) Description copied from class:Matrix
Sets all elements of this matrix to the givenvalue
. -
getColumn
Description copied from class:Matrix
Copies the specified column of this matrix into the vector.- Overrides:
getColumn
in classSparseMatrix
- Parameters:
j
- the column index- Returns:
- the column represented as vector
-
getRow
Description copied from class:Matrix
Copies the specified row of this matrix into the vector.- Overrides:
getRow
in classSparseMatrix
- Parameters:
i
- the row index- Returns:
- the row represented as vector
-
copyOfShape
Description copied from class:Matrix
Copies this matrix into the new matrix with specified dimensions:rows
andcolumns
.- Specified by:
copyOfShape
in classMatrix
- Parameters:
rows
- the number of rows in new matrixcolumns
- the number of columns in new matrix- Returns:
- the copy of this matrix with new size
-
eachNonZero
Description copied from class:SparseMatrix
Applies givenprocedure
to each non-zero element of this matrix.- Overrides:
eachNonZero
in classSparseMatrix
- Parameters:
procedure
- the matrix procedure
-
each
Description copied from class:Matrix
Applies givenprocedure
to each element of this matrix. -
eachInColumn
Description copied from class:Matrix
Applies givenprocedure
to each element of specified column of this matrix.- Overrides:
eachInColumn
in classMatrix
- Parameters:
j
- the column indexprocedure
- the vector procedure
-
eachNonZeroInColumn
Description copied from class:SparseMatrix
Applies the givenprocedure
to each non-zero element of the specified column of this matrix.- Overrides:
eachNonZeroInColumn
in classSparseMatrix
- Parameters:
j
- the column index.procedure
- theVectorProcedure
.
-
updateAt
Description copied from class:Matrix
Updates the specified element of this matrix by applying givenfunction
. -
nonZeroAt
public boolean nonZeroAt(int i, int j) Description copied from class:SparseMatrix
Whether or not the specified element is not zero.- Specified by:
nonZeroAt
in classSparseMatrix
- Parameters:
i
- element's row indexj
- element's column index- Returns:
true
if specified element is not zero,false
otherwise
-
searchForRowIndex
private int searchForRowIndex(int i, int left, int right) -
insert
private void insert(int k, int i, int j, double value) -
remove
private void remove(int k, int j) -
growUp
private void growUp() -
align
private int align(int cardinality) -
max
public double max()Description copied from class:Matrix
Searches for the maximum value of the elements of this matrix. -
min
public double min()Description copied from class:Matrix
Searches for the minimum value of the elements of this matrix. -
maxInColumn
public double maxInColumn(int j) Description copied from class:Matrix
Searches for the maximum value of specified column in this matrix.- Overrides:
maxInColumn
in classMatrix
- Parameters:
j
- the column index- Returns:
- maximum value of specified column in this matrix
-
minInColumn
public double minInColumn(int j) Description copied from class:Matrix
Searches for the minimum value of specified column in this matrix.- Overrides:
minInColumn
in classMatrix
- Parameters:
j
- the column index- Returns:
- minimum value of specified column in this matrix
-
select
Returns a CCSMatrix with the selected rows and columns. -
to
Description copied from class:Matrix
Converts this matrix using the givenfactory
. -
blankOfShape
Description copied from class:Matrix
Creates the blank matrix (a zero matrix with same size) of this matrix of the given shape:rows
xcolumns
.- Specified by:
blankOfShape
in classMatrix
- Returns:
- blank matrix
-
iteratorOrNonZeroColumns
- Specified by:
iteratorOrNonZeroColumns
in classColumnMajorSparseMatrix
-
columnMajorIterator
Description copied from class:Matrix
Returns a column-major matrix iterator.- Overrides:
columnMajorIterator
in classMatrix
- Returns:
- a column-major matrix iterator.
-
nonZeroColumnMajorIterator
Description copied from class:SparseMatrix
Returns a non-zero column-major matrix iterator.- Overrides:
nonZeroColumnMajorIterator
in classSparseMatrix
- Returns:
- a non-zero column major matrix iterator.
-
nonZeroIteratorOfColumn
Description copied from class:SparseMatrix
Returns a non-zero vector iterator of the given columnj
.- Overrides:
nonZeroIteratorOfColumn
in classSparseMatrix
- Returns:
- a non-zero vector iterator
-
iteratorOfColumn
Description copied from class:Matrix
Returns a vector iterator of the given column {code j}.- Overrides:
iteratorOfColumn
in classMatrix
- Returns:
- a vector iterator
-
toBinary
public byte[] toBinary()Description copied from class:Matrix
Encodes this matrix into a byte array.
-