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.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 Comparable<N>, D extends Access1D<?>>
extends FactoryStore<N>
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classDiagonalStore.Builder<N extends Comparable<N>, D extends Access1D<?>>Nested classes/interfaces inherited from interface Access2D
Access2D.Aggregatable<N>, Access2D.Collectable<N,R>, Access2D.ColumnView<N>, Access2D.ElementView<N>, Access2D.RowView<N>, Access2D.SelectionView<N>, Access2D.Sliceable<N>, Access2D.Visitable<N> Nested classes/interfaces inherited from interface Group
Group.Additive<T>, Group.Multiplicative<T>Nested classes/interfaces inherited from interface Operation
Operation.Addition<T>, Operation.Division<T>, Operation.Multiplication<T>, Operation.Subtraction<T>Nested classes/interfaces inherited from interface ScalarOperation
ScalarOperation.Addition<T,N>, ScalarOperation.Division<T, N>, ScalarOperation.Multiplication<T, N>, ScalarOperation.Subtraction<T, N> Nested classes/interfaces inherited from interface Structure1D
Structure1D.BasicMapper<T>, Structure1D.IndexMapper<T>, Structure1D.IntIndex, Structure1D.Logical<S,B>, Structure1D.LongIndex, Structure1D.LoopCallback Nested classes/interfaces inherited from interface Structure2D
Structure2D.IntRowColumn, Structure2D.Logical<S,B>, Structure2D.LongRowColumn, Structure2D.ReducibleTo1D<R>, 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) 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().get(int row, int col) intintlimitOfColumn(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) toScalar(int row, int col) Extracts one element of this matrix as a Scalar.static DiagonalStore<Double, Primitive1D> wrap(double... mainDiagonal) Methods inherited from class AbstractStore
buildColumn, buildColumn, buildColumn, buildRow, buildRow, buildRow, cast, countColumns, countRows, getColDim, getComponentType, getMaxDim, getMinDim, getRowDim, isPrimitive, multiplyBoth, toStringMethods inherited from interface Access1D
asCollectable1D, asKeyed1D, asList, axpy, dot, select, supplyTo, toList, toRawCopy1DMethods inherited from interface Access1D.Collectable
collectMethods inherited from interface Access1D.Visitable
visitAll, visitRangeMethods inherited from interface 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, toRawCopy2DMethods inherited from interface Access2D.Aggregatable
aggregateColumn, aggregateDiagonal, aggregateRow, reduceColumns, reduceRowsMethods inherited from interface Access2D.Collectable
collectMethods inherited from interface Access2D.Sliceable
sliceColumn, sliceDiagonal, sliceRowMethods inherited from interface Access2D.Visitable
visitColumn, visitColumn, visitDiagonal, visitDiagonal, visitOne, visitRow, visitRowMethods inherited from interface ElementsSupplier
onAny, onColumns, onColumns, onMatching, onMatching, onRows, onRowsMethods inherited from interface 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, visitOneMethods inherited from interface Operate2D
onAll, onAll, onAll, onAll, onAll, onCompatible, onCompatibleMethods inherited from interface ScalarOperation.Addition
addMethods inherited from interface ScalarOperation.Division
divideMethods inherited from interface ScalarOperation.Multiplication
multiplyMethods inherited from interface 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) -
wrap
-
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
-
getDimension
public int getDimension()- Returns:
- The main diagonal length
-
getMainDiagonal
-
getSubdiagonal
-
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 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 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
-