public interface PhysicalStore<N extends Number> extends MatrixStore<N>, Access2D.IndexOf, ElementsConsumer<N>, Mutate2D.Exchangeable, TransformationMatrix.Transformable<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>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>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>ElementsConsumer.ColumnsRegion<N extends Number>, ElementsConsumer.ConsumerRegion<N extends Number>, ElementsConsumer.FillByMultiplying<N extends Number>, ElementsConsumer.LimitRegion<N extends Number>, ElementsConsumer.OffsetRegion<N extends Number>, ElementsConsumer.RowsRegion<N extends Number>, ElementsConsumer.TransposedRegion<N extends Number>Mutate2D.BiModifiable<N extends Number>, Mutate2D.Exchangeable, Mutate2D.Fillable<N extends Number>, Mutate2D.Mixable<N extends Number>, Mutate2D.Modifiable<N extends Number>, Mutate2D.Receiver<N extends Number>Mutate1D.SortableStructure2D.IntRowColumn, 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.LoopCallbackBIG, COMPLEX, PRIMITIVE| Modifier and Type | Method and Description |
|---|---|
List<N> |
asList() |
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, firstInRow, get, isAbsolute, isSmall, isSmall, limitOfColumn, limitOfRow, logical, multiply, multiply, multiply, multiply, multiplyBoth, negate, norm, premultiply, reduceColumns, reduceRows, signum, sliceColumn, sliceDiagonal, sliceRange, sliceRow, subtract, supplyTo, toScalar, transpose, visitOneoperateOnAll, operateOnMatching, operateOnMatching, physicaloperateOnAll, operateOnAll, operateOnAll, operateOnAll, operateOnAllcollectasCollectable2D, asPrimitive2D, columns, doubleValue, elements, equals, get, get, newPrimitiveColumnCollectable, newPrimitiveRowCollectable, rows, toRawCopy2D, toString, wrap, wrap, wrapAccess2D, wrapAccess2DasCollectable1D, asPrimitive1D, axpy, dot, equals, hashCode, iterator, nonzeros, stream, supplyTo, toRawCopy1D, wrap, wrap, wrap, wrapAccess1D, wrapAccess1D, wrapAccess1DforEach, spliteratorisAbsolute, isColumnSmall, isColumnSmall, isRowSmall, isRowSmall, isSmallisAllSmallvisitColumn, visitColumn, visitDiagonal, visitDiagonal, visitOne, visitRow, visitRowvisitAll, visitRangeaggregateColumn, aggregateRow, reduceColumns, reduceRowssliceColumn, sliceRowindexOfLargestInColumn, indexOfLargestInColumn, indexOfLargestInRow, indexOfLargestInRow, indexOfLargestOnDiagonal, indexOfLargestOnDiagonalindexOfLargest, indexOfLargestInRangeexchangeColumns, exchangeRowstransformfillByMultiplying, regionByColumns, regionByLimits, regionByOffsets, regionByRows, regionByTransposingaccept, isAcceptablefillColumn, 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, 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, fillRangeloopAll, loopMatching, loopRange, mappermodifyMatching, modifyMatchingmodifyColumn, modifyColumn, modifyDiagonal, modifyDiagonal, modifyOne, modifyOne, modifyRow, modifyRowmodifyAll, modifyRangeList<N> asList()
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 - TODOidentity - 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.
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 © 2018 Optimatika. All rights reserved.