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.Sortable
Structure2D.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.LoopCallback
Access2D.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, visitOne
operateOnAny, operateOnColumns, operateOnMatching, operateOnMatching, operateOnRows, physical
operateOnAll, operateOnAll, operateOnAll, operateOnAll, operateOnAll
collect
visitColumn, visitColumn, visitDiagonal, visitDiagonal, visitOne, visitRow, visitRow
visitAll, visitRange
aggregateColumn, aggregateDiagonal, aggregateRow, reduceColumns, reduceRows
sliceColumn, sliceDiagonal, sliceRow
isAbsolute, isColumnSmall, isColumnSmall, isRowSmall, isRowSmall, isSmall
isAllSmall
indexOfLargestInColumn, indexOfLargestInColumn, indexOfLargestInRow, indexOfLargestInRow, indexOfLargestOnDiagonal, indexOfLargestOnDiagonal
indexOfLargest, indexOfLargestInRange
exchangeColumns, exchangeRows, fillByMultiplying, regionByColumns, regionByLimits, regionByOffsets, regionByRows, regionByTransposing
modifyColumn, modifyColumn, modifyDiagonal, modifyDiagonal, modifyMatchingInColumns, modifyMatchingInColumns, modifyMatchingInRows, modifyMatchingInRows, modifyOne, modifyOne, modifyRow, modifyRow
modifyAll, modifyMatching, modifyMatching, modifyRange
accept, isAcceptable
add, add, add, add, set, set, set, set
copyComplexArgument, copyComplexImaginary, copyComplexModulus, copyComplexModulusAndArgument, copyComplexReal, copyComplexRealAndImaginary, reset
fillColumn, fillColumn, fillColumn, fillColumn, fillColumn, fillColumn, fillDiagonal, fillDiagonal, fillDiagonal, fillDiagonal, fillDiagonal, fillDiagonal, fillOne, fillOne, fillOne, fillOne, fillOne, fillOne, fillRow, fillRow, fillRow, fillRow, fillRow, fillRow
column, 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, row
fillAll, fillAll, fillMatching, fillMatching, fillMatching, fillRange, fillRange
index, loopAll, loopMatching, loopRange, mapper, size
asCollectable2D, asPrimitive2D, byteValue, byteValue, columns, doubleValue, elements, equals, floatValue, floatValue, get, get, intValue, intValue, longValue, longValue, newPrimitiveColumnCollectable, newPrimitiveRowCollectable, rows, shortValue, shortValue, toRawCopy2D, toString, wrap, wrap
asCollectable1D, asPrimitive1D, axpy, dot, equals, hashCode, nonzeros, supplyTo, toRawCopy1D, toString, wrap, wrap, wrap
List<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.