public final class PrimitiveMatrix extends Object
Modifier and Type | Class and Description |
---|---|
static class |
PrimitiveMatrix.DenseReceiver |
static class |
PrimitiveMatrix.Factory |
static class |
PrimitiveMatrix.LogicalBuilder |
static class |
PrimitiveMatrix.SparseReceiver |
Group.Additive<S>, Group.Multiplicative<S>
Operation.Addition<T>, Operation.Division<T>, Operation.Multiplication<T>, Operation.Subtraction<T>
ScalarOperation.Addition<T,N extends Number>, ScalarOperation.Division<T,N extends Number>, ScalarOperation.Multiplication<T,N extends Number>, ScalarOperation.Subtraction<T,N extends Number>
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>
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
Modifier and Type | Field and Description |
---|---|
static PrimitiveMatrix.Factory |
FACTORY |
Modifier and Type | Method and Description |
---|---|
M |
add(double scalarAddend) |
M |
add(M addend) |
M |
add(Number scalarAddend) |
N |
aggregateColumn(long row,
long col,
Aggregator aggregator) |
N |
aggregateDiagonal(long row,
long col,
Aggregator aggregator) |
N |
aggregateRange(long first,
long limit,
Aggregator aggregator) |
N |
aggregateRow(long row,
long col,
Aggregator aggregator) |
static <M extends org.ojalgo.matrix.BasicMatrix<?,M>> |
calculateFrobeniusNorm(M matrix)
The Frobenius norm is the square root of the sum of the squares of each element, or the square root of
the sum of the square of the singular values.
|
static <M extends org.ojalgo.matrix.BasicMatrix<?,M>> |
calculateInfinityNorm(M matrix) |
static <M extends org.ojalgo.matrix.BasicMatrix<?,M>> |
calculateOneNorm(M matrix) |
M |
conjugate()
This method will (most likely) be moved to some other interface in the future! Just have to figure
out where it fits...
|
PrimitiveMatrix.DenseReceiver |
copy() |
long |
count()
count() == countRows() * countColumns()
|
long |
countColumns() |
long |
countRows() |
M |
divide(double scalarDivisor) |
M |
divide(Number scalarDivisor) |
double |
doubleValue(long index) |
double |
doubleValue(long i,
long j)
Extracts one element of this matrix as a double.
|
M |
enforce(NumberContext context) |
boolean |
equals(Access2D<?> another,
NumberContext precision) |
boolean |
equals(Object other) |
void |
flushCache()
BasicMatrix instances are intended to be immutable.
|
N |
get(long index) |
N |
get(long aRow,
long aColumn) |
Scalar<N> |
getCondition()
Matrix condition (2-norm)
|
Scalar<N> |
getDeterminant() |
List<Eigenvalue.Eigenpair> |
getEigenpairs() |
int |
getRank()
The rank of a matrix is the (maximum) number of linearly independent rows or columns it contains.
|
Scalar<N> |
getTrace()
The sum of the diagonal elements.
|
int |
hashCode() |
M |
invert()
About inverting matrices:
|
boolean |
isAbsolute(long row,
long col) |
boolean |
isFullRank() |
boolean |
isHermitian() |
boolean |
isSmall(double comparedTo) |
boolean |
isSmall(long row,
long col,
double comparedTo) |
boolean |
isSymmetric() |
PrimitiveMatrix.LogicalBuilder |
logical() |
M |
multiply(double scalarMultiplicand) |
M |
multiply(M multiplicand) |
M |
multiply(Number scalarMultiplicand) |
M |
negate()
The additive inverse of this.
|
double |
norm()
The Frobenius norm is the square root of the sum of the squares of each element, or the square root of
the sum of the square of the singular values.
|
M |
reduceColumns(Aggregator aggregator) |
M |
reduceRows(Aggregator aggregator) |
M |
signum()
this == this.signum().multiply(this.norm()) |
M |
solve(Access2D<?> rhs)
This method solves a system of linear equations: [this][X]=[rhs].
|
M |
subtract(double scalarSubtrahend) |
M |
subtract(M subtrahend) |
M |
subtract(Number scalarSubtrahend) |
void |
supplyTo(PhysicalStore<N> receiver) |
Scalar<N> |
toScalar(long row,
long col)
Extracts one element of this matrix as a Scalar.
|
String |
toString() |
M |
transpose()
Transposes this matrix.
|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
asCollectable2D, asPrimitive2D, byteValue, byteValue, columns, elements, equals, floatValue, floatValue, 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
isAbsolute, isColumnSmall, isColumnSmall, isRowSmall, isRowSmall, isSmall
isAllSmall
aggregateColumn, aggregateDiagonal, aggregateRow, reduceColumns, reduceRows
aggregateAll
collect
column, column, column, column, column, count, index, index, isEmpty, isFat, isScalar, isSquare, isTall, isVector, loopAll, loopColumn, loopColumn, loopDiagonal, loopMatching, loopRow, loopRow, mapperOf, row, row, row, row, row
index, loopAll, loopMatching, loopRange, mapper, size
public static final PrimitiveMatrix.Factory FACTORY
public PrimitiveMatrix.DenseReceiver copy()
public PrimitiveMatrix.LogicalBuilder logical()
public static <M extends org.ojalgo.matrix.BasicMatrix<?,M>> double calculateFrobeniusNorm(M matrix)
public static <M extends org.ojalgo.matrix.BasicMatrix<?,M>> double calculateInfinityNorm(M matrix)
public static <M extends org.ojalgo.matrix.BasicMatrix<?,M>> double calculateOneNorm(M matrix)
public M add(double scalarAddend)
add
in interface ScalarOperation.Addition<M extends org.ojalgo.matrix.BasicMatrix<N,M>,N extends Number>
this + scalarAddend
.public M add(M addend)
add
in interface Operation.Addition<M extends org.ojalgo.matrix.BasicMatrix<N,M>>
addend
- What to addthis + addend
public M add(Number scalarAddend)
add
in interface ScalarOperation.Addition<M extends org.ojalgo.matrix.BasicMatrix<N,M>,N extends Number>
this + scalarAddend
.public N aggregateColumn(long row, long col, Aggregator aggregator)
aggregateColumn
in interface Access2D.Aggregatable<N extends Number>
public N aggregateDiagonal(long row, long col, Aggregator aggregator)
aggregateDiagonal
in interface Access2D.Aggregatable<N extends Number>
public N aggregateRange(long first, long limit, Aggregator aggregator)
aggregateRange
in interface Access1D.Aggregatable<N extends Number>
public N aggregateRow(long row, long col, Aggregator aggregator)
aggregateRow
in interface Access2D.Aggregatable<N extends Number>
public M conjugate()
VectorSpace
This method will (most likely) be moved to some other interface in the future! Just have to figure out where it fits...
The conjugate transpose of a matrix and/or the conjugate of a scalar/field like ComplexNumber or Quaternion.
The conjugate transpose of a real matrix is simply its transpose.
conjugate
in interface VectorSpace<M extends org.ojalgo.matrix.BasicMatrix<N,M>,N extends Number>
public long count()
Structure2D
count
in interface Structure1D
count
in interface Structure2D
public long countColumns()
countColumns
in interface Structure2D
public long countRows()
countRows
in interface Structure2D
public M divide(double scalarDivisor)
divide
in interface ScalarOperation.Division<M extends org.ojalgo.matrix.BasicMatrix<N,M>,N extends Number>
this / scalarDivisor
.public M divide(Number scalarDivisor)
divide
in interface ScalarOperation.Division<M extends org.ojalgo.matrix.BasicMatrix<N,M>,N extends Number>
this / scalarDivisor
.public double doubleValue(long index)
doubleValue
in interface Access1D<N extends Number>
doubleValue
in interface Access2D<N extends Number>
public double doubleValue(long i, long j)
Access2D
doubleValue
in interface Access2D<N extends Number>
i
- A row index.j
- A column index.public M enforce(NumberContext context)
enforce
in interface NumberContext.Enforceable<M extends org.ojalgo.matrix.BasicMatrix<N,M>>
public boolean equals(Access2D<?> another, NumberContext precision)
public void flushCache()
public N get(long index)
public Scalar<N> getCondition()
public Scalar<N> getDeterminant()
public List<Eigenvalue.Eigenpair> getEigenpairs()
public int getRank()
MatrixDecomposition.RankRevealing
public Scalar<N> getTrace()
public M invert()
About inverting matrices:
public boolean isAbsolute(long row, long col)
isAbsolute
in interface Access2D.Elements
Scalar.isAbsolute()
public boolean isFullRank()
MatrixDecomposition.RankRevealing
public boolean isHermitian()
public boolean isSmall(double comparedTo)
isSmall
in interface NormedVectorSpace<M extends org.ojalgo.matrix.BasicMatrix<N,M>,N extends Number>
comparedTo
- What to compare withpublic boolean isSmall(long row, long col, double comparedTo)
isSmall
in interface Access2D.Elements
NormedVectorSpace.isSmall(double)
public boolean isSymmetric()
public M multiply(double scalarMultiplicand)
multiply
in interface ScalarOperation.Multiplication<M extends org.ojalgo.matrix.BasicMatrix<N,M>,N extends Number>
this * scalarMultiplicand
.public M multiply(M multiplicand)
multiply
in interface Operation.Multiplication<M extends org.ojalgo.matrix.BasicMatrix<N,M>>
multiplicand
- The multiplicandthis * multiplicand
.public M multiply(Number scalarMultiplicand)
multiply
in interface ScalarOperation.Multiplication<M extends org.ojalgo.matrix.BasicMatrix<N,M>,N extends Number>
this * multiplicand
.public M negate()
Group.Additive
negate
in interface Group.Additive<M extends org.ojalgo.matrix.BasicMatrix<N,M>>
-this
.public double norm()
norm
in interface NormedVectorSpace<M extends org.ojalgo.matrix.BasicMatrix<N,M>,N extends Number>
public M reduceColumns(Aggregator aggregator)
reduceColumns
in interface Structure2D.ReducibleTo1D<M extends org.ojalgo.matrix.BasicMatrix<N,M>>
public M reduceRows(Aggregator aggregator)
reduceRows
in interface Structure2D.ReducibleTo1D<M extends org.ojalgo.matrix.BasicMatrix<N,M>>
public M signum()
NormedVectorSpace
this == this.signum().multiply(this.norm())
signum
in interface NormedVectorSpace<M extends org.ojalgo.matrix.BasicMatrix<N,M>,N extends Number>
public M solve(Access2D<?> rhs)
This method solves a system of linear equations: [this][X]=[rhs]. A combination of columns in [this] should produce a column(s) in [rhs]. It is ok for [rhs] to have more than 1 column.
Remember that: [X][this]=[rhs] is equivalent to [this]T[X]T=[rhs]T
rhs
- The right hand side of the equation.public M subtract(double scalarSubtrahend)
subtract
in interface ScalarOperation.Subtraction<M extends org.ojalgo.matrix.BasicMatrix<N,M>,N extends Number>
this - scalarSubtrahend
.public M subtract(M subtrahend)
subtract
in interface Operation.Subtraction<M extends org.ojalgo.matrix.BasicMatrix<N,M>>
subtrahend
- The subtrahendthis - subtrahend
.public M subtract(Number scalarSubtrahend)
subtract
in interface ScalarOperation.Subtraction<M extends org.ojalgo.matrix.BasicMatrix<N,M>,N extends Number>
this - scalarSubtrahend
.public void supplyTo(PhysicalStore<N> receiver)
supplyTo
in interface Access2D.Collectable<N extends Number,PhysicalStore<N extends Number>>
public Scalar<N> toScalar(long row, long col)
row
- A row index.col
- A column index.public M transpose()
BasicMatrix.conjugate()
Copyright © 2019 Optimatika. All rights reserved.