Package org.apache.commons.math3.linear
Class SparseFieldMatrix<T extends FieldElement<T>>
java.lang.Object
org.apache.commons.math3.linear.AbstractFieldMatrix<T>
org.apache.commons.math3.linear.SparseFieldMatrix<T>
- Type Parameters:
T- the type of the field elements
- All Implemented Interfaces:
AnyMatrix,FieldMatrix<T>
Sparse matrix implementation based on an open addressed map.
Caveat: This implementation assumes that, for any x,
the equality x * 0d == 0d holds. But it is is not true for
NaN. Moreover, zero entries will lose their sign.
Some operations (that involve NaN and/or infinities) may
thus give incorrect results.
- Since:
- 2.0
-
Constructor Summary
ConstructorsConstructorDescriptionSparseFieldMatrix(Field<T> field) Create a matrix with no data.SparseFieldMatrix(Field<T> field, int rowDimension, int columnDimension) Create a new SparseFieldMatrixwith the supplied row and column dimensions. SparseFieldMatrix(FieldMatrix<T> other) Generic copy constructor.SparseFieldMatrix(SparseFieldMatrix<T> other) Copy constructor. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddToEntry(int row, int column, T increment) Change an entry in the specified row and column.copy()Make a (deep) copy of this.createMatrix(int rowDimension, int columnDimension) Create a new FieldMatrixof the same type as the instance with the supplied row and column dimensions. intReturns the number of columns in the matrix.getEntry(int row, int column) Returns the entry in the specified row and column.intReturns the number of rows in the matrix.voidmultiplyEntry(int row, int column, T factor) Change an entry in the specified row and column.voidSet the entry in the specified row and column.Methods inherited from class org.apache.commons.math3.linear.AbstractFieldMatrix
add, buildArray, buildArray, checkAdditionCompatible, checkColumnIndex, checkMultiplicationCompatible, checkRowIndex, checkSubMatrixIndex, checkSubMatrixIndex, checkSubtractionCompatible, copySubMatrix, copySubMatrix, equals, extractField, extractField, getColumn, getColumnMatrix, getColumnVector, getData, getField, getRow, getRowMatrix, getRowVector, getSubMatrix, getSubMatrix, getTrace, hashCode, isSquare, multiply, operate, operate, power, preMultiply, preMultiply, preMultiply, scalarAdd, scalarMultiply, setColumn, setColumnMatrix, setColumnVector, setRow, setRowMatrix, setRowVector, setSubMatrix, subtract, toString, transpose, walkInColumnOrder, walkInColumnOrder, walkInColumnOrder, walkInColumnOrder, walkInOptimizedOrder, walkInOptimizedOrder, walkInOptimizedOrder, walkInOptimizedOrder, walkInRowOrder, walkInRowOrder, walkInRowOrder, walkInRowOrder
-
Constructor Details
-
SparseFieldMatrix
Create a matrix with no data.- Parameters:
field- Field to which the elements belong.
-
SparseFieldMatrix
Create a new SparseFieldMatrixwith the supplied row and column dimensions. - Parameters:
field- Field to which the elements belong.rowDimension- Number of rows in the new matrix.columnDimension- Number of columns in the new matrix.- Throws:
NotStrictlyPositiveException- if row or column dimension is not positive.
-
SparseFieldMatrix
Copy constructor.- Parameters:
other- Instance to copy.
-
SparseFieldMatrix
Generic copy constructor.- Parameters:
other- Instance to copy.
-
-
Method Details
-
addToEntry
Change an entry in the specified row and column.- Specified by:
addToEntryin interfaceFieldMatrix<T extends FieldElement<T>>- Specified by:
addToEntryin classAbstractFieldMatrix<T extends FieldElement<T>>- Parameters:
row- Row location of entry to be set.column- Column location of entry to be set.increment- Value to add to the current matrix entry in(row, column).
-
copy
Make a (deep) copy of this.- Specified by:
copyin interfaceFieldMatrix<T extends FieldElement<T>>- Specified by:
copyin classAbstractFieldMatrix<T extends FieldElement<T>>- Returns:
- a copy of this matrix.
-
createMatrix
Create a new FieldMatrixof the same type as the instance with the supplied row and column dimensions. - Specified by:
createMatrixin interfaceFieldMatrix<T extends FieldElement<T>>- Specified by:
createMatrixin classAbstractFieldMatrix<T extends FieldElement<T>>- Parameters:
rowDimension- the number of rows in the new matrixcolumnDimension- the number of columns in the new matrix- Returns:
- a new matrix of the same type as the instance
-
getColumnDimension
public int getColumnDimension()Returns the number of columns in the matrix.- Specified by:
getColumnDimensionin interfaceAnyMatrix- Specified by:
getColumnDimensionin classAbstractFieldMatrix<T extends FieldElement<T>>- Returns:
- columnDimension
-
getEntry
Returns the entry in the specified row and column.- Specified by:
getEntryin interfaceFieldMatrix<T extends FieldElement<T>>- Specified by:
getEntryin classAbstractFieldMatrix<T extends FieldElement<T>>- Parameters:
row- row location of entry to be fetchedcolumn- column location of entry to be fetched- Returns:
- matrix entry in row,column
-
getRowDimension
public int getRowDimension()Returns the number of rows in the matrix.- Specified by:
getRowDimensionin interfaceAnyMatrix- Specified by:
getRowDimensionin classAbstractFieldMatrix<T extends FieldElement<T>>- Returns:
- rowDimension
-
multiplyEntry
Change an entry in the specified row and column.- Specified by:
multiplyEntryin interfaceFieldMatrix<T extends FieldElement<T>>- Specified by:
multiplyEntryin classAbstractFieldMatrix<T extends FieldElement<T>>- Parameters:
row- Row location of entry to be set.column- Column location of entry to be set.factor- Multiplication factor for the current matrix entry in(row,column)
-
setEntry
Set the entry in the specified row and column.- Specified by:
setEntryin interfaceFieldMatrix<T extends FieldElement<T>>- Specified by:
setEntryin classAbstractFieldMatrix<T extends FieldElement<T>>- Parameters:
row- row location of entry to be setcolumn- column location of entry to be setvalue- matrix entry to be set in row,column
-