Module ojalgo
Package org.ojalgo.matrix.store
Class DiagonalStore<N extends java.lang.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.Collectable<N,Mutate1D>,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 java.lang.Comparable<N>,D extends Access1D<?>> extends FactoryStore<N>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classDiagonalStore.Builder<N extends java.lang.Comparable<N>,D extends Access1D<?>>-
Nested classes/interfaces inherited from interface org.ojalgo.structure.Access2D
Access2D.Aggregatable<N extends java.lang.Comparable<N>>, Access2D.Collectable<N extends java.lang.Comparable<N>,R extends Mutate2D>, Access2D.ColumnView<N extends java.lang.Comparable<N>>, Access2D.ElementView<N extends java.lang.Comparable<N>>, Access2D.RowView<N extends java.lang.Comparable<N>>, Access2D.SelectionView<N extends java.lang.Comparable<N>>, Access2D.Sliceable<N extends java.lang.Comparable<N>>, Access2D.Visitable<N extends java.lang.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 java.lang.Comparable<N>>, ScalarOperation.Division<T,N extends java.lang.Comparable<N>>, ScalarOperation.Multiplication<T,N extends java.lang.Comparable<N>>, ScalarOperation.Subtraction<T,N extends java.lang.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 Modifier and Type Field Description private DmyMainDiagonalprivate Scalar.Factory<N>myScalarFactoryprivate DmySubdiagonalprivate DmySuperdiagonalprivate NmyZero
-
Constructor Summary
Constructors Constructor Description DiagonalStore(PhysicalStore.Factory<N,?> factory, long numberOfRows, long numberOfColumns, D mainDiag, D superdiag, D subdiag)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static <N extends java.lang.Comparable<N>,D extends Access1D<?>>
DiagonalStore.Builder<N,D>builder(PhysicalStore.Factory<N,?> factory, D mainDiagonal)doubledoubleValue(int row, int col)Extracts one element of this matrix as a double.intfirstInColumn(int col)The default value is simply0, and if all elements are zeros thenthis.countRows().intfirstInRow(int row)The default value is simply0, and if all elements are zeros thenthis.countColumns().Nget(int row, int col)intgetDimension()java.util.Optional<D>getMainDiagonal()java.util.Optional<D>getSubdiagonal()java.util.Optional<D>getSuperdiagonal()intlimitOfColumn(int col)The default value is simplythis.countRows(), and if all elements are zeros then0.intlimitOfRow(int row)The default value is simplythis.countColumns(), and if all elements are zeros then0.voidsupplyMainDiagonalTo(double[] receiver)voidsupplySubdiagonalTo(double[] receiver)voidsupplySuperdiagonalTo(double[] receiver)voidsupplyTo(TransformableRegion<N> consumer)Scalar<N>toScalar(int row, int col)Extracts one element of this matrix as a Scalar.static DiagonalStore<java.lang.Double,Primitive1D>wrap(double... mainDiagonal)-
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, asList, axpy, dot, select, supplyTo, toList, toRawCopy1D
-
Methods inherited from interface org.ojalgo.structure.Access1D.Collectable
collect
-
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, supplyTo, 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 Detail
-
myScalarFactory
private final Scalar.Factory<N extends java.lang.Comparable<N>> myScalarFactory
-
-
Constructor Detail
-
DiagonalStore
DiagonalStore(PhysicalStore.Factory<N,?> factory, long numberOfRows, long numberOfColumns, D mainDiag, D superdiag, D subdiag)
-
-
Method Detail
-
builder
public static <N extends java.lang.Comparable<N>,D extends Access1D<?>> DiagonalStore.Builder<N,D> builder(PhysicalStore.Factory<N,?> factory, D mainDiagonal)
-
wrap
public static DiagonalStore<java.lang.Double,Primitive1D> wrap(double... mainDiagonal)
-
doubleValue
public double doubleValue(int row, int col)Description copied from interface:Access2DExtracts 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:Structure2DThe 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:Structure2DThe 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
public N get(int row, int col)
-
getDimension
public int getDimension()
- Returns:
- The main diagonal length
-
getMainDiagonal
public java.util.Optional<D> getMainDiagonal()
-
getSubdiagonal
public java.util.Optional<D> getSubdiagonal()
-
getSuperdiagonal
public java.util.Optional<D> getSuperdiagonal()
-
limitOfColumn
public int limitOfColumn(int col)
Description copied from interface:Structure2DThe default value is simplythis.countRows(), and if all elements are zeros then0.- Specified by:
limitOfColumnin interfaceStructure2D- Overrides:
limitOfColumnin classAbstractStore<N extends java.lang.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:Structure2DThe default value is simplythis.countColumns(), and if all elements are zeros then0.- Specified by:
limitOfRowin interfaceStructure2D- Overrides:
limitOfRowin classAbstractStore<N extends java.lang.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
public void supplyTo(TransformableRegion<N> consumer)
-
-