- All Implemented Interfaces:
Consumer<Access2D<?>>,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>,Factory2D.Builder<RawStore>,Mutate1D,Mutate1D.Fillable<Double>,Mutate1D.Modifiable<Double>,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>>
-
Nested Class Summary
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.SortableNested 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 TypeFieldDescriptionfinal double[][]static final PrimitiveFactory<RawStore> private final int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidadd(long row, long col, double addend) voidadd(long row, long col, Comparable<?> addend) aggregateAll(Aggregator aggregator) asList()build()(package private) static Rotation.PrimitiveReturns the conjugate transpose of this matrix.private static RawStorecopy()Make a deep copy of a matrixlongcount()count() == countRows() * countColumns()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.doubledoubleValue(int row, int col) Extracts one element of this matrix as a double.booleanvoidexchangeColumns(long colA, long colB) voidexchangeRows(long rowA, long rowB) private static double[][]voidvoidfillAll(NullaryFunction<?> supplier) voidfillByMultiplying(Access1D<Double> left, Access1D<Double> right) voidfillColumn(long row, long col, Double value) voidfillColumn(long row, long col, NullaryFunction<?> supplier) 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) voidfillMatching(Access1D<?> source) Will fill the elements of [this] with the corresponding input values, and in the process (if necessary) convert the elements to the correct type:voidfillMatching(Access1D<Double> left, BinaryFunction<Double> function, Access1D<Double> right) voidvoidfillRange(long first, long limit, NullaryFunction<?> supplier) voidvoidfillRow(long row, long col, NullaryFunction<?> supplier) get()get(int row, int col) intintinthashCode()longbooleanisSmall(long row, long col, double comparedTo) voidmodifyAll(UnaryFunction<Double> modifier) voidmodifyColumn(long row, long col, UnaryFunction<Double> modifier) voidmodifyDiagonal(long row, long col, UnaryFunction<Double> modifier) voidmodifyMatching(BinaryFunction<Double> function, Access1D<Double> right) voidmodifyMatching(Access1D<Double> left, BinaryFunction<Double> function) voidmodifyOne(long row, long col, UnaryFunction<Double> modifier) voidmodifyRange(long first, long limit, UnaryFunction<Double> modifier) voidmodifyRow(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]physical()regionByColumns(int... columns) regionByLimits(int rowLimit, int columnLimit) regionByOffsets(int rowOffset, int columnOffset) regionByRows(int... rows) voidreset()Reset this mutable structure to some standard (all zeros) initial state.voidset(int row, int col, double value) voidset(long row, long col, Comparable<?> value) sliceRow(long row) 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 triangularvoidsupplyTo(TransformableRegion<Double> receiver) voidtoScalar(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.voidvisitAll(VoidFunction<Double> visitor) voidvisitColumn(long row, long col, VoidFunction<Double> visitor) voidvisitDiagonal(long row, long col, VoidFunction<Double> visitor) voidvisitRange(long first, long limit, VoidFunction<Double> visitor) voidvisitRow(long row, long col, VoidFunction<Double> visitor) static RawStorewrap(double... data) Will create a single row matrix with the supplied array as the inner array.static RawStorewrap(double[][] data) Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.ojalgo.structure.Access1D
asCollectable1D, asKeyed1D, axpy, dot, select, supplyTo, toList, toRawCopy1DMethods inherited from interface org.ojalgo.structure.Access1D.Collectable
collectMethods 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, toRawCopy2DMethods inherited from interface org.ojalgo.structure.Access2D.Aggregatable
aggregateColumn, aggregateDiagonal, aggregateRow, reduceColumns, reduceRowsMethods inherited from interface org.ojalgo.structure.Access2D.Collectable
collectMethods inherited from interface org.ojalgo.structure.Access2D.Sliceable
sliceColumn, sliceDiagonalMethods inherited from interface org.ojalgo.structure.Access2D.Visitable
visitColumn, visitDiagonal, visitOne, visitRowMethods inherited from interface org.ojalgo.matrix.store.ElementsSupplier
onAny, onColumns, onColumns, onMatching, onMatching, onRows, onRowsMethods inherited from interface org.ojalgo.matrix.store.MatrixStore
above, above, above, add, add, add, aggregateColumn, aggregateDiagonal, aggregateRange, aggregateRow, below, below, below, bidiagonal, column, column, columns, columns, diagonal, diagonally, divide, divide, equals, get, hermitian, hessenberg, isHermitian, isNormal, 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, sliceColumn, sliceDiagonal, sliceRange, sliceRow, subtract, subtract, subtract, superimpose, superimpose, symmetric, transpose, triangular, tridiagonal, visitOneMethods inherited from interface org.ojalgo.structure.Mutate1D.Fillable
fillCompatible, fillMatchingMethods 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, setMethods inherited from interface org.ojalgo.structure.Mutate2D.Fillable
fillColumn, fillColumn, fillColumn, fillColumn, fillDiagonal, fillDiagonal, fillDiagonal, fillDiagonal, fillRow, fillRow, fillRow, fillRowMethods inherited from interface org.ojalgo.structure.Mutate2D.Modifiable
add, add, add, add, add, add, add, add, add, add, add, add, add, add, add, add, add, add, modifyColumn, modifyDiagonal, modifyMatchingInColumns, modifyMatchingInColumns, modifyMatchingInRows, modifyMatchingInRows, modifyOne, modifyRowMethods inherited from interface org.ojalgo.structure.Mutate2D.ModifiableReceiver
modifyCompatible, modifyCompatibleMethods inherited from interface org.ojalgo.structure.Mutate2D.Receiver
isAcceptableMethods inherited from interface org.ojalgo.structure.Operate2D
onAll, onAll, onAll, onAll, onAll, onCompatible, onCompatibleMethods inherited from interface org.ojalgo.matrix.store.PhysicalStore
indexOfLargestInColumn, indexOfLargestInRow, indexOfLargestOnDiagonal, modifyAnyMethods inherited from interface org.ojalgo.algebra.ScalarOperation.Addition
addMethods inherited from interface org.ojalgo.algebra.ScalarOperation.Division
divideMethods inherited from interface org.ojalgo.algebra.ScalarOperation.Multiplication
multiplyMethods inherited from interface org.ojalgo.algebra.ScalarOperation.Subtraction
subtractMethods inherited from interface org.ojalgo.structure.Structure2D
firstInColumn, firstInRow, getMaxDim, getMinDim, isEmpty, isFat, isScalar, isSquare, isTall, isVector, limitOfColumn, limitOfRow, sizeMethods inherited from interface org.ojalgo.matrix.store.TransformableRegion
synchronised
-
Field Details
-
FACTORY
-
data
public final double[][] data -
myNumberOfColumns
private final int myNumberOfColumns
-
-
Constructor Details
-
RawStore
RawStore(double[][] elements, int numberOfColumns) -
RawStore
RawStore(int m, int n) Construct an m-by-n matrix of zeros.- Parameters:
m- Number of rows.n- Number of colums.
-
-
Method Details
-
wrap
Will create a single row matrix with the supplied array as the inner array. You access it usingdata[0]. -
wrap
-
convert
-
extract
-
cast
-
accept
-
add
- Specified by:
addin interfaceMutate2D.Modifiable<Double>
-
add
public void add(long row, long col, double addend) - Specified by:
addin interfaceMutate2D.Modifiable<Double>
-
aggregateAll
- Specified by:
aggregateAllin interfaceAccess1D.Aggregatable<Double>- Specified by:
aggregateAllin interfaceMatrixStore<Double>
-
asList
Description copied from interface:Access1D -
build
- Specified by:
buildin interfaceFactory2D.Builder<RawStore>
-
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:
-
copy
Make a deep copy of a matrix- Specified by:
copyin interfaceMatrixStore<Double>- Returns:
- A new PhysicalStore copy.
-
count
public long count()Description copied from interface:Structure2Dcount() == countRows() * countColumns()- Specified by:
countin interfaceStructure1D- Specified by:
countin interfaceStructure2D
-
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
-
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
-
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>
-
fillAll
- Specified by:
fillAllin interfaceMutate1D.Fillable<Double>
-
fillAll
- Specified by:
fillAllin interfaceMutate1D.Fillable<Double>
-
fillByMultiplying
- Specified by:
fillByMultiplyingin interfaceTransformableRegion<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>
-
fillMatching
Description copied from interface:Mutate1D.FillableWill 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:
fillMatchingin interfaceMutate1D.Fillable<Double>
-
fillMatching
public void fillMatching(Access1D<Double> left, BinaryFunction<Double> function, Access1D<Double> right) - Specified by:
fillMatchingin interfaceMutate1D.Fillable<Double>
-
fillRange
- Specified by:
fillRangein interfaceMutate1D.Fillable<Double>
-
fillRange
- Specified by:
fillRangein interfaceMutate1D.Fillable<Double>
-
fillRow
- Specified by:
fillRowin interfaceMutate2D.Fillable<Double>
-
fillRow
- Specified by:
fillRowin interfaceMutate2D.Fillable<Double>
-
get
- Specified by:
getin interfaceMatrixStore<Double>
-
get
- Specified by:
getin interfaceMatrixStore<Double>
-
getColDim
public int getColDim()- Specified by:
getColDimin interfaceStructure2D- Returns:
- The number of columns
-
getRowDim
public int getRowDim()- Specified by:
getRowDimin interfaceStructure2D- Returns:
- The number of rows
-
hashCode
public int hashCode() -
indexOfLargest
public long indexOfLargest()- Specified by:
indexOfLargestin interfaceAccess1D.Aggregatable<Double>- Specified by:
indexOfLargestin interfaceMatrixStore<Double>
-
isSmall
public boolean isSmall(long row, long col, double comparedTo) - Specified by:
isSmallin interfaceMatrixStore<Double>
-
modifyAll
- Specified by:
modifyAllin interfaceMutate1D.Modifiable<Double>
-
modifyColumn
- Specified by:
modifyColumnin interfaceMutate2D.Modifiable<Double>
-
modifyDiagonal
- Specified by:
modifyDiagonalin interfaceMutate2D.Modifiable<Double>
-
modifyMatching
- Specified by:
modifyMatchingin interfaceMutate1D.Modifiable<Double>
-
modifyMatching
- Specified by:
modifyMatchingin interfaceMutate1D.Modifiable<Double>
-
modifyOne
- Specified by:
modifyOnein interfaceMutate2D.Modifiable<Double>
-
modifyRange
- Specified by:
modifyRangein interfaceMutate1D.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>
-
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
-
reset
public void reset()Description copied from interface:Mutate1DReset this mutable structure to some standard (all zeros) initial state. It must still be usuable after this call, and the structure/size/shape must not change. -
set
public void set(int row, int col, double value) -
set
-
sliceRow
- Specified by:
sliceRowin interfaceAccess2D.Sliceable<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:
-
supplyTo
- Specified by:
supplyToin interfaceAccess1D.Collectable<Double,Mutate1D> - Specified by:
supplyToin interfaceMatrixStore<Double>
-
supplyTo
- Specified by:
supplyToin interfaceAccess2D.Collectable<Double,TransformableRegion<Double>> - Specified by:
supplyToin interfaceMatrixStore<Double>- Specified by:
supplyToin interfacePhysicalStore<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
-
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:
-
visitAll
- Specified by:
visitAllin interfaceAccess1D.Visitable<Double>
-
visitColumn
- Specified by:
visitColumnin interfaceAccess2D.Visitable<Double>
-
visitDiagonal
- Specified by:
visitDiagonalin interfaceAccess2D.Visitable<Double>
-
visitRange
- Specified by:
visitRangein interfaceAccess1D.Visitable<Double>
-
visitRow
- Specified by:
visitRowin interfaceAccess2D.Visitable<Double>
-