Class R064Store
- All Implemented Interfaces:
Consumer<Access2D<?>>
,RandomAccess
,Group
,Group.Additive<MatrixStore<Double>>
,NormedVectorSpace<MatrixStore<Double>,
,Double> Operation
,Operation.Addition<MatrixStore<Double>>
,Operation.Multiplication<MatrixStore<Double>>
,Operation.Subtraction<MatrixStore<Double>>
,ScalarOperation
,ScalarOperation.Addition<MatrixStore<Double>,
,Double> ScalarOperation.Division<MatrixStore<Double>,
,Double> ScalarOperation.Multiplication<MatrixStore<Double>,
,Double> ScalarOperation.Subtraction<MatrixStore<Double>,
,Double> VectorSpace<MatrixStore<Double>,
,Double> DecompositionStore<Double>
,ExchangeColumns
,NegateColumn
,RotateRight
,Matrix2D<Double,
,MatrixStore<Double>> ElementsSupplier<Double>
,MatrixStore<Double>
,PhysicalStore<Double>
,TransformableRegion<Double>
,Access1D<Double>
,Access1D.Aggregatable<Double>
,Access1D.Collectable<Double,
,Mutate1D> Access1D.Sliceable<Double>
,Access1D.Visitable<Double>
,Access2D<Double>
,Access2D.Aggregatable<Double>
,Access2D.Collectable<Double,
,TransformableRegion<Double>> Access2D.Sliceable<Double>
,Access2D.Visitable<Double>
,Factory1D.Builder<DenseArray<Double>>
,Factory2D.Builder<R064Store>
,Mutate1D
,Mutate1D.Fillable<Double>
,Mutate1D.Modifiable<Double>
,Mutate1D.Sortable
,Mutate2D
,Mutate2D.Exchangeable
,Mutate2D.Fillable<Double>
,Mutate2D.Modifiable<Double>
,Mutate2D.ModifiableReceiver<Double>
,Mutate2D.Receiver<Double>
,Operate2D<Double,
,ElementsSupplier<Double>> Structure1D
,Structure2D
,Structure2D.Logical<Access2D<Double>,
,MatrixStore<Double>> Structure2D.ReducibleTo1D<ElementsSupplier<Double>>
invalid reference
double
-
Nested Class Summary
Nested classes/interfaces inherited from class org.ojalgo.array.DenseArray
DenseArray.Factory<N extends Comparable<N>>
Nested classes/interfaces inherited from interface org.ojalgo.structure.Access1D
Access1D.Aggregatable<N extends Comparable<N>>, Access1D.Collectable<N extends Comparable<N>,
R extends Mutate1D>, Access1D.ElementView<N extends Comparable<N>>, Access1D.SelectionView<N extends Comparable<N>>, Access1D.Sliceable<N extends Comparable<N>>, Access1D.Visitable<N extends Comparable<N>> Nested classes/interfaces inherited from interface org.ojalgo.structure.Access2D
Access2D.Aggregatable<N extends Comparable<N>>, Access2D.Collectable<N extends Comparable<N>,
R extends Mutate2D>, Access2D.ColumnView<N extends Comparable<N>>, Access2D.ElementView<N extends Comparable<N>>, Access2D.RowView<N extends Comparable<N>>, Access2D.SelectionView<N extends Comparable<N>>, Access2D.Sliceable<N extends Comparable<N>>, Access2D.Visitable<N extends Comparable<N>> Nested classes/interfaces inherited from interface org.ojalgo.algebra.Group
Group.Additive<T>, Group.Multiplicative<T>
Nested classes/interfaces inherited from interface org.ojalgo.structure.Mutate1D
Mutate1D.Fillable<N extends Comparable<N>>, Mutate1D.Mixable<N extends Comparable<N>>, Mutate1D.Modifiable<N extends Comparable<N>>, Mutate1D.ModifiableReceiver<N extends Comparable<N>>, Mutate1D.Receiver<N extends Comparable<N>>, Mutate1D.Sortable
Nested classes/interfaces inherited from interface org.ojalgo.structure.Mutate2D
Mutate2D.Exchangeable, Mutate2D.Fillable<N extends Comparable<N>>, Mutate2D.Mixable<N extends Comparable<N>>, Mutate2D.Modifiable<N extends Comparable<N>>, Mutate2D.ModifiableReceiver<N extends Comparable<N>>, Mutate2D.Receiver<N extends Comparable<N>>
Nested classes/interfaces inherited from interface org.ojalgo.algebra.Operation
Operation.Addition<T>, Operation.Division<T>, Operation.Multiplication<T>, Operation.Subtraction<T>
Nested classes/interfaces inherited from interface org.ojalgo.matrix.store.PhysicalStore
PhysicalStore.Factory<N extends Comparable<N>,
I extends PhysicalStore<N> & Factory2D.Builder<I>> Nested classes/interfaces inherited from interface org.ojalgo.algebra.ScalarOperation
ScalarOperation.Addition<T,
N extends Comparable<N>>, ScalarOperation.Division<T, N extends Comparable<N>>, ScalarOperation.Multiplication<T, N extends Comparable<N>>, ScalarOperation.Subtraction<T, N extends Comparable<N>> Nested classes/interfaces inherited from interface org.ojalgo.structure.Structure1D
Structure1D.BasicMapper<T>, Structure1D.IndexMapper<T>, Structure1D.IntIndex, Structure1D.Logical<S extends Structure1D,
B extends Structure1D.Logical<S, B>>, Structure1D.LongIndex, Structure1D.LoopCallback Nested classes/interfaces inherited from interface org.ojalgo.structure.Structure2D
Structure2D.IntRowColumn, Structure2D.Logical<S extends Structure2D,
B extends Structure2D.Logical<S, B>>, Structure2D.LongRowColumn, Structure2D.ReducibleTo1D<R extends Structure1D>, Structure2D.Reshapable, Structure2D.RowColumnKey<R, C>, Structure2D.RowColumnMapper<R, C> Nested classes/interfaces inherited from interface org.ojalgo.matrix.store.TransformableRegion
TransformableRegion.FillByMultiplying<N extends Comparable<N>>
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) static final long
static final PhysicalStore.Factory
<Double, R064Store> private final MultiplyBoth.Primitive
private final MultiplyLeft.Primitive64
private final MultiplyNeither.Primitive64
private final MultiplyRight.Primitive64
private final int
private final int
private double[]
(package private) static final long
Fields inherited from class org.ojalgo.array.PlainArray
MAX_SIZE
Fields inherited from interface org.ojalgo.matrix.decomposition.function.ExchangeColumns
NULL
Fields inherited from interface org.ojalgo.matrix.decomposition.function.NegateColumn
NULL
Fields inherited from interface org.ojalgo.matrix.decomposition.function.RotateRight
NULL
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
void
add
(long row, long col, double addend) void
add
(long row, long col, Comparable<?> addend) void
applyCholesky
(int iterationPoint, BasicArray<Double> multipliers) Cholesky transformationsvoid
applyLDL
(int iterationPoint, BasicArray<Double> multipliers) LDL transformationsvoid
applyLU
(int iterationPoint, BasicArray<Double> multipliers) LU transformationsasList()
build()
(package private) static Householder.Primitive64
cast
(Householder<Double> transformation) (package private) static Rotation.Primitive
(package private) static R064Store
void
caxpy
(double aSclrA, int aColX, int aColY, int aFirstRow) computeInPlaceSchur
(PhysicalStore<Double> transformationCollector, boolean eigenvalue) Returns the conjugate transpose of this matrix.copy()
Each call must produce a new instance.long
Only need to implement if the structure may contain more than Integer.MAX_VALUE elements.long
Only need to implement if the structure may contain more than Integer.MAX_VALUE elements.void
divideAndCopyColumn
(int row, int column, BasicArray<Double> destination) double
doubleValue
(int row, int col) Extracts one element of this matrix as a double.boolean
void
exchangeColumns
(long colA, long colB) void
exchangeHermitian
(int indexA, int indexB) void
exchangeRows
(long rowA, long rowB) void
fillByMultiplying
(Access1D<Double> left, Access1D<Double> right) void
fillColumn
(long row, long col, Double value) void
fillColumn
(long row, long col, NullaryFunction<?> supplier) void
fillColumn
(long row, long col, Access1D<Double> values) void
fillCompatible
(Access2D<Double> left, BinaryFunction<Double> operator, Access2D<Double> right) 'this' needs to be of a size compatible with the 'left' and 'right' matrices.void
fillDiagonal
(long row, long col, Double value) void
fillDiagonal
(long row, long col, NullaryFunction<?> supplier) void
fillMatching
(UnaryFunction<Double> function, Access1D<Double> arguments) 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
void
fillRow
(long row, long col, NullaryFunction<?> supplier) void
boolean
generateApplyAndCopyHouseholderColumn
(int row, int column, Householder<Double> destination) boolean
generateApplyAndCopyHouseholderRow
(int row, int column, Householder<Double> destination) get()
get
(int row, int col) int
static R064Store
Extracts the argument of the ComplexNumber elements to a new primitive double valued matrix.static R064Store
Extracts the imaginary part of the ComplexNumber elements to a new primitive double valued matrix.static R064Store
Extracts the modulus of the ComplexNumber elements to a new primitive double valued matrix.static R064Store
Extracts the real part of the ComplexNumber elements to a new primitive double valued matrix.int
int
int
private double[]
int
hashCode()
void
modifyAll
(UnaryFunction<Double> modifier) void
modifyColumn
(long row, long col, UnaryFunction<Double> modifier) void
modifyDiagonal
(long row, long col, UnaryFunction<Double> modifier) void
modifyOne
(long row, long col, UnaryFunction<Double> modifier) void
modifyRow
(long row, long col, UnaryFunction<Double> modifier) multiply
(MatrixStore<Double> right) multiplyBoth
(Access1D<Double> leftAndRight) Assumes [leftAndRight] is a vector and will calulate [leftAndRight]H[this][leftAndRight]void
negateColumn
(int column) physical()
regionByColumns
(int... columns) regionByLimits
(int rowLimit, int columnLimit) regionByOffsets
(int rowOffset, int columnOffset) regionByRows
(int... rows) void
rotateRight
(int low, int high, double cos, double sin) void
set
(int row, int col, double value) void
set
(long row, long col, Comparable<?> value) void
setToIdentity
(int col) sliceColumn
(long row, long col) sliceDiagonal
(long row, long col) sliceRange
(long first, long limit) 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 triangularvoid
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 triangulartoScalar
(int row, int col) Extracts one element of this matrix as a Scalar.toString()
void
transformLeft
(Householder<Double> transformation, int firstColumn) void
transformLeft
(Rotation<Double> transformation) As inMatrixStore.premultiply(Access1D)
where the left/parameter matrix is a plane rotation.void
transformRight
(Householder<Double> transformation, int firstRow) void
transformRight
(Rotation<Double> transformation) As inMatrixStore.multiply(MatrixStore)
where the right/parameter matrix is a plane rotation.void
transformSymmetric
(Householder<Double> transformation) void
tred2
(BasicArray<Double> mainDiagonal, BasicArray<Double> offDiagonal, boolean yesvecs) void
visitColumn
(long row, long col, VoidFunction<Double> visitor) void
visitDiagonal
(long row, long col, VoidFunction<Double> visitor) void
visitRow
(long row, long col, VoidFunction<Double> visitor) static R064Store
wrap
(double... data) static R064Store
wrap
(double[] data, int structure) Methods inherited from class org.ojalgo.array.ArrayR064
add, add, axpy, byteValue, copyOfData, dot, doubleValue, exchange, fill, fill, fillOne, fillOne, fillOne, floatValue, get, indexOfLargest, intValue, isAbsolute, isSmall, longValue, make, modify, modify, modify, modifyOne, reset, searchAscending, set, set, set, shortValue, sortAscending, sortDescending, spliterator, stream, supplyTo, visit, visitOne
Methods inherited from class org.ojalgo.array.PrimitiveArray
wrap
Methods inherited from class org.ojalgo.array.PlainArray
add, add, add, add, add, add, add, add, add, add, add, add, byteValue, count, doubleValue, exchange, fill, fill, fillAll, fillAll, fillRange, fillRange, floatValue, get, indexOfLargest, intValue, longValue, modify, modify, modify, modifyOne, set, set, set, set, set, set, set, set, set, set, set, shortValue, size, visit, visitOne
Methods inherited from class org.ojalgo.array.BasicArray
aggregateRange, getMathType, indexOfLargest, isPrimitive, modifyMatching, modifyMatching, modifyRange, visitAll, visitRange, wrapInArray1D, wrapInArray2D, wrapInArrayAnyD
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.ojalgo.structure.Access1D
asCollectable1D, asKeyed1D, axpy, dot, select, supplyTo, toRawCopy1D
Methods inherited from interface org.ojalgo.structure.Access1D.Collectable
collect
Methods inherited from interface org.ojalgo.structure.Access1D.Visitable
visitAll, visitRange
Methods inherited from interface org.ojalgo.structure.Access2D
asCollectable2D, asKeyed2D, byteValue, byteValue, byteValue, byteValue, columns, doubleValue, doubleValue, doubleValue, elements, floatValue, floatValue, floatValue, floatValue, get, intValue, intValue, intValue, intValue, longValue, longValue, longValue, longValue, nonzeros, rows, shortValue, shortValue, shortValue, shortValue, toRawCopy2D
Methods inherited from interface org.ojalgo.structure.Access2D.Aggregatable
aggregateColumn, aggregateDiagonal, aggregateRow, reduceColumns, reduceRows
Methods inherited from interface org.ojalgo.structure.Access2D.Collectable
collect
Methods inherited from interface org.ojalgo.structure.Access2D.Sliceable
sliceDiagonal
Methods inherited from interface org.ojalgo.structure.Access2D.Visitable
visitColumn, visitDiagonal, visitOne, visitRow
Methods inherited from interface org.ojalgo.matrix.decomposition.DecompositionStore
exchangeColumns, sliceColumn, sliceRow
Methods inherited from interface org.ojalgo.matrix.store.ElementsSupplier
onAny, onColumns, onColumns, onMatching, onMatching, onRows, onRows
Methods inherited from interface org.ojalgo.matrix.store.MatrixStore
above, above, above, add, add, add, aggregateAll, aggregateColumn, aggregateDiagonal, aggregateRange, aggregateRow, below, below, below, bidiagonal, column, column, columns, columns, diagonal, diagonally, divide, divide, equals, get, hermitian, hessenberg, indexOfLargest, isHermitian, isNormal, isSmall, isSmall, left, left, left, limits, logical, multiply, multiply, multiply, negate, norm, offsets, onAll, operate, power, premultiply, reduceColumns, reduceRows, repeat, right, right, right, row, row, rows, rows, select, select, signum, subtract, subtract, subtract, superimpose, superimpose, symmetric, transpose, triangular, tridiagonal, visitOne
Methods inherited from interface org.ojalgo.structure.Mutate1D.Fillable
fillAll, fillAll, fillCompatible, fillRange, fillRange
Methods inherited from interface org.ojalgo.structure.Mutate1D.Modifiable
modifyMatching, modifyMatching, modifyRange
Methods inherited from interface org.ojalgo.structure.Mutate2D
set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set
Methods inherited from interface org.ojalgo.structure.Mutate2D.Fillable
fillColumn, fillColumn, fillColumn, fillDiagonal, fillDiagonal, fillDiagonal, fillDiagonal, fillRow, fillRow, fillRow
Methods inherited from interface org.ojalgo.structure.Mutate2D.Modifiable
add, add, add, add, add, add, add, add, add, add, add, add, modifyColumn, modifyDiagonal, modifyMatchingInColumns, modifyMatchingInColumns, modifyMatchingInRows, modifyMatchingInRows, modifyOne, modifyRow
Methods inherited from interface org.ojalgo.structure.Mutate2D.ModifiableReceiver
modifyCompatible, modifyCompatible
Methods inherited from interface org.ojalgo.structure.Mutate2D.Receiver
isAcceptable
Methods inherited from interface org.ojalgo.structure.Operate2D
onAll, onAll, onAll, onAll, onAll, onCompatible, onCompatible
Methods inherited from interface org.ojalgo.matrix.store.PhysicalStore
indexOfLargestInColumn, indexOfLargestInRow, indexOfLargestOnDiagonal, modifyAny, supplyTo
Methods inherited from interface org.ojalgo.algebra.ScalarOperation.Addition
add
Methods inherited from interface org.ojalgo.algebra.ScalarOperation.Division
divide
Methods inherited from interface org.ojalgo.algebra.ScalarOperation.Multiplication
multiply
Methods inherited from interface org.ojalgo.algebra.ScalarOperation.Subtraction
subtract
Methods inherited from interface org.ojalgo.structure.Structure2D
count, firstInColumn, firstInRow, isEmpty, isFat, isScalar, isSquare, isTall, isVector, limitOfColumn, limitOfRow, size
Methods inherited from interface org.ojalgo.matrix.store.TransformableRegion
synchronised
-
Field Details
-
FACTORY
-
ELEMENT_SIZE
static final long ELEMENT_SIZE -
SHALLOW_SIZE
static final long SHALLOW_SIZE -
multiplyBoth
-
multiplyLeft
-
multiplyNeither
-
multiplyRight
-
myColDim
private final int myColDim -
myRowDim
private final int myRowDim -
myUtility
-
myWorkerColumn
private transient double[] myWorkerColumn
-
-
Constructor Details
-
R064Store
private R064Store(double[] dataArray) -
R064Store
private R064Store(int numbRows) -
R064Store
R064Store(int numbRows, int numbCols, double[] dataArray) -
R064Store
R064Store(long numbRows, long numbCols)
-
-
Method Details
-
getComplexArgument
Extracts the argument of the ComplexNumber elements to a new primitive double valued matrix. -
getComplexImaginary
Extracts the imaginary part of the ComplexNumber elements to a new primitive double valued matrix. -
getComplexModulus
Extracts the modulus of the ComplexNumber elements to a new primitive double valued matrix. -
getComplexReal
Extracts the real part of the ComplexNumber elements to a new primitive double valued matrix. -
wrap
-
wrap
-
cast
-
cast
-
cast
-
accept
-
add
- Specified by:
add
in interfaceMutate2D.Modifiable<Double>
-
add
public void add(long row, long col, double addend) - Specified by:
add
in interfaceMutate2D.Modifiable<Double>
-
applyCholesky
Description copied from interface:DecompositionStore
Cholesky transformations- Specified by:
applyCholesky
in interfaceDecompositionStore<Double>
-
applyLDL
Description copied from interface:DecompositionStore
LDL transformations- Specified by:
applyLDL
in interfaceDecompositionStore<Double>
-
applyLU
Description copied from interface:DecompositionStore
LU transformations- Specified by:
applyLU
in interfaceDecompositionStore<Double>
-
asList
- Specified by:
asList
in interfacePhysicalStore<Double>
- Returns:
- The elements of the physical store as a fixed size (1 dimensional) list. The elements may be accessed either row or colomn major.
-
build
- Specified by:
build
in interfaceFactory1D.Builder<DenseArray<Double>>
- Specified by:
build
in interfaceFactory2D.Builder<R064Store>
- Overrides:
build
in classDenseArray<Double>
-
caxpy
public void caxpy(double aSclrA, int aColX, int aColY, int aFirstRow) -
computeInPlaceSchur
public Array1D<ComplexNumber> computeInPlaceSchur(PhysicalStore<Double> transformationCollector, boolean eigenvalue) - Specified by:
computeInPlaceSchur
in interfaceDecompositionStore<Double>
-
conjugate
Description copied from interface:MatrixStore
Returns the conjugate transpose of this matrix. The conjugate transpose is also known as adjoint matrix, adjugate matrix, hermitian adjoint or hermitian transpose. (The conjugate matrix is the complex conjugate of each element. This NOT what is returned here!)- Specified by:
conjugate
in interfaceMatrixStore<Double>
- Specified by:
conjugate
in interfaceStructure2D.Logical<Access2D<Double>,
MatrixStore<Double>> - Specified by:
conjugate
in interfaceVectorSpace<MatrixStore<Double>,
Double> - See Also:
-
copy
Description copied from interface:MatrixStore
Each call must produce a new instance.- Specified by:
copy
in interfaceMatrixStore<Double>
- Returns:
- A new PhysicalStore copy.
-
countColumns
public long countColumns()Description copied from interface:Structure2D
Only need to implement if the structure may contain more than Integer.MAX_VALUE elements.- Specified by:
countColumns
in interfaceStructure2D
- Returns:
- The number of columns
-
countRows
public long countRows()Description copied from interface:Structure2D
Only need to implement if the structure may contain more than Integer.MAX_VALUE elements.- Specified by:
countRows
in interfaceStructure2D
- Returns:
- The number of rows
-
divideAndCopyColumn
- Specified by:
divideAndCopyColumn
in interfaceDecompositionStore<Double>
-
doubleValue
public double doubleValue(int row, int col) Description copied from interface:Access2D
Extracts one element of this matrix as a double.- Specified by:
doubleValue
in interfaceAccess2D<Double>
- Specified by:
doubleValue
in interfaceMatrixStore<Double>
- Parameters:
row
- A row index.col
- A column index.- Returns:
- One matrix element
-
equals
-
exchangeColumns
public void exchangeColumns(long colA, long colB) - Specified by:
exchangeColumns
in interfaceMutate2D.Exchangeable
- Specified by:
exchangeColumns
in interfaceTransformableRegion<Double>
-
exchangeHermitian
public void exchangeHermitian(int indexA, int indexB) - Specified by:
exchangeHermitian
in interfaceDecompositionStore<Double>
-
exchangeRows
public void exchangeRows(long rowA, long rowB) - Specified by:
exchangeRows
in interfaceMutate2D.Exchangeable
- Specified by:
exchangeRows
in interfaceTransformableRegion<Double>
-
fillCompatible
public void fillCompatible(Access2D<Double> left, BinaryFunction<Double> operator, Access2D<Double> right) Description copied from interface:Mutate2D.Fillable
'this' needs to be of a size compatible with the 'left' and 'right' matrices. No checks are performed. The term "compatible" refers to MATLAB's rules for "array broadcasting". The result will be the same as if the 'left' and 'right' matrices where expanded (repeated) so that all three where of the same size, and then the operation was performed. The actual implementation may be more efficient than that.- Specified by:
fillCompatible
in interfaceMutate2D.Fillable<Double>
-
fillByMultiplying
- Specified by:
fillByMultiplying
in interfaceTransformableRegion<Double>
-
fillColumn
- Specified by:
fillColumn
in interfaceMutate2D.Fillable<Double>
-
fillColumn
- Specified by:
fillColumn
in interfaceMutate2D.Fillable<Double>
-
fillColumn
- Specified by:
fillColumn
in interfaceMutate2D.Fillable<Double>
-
fillDiagonal
- Specified by:
fillDiagonal
in interfaceMutate2D.Fillable<Double>
-
fillDiagonal
- Specified by:
fillDiagonal
in interfaceMutate2D.Fillable<Double>
-
fillMatching
Description copied from interface: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)
- Specified by:
fillMatching
in interfaceMutate1D.Fillable<Double>
- Overrides:
fillMatching
in classArrayR064
-
fillMatching
public void fillMatching(Access1D<Double> left, BinaryFunction<Double> function, Access1D<Double> right) - Specified by:
fillMatching
in interfaceMutate1D.Fillable<Double>
- Overrides:
fillMatching
in classArrayR064
-
fillMatching
- Specified by:
fillMatching
in interfaceMutate1D.Fillable<Double>
- Overrides:
fillMatching
in classArrayR064
-
fillRow
- Specified by:
fillRow
in interfaceMutate2D.Fillable<Double>
-
fillRow
- Specified by:
fillRow
in interfaceMutate2D.Fillable<Double>
-
fillRow
- Specified by:
fillRow
in interfaceMutate2D.Fillable<Double>
-
generateApplyAndCopyHouseholderColumn
public boolean generateApplyAndCopyHouseholderColumn(int row, int column, Householder<Double> destination) - Specified by:
generateApplyAndCopyHouseholderColumn
in interfaceDecompositionStore<Double>
-
generateApplyAndCopyHouseholderRow
public boolean generateApplyAndCopyHouseholderRow(int row, int column, Householder<Double> destination) - Specified by:
generateApplyAndCopyHouseholderRow
in interfaceDecompositionStore<Double>
-
get
- Specified by:
get
in interfaceMatrixStore<Double>
-
get
- Specified by:
get
in interfaceMatrixStore<Double>
-
getColDim
public int getColDim()- Specified by:
getColDim
in interfaceStructure2D
- Returns:
- The number of columns
-
getMaxDim
public int getMaxDim()- Specified by:
getMaxDim
in interfaceStructure2D
-
getMinDim
public int getMinDim()- Specified by:
getMinDim
in interfaceStructure2D
-
getRowDim
public int getRowDim()- Specified by:
getRowDim
in interfaceStructure2D
- Returns:
- The number of rows
-
hashCode
public int hashCode() -
modifyAll
- Specified by:
modifyAll
in interfaceMutate1D.Modifiable<Double>
- Overrides:
modifyAll
in classBasicArray<Double>
-
modifyColumn
- Specified by:
modifyColumn
in interfaceMutate2D.Modifiable<Double>
-
modifyDiagonal
- Specified by:
modifyDiagonal
in interfaceMutate2D.Modifiable<Double>
-
modifyOne
- Specified by:
modifyOne
in interfaceMutate2D.Modifiable<Double>
-
modifyRow
- Specified by:
modifyRow
in interfaceMutate2D.Modifiable<Double>
-
multiply
- Specified by:
multiply
in interfaceMatrixStore<Double>
- Specified by:
multiply
in interfaceOperation.Multiplication<MatrixStore<Double>>
- Parameters:
right
- The multiplicand- Returns:
this * multiplicand
.
-
multiplyBoth
Description copied from interface:MatrixStore
Assumes [leftAndRight] is a vector and will calulate [leftAndRight]H[this][leftAndRight]- Specified by:
multiplyBoth
in interfaceMatrixStore<Double>
- Parameters:
leftAndRight
- The argument vector- Returns:
- A scalar (extracted from the resulting 1 x 1 matrix)
-
negateColumn
public void negateColumn(int column) - Specified by:
negateColumn
in interfaceNegateColumn
-
physical
- Specified by:
physical
in interfaceMatrixStore<Double>
-
regionByColumns
- Specified by:
regionByColumns
in interfaceTransformableRegion<Double>
- Returns:
- A consumer (sub)region
-
regionByLimits
- Specified by:
regionByLimits
in interfaceTransformableRegion<Double>
- Returns:
- A consumer (sub)region
-
regionByOffsets
- Specified by:
regionByOffsets
in interfaceTransformableRegion<Double>
- Returns:
- A consumer (sub)region
-
regionByRows
- Specified by:
regionByRows
in interfaceTransformableRegion<Double>
- Returns:
- A consumer (sub)region
-
regionByTransposing
- Specified by:
regionByTransposing
in interfaceTransformableRegion<Double>
- Returns:
- A transposed consumer region
-
rotateRight
public void rotateRight(int low, int high, double cos, double sin) - Specified by:
rotateRight
in interfaceRotateRight
-
set
public void set(int row, int col, double value) -
set
-
setToIdentity
public void setToIdentity(int col) - Specified by:
setToIdentity
in interfaceDecompositionStore<Double>
-
sliceColumn
- Specified by:
sliceColumn
in interfaceAccess2D.Sliceable<Double>
- Specified by:
sliceColumn
in interfaceDecompositionStore<Double>
- Specified by:
sliceColumn
in interfaceMatrixStore<Double>
-
sliceDiagonal
- Specified by:
sliceDiagonal
in interfaceAccess2D.Sliceable<Double>
- Specified by:
sliceDiagonal
in interfaceDecompositionStore<Double>
- Specified by:
sliceDiagonal
in interfaceMatrixStore<Double>
-
sliceRange
- Specified by:
sliceRange
in interfaceAccess1D.Sliceable<Double>
- Specified by:
sliceRange
in interfaceDecompositionStore<Double>
- Specified by:
sliceRange
in interfaceMatrixStore<Double>
-
sliceRow
- Specified by:
sliceRow
in interfaceAccess2D.Sliceable<Double>
- Specified by:
sliceRow
in interfaceDecompositionStore<Double>
- Specified by:
sliceRow
in interfaceMatrixStore<Double>
-
substituteBackwards
public void substituteBackwards(Access2D<Double> body, boolean unitDiagonal, boolean conjugated, boolean hermitian) Description copied from interface:PhysicalStore
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
- Specified by:
substituteBackwards
in interfacePhysicalStore<Double>
- See Also:
-
substituteForwards
public void substituteForwards(Access2D<Double> body, boolean unitDiagonal, boolean conjugated, boolean identity) Description copied from interface:PhysicalStore
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
- Specified by:
substituteForwards
in interfacePhysicalStore<Double>
- See Also:
-
toScalar
Description copied from interface:Matrix2D
Extracts one element of this matrix as a Scalar.- Specified by:
toScalar
in interfaceMatrix2D<Double,
MatrixStore<Double>> - Specified by:
toScalar
in interfaceMatrixStore<Double>
- Parameters:
row
- A row index.col
- A column index.- Returns:
- One matrix element as a Scalar.
-
toString
- Overrides:
toString
in classBasicArray<Double>
-
transformLeft
- Specified by:
transformLeft
in interfacePhysicalStore<Double>
-
transformLeft
Description copied from interface: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.
- Specified by:
transformLeft
in interfacePhysicalStore<Double>
- See Also:
-
transformRight
- Specified by:
transformRight
in interfacePhysicalStore<Double>
-
transformRight
Description copied from interface: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).
- Specified by:
transformRight
in interfacePhysicalStore<Double>
- See Also:
-
transformSymmetric
- Specified by:
transformSymmetric
in interfaceDecompositionStore<Double>
-
tred2
- Specified by:
tred2
in interfaceDecompositionStore<Double>
-
visitColumn
- Specified by:
visitColumn
in interfaceAccess2D.Visitable<Double>
-
visitDiagonal
- Specified by:
visitDiagonal
in interfaceAccess2D.Visitable<Double>
-
visitRow
- Specified by:
visitRow
in interfaceAccess2D.Visitable<Double>
-
getWorkerColumn
private double[] getWorkerColumn()
-