Class R032Store
- 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>, 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<R032Store>, 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
float
-
Nested Class Summary
Nested classes/interfaces inherited from class PrimitiveArray
PrimitiveArray.FactoryNested classes/interfaces inherited from interface Access1D
Access1D.Aggregatable<N>, Access1D.Collectable<N,R>, Access1D.ElementView<N>, Access1D.SelectionView<N>, Access1D.Sliceable<N>, Access1D.Visitable<N> Nested classes/interfaces inherited from interface Access2D
Access2D.Aggregatable<N>, Access2D.Collectable<N,R>, Access2D.ColumnView<N>, Access2D.ElementView<N>, Access2D.RowView<N>, Access2D.SelectionView<N>, Access2D.Sliceable<N>, Access2D.Visitable<N> Nested classes/interfaces inherited from interface Group
Group.Additive<T>, Group.Multiplicative<T>Nested classes/interfaces inherited from interface Mutate1D
Mutate1D.Fillable<N>, Mutate1D.Mixable<N>, Mutate1D.Modifiable<N>, Mutate1D.ModifiableReceiver<N>, Mutate1D.Receiver<N>, Mutate1D.SortableNested classes/interfaces inherited from interface Mutate2D
Mutate2D.Exchangeable, Mutate2D.Fillable<N>, Mutate2D.Mixable<N>, Mutate2D.Modifiable<N>, Mutate2D.ModifiableReceiver<N>, Mutate2D.Receiver<N>Nested classes/interfaces inherited from interface Operation
Operation.Addition<T>, Operation.Division<T>, Operation.Multiplication<T>, Operation.Subtraction<T>Nested classes/interfaces inherited from interface PhysicalStore
PhysicalStore.Factory<N,I> Nested classes/interfaces inherited from interface ScalarOperation
ScalarOperation.Addition<T,N>, ScalarOperation.Division<T, N>, ScalarOperation.Multiplication<T, N>, ScalarOperation.Subtraction<T, N> Nested classes/interfaces inherited from interface Structure1D
Structure1D.BasicMapper<T>, Structure1D.IndexMapper<T>, Structure1D.IntIndex, Structure1D.Logical<S,B>, Structure1D.LongIndex, Structure1D.LoopCallback Nested classes/interfaces inherited from interface Structure2D
Structure2D.IntRowColumn, Structure2D.Logical<S,B>, Structure2D.LongRowColumn, Structure2D.ReducibleTo1D<R>, Structure2D.Reshapable, Structure2D.RowColumnKey<R, C>, Structure2D.RowColumnMapper<R, C> Nested classes/interfaces inherited from interface TransformableRegion
TransformableRegion.FillByMultiplying<N> -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final PrimitiveFactory<R032Store> private final MultiplyBoth.Primitiveprivate final MultiplyLeft.Primitive32private final MultiplyNeither.Primitive32private final MultiplyRight.Primitive32private final intprivate final intprivate float[]Fields inherited from class PlainArray
MAX_SIZE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidadd(int row, int col, double addend) voidadd(long row, long col, double addend) voidadd(long row, long col, Comparable<?> addend) aggregateColumn(long row, long col, Aggregator aggregator) aggregateColumn(long col, Aggregator aggregator) aggregateDiagonal(long row, long col, Aggregator aggregator) aggregateDiagonal(Aggregator aggregator) aggregateRange(long first, long limit, Aggregator aggregator) aggregateRow(long row, long col, Aggregator aggregator) aggregateRow(long row, Aggregator aggregator) <NN extends Comparable<NN>, R extends Mutate2D.Receiver<NN>>
Access2D.Collectable<NN, R> asList()build()bytebyteValue(long row, long col) (package private) static Householder.Primitive32cast(Householder<Double> transformation) (package private) static Rotation.Primitive(package private) static R032Storecolumns()Returns the conjugate transpose of this matrix.longOnly need to implement if the structure may contain more than Integer.MAX_VALUE elements.longOnly need to implement if the structure may contain more than Integer.MAX_VALUE elements.doubleWill calculate and return the dot product of this 1D-structure and another input 1D-vector.doubledoubleValue(int row, int col) Extracts one element of this matrix as a double.elements()Returns an Iterable of ElementView1D.booleanvoidexchangeColumns(long colA, long colB) voidexchangeRows(long rowA, long rowB) voidfillByMultiplying(Access1D<Double> left, Access1D<Double> right) voidfillColumn(long row, long col, Double value) voidfillColumn(long row, long col, NullaryFunction<?> supplier) voidfillColumn(long row, long col, Access1D<Double> values) voidfillColumn(long col, Double value) voidfillColumn(long col, NullaryFunction<?> supplier) voidfillColumn(long col, Access1D<Double> values) voidfillCompatible(Access2D<Double> left, BinaryFunction<Double> operator, Access2D<Double> right) 'this' needs to be of a size compatible with the 'left' and 'right' matrices.voidfillDiagonal(long row, long col, Double value) voidfillDiagonal(long row, long col, NullaryFunction<?> supplier) voidfillDiagonal(long row, long col, Access1D<Double> values) voidfillDiagonal(Double value) voidfillDiagonal(NullaryFunction<?> supplier) voidfillDiagonal(Access1D<Double> values) voidfillMatching(UnaryFunction<Double> function, Access1D<Double> arguments) voidfillMatching(Access1D<Double> left, BinaryFunction<Double> function, Access1D<Double> right) voidvoidfillRow(long row, long col, NullaryFunction<?> supplier) voidvoidvoidfillRow(long row, NullaryFunction<?> supplier) voidfloatfloatValue(long row, long col) get(int row, int col) intintintintprivate float[]inthashCode()intintValue(long row, long col) booleanisAcceptable(Structure2D supplier) booleanisEmpty()2D data structures are either square, tall, fat or empty.booleanisFat()2D data structures are either square, tall, fat or empty.booleanisScalar()booleanisSquare()2D data structures are either square, tall, fat or empty.booleanisTall()2D data structures are either square, tall, fat or empty.booleanisVector()longlongValue(long row, long col) voidmodifyAll(UnaryFunction<Double> modifier) voidmodifyAny(Transformation2D<Double> modifier) voidmodifyColumn(long row, long col, UnaryFunction<Double> modifier) voidmodifyColumn(long col, UnaryFunction<Double> modifier) voidmodifyDiagonal(long row, long col, UnaryFunction<Double> modifier) voidmodifyDiagonal(UnaryFunction<Double> modifier) voidmodifyMatching(BinaryFunction<Double> function, Access1D<Double> right) voidmodifyMatching(Access1D<Double> left, BinaryFunction<Double> function) voidmodifyMatchingInColumns(BinaryFunction<Double> function, Access1D<Double> right) Same asMutate2D.Modifiable.modifyMatchingInColumns(Access1D, BinaryFunction)but with the arguments to the modifier function swapped.voidmodifyMatchingInColumns(Access1D<Double> left, BinaryFunction<Double> function) "Matching In Columns" refers to that the supplied, left, data structure will be treated as a column, matching the columns of this structure.voidmodifyMatchingInRows(BinaryFunction<Double> function, Access1D<Double> right) Same asMutate2D.Modifiable.modifyMatchingInRows(Access1D, BinaryFunction)but with the arguments to the modifier function swapped.voidmodifyMatchingInRows(Access1D<Double> left, BinaryFunction<Double> function) Same asMutate2D.Modifiable.modifyMatchingInColumns(Access1D, BinaryFunction)but now the supplied left data structure is treated as a row.voidmodifyOne(long row, long col, UnaryFunction<Double> modifier) voidmodifyRow(long row, long col, UnaryFunction<Double> modifier) voidmodifyRow(long row, UnaryFunction<Double> modifier) multiply(MatrixStore<Double> right) multiplyBoth(Access1D<Double> leftAndRight) Assumes [leftAndRight] is a vector and will calulate [leftAndRight]H[this][leftAndRight]physical()voidreduceColumns(Aggregator aggregator, Mutate1D receiver) voidreduceRows(Aggregator aggregator, Mutate1D receiver) regionByColumns(int... columns) regionByLimits(int rowLimit, int columnLimit) regionByOffsets(int rowOffset, int columnOffset) regionByRows(int... rows) rows()voidset(int row, int col, double value) voidset(long row, long col, Comparable<?> value) shortshortValue(long row, long col) sliceColumn(long col) sliceColumn(long row, long col) sliceDiagonal(long row, long col) sliceRow(long row) sliceRow(long row, long col) voidsubstituteBackwards(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 triangularvoidsubstituteForwards(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 triangulardouble[]double[][]toScalar(int row, int col) Extracts one element of this matrix as a Scalar.toString()voidtransformLeft(Householder<Double> transformation, int firstColumn) voidtransformLeft(Rotation<Double> transformation) As inMatrixStore.premultiply(Access1D)where the left/parameter matrix is a plane rotation.voidtransformRight(Householder<Double> transformation, int firstRow) voidtransformRight(Rotation<Double> transformation) As inMatrixStore.multiply(MatrixStore)where the right/parameter matrix is a plane rotation.voidvisitColumn(long row, long col, VoidFunction<Double> visitor) voidvisitColumn(long col, VoidFunction<Double> visitor) voidvisitDiagonal(long row, long col, VoidFunction<Double> visitor) voidvisitDiagonal(VoidFunction<Double> visitor) voidvisitOne(long row, long col, VoidFunction<Double> visitor) voidvisitRow(long row, long col, VoidFunction<Double> visitor) voidvisitRow(long row, VoidFunction<Double> visitor) static R032Storewrap(float... data) static R032Storewrap(float[] data, int structure) Methods inherited from class ArrayR032
add, add, add, axpy, byteValue, copyOfData, doubleValue, exchange, fill, fill, fillMatching, fillOne, fillOne, fillOne, floatValue, get, indexOfLargest, intValue, isAbsolute, isSmall, make, modify, modify, modify, modifyOne, reset, searchAscending, set, set, set, set, shortValue, sortAscending, sortDescending, supplyTo, visit, visitOneMethods inherited from class PrimitiveArray
wrapMethods inherited from class PlainArray
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, longValue, modify, modify, modify, modifyOne, set, set, set, set, set, set, set, set, set, set, shortValue, size, visit, visitOneMethods inherited from class BasicArray
getMathType, indexOfLargest, isPrimitive, modifyRange, visitAll, visitRange, wrapInArray1D, wrapInArray2D, wrapInArrayAnyDMethods inherited from interface Access1D
asCollectable1D, asKeyed1D, axpy, select, supplyTo, toListMethods inherited from interface Access1D.Collectable
collectMethods inherited from interface Access1D.Visitable
visitAll, visitRangeMethods inherited from interface Access2D
asKeyed2D, byteValue, byteValue, byteValue, doubleValue, doubleValue, doubleValue, floatValue, floatValue, floatValue, get, intValue, intValue, intValue, longValue, longValue, longValue, nonzeros, shortValue, shortValue, shortValueMethods inherited from interface Access2D.Collectable
collectMethods inherited from interface Access2D.Visitable
visitOneMethods inherited from interface ElementsSupplier
onAny, onColumns, onColumns, onMatching, onMatching, onRows, onRowsMethods inherited from interface MatrixStore
above, above, above, add, add, add, aggregateAll, below, below, below, bidiagonal, column, column, columns, columns, copy, diagonal, diagonally, divide, divide, equals, get, 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, sliceRange, subtract, subtract, subtract, superimpose, superimpose, supplyTo, symmetric, transpose, triangular, tridiagonalMethods inherited from interface Mutate1D.Fillable
fillAll, fillAll, fillCompatible, fillMatching, fillMatching, fillRange, fillRangeMethods inherited from interface Mutate1D.Modifiable
add, add, add, add, add, modifyRangeMethods inherited from interface Mutate2D
set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, set, setMethods inherited from interface Mutate2D.Modifiable
add, add, add, add, add, add, add, add, add, add, add, add, add, modifyOneMethods inherited from interface Mutate2D.ModifiableReceiver
modifyCompatible, modifyCompatibleMethods inherited from interface Operate2D
onAll, onAll, onAll, onAll, onAll, onCompatible, onCompatibleMethods inherited from interface PhysicalStore
indexOfLargestInColumn, indexOfLargestInRow, indexOfLargestOnDiagonal, supplyToMethods inherited from interface ScalarOperation.Addition
addMethods inherited from interface ScalarOperation.Division
divideMethods inherited from interface ScalarOperation.Multiplication
multiplyMethods inherited from interface ScalarOperation.Subtraction
subtractMethods inherited from interface Structure2D
count, firstInColumn, firstInRow, limitOfColumn, limitOfRow, sizeMethods inherited from interface TransformableRegion
synchronised
-
Field Details
-
FACTORY
-
multiplyBoth
-
multiplyLeft
-
multiplyNeither
-
multiplyRight
-
myColDim
private final int myColDim -
myRowDim
private final int myRowDim -
myUtility
-
myWorkerColumn
private transient float[] myWorkerColumn
-
-
Constructor Details
-
R032Store
R032Store(int numbRows, int numbCols, float[] dataArray)
-
-
Method Details
-
wrap
-
wrap
-
cast
-
cast
-
cast
-
accept
-
add
public void add(int row, int col, double addend) - Specified by:
addin interfaceMutate2D.Modifiable<Double>
-
add
- Specified by:
addin interfaceMutate2D.Modifiable<Double>
-
add
public void add(long row, long col, double addend) - Specified by:
addin interfaceMutate2D.Modifiable<Double>
-
aggregateColumn
- Specified by:
aggregateColumnin interfaceAccess2D.Aggregatable<Double>
-
aggregateColumn
- Specified by:
aggregateColumnin interfaceAccess2D.Aggregatable<Double>- Specified by:
aggregateColumnin interfaceMatrixStore<Double>
-
aggregateDiagonal
- Specified by:
aggregateDiagonalin interfaceAccess2D.Aggregatable<Double>
-
aggregateDiagonal
- Specified by:
aggregateDiagonalin interfaceAccess2D.Aggregatable<Double>- Specified by:
aggregateDiagonalin interfaceMatrixStore<Double>
-
aggregateRange
- Specified by:
aggregateRangein interfaceAccess1D.Aggregatable<Double>- Specified by:
aggregateRangein interfaceMatrixStore<Double>- Overrides:
aggregateRangein classBasicArray<Double>
-
aggregateRow
- Specified by:
aggregateRowin interfaceAccess2D.Aggregatable<Double>
-
aggregateRow
- Specified by:
aggregateRowin interfaceAccess2D.Aggregatable<Double>- Specified by:
aggregateRowin interfaceMatrixStore<Double>
-
asCollectable2D
public <NN extends Comparable<NN>, R extends Mutate2D.Receiver<NN>> Access2D.Collectable<NN,R> asCollectable2D()- Specified by:
asCollectable2Din interfaceAccess2D<Double>
-
asList
Description copied from interface:Access1D -
build
- Specified by:
buildin interfaceFactory1D.Builder<DenseArray<Double>>- Specified by:
buildin interfaceFactory2D.Builder<R032Store>- Overrides:
buildin classDenseArray<Double>
-
byteValue
-
columns
-
conjugate
Description copied from interface:MatrixStoreReturns 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:
conjugatein interfaceMatrixStore<Double>- Specified by:
conjugatein interfaceStructure2D.Logical<Access2D<Double>, MatrixStore<Double>>- Specified by:
conjugatein interfaceVectorSpace<MatrixStore<Double>, Double>- See Also:
-
countColumns
public long countColumns()Description copied from interface:Structure2DOnly need to implement if the structure may contain more than Integer.MAX_VALUE elements.- Specified by:
countColumnsin interfaceStructure2D- Returns:
- The number of columns
-
countRows
public long countRows()Description copied from interface:Structure2DOnly need to implement if the structure may contain more than Integer.MAX_VALUE elements.- Specified by:
countRowsin interfaceStructure2D- Returns:
- The number of rows
-
dot
Description copied from interface:Access1DWill calculate and return the dot product of this 1D-structure and another input 1D-vector. -
doubleValue
public double doubleValue(int row, int col) Description copied from interface:Access2DExtracts one element of this matrix as a double.- Specified by:
doubleValuein interfaceAccess2D<Double>- Specified by:
doubleValuein interfaceMatrixStore<Double>- Parameters:
row- A row index.col- A column index.- Returns:
- One matrix element
-
elements
Description copied from interface:Access1DReturns an Iterable of ElementView1D. It allows to iterate over the instance's element "positions" without actually extracting the elements (unless you explicitly do so). -
equals
-
exchangeColumns
public void exchangeColumns(long colA, long colB) - Specified by:
exchangeColumnsin interfaceMutate2D.Exchangeable- Specified by:
exchangeColumnsin interfaceTransformableRegion<Double>
-
exchangeRows
public void exchangeRows(long rowA, long rowB) - Specified by:
exchangeRowsin interfaceMutate2D.Exchangeable- Specified by:
exchangeRowsin interfaceTransformableRegion<Double>
-
fillByMultiplying
- Specified by:
fillByMultiplyingin interfaceTransformableRegion<Double>
-
fillColumn
- Specified by:
fillColumnin interfaceMutate2D.Fillable<Double>
-
fillColumn
- Specified by:
fillColumnin interfaceMutate2D.Fillable<Double>
-
fillColumn
- Specified by:
fillColumnin interfaceMutate2D.Fillable<Double>
-
fillColumn
- Specified by:
fillColumnin interfaceMutate2D.Fillable<Double>
-
fillColumn
- Specified by:
fillColumnin interfaceMutate2D.Fillable<Double>
-
fillColumn
- Specified by:
fillColumnin interfaceMutate2D.Fillable<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:
fillCompatiblein interfaceMutate2D.Fillable<Double>
-
fillDiagonal
- Specified by:
fillDiagonalin interfaceMutate2D.Fillable<Double>
-
fillDiagonal
- Specified by:
fillDiagonalin interfaceMutate2D.Fillable<Double>
-
fillDiagonal
- Specified by:
fillDiagonalin interfaceMutate2D.Fillable<Double>
-
fillDiagonal
- Specified by:
fillDiagonalin interfaceMutate2D.Fillable<Double>
-
fillDiagonal
- Specified by:
fillDiagonalin interfaceMutate2D.Fillable<Double>
-
fillDiagonal
- Specified by:
fillDiagonalin interfaceMutate2D.Fillable<Double>
-
fillMatching
public void fillMatching(Access1D<Double> left, BinaryFunction<Double> function, Access1D<Double> right) - Specified by:
fillMatchingin interfaceMutate1D.Fillable<Double>- Overrides:
fillMatchingin classArrayR032
-
fillMatching
- Specified by:
fillMatchingin interfaceMutate1D.Fillable<Double>- Overrides:
fillMatchingin classArrayR032
-
fillRow
- Specified by:
fillRowin interfaceMutate2D.Fillable<Double>
-
fillRow
- Specified by:
fillRowin interfaceMutate2D.Fillable<Double>
-
fillRow
- Specified by:
fillRowin interfaceMutate2D.Fillable<Double>
-
fillRow
- Specified by:
fillRowin interfaceMutate2D.Fillable<Double>
-
fillRow
- Specified by:
fillRowin interfaceMutate2D.Fillable<Double>
-
fillRow
- Specified by:
fillRowin interfaceMutate2D.Fillable<Double>
-
floatValue
public float floatValue(long row, long col) - Specified by:
floatValuein interfaceAccess2D<Double>
-
get
- Specified by:
getin interfaceMatrixStore<Double>
-
getColDim
public int getColDim()- Specified by:
getColDimin interfaceStructure2D- Returns:
- The number of columns
-
getMaxDim
public int getMaxDim()- Specified by:
getMaxDimin interfaceStructure2D
-
getMinDim
public int getMinDim()- Specified by:
getMinDimin interfaceStructure2D
-
getRowDim
public int getRowDim()- Specified by:
getRowDimin interfaceStructure2D- Returns:
- The number of rows
-
hashCode
-
intValue
-
isAcceptable
- Specified by:
isAcceptablein interfaceMutate2D.Receiver<Double>
-
isEmpty
public boolean isEmpty()Description copied from interface:Structure2D2D data structures are either square, tall, fat or empty.m <= 0 or n <= 0
Historically some ojAlgo data structures did allow to create "empty" instances. Currently this is not encouraged, but still possible in some instances.- Specified by:
isEmptyin interfaceStructure2D- Returns:
- true if matrix is empty
-
isFat
public boolean isFat()Description copied from interface:Structure2D2D data structures are either square, tall, fat or empty.1 <= m < n
- Specified by:
isFatin interfaceStructure2D- Returns:
- true if matrix is fat
-
isScalar
public boolean isScalar()- Specified by:
isScalarin interfaceStructure2D- Returns:
- true if both the row and column dimensions are equal to 1.
-
isSquare
public boolean isSquare()Description copied from interface:Structure2D2D data structures are either square, tall, fat or empty.m = n <> 0
- Specified by:
isSquarein interfaceStructure2D- Returns:
- true if matrix is square
-
isTall
public boolean isTall()Description copied from interface:Structure2D2D data structures are either square, tall, fat or empty.m < n >= 1
- Specified by:
isTallin interfaceStructure2D- Returns:
- true if matrix is tall
-
isVector
public boolean isVector()- Specified by:
isVectorin interfaceStructure2D- Returns:
- true if either the row or column dimensions are equal to 1.
-
longValue
-
modifyAll
- Specified by:
modifyAllin interfaceMutate1D.Modifiable<Double>- Overrides:
modifyAllin classBasicArray<Double>
-
modifyAny
- Specified by:
modifyAnyin interfaceMutate2D.ModifiableReceiver<Double>- Specified by:
modifyAnyin interfacePhysicalStore<Double>- Specified by:
modifyAnyin interfaceTransformableRegion<Double>
-
modifyColumn
- Specified by:
modifyColumnin interfaceMutate2D.Modifiable<Double>
-
modifyColumn
- Specified by:
modifyColumnin interfaceMutate2D.Modifiable<Double>
-
modifyDiagonal
- Specified by:
modifyDiagonalin interfaceMutate2D.Modifiable<Double>
-
modifyDiagonal
- Specified by:
modifyDiagonalin interfaceMutate2D.Modifiable<Double>
-
modifyMatching
- Specified by:
modifyMatchingin interfaceMutate1D.Modifiable<Double>- Overrides:
modifyMatchingin classBasicArray<Double>
-
modifyMatching
- Specified by:
modifyMatchingin interfaceMutate1D.Modifiable<Double>- Overrides:
modifyMatchingin classBasicArray<Double>
-
modifyMatchingInColumns
Description copied from interface:Mutate2D.Modifiable"Matching In Columns" refers to that the supplied, left, data structure will be treated as a column, matching the columns of this structure. Matching columns have the same number of rows.This method will modify all elements of this structure by applying the modifier function to each of them. The left/first argument to the modifier function is taken from the supplied data structure, and the row-index determines which element.
- Specified by:
modifyMatchingInColumnsin interfaceMutate2D.Modifiable<Double>
-
modifyMatchingInColumns
Description copied from interface:Mutate2D.ModifiableSame asMutate2D.Modifiable.modifyMatchingInColumns(Access1D, BinaryFunction)but with the arguments to the modifier function swapped.- Specified by:
modifyMatchingInColumnsin interfaceMutate2D.Modifiable<Double>
-
modifyMatchingInRows
Description copied from interface:Mutate2D.ModifiableSame asMutate2D.Modifiable.modifyMatchingInColumns(Access1D, BinaryFunction)but now the supplied left data structure is treated as a row. (Matching rows have the same number of columns.)- Specified by:
modifyMatchingInRowsin interfaceMutate2D.Modifiable<Double>
-
modifyMatchingInRows
Description copied from interface:Mutate2D.ModifiableSame asMutate2D.Modifiable.modifyMatchingInRows(Access1D, BinaryFunction)but with the arguments to the modifier function swapped.- Specified by:
modifyMatchingInRowsin interfaceMutate2D.Modifiable<Double>
-
modifyOne
- Specified by:
modifyOnein interfaceMutate2D.Modifiable<Double>
-
modifyRow
- Specified by:
modifyRowin interfaceMutate2D.Modifiable<Double>
-
modifyRow
- Specified by:
modifyRowin interfaceMutate2D.Modifiable<Double>
-
multiply
- Specified by:
multiplyin interfaceMatrixStore<Double>- Specified by:
multiplyin interfaceOperation.Multiplication<MatrixStore<Double>>- Parameters:
right- The multiplicand- Returns:
this * multiplicand.
-
multiplyBoth
Description copied from interface:MatrixStoreAssumes [leftAndRight] is a vector and will calulate [leftAndRight]H[this][leftAndRight]- Specified by:
multiplyBothin interfaceMatrixStore<Double>- Parameters:
leftAndRight- The argument vector- Returns:
- A scalar (extracted from the resulting 1 x 1 matrix)
-
physical
- Specified by:
physicalin interfaceMatrixStore<Double>
-
reduceColumns
- Specified by:
reduceColumnsin interfaceAccess2D.Aggregatable<Double>
-
reduceRows
- Specified by:
reduceRowsin interfaceAccess2D.Aggregatable<Double>
-
regionByColumns
- Specified by:
regionByColumnsin interfaceTransformableRegion<Double>- Returns:
- A consumer (sub)region
-
regionByLimits
- Specified by:
regionByLimitsin interfaceTransformableRegion<Double>- Returns:
- A consumer (sub)region
-
regionByOffsets
- Specified by:
regionByOffsetsin interfaceTransformableRegion<Double>- Returns:
- A consumer (sub)region
-
regionByRows
- Specified by:
regionByRowsin interfaceTransformableRegion<Double>- Returns:
- A consumer (sub)region
-
regionByTransposing
- Specified by:
regionByTransposingin interfaceTransformableRegion<Double>- Returns:
- A transposed consumer region
-
rows
-
set
-
set
-
shortValue
public short shortValue(long row, long col) - Specified by:
shortValuein interfaceAccess2D<Double>
-
sliceColumn
- Specified by:
sliceColumnin interfaceAccess2D.Sliceable<Double>
-
sliceColumn
- Specified by:
sliceColumnin interfaceAccess2D.Sliceable<Double>- Specified by:
sliceColumnin interfaceMatrixStore<Double>
-
sliceDiagonal
- Specified by:
sliceDiagonalin interfaceAccess2D.Sliceable<Double>
-
sliceDiagonal
- Specified by:
sliceDiagonalin interfaceAccess2D.Sliceable<Double>- Specified by:
sliceDiagonalin interfaceMatrixStore<Double>
-
sliceRow
- Specified by:
sliceRowin interfaceAccess2D.Sliceable<Double>
-
sliceRow
- Specified by:
sliceRowin interfaceAccess2D.Sliceable<Double>- Specified by:
sliceRowin interfaceMatrixStore<Double>
-
substituteBackwards
public void substituteBackwards(Access2D<Double> body, boolean unitDiagonal, boolean conjugated, boolean hermitian) Description copied from interface:PhysicalStoreWill 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:
substituteBackwardsin interfacePhysicalStore<Double>- See Also:
-
substituteForwards
public void substituteForwards(Access2D<Double> body, boolean unitDiagonal, boolean conjugated, boolean identity) Description copied from interface:PhysicalStoreWill 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:
substituteForwardsin interfacePhysicalStore<Double>- See Also:
-
toRawCopy1D
public double[] toRawCopy1D()- Specified by:
toRawCopy1Din interfaceAccess1D<Double>
-
toRawCopy2D
public double[][] toRawCopy2D()- Specified by:
toRawCopy2Din interfaceAccess2D<Double>
-
toScalar
Description copied from interface:Matrix2DExtracts one element of this matrix as a Scalar.- Specified by:
toScalarin interfaceMatrix2D<Double, MatrixStore<Double>>- Specified by:
toScalarin interfaceMatrixStore<Double>- Parameters:
row- A row index.col- A column index.- Returns:
- One matrix element as a Scalar.
-
toString
- Overrides:
toStringin classBasicArray<Double>
-
transformLeft
- Specified by:
transformLeftin interfacePhysicalStore<Double>
-
transformLeft
Description copied from interface:PhysicalStoreAs 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:
transformLeftin interfacePhysicalStore<Double>- See Also:
-
transformRight
- Specified by:
transformRightin interfacePhysicalStore<Double>
-
transformRight
Description copied from interface:PhysicalStoreAs 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:
transformRightin interfacePhysicalStore<Double>- See Also:
-
visitColumn
- Specified by:
visitColumnin interfaceAccess2D.Visitable<Double>
-
visitColumn
- Specified by:
visitColumnin interfaceAccess2D.Visitable<Double>
-
visitDiagonal
- Specified by:
visitDiagonalin interfaceAccess2D.Visitable<Double>
-
visitDiagonal
- Specified by:
visitDiagonalin interfaceAccess2D.Visitable<Double>
-
visitOne
- Specified by:
visitOnein interfaceAccess2D.Visitable<Double>- Specified by:
visitOnein interfaceMatrixStore<Double>
-
visitRow
- Specified by:
visitRowin interfaceAccess2D.Visitable<Double>
-
visitRow
- Specified by:
visitRowin interfaceAccess2D.Visitable<Double>
-
getWorkerColumn
private float[] getWorkerColumn()
-