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.Sortable
Structure2D.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.LoopCallback
BIG, 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, visitOne
operateOnAll, operateOnMatching, operateOnMatching, physical
operateOnAll, operateOnAll, operateOnAll, operateOnAll, operateOnAll
collect
asCollectable2D, asPrimitive2D, columns, doubleValue, elements, equals, get, get, newPrimitiveColumnCollectable, newPrimitiveRowCollectable, rows, toRawCopy2D, toString, wrap, wrap, wrapAccess2D, wrapAccess2D
asCollectable1D, asPrimitive1D, axpy, dot, equals, hashCode, iterator, nonzeros, stream, supplyTo, toRawCopy1D, wrap, wrap, wrap, wrapAccess1D, wrapAccess1D, wrapAccess1D
forEach, spliterator
isAbsolute, isColumnSmall, isColumnSmall, isRowSmall, isRowSmall, isSmall
isAllSmall
visitColumn, visitColumn, visitDiagonal, visitDiagonal, visitOne, visitRow, visitRow
visitAll, visitRange
aggregateColumn, aggregateRow, reduceColumns, reduceRows
sliceColumn, sliceRow
indexOfLargestInColumn, indexOfLargestInColumn, indexOfLargestInRow, indexOfLargestInRow, indexOfLargestOnDiagonal, indexOfLargestOnDiagonal
indexOfLargest, indexOfLargestInRange
exchangeColumns, exchangeRows
transform
fillByMultiplying, regionByColumns, regionByLimits, regionByOffsets, regionByRows, regionByTransposing
accept, isAcceptable
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, 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
loopAll, loopMatching, loopRange, mapper
modifyMatching, modifyMatching
modifyColumn, modifyColumn, modifyDiagonal, modifyDiagonal, modifyOne, modifyOne, modifyRow, modifyRow
modifyAll, modifyRange
List<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.