Interface PhysicalStore<N extends Comparable<N>>
- All Superinterfaces:
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>, Consumer<Access2D<?>>, ElementsSupplier<N>, Group, Group.Additive<MatrixStore<N>>, Matrix2D<N, MatrixStore<N>>, MatrixStore<N>, Mutate1D, Mutate1D.Fillable<N>, Mutate1D.Modifiable<N>, Mutate2D, Mutate2D.Exchangeable, Mutate2D.Fillable<N>, Mutate2D.Modifiable<N>, Mutate2D.ModifiableReceiver<N>, Mutate2D.Receiver<N>, NormedVectorSpace<MatrixStore<N>, N>, Operate2D<N, ElementsSupplier<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>, Structure1D, Structure2D, Structure2D.Logical<Access2D<N>, MatrixStore<N>>, Structure2D.ReducibleTo1D<ElementsSupplier<N>>, TransformableRegion<N>, VectorSpace<MatrixStore<N>, N>
- All Known Subinterfaces:
DecompositionStore<N>
- All Known Implementing Classes:
GenericStore, R032Store, R064Store, RawStore
PhysicalStore:s, as opposed to MatrixStore:s, are mutable. The vast majority of the methods defined here return void and none return PhysicalStore or MatrixStore.
This interface and its implementations are central to ojAlgo.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfacePhysicalStore.Factory<N extends Comparable<N>, I extends PhysicalStore<N> & Factory2D.Builder<I>>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 Mutate1D
Mutate1D.Fillable<N>, Mutate1D.Mixable<N>, Mutate1D.Modifiable<N>, Mutate1D.ModifiableReceiver<N>, Mutate1D.Receiver<N>, Mutate1D.SortableNested classes/interfaces inherited from interface Mutate2D
Mutate2D.Exchangeable, Mutate2D.Fillable<N>, Mutate2D.Mixable<N>, Mutate2D.Modifiable<N>, Mutate2D.ModifiableReceiver<N>, Mutate2D.Receiver<N>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> Nested classes/interfaces inherited from interface TransformableRegion
TransformableRegion.FillByMultiplying<N> -
Method Summary
Modifier and TypeMethodDescriptionasList()default intindexOfLargestInColumn(int row, int col) default intindexOfLargestInRow(int row, int col) default intindexOfLargestOnDiagonal(int row, int col) default voidmodifyAny(Transformation2D<N> modifier) voidsubstituteBackwards(Access2D<N> body, boolean unitDiagonal, boolean conjugated, boolean hermitian) Will solve the equation system [A][X]=[B] where: [body][this]=[this] is [A][X]=[B] ("this" is the right hand side, and it will be overwritten with the solution). [A] is upper/right triangularvoidsubstituteForwards(Access2D<N> body, boolean unitDiagonal, boolean conjugated, boolean identity) Will solve the equation system [A][X]=[B] where: [body][this]=[this] is [A][X]=[B] ("this" is the right hand side, and it will be overwritten with the solution). [A] is lower/left triangulardefault voidsupplyTo(TransformableRegion<N> receiver) voidtransformLeft(Householder<N> transformation, int firstColumn) voidtransformLeft(Rotation<N> transformation) As inMatrixStore.premultiply(Access1D)where the left/parameter matrix is a plane rotation.voidtransformRight(Householder<N> transformation, int firstRow) voidtransformRight(Rotation<N> transformation) As inMatrixStore.multiply(MatrixStore)where the right/parameter matrix is a plane rotation.Methods inherited from interface Access1D
asCollectable1D, asKeyed1D, 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, doubleValue, equals, get, get, get, hermitian, hessenberg, indexOfLargest, isHermitian, isNormal, isSmall, isSmall, left, left, left, limits, logical, multiply, multiply, multiply, multiply, multiplyBoth, negate, norm, offsets, onAll, operate, physical, 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, toScalar, transpose, triangular, tridiagonal, visitOneMethods inherited from interface Mutate1D.Fillable
fillAll, fillAll, fillCompatible, fillMatching, fillMatching, fillMatching, fillMatching, fillRange, fillRangeMethods inherited from interface Mutate1D.Modifiable
add, add, add, add, add, modifyAll, modifyMatching, modifyMatching, modifyRangeMethods inherited from interface Mutate2D
set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, setMethods inherited from interface Mutate2D.Fillable
fillColumn, fillColumn, fillColumn, fillColumn, fillColumn, fillColumn, fillCompatible, fillDiagonal, fillDiagonal, fillDiagonal, fillDiagonal, fillDiagonal, fillDiagonal, fillRow, fillRow, fillRow, fillRow, fillRow, fillRowMethods inherited from interface Mutate2D.Modifiable
add, add, add, add, add, add, add, add, add, add, add, add, add, add, add, add, modifyColumn, modifyColumn, modifyDiagonal, modifyDiagonal, modifyMatchingInColumns, modifyMatchingInColumns, modifyMatchingInRows, modifyMatchingInRows, modifyOne, modifyOne, modifyRow, modifyRowMethods inherited from interface Mutate2D.ModifiableReceiver
modifyCompatible, modifyCompatibleMethods inherited from interface Mutate2D.Receiver
accept, isAcceptableMethods 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
subtractMethods inherited from interface Structure2D
count, countColumns, countRows, firstInColumn, firstInRow, getColDim, getMaxDim, getMinDim, getRowDim, isEmpty, isFat, isScalar, isSquare, isTall, isVector, limitOfColumn, limitOfRow, sizeMethods inherited from interface TransformableRegion
exchangeColumns, exchangeRows, fillByMultiplying, regionByColumns, regionByLimits, regionByOffsets, regionByRows, regionByTransposing, synchronised
-
Method Details
-
asList
-
indexOfLargestInColumn
default int indexOfLargestInColumn(int row, int col) -
indexOfLargestInRow
default int indexOfLargestInRow(int row, int col) -
indexOfLargestOnDiagonal
default int indexOfLargestOnDiagonal(int row, int col) -
modifyAny
- Specified by:
modifyAnyin interfaceMutate2D.ModifiableReceiver<N extends Comparable<N>>- Specified by:
modifyAnyin interfaceTransformableRegion<N extends Comparable<N>>
-
substituteBackwards
void substituteBackwards(Access2D<N> body, boolean unitDiagonal, boolean conjugated, boolean hermitian) Will solve the equation system [A][X]=[B] where:- [body][this]=[this] is [A][X]=[B] ("this" is the right hand side, and it will be overwritten with the solution).
- [A] is upper/right triangular
- See Also:
-
substituteForwards
void substituteForwards(Access2D<N> body, boolean unitDiagonal, boolean conjugated, boolean identity) Will solve the equation system [A][X]=[B] where:- [body][this]=[this] is [A][X]=[B] ("this" is the right hand side, and it will be overwritten with the solution).
- [A] is lower/left triangular
- See Also:
-
supplyTo
- Specified by:
supplyToin interfaceAccess2D.Collectable<N extends Comparable<N>, TransformableRegion<N extends Comparable<N>>>- Specified by:
supplyToin interfaceMatrixStore<N extends Comparable<N>>
-
transformLeft
-
transformLeft
As in
MatrixStore.premultiply(Access1D)where the left/parameter matrix is a plane rotation.Multiplying by a plane rotation from the left means that [this] gets two of its rows updated to new combinations of those two (current) rows.
There are two ways to transpose/invert a rotation. Either you negate the angle or you interchange the two indeces that define the rotation plane.
- See Also:
-
transformRight
-
transformRight
As in
MatrixStore.multiply(MatrixStore)where the right/parameter matrix is a plane rotation.Multiplying by a plane rotation from the right means that [this] gets two of its columns updated to new combinations of those two (current) columns.
There result is undefined if the two input indeces are the same (in which case the rotation plane is undefined).
- See Also:
-