public interface PhysicalStore<N extends Number> extends MatrixStore<N>, Access2D.Elements, Access2D.IndexOf, TransformableRegion<N>
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.
| Modifier and Type | Interface and Description |
|---|---|
static interface |
PhysicalStore.Factory<N extends Number,I extends PhysicalStore<N>> |
MatrixStore.LogicalBuilder<N extends Number>Group.Additive<S>, Group.Multiplicative<S>Operation.Addition<T>, Operation.Division<T>, Operation.Multiplication<T>, Operation.Subtraction<T>ScalarOperation.Addition<T,N extends Number>, ScalarOperation.Division<T,N extends Number>, ScalarOperation.Multiplication<T,N extends Number>, ScalarOperation.Subtraction<T,N extends Number>TransformableRegion.ColumnsRegion<N extends Number>, TransformableRegion.FillByMultiplying<N extends Number>, TransformableRegion.LimitRegion<N extends Number>, TransformableRegion.OffsetRegion<N extends Number>, TransformableRegion.ReceiverRegion<N extends Number>, TransformableRegion.RowsRegion<N extends Number>, TransformableRegion.TransposedRegion<N extends Number>Mutate2D.Exchangeable, Mutate2D.Fillable<N extends Number>, Mutate2D.Mixable<N extends Number>, Mutate2D.Modifiable<N extends Number>, Mutate2D.ModifiableReceiver<N extends Number>, Mutate2D.Receiver<N extends Number>Mutate1D.SortableStructure2D.IntRowColumn, Structure2D.Logical<S extends Structure2D,B extends Structure2D.Logical<S,?>>, Structure2D.LongRowColumn, Structure2D.ReducibleTo1D<R extends Structure1D>, Structure2D.RowColumnCallback, Structure2D.RowColumnKey<R,C>, Structure2D.RowColumnMapper<R,C>Structure1D.BasicMapper<T>, Structure1D.IndexCallback, Structure1D.IndexMapper<T>, Structure1D.IntIndex, Structure1D.LongIndex, Structure1D.LoopCallbackAccess2D.Aggregatable<N extends Number>, Access2D.Collectable<N extends Number,R extends Mutate2D.Receiver<N>>, Access2D.Elements, Access2D.ElementView<N extends Number>, Access2D.IndexOf, Access2D.Sliceable<N extends Number>, Access2D.Visitable<N extends Number>COMPLEX, PRIMITIVE, QUATERNION, RATIONAL| Modifier and Type | Method and Description |
|---|---|
List<N> |
asList() |
default void |
modifyAny(Transformation2D<N> modifier) |
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
|
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
|
void |
transformLeft(Householder<N> transformation,
int firstColumn) |
void |
transformLeft(Rotation<N> transformation)
As in
MatrixStore.premultiply(Access1D) where the left/parameter matrix is a plane rotation. |
void |
transformRight(Householder<N> transformation,
int firstRow) |
void |
transformRight(Rotation<N> transformation)
As in
MatrixStore.multiply(MatrixStore) where the right/parameter matrix is a plane rotation. |
add, aggregateAll, aggregateColumn, aggregateDiagonal, aggregateRange, aggregateRow, conjugate, copy, doubleValue, equals, firstInColumn, firstInColumn, firstInColumn, firstInRow, firstInRow, firstInRow, get, isAbsolute, isHermitian, isNormal, isSmall, isSmall, limitOfColumn, limitOfColumn, limitOfColumn, limitOfRow, limitOfRow, limitOfRow, logical, multiply, multiply, multiply, multiply, multiplyBoth, negate, norm, operateOnAll, premultiply, reduceColumns, reduceRows, signum, sliceColumn, sliceDiagonal, sliceRange, sliceRow, subtract, supplyTo, toScalar, transpose, visitOneoperateOnAny, operateOnColumns, operateOnMatching, operateOnMatching, operateOnRows, physicaloperateOnAll, operateOnAll, operateOnAll, operateOnAll, operateOnAllcollectvisitColumn, visitColumn, visitDiagonal, visitDiagonal, visitOne, visitRow, visitRowvisitAll, visitRangeaggregateColumn, aggregateDiagonal, aggregateRow, reduceColumns, reduceRowssliceColumn, sliceDiagonal, sliceRowisAbsolute, isColumnSmall, isColumnSmall, isRowSmall, isRowSmall, isSmallisAllSmallindexOfLargestInColumn, indexOfLargestInColumn, indexOfLargestInRow, indexOfLargestInRow, indexOfLargestOnDiagonal, indexOfLargestOnDiagonalindexOfLargest, indexOfLargestInRangeexchangeColumns, exchangeRows, fillByMultiplying, regionByColumns, regionByLimits, regionByOffsets, regionByRows, regionByTransposingmodifyColumn, modifyColumn, modifyDiagonal, modifyDiagonal, modifyMatchingInColumns, modifyMatchingInColumns, modifyMatchingInRows, modifyMatchingInRows, modifyOne, modifyOne, modifyRow, modifyRowmodifyAll, modifyMatching, modifyMatching, modifyRangeaccept, isAcceptableadd, add, add, add, set, set, set, setcopyComplexArgument, copyComplexImaginary, copyComplexModulus, copyComplexModulusAndArgument, copyComplexReal, copyComplexRealAndImaginary, resetfillColumn, fillColumn, fillColumn, fillColumn, fillColumn, fillColumn, fillDiagonal, fillDiagonal, fillDiagonal, fillDiagonal, fillDiagonal, fillDiagonal, fillOne, fillOne, fillOne, fillOne, fillOne, fillOne, fillRow, fillRow, fillRow, fillRow, fillRow, fillRowcolumn, column, column, column, column, count, count, countColumns, countRows, index, index, isEmpty, isFat, isScalar, isSquare, isTall, isVector, loopAll, loopColumn, loopColumn, loopDiagonal, loopMatching, loopRow, loopRow, mapperOf, row, row, row, row, rowfillAll, fillAll, fillMatching, fillMatching, fillMatching, fillRange, fillRangeindex, loopAll, loopMatching, loopRange, mapper, sizeasCollectable2D, asPrimitive2D, byteValue, byteValue, columns, doubleValue, elements, equals, floatValue, floatValue, get, get, intValue, intValue, longValue, longValue, newPrimitiveColumnCollectable, newPrimitiveRowCollectable, rows, shortValue, shortValue, toRawCopy2D, toString, wrap, wrapasCollectable1D, asPrimitive1D, axpy, dot, equals, hashCode, nonzeros, supplyTo, toRawCopy1D, toString, wrap, wrap, wrapList<N> asList()
default void modifyAny(Transformation2D<N> modifier)
modifyAny in interface Mutate2D.ModifiableReceiver<N extends Number>modifyAny in interface TransformableRegion<N extends Number>void substituteBackwards(Access2D<N> body, boolean unitDiagonal, boolean conjugated, boolean hermitian)
body - The equation system body parameters [A]unitDiagonal - TODOconjugated - true if the upper/right part of body is actually stored in the lower/left part of the
matrix, and the elements conjugated.hermitian - TODOvoid substituteForwards(Access2D<N> body, boolean unitDiagonal, boolean conjugated, boolean identity)
body - The equation system body parameters [A]unitDiagonal - true if body has ones on the diagonalconjugated - TODOvoid transformLeft(Householder<N> transformation, int firstColumn)
void transformLeft(Rotation<N> transformation)
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.
transformRight(Rotation)void transformRight(Householder<N> transformation, int firstRow)
void transformRight(Rotation<N> transformation)
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).
transformLeft(Rotation)Copyright © 2019 Optimatika. All rights reserved.