public final class PrimitiveDenseStore extends Primitive64Array implements PhysicalStore<Double>, DecompositionStore<Double>
Modifier and Type | Class and Description |
---|---|
static interface |
PrimitiveDenseStore.PrimitiveMultiplyBoth |
static interface |
PrimitiveDenseStore.PrimitiveMultiplyLeft |
static interface |
PrimitiveDenseStore.PrimitiveMultiplyNeither |
static interface |
PrimitiveDenseStore.PrimitiveMultiplyRight |
DenseArray.Factory<N extends Number>
PhysicalStore.Factory<N extends Number,I extends PhysicalStore<N>>
MatrixStore.LogicalBuilder<N extends Number>
Group.Additive<S>, Group.Multiplicative<S>
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>
Modifier and Type | Field and Description |
---|---|
static PhysicalStore.Factory<Double,PrimitiveDenseStore> |
FACTORY |
data
MAX_ARRAY_SIZE
COMPLEX, PRIMITIVE, QUATERNION, RATIONAL
NULL
NULL
NULL
Modifier and Type | Method and Description |
---|---|
void |
accept(Access2D<?> supplied) |
void |
add(long index,
double addend) |
void |
add(long row,
long col,
double addend) |
void |
add(long row,
long col,
Number addend) |
void |
add(long index,
Number addend) |
Double |
aggregateAll(Aggregator aggregator) |
void |
applyCholesky(int iterationPoint,
BasicArray<Double> multipliers)
Cholesky transformations
|
void |
applyLDL(int iterationPoint,
BasicArray<Double> multipliers)
LDL transformations
|
void |
applyLU(int iterationPoint,
BasicArray<Double> multipliers)
LU transformations
|
Array1D<Double> |
asList() |
void |
caxpy(double aSclrA,
int aColX,
int aColY,
int aFirstRow) |
Array1D<ComplexNumber> |
computeInPlaceSchur(PhysicalStore<Double> transformationCollector,
boolean eigenvalue) |
MatrixStore<Double> |
conjugate()
Returns the conjugate transpose of this matrix.
|
PrimitiveDenseStore |
copy()
Each call must produce a new instance.
|
long |
count() |
long |
countColumns() |
long |
countRows() |
void |
divideAndCopyColumn(int row,
int column,
BasicArray<Double> destination) |
double |
doubleValue(long index) |
double |
doubleValue(long row,
long col)
Extracts one element of this matrix as a double.
|
boolean |
equals(Object anObj) |
protected void |
exchange(long firstA,
long firstB,
long step,
long count) |
void |
exchangeColumns(long colA,
long colB) |
void |
exchangeHermitian(int indexA,
int indexB) |
void |
exchangeRows(long rowA,
long rowB) |
protected void |
fill(long first,
long limit,
long step,
N value) |
protected void |
fill(long first,
long limit,
long step,
NullaryFunction<N> supplier) |
void |
fillAll(N number) |
void |
fillAll(NullaryFunction<N> supplier) |
void |
fillByMultiplying(Access1D<Double> left,
Access1D<Double> right) |
void |
fillColumn(long row,
long col,
Access1D<Double> values) |
void |
fillColumn(long row,
long col,
Double value) |
void |
fillColumn(long row,
long col,
NullaryFunction<Double> supplier) |
void |
fillDiagonal(long row,
long col,
Double value) |
void |
fillDiagonal(long row,
long col,
NullaryFunction<Double> supplier) |
void |
fillMatching(Access1D<?> values)
Will fill the elements of [this] with the corresponding input values, and in the process (if
necessary) convert the elements to the correct type:
|
void |
fillMatching(Access1D<Double> left,
BinaryFunction<Double> function,
Access1D<Double> right) |
void |
fillMatching(UnaryFunction<Double> function,
Access1D<Double> arguments) |
void |
fillOne(long index,
Access1D<?> values,
long valueIndex) |
void |
fillOne(long row,
long col,
Access1D<?> values,
long valueIndex) |
void |
fillOne(long row,
long col,
Double value) |
void |
fillOne(long row,
long col,
NullaryFunction<Double> supplier) |
void |
fillOne(long index,
N value) |
void |
fillOne(long index,
NullaryFunction<N> supplier) |
void |
fillRange(long first,
long limit,
N number) |
void |
fillRange(long first,
long limit,
NullaryFunction<N> supplier) |
void |
fillRow(long row,
long col,
Access1D<Double> values) |
void |
fillRow(long row,
long col,
Double value) |
void |
fillRow(long row,
long col,
NullaryFunction<Double> supplier) |
boolean |
generateApplyAndCopyHouseholderColumn(int row,
int column,
Householder<Double> destination) |
boolean |
generateApplyAndCopyHouseholderRow(int row,
int column,
Householder<Double> destination) |
MatrixStore<Double> |
get() |
N |
get(long index) |
Double |
get(long row,
long col) |
static PrimitiveDenseStore |
getComplexArgument(Access2D<ComplexNumber> arg)
Extracts the argument of the ComplexNumber elements to a new primitive double valued matrix.
|
static PrimitiveDenseStore |
getComplexImaginary(Access2D<ComplexNumber> arg)
Extracts the imaginary part of the ComplexNumber elements to a new primitive double valued matrix.
|
static PrimitiveDenseStore |
getComplexModulus(Access2D<ComplexNumber> arg)
Extracts the modulus of the ComplexNumber elements to a new primitive double valued matrix.
|
static PrimitiveDenseStore |
getComplexReal(Access2D<ComplexNumber> arg)
Extracts the real part of the ComplexNumber elements to a new primitive double valued matrix.
|
int |
hashCode() |
protected long |
indexOfLargest(long first,
long limit,
long step) |
long |
indexOfLargestInColumn(long row,
long col) |
long |
indexOfLargestInRow(long row,
long col) |
long |
indexOfLargestOnDiagonal(long first) |
boolean |
isAbsolute(long index) |
boolean |
isAbsolute(long row,
long col) |
boolean |
isColumnSmall(long row,
long col,
double comparedTo) |
boolean |
isRowSmall(long row,
long col,
double comparedTo) |
boolean |
isSmall(long index,
double comparedTo) |
boolean |
isSmall(long row,
long col,
double comparedTo) |
protected boolean |
isSmall(long first,
long limit,
long step,
double comparedTo) |
protected void |
modify(long first,
long limit,
long step,
Access1D<N> left,
BinaryFunction<N> function) |
protected void |
modify(long first,
long limit,
long step,
BinaryFunction<N> function,
Access1D<N> right) |
protected void |
modify(long first,
long limit,
long step,
UnaryFunction<N> function) |
void |
modifyAll(UnaryFunction<Double> modifier) |
void |
modifyColumn(long row,
long col,
UnaryFunction<Double> modifier) |
void |
modifyDiagonal(long row,
long col,
UnaryFunction<Double> modifier) |
void |
modifyMatching(Access1D<Double> left,
BinaryFunction<Double> function) |
void |
modifyMatching(BinaryFunction<Double> function,
Access1D<Double> right) |
void |
modifyOne(long row,
long col,
UnaryFunction<Double> modifier) |
void |
modifyOne(long index,
UnaryFunction<N> modifier) |
void |
modifyRow(long row,
long col,
UnaryFunction<Double> modifier) |
MatrixStore<Double> |
multiply(MatrixStore<Double> right) |
Double |
multiplyBoth(Access1D<Double> leftAndRight)
Assumes [leftAndRight] is a vector and will calulate [leftAndRight]H[this][leftAndRight]
|
void |
negateColumn(int column) |
PhysicalStore.Factory<Double,PrimitiveDenseStore> |
physical() |
TransformableRegion<Double> |
regionByColumns(int... columns) |
TransformableRegion<Double> |
regionByLimits(int rowLimit,
int columnLimit) |
TransformableRegion<Double> |
regionByOffsets(int rowOffset,
int columnOffset) |
TransformableRegion<Double> |
regionByRows(int... rows) |
TransformableRegion<Double> |
regionByTransposing() |
void |
rotateRight(int low,
int high,
double cos,
double sin) |
void |
set(long index,
double value) |
void |
set(long row,
long col,
double value) |
void |
set(long row,
long col,
Number value) |
void |
set(long index,
Number number) |
void |
setToIdentity(int col) |
Array1D<Double> |
sliceColumn(long row,
long col) |
Array1D<Double> |
sliceDiagonal(long row,
long col) |
Array1D<Double> |
sliceRange(long first,
long limit) |
Array1D<Double> |
sliceRow(long row,
long col) |
void |
substituteBackwards(Access2D<Double> 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<Double> 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 |
supplyTo(TransformableRegion<Double> receiver) |
PrimitiveScalar |
toScalar(long row,
long column) |
String |
toString() |
void |
transformLeft(Householder<Double> transformation,
int firstColumn) |
void |
transformLeft(Rotation<Double> transformation)
As in
MatrixStore.premultiply(Access1D) where the left/parameter matrix is a plane rotation. |
void |
transformRight(Householder<Double> transformation,
int firstRow) |
void |
transformRight(Rotation<Double> transformation)
As in
MatrixStore.multiply(MatrixStore) where the right/parameter matrix is a plane rotation. |
void |
transformSymmetric(Householder<Double> transformation) |
MatrixStore<Double> |
transpose() |
void |
tred2(BasicArray<Double> mainDiagonal,
BasicArray<Double> offDiagonal,
boolean yesvecs) |
protected void |
visit(long first,
long limit,
long step,
VoidFunction<N> visitor) |
void |
visitColumn(long row,
long col,
VoidFunction<Double> visitor) |
void |
visitDiagonal(long row,
long col,
VoidFunction<Double> visitor) |
void |
visitOne(long index,
VoidFunction<N> visitor) |
void |
visitRow(long row,
long col,
VoidFunction<Double> visitor) |
add, add, axpy, copyOfData, dot, doubleValue, exchange, exchange, fill, fill, fill, fill, fill, fill, fill, fill, fillOne, fillOne, fillOne, get, indexOfLargest, invoke, invoke, invoke, invoke, invoke, invoke, isAbsolute, isSmall, make, modify, modify, modify, modify, modify, modify, modifyOne, searchAscending, set, set, size, sortAscending, sortDescending, spliterator, stream, visit, visitOne, wrap
reset, wrap
indexOfLargest, indexOfLargestInRange, makeDecreasingRange, makeDecreasingRange, makeIncreasingRange, makeIncreasingRange, modifyRange, visitAll, visitRange, wrapInArray1D, wrapInArray2D, wrapInArrayAnyD
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
exchangeColumns, sliceColumn, sliceRow
modifyAny
add, aggregateColumn, aggregateDiagonal, aggregateRange, aggregateRow, equals, firstInColumn, firstInColumn, firstInColumn, firstInRow, firstInRow, firstInRow, isHermitian, isNormal, isSmall, limitOfColumn, limitOfColumn, limitOfColumn, limitOfRow, limitOfRow, limitOfRow, logical, multiply, multiply, multiply, negate, norm, operateOnAll, premultiply, reduceColumns, reduceRows, signum, subtract, visitOne
operateOnAny, operateOnColumns, operateOnMatching, operateOnMatching, operateOnRows
operateOnAll, operateOnAll, operateOnAll, operateOnAll, operateOnAll
collect
visitColumn, visitDiagonal, visitOne, visitRow
visitAll, visitRange
aggregateColumn, aggregateDiagonal, aggregateRow, reduceColumns, reduceRows
sliceDiagonal
indexOfLargestInColumn, indexOfLargestInRow, indexOfLargestOnDiagonal
indexOfLargest, indexOfLargestInRange
modifyColumn, modifyDiagonal, modifyMatchingInColumns, modifyMatchingInColumns, modifyMatchingInRows, modifyMatchingInRows, modifyOne, modifyRow
modifyRange
isAcceptable
copyComplexArgument, copyComplexImaginary, copyComplexModulus, copyComplexModulusAndArgument, copyComplexReal, copyComplexRealAndImaginary, reset
fillColumn, fillColumn, fillColumn, fillDiagonal, fillDiagonal, fillDiagonal, fillDiagonal, fillOne, fillOne, fillOne, fillRow, fillRow, fillRow
column, column, column, column, column, count, count, index, index, isEmpty, isFat, isScalar, isSquare, isTall, isVector, loopAll, loopColumn, loopColumn, loopDiagonal, loopMatching, loopRow, loopRow, mapperOf, row, row, row, row, row
fillAll, fillAll, fillRange, fillRange
index, loopAll, loopMatching, loopRange, mapper, size
asCollectable2D, asPrimitive2D, byteValue, byteValue, columns, doubleValue, elements, equals, floatValue, floatValue, 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
public static final PhysicalStore.Factory<Double,PrimitiveDenseStore> FACTORY
public static PrimitiveDenseStore getComplexArgument(Access2D<ComplexNumber> arg)
public static PrimitiveDenseStore getComplexImaginary(Access2D<ComplexNumber> arg)
public static PrimitiveDenseStore getComplexModulus(Access2D<ComplexNumber> arg)
public static PrimitiveDenseStore getComplexReal(Access2D<ComplexNumber> arg)
public void accept(Access2D<?> supplied)
public Double aggregateAll(Aggregator aggregator)
aggregateAll
in interface MatrixStore<Double>
aggregateAll
in interface Access1D.Aggregatable<Double>
public void applyCholesky(int iterationPoint, BasicArray<Double> multipliers)
DecompositionStore
applyCholesky
in interface DecompositionStore<Double>
public void applyLDL(int iterationPoint, BasicArray<Double> multipliers)
DecompositionStore
applyLDL
in interface DecompositionStore<Double>
public void applyLU(int iterationPoint, BasicArray<Double> multipliers)
DecompositionStore
applyLU
in interface DecompositionStore<Double>
public Array1D<Double> asList()
asList
in interface PhysicalStore<Double>
public void caxpy(double aSclrA, int aColX, int aColY, int aFirstRow)
public Array1D<ComplexNumber> computeInPlaceSchur(PhysicalStore<Double> transformationCollector, boolean eigenvalue)
computeInPlaceSchur
in interface DecompositionStore<Double>
public MatrixStore<Double> conjugate()
MatrixStore
conjugate
in interface VectorSpace<MatrixStore<Double>,Double>
conjugate
in interface MatrixStore<Double>
VectorSpace.conjugate()
public PrimitiveDenseStore copy()
MatrixStore
copy
in interface MatrixStore<Double>
public long countColumns()
countColumns
in interface Structure2D
public long countRows()
countRows
in interface Structure2D
public void divideAndCopyColumn(int row, int column, BasicArray<Double> destination)
divideAndCopyColumn
in interface DecompositionStore<Double>
public double doubleValue(long row, long col)
Access2D
doubleValue
in interface MatrixStore<Double>
doubleValue
in interface Access2D<Double>
row
- A row index.col
- A column index.public boolean equals(Object anObj)
equals
in class Primitive64Array
public void exchangeColumns(long colA, long colB)
exchangeColumns
in interface TransformableRegion<Double>
exchangeColumns
in interface Mutate2D.Exchangeable
public void exchangeHermitian(int indexA, int indexB)
exchangeHermitian
in interface DecompositionStore<Double>
public void exchangeRows(long rowA, long rowB)
exchangeRows
in interface TransformableRegion<Double>
exchangeRows
in interface Mutate2D.Exchangeable
public void fillByMultiplying(Access1D<Double> left, Access1D<Double> right)
fillByMultiplying
in interface TransformableRegion<Double>
public void fillColumn(long row, long col, Access1D<Double> values)
fillColumn
in interface Mutate2D.Fillable<Double>
public void fillColumn(long row, long col, Double value)
fillColumn
in interface Mutate2D.Fillable<Double>
public void fillColumn(long row, long col, NullaryFunction<Double> supplier)
fillColumn
in interface Mutate2D.Fillable<Double>
public void fillDiagonal(long row, long col, Double value)
fillDiagonal
in interface Mutate2D.Fillable<Double>
public void fillDiagonal(long row, long col, NullaryFunction<Double> supplier)
fillDiagonal
in interface Mutate2D.Fillable<Double>
public void fillMatching(Access1D<?> values)
Mutate1D.Fillable
Will fill the elements of [this] with the corresponding input values, and in the process (if necessary) convert the elements to the correct type:
this(i) = values(i)
fillMatching
in interface Mutate1D.Fillable<Double>
fillMatching
in class Primitive64Array
public void fillMatching(Access1D<Double> left, BinaryFunction<Double> function, Access1D<Double> right)
fillMatching
in interface Mutate1D.Fillable<Double>
fillMatching
in class Primitive64Array
public void fillMatching(UnaryFunction<Double> function, Access1D<Double> arguments)
fillMatching
in interface Mutate1D.Fillable<Double>
fillMatching
in class Primitive64Array
public void fillOne(long row, long col, Access1D<?> values, long valueIndex)
fillOne
in interface Mutate2D.Fillable<Double>
public void fillOne(long row, long col, Double value)
fillOne
in interface Mutate2D.Fillable<Double>
public void fillOne(long row, long col, NullaryFunction<Double> supplier)
fillOne
in interface Mutate2D.Fillable<Double>
public void fillRow(long row, long col, Access1D<Double> values)
fillRow
in interface Mutate2D.Fillable<Double>
public void fillRow(long row, long col, Double value)
fillRow
in interface Mutate2D.Fillable<Double>
public void fillRow(long row, long col, NullaryFunction<Double> supplier)
fillRow
in interface Mutate2D.Fillable<Double>
public boolean generateApplyAndCopyHouseholderColumn(int row, int column, Householder<Double> destination)
generateApplyAndCopyHouseholderColumn
in interface DecompositionStore<Double>
public boolean generateApplyAndCopyHouseholderRow(int row, int column, Householder<Double> destination)
generateApplyAndCopyHouseholderRow
in interface DecompositionStore<Double>
public MatrixStore<Double> get()
get
in interface Supplier<MatrixStore<Double>>
get
in interface ElementsSupplier<Double>
get
in interface MatrixStore<Double>
public int hashCode()
hashCode
in class Primitive64Array
public long indexOfLargestInColumn(long row, long col)
indexOfLargestInColumn
in interface Access2D.IndexOf
row
- First row to investigatecol
- The columnpublic long indexOfLargestInRow(long row, long col)
indexOfLargestInRow
in interface Access2D.IndexOf
row
- The rowcol
- The first column to investigatepublic long indexOfLargestOnDiagonal(long first)
indexOfLargestOnDiagonal
in interface Access2D.IndexOf
first
- The first row/column to investigatepublic boolean isAbsolute(long row, long col)
isAbsolute
in interface MatrixStore<Double>
isAbsolute
in interface Access2D.Elements
Scalar.isAbsolute()
public boolean isColumnSmall(long row, long col, double comparedTo)
isColumnSmall
in interface Access2D.Elements
NormedVectorSpace.isSmall(double)
public boolean isRowSmall(long row, long col, double comparedTo)
isRowSmall
in interface Access2D.Elements
NormedVectorSpace.isSmall(double)
public boolean isSmall(long row, long col, double comparedTo)
isSmall
in interface MatrixStore<Double>
isSmall
in interface Access2D.Elements
NormedVectorSpace.isSmall(double)
public void modifyAll(UnaryFunction<Double> modifier)
modifyAll
in interface Mutate1D.Modifiable<Double>
modifyAll
in class BasicArray<Double>
public void modifyColumn(long row, long col, UnaryFunction<Double> modifier)
modifyColumn
in interface Mutate2D.Modifiable<Double>
public void modifyDiagonal(long row, long col, UnaryFunction<Double> modifier)
modifyDiagonal
in interface Mutate2D.Modifiable<Double>
public void modifyMatching(Access1D<Double> left, BinaryFunction<Double> function)
modifyMatching
in interface Mutate1D.Modifiable<Double>
modifyMatching
in class BasicArray<Double>
public void modifyMatching(BinaryFunction<Double> function, Access1D<Double> right)
modifyMatching
in interface Mutate1D.Modifiable<Double>
modifyMatching
in class BasicArray<Double>
public void modifyOne(long row, long col, UnaryFunction<Double> modifier)
modifyOne
in interface Mutate2D.Modifiable<Double>
public void modifyRow(long row, long col, UnaryFunction<Double> modifier)
modifyRow
in interface Mutate2D.Modifiable<Double>
public MatrixStore<Double> multiply(MatrixStore<Double> right)
multiply
in interface Operation.Multiplication<MatrixStore<Double>>
multiply
in interface MatrixStore<Double>
right
- The multiplicandthis * multiplicand
.public Double multiplyBoth(Access1D<Double> leftAndRight)
MatrixStore
multiplyBoth
in interface MatrixStore<Double>
leftAndRight
- The argument vectorpublic void negateColumn(int column)
negateColumn
in interface NegateColumn
public PhysicalStore.Factory<Double,PrimitiveDenseStore> physical()
physical
in interface ElementsSupplier<Double>
public TransformableRegion<Double> regionByColumns(int... columns)
regionByColumns
in interface TransformableRegion<Double>
public TransformableRegion<Double> regionByLimits(int rowLimit, int columnLimit)
regionByLimits
in interface TransformableRegion<Double>
public TransformableRegion<Double> regionByOffsets(int rowOffset, int columnOffset)
regionByOffsets
in interface TransformableRegion<Double>
public TransformableRegion<Double> regionByRows(int... rows)
regionByRows
in interface TransformableRegion<Double>
public TransformableRegion<Double> regionByTransposing()
regionByTransposing
in interface TransformableRegion<Double>
public void rotateRight(int low, int high, double cos, double sin)
rotateRight
in interface RotateRight
public void setToIdentity(int col)
setToIdentity
in interface DecompositionStore<Double>
public Array1D<Double> sliceColumn(long row, long col)
sliceColumn
in interface DecompositionStore<Double>
sliceColumn
in interface MatrixStore<Double>
sliceColumn
in interface Access2D.Sliceable<Double>
public Array1D<Double> sliceDiagonal(long row, long col)
sliceDiagonal
in interface DecompositionStore<Double>
sliceDiagonal
in interface MatrixStore<Double>
sliceDiagonal
in interface Access2D.Sliceable<Double>
public Array1D<Double> sliceRange(long first, long limit)
sliceRange
in interface DecompositionStore<Double>
sliceRange
in interface MatrixStore<Double>
sliceRange
in interface Access1D.Sliceable<Double>
public Array1D<Double> sliceRow(long row, long col)
sliceRow
in interface DecompositionStore<Double>
sliceRow
in interface MatrixStore<Double>
sliceRow
in interface Access2D.Sliceable<Double>
public void substituteBackwards(Access2D<Double> body, boolean unitDiagonal, boolean conjugated, boolean hermitian)
PhysicalStore
substituteBackwards
in interface PhysicalStore<Double>
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
- TODOpublic void substituteForwards(Access2D<Double> body, boolean unitDiagonal, boolean conjugated, boolean identity)
PhysicalStore
substituteForwards
in interface PhysicalStore<Double>
body
- The equation system body parameters [A]unitDiagonal
- true if body has ones on the diagonalconjugated
- TODOpublic void supplyTo(TransformableRegion<Double> receiver)
supplyTo
in interface MatrixStore<Double>
supplyTo
in interface Access2D.Collectable<Double,TransformableRegion<Double>>
public PrimitiveScalar toScalar(long row, long column)
toScalar
in interface MatrixStore<Double>
public String toString()
toString
in class BasicArray<Double>
public void transformLeft(Householder<Double> transformation, int firstColumn)
transformLeft
in interface PhysicalStore<Double>
public void transformLeft(Rotation<Double> transformation)
PhysicalStore
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.
transformLeft
in interface PhysicalStore<Double>
PhysicalStore.transformRight(Rotation)
public void transformRight(Householder<Double> transformation, int firstRow)
transformRight
in interface PhysicalStore<Double>
public void transformRight(Rotation<Double> transformation)
PhysicalStore
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).
transformRight
in interface PhysicalStore<Double>
PhysicalStore.transformLeft(Rotation)
public void transformSymmetric(Householder<Double> transformation)
transformSymmetric
in interface DecompositionStore<Double>
public MatrixStore<Double> transpose()
transpose
in interface ElementsSupplier<Double>
transpose
in interface MatrixStore<Double>
transpose
in interface Stream2D<Double,MatrixStore<Double>,TransformableRegion<Double>,ElementsSupplier<Double>>
public void tred2(BasicArray<Double> mainDiagonal, BasicArray<Double> offDiagonal, boolean yesvecs)
tred2
in interface DecompositionStore<Double>
public void visitColumn(long row, long col, VoidFunction<Double> visitor)
visitColumn
in interface Access2D.Visitable<Double>
public void visitDiagonal(long row, long col, VoidFunction<Double> visitor)
visitDiagonal
in interface Access2D.Visitable<Double>
public void visitRow(long row, long col, VoidFunction<Double> visitor)
visitRow
in interface Access2D.Visitable<Double>
public final long count()
count
in interface Structure1D
public final double doubleValue(long index)
doubleValue
in interface Access1D<N extends Number>
public final void fillAll(N number)
fillAll
in interface Mutate1D.Fillable<N extends Number>
public final void fillAll(NullaryFunction<N> supplier)
fillAll
in interface Mutate1D.Fillable<N extends Number>
public final void fillOne(long index, Access1D<?> values, long valueIndex)
fillOne
in interface Mutate1D.Fillable<N extends Number>
public void fillOne(long index, N value)
fillOne
in interface Mutate1D.Fillable<N extends Number>
public void fillOne(long index, NullaryFunction<N> supplier)
fillOne
in interface Mutate1D.Fillable<N extends Number>
public final void fillRange(long first, long limit, N number)
fillRange
in interface Mutate1D.Fillable<N extends Number>
public final void fillRange(long first, long limit, NullaryFunction<N> supplier)
fillRange
in interface Mutate1D.Fillable<N extends Number>
public final boolean isAbsolute(long index)
isAbsolute
in interface Access1D.Elements
Scalar.isAbsolute()
public final boolean isSmall(long index, double comparedTo)
isSmall
in interface Access1D.Elements
NormedVectorSpace.isSmall(double)
public final void modifyOne(long index, UnaryFunction<N> modifier)
modifyOne
in interface Mutate1D.Modifiable<N extends Number>
public void visitOne(long index, VoidFunction<N> visitor)
visitOne
in interface Access1D.Visitable<N extends Number>
protected final void exchange(long firstA, long firstB, long step, long count)
exchange
in class BasicArray<N extends Number>
protected final void fill(long first, long limit, long step, N value)
fill
in class BasicArray<N extends Number>
protected final void fill(long first, long limit, long step, NullaryFunction<N> supplier)
fill
in class BasicArray<N extends Number>
protected final long indexOfLargest(long first, long limit, long step)
indexOfLargest
in class BasicArray<N extends Number>
protected final boolean isSmall(long first, long limit, long step, double comparedTo)
isSmall
in class BasicArray<N extends Number>
protected final void modify(long first, long limit, long step, Access1D<N> left, BinaryFunction<N> function)
modify
in class BasicArray<N extends Number>
protected final void modify(long first, long limit, long step, BinaryFunction<N> function, Access1D<N> right)
modify
in class BasicArray<N extends Number>
protected final void modify(long first, long limit, long step, UnaryFunction<N> function)
modify
in class BasicArray<N extends Number>
protected final void visit(long first, long limit, long step, VoidFunction<N> visitor)
visit
in class BasicArray<N extends Number>
Copyright © 2019 Optimatika. All rights reserved.