Package org.ojalgo.matrix.store
Class DiagonalStore<N extends Comparable<N>,D extends Access1D<?>>
java.lang.Object
org.ojalgo.matrix.store.AbstractStore<N>
org.ojalgo.matrix.store.FactoryStore<N>
org.ojalgo.matrix.store.DiagonalStore<N,D>
- All Implemented Interfaces:
Group
,Group.Additive<MatrixStore<N>>
,NormedVectorSpace<MatrixStore<N>,
,N> Operation
,Operation.Addition<MatrixStore<N>>
,Operation.Multiplication<MatrixStore<N>>
,Operation.Subtraction<MatrixStore<N>>
,ScalarOperation
,ScalarOperation.Addition<MatrixStore<N>,
,N> ScalarOperation.Division<MatrixStore<N>,
,N> ScalarOperation.Multiplication<MatrixStore<N>,
,N> ScalarOperation.Subtraction<MatrixStore<N>,
,N> VectorSpace<MatrixStore<N>,
,N> Matrix2D<N,
,MatrixStore<N>> ElementsSupplier<N>
,MatrixStore<N>
,Access1D<N>
,Access1D.Aggregatable<N>
,Access1D.Sliceable<N>
,Access1D.Visitable<N>
,Access2D<N>
,Access2D.Aggregatable<N>
,Access2D.Collectable<N,
,TransformableRegion<N>> Access2D.Sliceable<N>
,Access2D.Visitable<N>
,Operate2D<N,
,ElementsSupplier<N>> Structure1D
,Structure2D
,Structure2D.Logical<Access2D<N>,
,MatrixStore<N>> Structure2D.ReducibleTo1D<ElementsSupplier<N>>
public final class DiagonalStore<N extends Comparable<N>,D extends Access1D<?>>
extends FactoryStore<N>
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
DiagonalStore.Builder<N extends Comparable<N>,
D extends Access1D<?>> Nested classes/interfaces inherited from interface org.ojalgo.structure.Access2D
Access2D.Aggregatable<N extends Comparable<N>>, Access2D.Collectable<N extends Comparable<N>,
R extends Mutate2D>, Access2D.ColumnView<N extends Comparable<N>>, Access2D.ElementView<N extends Comparable<N>>, Access2D.RowView<N extends Comparable<N>>, Access2D.SelectionView<N extends Comparable<N>>, Access2D.Sliceable<N extends Comparable<N>>, Access2D.Visitable<N extends Comparable<N>> Nested classes/interfaces inherited from interface org.ojalgo.algebra.Group
Group.Additive<T>, Group.Multiplicative<T>
Nested classes/interfaces inherited from interface org.ojalgo.algebra.Operation
Operation.Addition<T>, Operation.Division<T>, Operation.Multiplication<T>, Operation.Subtraction<T>
Nested classes/interfaces inherited from interface org.ojalgo.algebra.ScalarOperation
ScalarOperation.Addition<T,
N extends Comparable<N>>, ScalarOperation.Division<T, N extends Comparable<N>>, ScalarOperation.Multiplication<T, N extends Comparable<N>>, ScalarOperation.Subtraction<T, N extends Comparable<N>> Nested classes/interfaces inherited from interface org.ojalgo.structure.Structure1D
Structure1D.BasicMapper<T>, Structure1D.IndexMapper<T>, Structure1D.IntIndex, Structure1D.Logical<S extends Structure1D,
B extends Structure1D.Logical<S, B>>, Structure1D.LongIndex, Structure1D.LoopCallback Nested classes/interfaces inherited from interface org.ojalgo.structure.Structure2D
Structure2D.IntRowColumn, Structure2D.Logical<S extends Structure2D,
B extends Structure2D.Logical<S, B>>, Structure2D.LongRowColumn, Structure2D.ReducibleTo1D<R extends Structure1D>, Structure2D.Reshapable, Structure2D.RowColumnKey<R, C>, Structure2D.RowColumnMapper<R, C> -
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionDiagonalStore
(PhysicalStore.Factory<N, ?> factory, long numberOfRows, long numberOfColumns, D mainDiag, D superdiag, D subdiag) -
Method Summary
Modifier and TypeMethodDescriptionstatic <N extends Comparable<N>,
D extends Access1D<?>>
DiagonalStore.Builder<N, D> builder
(PhysicalStore.Factory<N, ?> factory, D mainDiagonal) double
doubleValue
(int row, int col) Extracts one element of this matrix as a double.int
firstInColumn
(int col) The default value is simply0
, and if all elements are zeros thenthis.countRows()
.int
firstInRow
(int row) The default value is simply0
, and if all elements are zeros thenthis.countColumns()
.get
(int row, int col) int
int
limitOfColumn
(int col) The default value is simplythis.countRows()
, and if all elements are zeros then0
.int
limitOfRow
(int row) The default value is simplythis.countColumns()
, and if all elements are zeros then0
.void
supplyMainDiagonalTo
(double[] receiver) void
supplySubdiagonalTo
(double[] receiver) void
supplySuperdiagonalTo
(double[] receiver) void
supplyTo
(TransformableRegion<N> consumer) toScalar
(int row, int col) Extracts one element of this matrix as a Scalar.Methods inherited from class org.ojalgo.matrix.store.FactoryStore
equals, hashCode, one, physical, zero
Methods inherited from class org.ojalgo.matrix.store.AbstractStore
buildColumn, buildColumn, buildColumn, buildRow, buildRow, buildRow, cast, countColumns, countRows, getColDim, getComponentType, getMaxDim, getMinDim, getRowDim, isPrimitive, multiplyBoth, toString
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.ojalgo.structure.Access1D
asCollectable1D, asKeyed1D, axpy, dot, select, supplyTo, toRawCopy1D
Methods inherited from interface org.ojalgo.structure.Access1D.Visitable
visitAll, visitRange
Methods inherited from interface org.ojalgo.structure.Access2D
asCollectable2D, asKeyed2D, byteValue, byteValue, byteValue, byteValue, columns, doubleValue, doubleValue, doubleValue, elements, floatValue, floatValue, floatValue, floatValue, get, intValue, intValue, intValue, intValue, longValue, longValue, longValue, longValue, nonzeros, rows, shortValue, shortValue, shortValue, shortValue, toRawCopy2D
Methods inherited from interface org.ojalgo.structure.Access2D.Aggregatable
aggregateColumn, aggregateDiagonal, aggregateRow, reduceColumns, reduceRows
Methods inherited from interface org.ojalgo.structure.Access2D.Collectable
collect
Methods inherited from interface org.ojalgo.structure.Access2D.Sliceable
sliceColumn, sliceDiagonal, sliceRow
Methods inherited from interface org.ojalgo.structure.Access2D.Visitable
visitColumn, visitColumn, visitDiagonal, visitDiagonal, visitOne, visitRow, visitRow
Methods inherited from interface org.ojalgo.matrix.store.ElementsSupplier
onAny, onColumns, onColumns, onMatching, onMatching, onRows, onRows
Methods inherited from interface org.ojalgo.matrix.store.MatrixStore
above, above, above, add, add, add, aggregateAll, aggregateColumn, aggregateDiagonal, aggregateRange, aggregateRow, below, below, below, bidiagonal, column, column, columns, columns, conjugate, copy, diagonal, diagonally, divide, divide, equals, get, get, hermitian, hessenberg, indexOfLargest, isHermitian, isNormal, isSmall, isSmall, left, left, left, limits, logical, multiply, multiply, multiply, multiply, negate, norm, offsets, onAll, operate, power, premultiply, reduceColumns, reduceRows, repeat, right, right, right, row, row, rows, rows, select, select, signum, sliceColumn, sliceDiagonal, sliceRange, sliceRow, subtract, subtract, subtract, superimpose, superimpose, symmetric, transpose, triangular, tridiagonal, visitOne
Methods inherited from interface org.ojalgo.structure.Operate2D
onAll, onAll, onAll, onAll, onAll, onCompatible, onCompatible
Methods inherited from interface org.ojalgo.algebra.ScalarOperation.Addition
add
Methods inherited from interface org.ojalgo.algebra.ScalarOperation.Division
divide
Methods inherited from interface org.ojalgo.algebra.ScalarOperation.Multiplication
multiply
Methods inherited from interface org.ojalgo.algebra.ScalarOperation.Subtraction
subtract
-
Field Details
-
myMainDiagonal
-
myScalarFactory
-
mySubdiagonal
-
mySuperdiagonal
-
myZero
-
-
Constructor Details
-
DiagonalStore
DiagonalStore(PhysicalStore.Factory<N, ?> factory, long numberOfRows, long numberOfColumns, D mainDiag, D superdiag, D subdiag)
-
-
Method Details
-
builder
public static <N extends Comparable<N>,D extends Access1D<?>> DiagonalStore.Builder<N,D> builder(PhysicalStore.Factory<N, ?> factory, D mainDiagonal) -
doubleValue
public double doubleValue(int row, int col) Description copied from interface:Access2D
Extracts one element of this matrix as a double.- Parameters:
row
- A row index.col
- A column index.- Returns:
- One matrix element
-
firstInColumn
public int firstInColumn(int col) Description copied from interface:Structure2D
The default value is simply0
, and if all elements are zeros thenthis.countRows()
.- Parameters:
col
- The column index- Returns:
- The row index of the first non-zero element in the specified column
-
firstInRow
public int firstInRow(int row) Description copied from interface:Structure2D
The default value is simply0
, and if all elements are zeros thenthis.countColumns()
.- Returns:
- The column index of the first non-zero element in the specified row
-
get
-
getDimension
public int getDimension()- Returns:
- The main diagonal length
-
getMainDiagonal
-
getSubdiagonal
-
getSuperdiagonal
-
limitOfColumn
public int limitOfColumn(int col) Description copied from interface:Structure2D
The default value is simplythis.countRows()
, and if all elements are zeros then0
.- Specified by:
limitOfColumn
in interfaceStructure2D
- Overrides:
limitOfColumn
in classAbstractStore<N extends Comparable<N>>
- Returns:
- The row index of the first zero element, after all non-zeros, in the specified column (index of the last non-zero + 1)
-
limitOfRow
public int limitOfRow(int row) Description copied from interface:Structure2D
The default value is simplythis.countColumns()
, and if all elements are zeros then0
.- Specified by:
limitOfRow
in interfaceStructure2D
- Overrides:
limitOfRow
in classAbstractStore<N extends Comparable<N>>
- Returns:
- The column index of the first zero element, after all non-zeros, in the specified row (index of the last non-zero + 1)
-
supplyMainDiagonalTo
public void supplyMainDiagonalTo(double[] receiver) -
supplySubdiagonalTo
public void supplySubdiagonalTo(double[] receiver) -
supplySuperdiagonalTo
public void supplySuperdiagonalTo(double[] receiver) -
supplyTo
-
toScalar
Description copied from interface:Matrix2D
Extracts one element of this matrix as a Scalar.- Parameters:
row
- A row index.col
- A column index.- Returns:
- One matrix element as a Scalar.
-