public final class GenericDenseStore<N extends Number & Scalar<N>> extends ScalarArray<N> implements PhysicalStore<N>, DecompositionStore<N>
Modifier and Type | Class and Description |
---|---|
static interface |
GenericDenseStore.GenericMultiplyBoth<N extends Number & Scalar<N>> |
static interface |
GenericDenseStore.GenericMultiplyLeft<N extends Number & Scalar<N>> |
static interface |
GenericDenseStore.GenericMultiplyNeither<N extends Number & Scalar<N>> |
static interface |
GenericDenseStore.GenericMultiplyRight<N extends Number & Scalar<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<ComplexNumber,GenericDenseStore<ComplexNumber>> |
COMPLEX |
static PhysicalStore.Factory<Quaternion,GenericDenseStore<Quaternion>> |
QUATERNION |
static PhysicalStore.Factory<RationalNumber,GenericDenseStore<RationalNumber>> |
RATIONAL |
data
MAX_ARRAY_SIZE
PRIMITIVE
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) |
N |
aggregateAll(Aggregator aggregator) |
void |
applyCholesky(int iterationPoint,
BasicArray<N> multipliers)
Cholesky transformations
|
void |
applyLDL(int iterationPoint,
BasicArray<N> multipliers)
LDL transformations
|
void |
applyLU(int iterationPoint,
BasicArray<N> multipliers)
LU transformations
|
Array1D<N> |
asList() |
Array1D<ComplexNumber> |
computeInPlaceSchur(PhysicalStore<N> transformationCollector,
boolean eigenvalue) |
MatrixStore<N> |
conjugate()
Returns the conjugate transpose of this matrix.
|
GenericDenseStore<N> |
copy()
Each call must produce a new instance.
|
long |
count() |
long |
countColumns() |
long |
countRows() |
void |
divideAndCopyColumn(int row,
int column,
BasicArray<N> 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<N> left,
Access1D<N> right) |
void |
fillColumn(long row,
long col,
Access1D<N> values) |
void |
fillColumn(long row,
long col,
N value) |
void |
fillColumn(long row,
long col,
NullaryFunction<N> supplier) |
void |
fillDiagonal(long row,
long col,
N value) |
void |
fillDiagonal(long row,
long col,
NullaryFunction<N> 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<N> left,
BinaryFunction<N> function,
Access1D<N> right) |
void |
fillMatching(UnaryFunction<N> function,
Access1D<N> 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,
N value) |
void |
fillOne(long row,
long col,
NullaryFunction<N> 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<N> values) |
void |
fillRow(long row,
long col,
N value) |
void |
fillRow(long row,
long col,
NullaryFunction<N> supplier) |
boolean |
generateApplyAndCopyHouseholderColumn(int row,
int column,
Householder<N> destination) |
boolean |
generateApplyAndCopyHouseholderRow(int row,
int column,
Householder<N> destination) |
MatrixStore<N> |
get() |
N |
get(long index) |
N |
get(long row,
long col) |
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<N> modifier) |
void |
modifyColumn(long row,
long col,
UnaryFunction<N> modifier) |
void |
modifyDiagonal(long row,
long col,
UnaryFunction<N> modifier) |
void |
modifyMatching(Access1D<N> left,
BinaryFunction<N> function) |
void |
modifyMatching(BinaryFunction<N> function,
Access1D<N> right) |
void |
modifyOne(long row,
long col,
UnaryFunction<N> modifier) |
void |
modifyOne(long index,
UnaryFunction<N> modifier) |
void |
modifyRow(long row,
long col,
UnaryFunction<N> modifier) |
MatrixStore<N> |
multiply(MatrixStore<N> right) |
N |
multiplyBoth(Access1D<N> leftAndRight)
Assumes [leftAndRight] is a vector and will calulate [leftAndRight]H[this][leftAndRight]
|
void |
negateColumn(int column) |
PhysicalStore.Factory<N,GenericDenseStore<N>> |
physical() |
TransformableRegion<N> |
regionByColumns(int... columns) |
TransformableRegion<N> |
regionByLimits(int rowLimit,
int columnLimit) |
TransformableRegion<N> |
regionByOffsets(int rowOffset,
int columnOffset) |
TransformableRegion<N> |
regionByRows(int... rows) |
TransformableRegion<N> |
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<N> |
sliceColumn(long row,
long col) |
Array1D<N> |
sliceDiagonal(long row,
long col) |
Array1D<N> |
sliceRange(long first,
long limit) |
Array1D<N> |
sliceRow(long row,
long col) |
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 |
supplyTo(TransformableRegion<N> receiver) |
Scalar<N> |
toScalar(long row,
long column) |
String |
toString() |
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. |
void |
transformSymmetric(Householder<N> transformation) |
MatrixStore<N> |
transpose() |
void |
tred2(BasicArray<N> mainDiagonal,
BasicArray<N> offDiagonal,
boolean yesvecs) |
protected void |
visit(long first,
long limit,
long step,
VoidFunction<N> visitor) |
void |
visitColumn(long row,
long col,
VoidFunction<N> visitor) |
void |
visitDiagonal(long row,
long col,
VoidFunction<N> visitor) |
void |
visitOne(long index,
VoidFunction<N> visitor) |
void |
visitRow(long row,
long col,
VoidFunction<N> visitor) |
add, add, axpy, indexOfLargest, isAbsolute, isSmall, sortAscending, sortDescending
copyOfData, doubleValue, exchange, exchange, fill, fill, fill, fill, fill, fill, fill, fillOne, fillOne, fillOne, get, invoke, invoke, invoke, invoke, invoke, invoke, modify, modify, modify, modify, modify, modify, modifyOne, reset, searchAscending, set, set, size, spliterator, visit, visitOne
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<ComplexNumber,GenericDenseStore<ComplexNumber>> COMPLEX
public static final PhysicalStore.Factory<Quaternion,GenericDenseStore<Quaternion>> QUATERNION
public static final PhysicalStore.Factory<RationalNumber,GenericDenseStore<RationalNumber>> RATIONAL
public void accept(Access2D<?> supplied)
public N aggregateAll(Aggregator aggregator)
aggregateAll
in interface MatrixStore<N extends Number & Scalar<N>>
aggregateAll
in interface Access1D.Aggregatable<N extends Number & Scalar<N>>
public void applyCholesky(int iterationPoint, BasicArray<N> multipliers)
DecompositionStore
applyCholesky
in interface DecompositionStore<N extends Number & Scalar<N>>
public void applyLDL(int iterationPoint, BasicArray<N> multipliers)
DecompositionStore
public void applyLU(int iterationPoint, BasicArray<N> multipliers)
DecompositionStore
public Array1D<ComplexNumber> computeInPlaceSchur(PhysicalStore<N> transformationCollector, boolean eigenvalue)
computeInPlaceSchur
in interface DecompositionStore<N extends Number & Scalar<N>>
public MatrixStore<N> conjugate()
MatrixStore
conjugate
in interface VectorSpace<MatrixStore<N extends Number & Scalar<N>>,N extends Number & Scalar<N>>
conjugate
in interface MatrixStore<N extends Number & Scalar<N>>
VectorSpace.conjugate()
public GenericDenseStore<N> copy()
MatrixStore
copy
in interface MatrixStore<N extends Number & Scalar<N>>
public long countColumns()
countColumns
in interface Structure2D
public long countRows()
countRows
in interface Structure2D
public void divideAndCopyColumn(int row, int column, BasicArray<N> destination)
divideAndCopyColumn
in interface DecompositionStore<N extends Number & Scalar<N>>
public double doubleValue(long row, long col)
Access2D
doubleValue
in interface MatrixStore<N extends Number & Scalar<N>>
doubleValue
in interface Access2D<N extends Number & Scalar<N>>
row
- A row index.col
- A column index.public boolean equals(Object anObj)
public void exchangeColumns(long colA, long colB)
exchangeColumns
in interface TransformableRegion<N extends Number & Scalar<N>>
exchangeColumns
in interface Mutate2D.Exchangeable
public void exchangeHermitian(int indexA, int indexB)
exchangeHermitian
in interface DecompositionStore<N extends Number & Scalar<N>>
public void exchangeRows(long rowA, long rowB)
exchangeRows
in interface TransformableRegion<N extends Number & Scalar<N>>
exchangeRows
in interface Mutate2D.Exchangeable
public void fillByMultiplying(Access1D<N> left, Access1D<N> right)
fillByMultiplying
in interface TransformableRegion<N extends Number & Scalar<N>>
public void fillColumn(long row, long col, Access1D<N> values)
fillColumn
in interface Mutate2D.Fillable<N extends Number & Scalar<N>>
public void fillColumn(long row, long col, N value)
fillColumn
in interface Mutate2D.Fillable<N extends Number & Scalar<N>>
public void fillColumn(long row, long col, NullaryFunction<N> supplier)
fillColumn
in interface Mutate2D.Fillable<N extends Number & Scalar<N>>
public void fillDiagonal(long row, long col, N value)
fillDiagonal
in interface Mutate2D.Fillable<N extends Number & Scalar<N>>
public void fillDiagonal(long row, long col, NullaryFunction<N> supplier)
fillDiagonal
in interface Mutate2D.Fillable<N extends Number & Scalar<N>>
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<N extends Number & Scalar<N>>
fillMatching
in class ReferenceTypeArray<N extends Number & Scalar<N>>
public void fillMatching(Access1D<N> left, BinaryFunction<N> function, Access1D<N> right)
fillMatching
in interface Mutate1D.Fillable<N extends Number & Scalar<N>>
fillMatching
in class ReferenceTypeArray<N extends Number & Scalar<N>>
public void fillMatching(UnaryFunction<N> function, Access1D<N> arguments)
fillMatching
in interface Mutate1D.Fillable<N extends Number & Scalar<N>>
fillMatching
in class ReferenceTypeArray<N extends Number & Scalar<N>>
public void fillOne(long row, long col, Access1D<?> values, long valueIndex)
public void fillOne(long row, long col, N value)
public void fillOne(long row, long col, NullaryFunction<N> supplier)
public void fillRow(long row, long col, N value)
public void fillRow(long row, long col, NullaryFunction<N> supplier)
public boolean generateApplyAndCopyHouseholderColumn(int row, int column, Householder<N> destination)
generateApplyAndCopyHouseholderColumn
in interface DecompositionStore<N extends Number & Scalar<N>>
public boolean generateApplyAndCopyHouseholderRow(int row, int column, Householder<N> destination)
generateApplyAndCopyHouseholderRow
in interface DecompositionStore<N extends Number & Scalar<N>>
public MatrixStore<N> get()
public N get(long row, long col)
public int hashCode()
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<N extends Number & Scalar<N>>
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<N extends Number & Scalar<N>>
isSmall
in interface Access2D.Elements
NormedVectorSpace.isSmall(double)
public void modifyAll(UnaryFunction<N> modifier)
public void modifyColumn(long row, long col, UnaryFunction<N> modifier)
modifyColumn
in interface Mutate2D.Modifiable<N extends Number & Scalar<N>>
public void modifyDiagonal(long row, long col, UnaryFunction<N> modifier)
modifyDiagonal
in interface Mutate2D.Modifiable<N extends Number & Scalar<N>>
public void modifyMatching(Access1D<N> left, BinaryFunction<N> function)
modifyMatching
in interface Mutate1D.Modifiable<N extends Number & Scalar<N>>
modifyMatching
in class BasicArray<N extends Number & Scalar<N>>
public void modifyMatching(BinaryFunction<N> function, Access1D<N> right)
modifyMatching
in interface Mutate1D.Modifiable<N extends Number & Scalar<N>>
modifyMatching
in class BasicArray<N extends Number & Scalar<N>>
public void modifyOne(long row, long col, UnaryFunction<N> modifier)
public void modifyRow(long row, long col, UnaryFunction<N> modifier)
public MatrixStore<N> multiply(MatrixStore<N> right)
multiply
in interface Operation.Multiplication<MatrixStore<N extends Number & Scalar<N>>>
multiply
in interface MatrixStore<N extends Number & Scalar<N>>
right
- The multiplicandthis * multiplicand
.public N multiplyBoth(Access1D<N> leftAndRight)
MatrixStore
multiplyBoth
in interface MatrixStore<N extends Number & Scalar<N>>
leftAndRight
- The argument vectorpublic void negateColumn(int column)
negateColumn
in interface NegateColumn
public PhysicalStore.Factory<N,GenericDenseStore<N>> physical()
public TransformableRegion<N> regionByColumns(int... columns)
regionByColumns
in interface TransformableRegion<N extends Number & Scalar<N>>
public TransformableRegion<N> regionByLimits(int rowLimit, int columnLimit)
regionByLimits
in interface TransformableRegion<N extends Number & Scalar<N>>
public TransformableRegion<N> regionByOffsets(int rowOffset, int columnOffset)
regionByOffsets
in interface TransformableRegion<N extends Number & Scalar<N>>
public TransformableRegion<N> regionByRows(int... rows)
regionByRows
in interface TransformableRegion<N extends Number & Scalar<N>>
public TransformableRegion<N> regionByTransposing()
regionByTransposing
in interface TransformableRegion<N extends Number & Scalar<N>>
public void rotateRight(int low, int high, double cos, double sin)
rotateRight
in interface RotateRight
public void setToIdentity(int col)
setToIdentity
in interface DecompositionStore<N extends Number & Scalar<N>>
public Array1D<N> sliceColumn(long row, long col)
sliceColumn
in interface DecompositionStore<N extends Number & Scalar<N>>
sliceColumn
in interface MatrixStore<N extends Number & Scalar<N>>
sliceColumn
in interface Access2D.Sliceable<N extends Number & Scalar<N>>
public Array1D<N> sliceDiagonal(long row, long col)
sliceDiagonal
in interface DecompositionStore<N extends Number & Scalar<N>>
sliceDiagonal
in interface MatrixStore<N extends Number & Scalar<N>>
sliceDiagonal
in interface Access2D.Sliceable<N extends Number & Scalar<N>>
public Array1D<N> sliceRange(long first, long limit)
sliceRange
in interface DecompositionStore<N extends Number & Scalar<N>>
sliceRange
in interface MatrixStore<N extends Number & Scalar<N>>
sliceRange
in interface Access1D.Sliceable<N extends Number & Scalar<N>>
public void substituteBackwards(Access2D<N> body, boolean unitDiagonal, boolean conjugated, boolean hermitian)
PhysicalStore
substituteBackwards
in interface PhysicalStore<N extends Number & Scalar<N>>
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<N> body, boolean unitDiagonal, boolean conjugated, boolean identity)
PhysicalStore
substituteForwards
in interface PhysicalStore<N extends Number & Scalar<N>>
body
- The equation system body parameters [A]unitDiagonal
- true if body has ones on the diagonalconjugated
- TODOpublic void supplyTo(TransformableRegion<N> receiver)
public String toString()
public void transformLeft(Householder<N> transformation, int firstColumn)
transformLeft
in interface PhysicalStore<N extends Number & Scalar<N>>
public void transformLeft(Rotation<N> 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<N extends Number & Scalar<N>>
PhysicalStore.transformRight(Rotation)
public void transformRight(Householder<N> transformation, int firstRow)
transformRight
in interface PhysicalStore<N extends Number & Scalar<N>>
public void transformRight(Rotation<N> 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<N extends Number & Scalar<N>>
PhysicalStore.transformLeft(Rotation)
public void transformSymmetric(Householder<N> transformation)
transformSymmetric
in interface DecompositionStore<N extends Number & Scalar<N>>
public MatrixStore<N> transpose()
transpose
in interface ElementsSupplier<N extends Number & Scalar<N>>
transpose
in interface MatrixStore<N extends Number & Scalar<N>>
transpose
in interface Stream2D<N extends Number & Scalar<N>,MatrixStore<N extends Number & Scalar<N>>,TransformableRegion<N extends Number & Scalar<N>>,ElementsSupplier<N extends Number & Scalar<N>>>
public void tred2(BasicArray<N> mainDiagonal, BasicArray<N> offDiagonal, boolean yesvecs)
public void visitColumn(long row, long col, VoidFunction<N> visitor)
visitColumn
in interface Access2D.Visitable<N extends Number & Scalar<N>>
public void visitDiagonal(long row, long col, VoidFunction<N> visitor)
visitDiagonal
in interface Access2D.Visitable<N extends Number & Scalar<N>>
public void visitRow(long row, long col, VoidFunction<N> visitor)
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.