Class RealMatrix
- java.lang.Object
-
- dev.nm.algebra.linear.matrix.generic.matrixtype.RealMatrix
-
- All Implemented Interfaces:
GenericMatrix<RealMatrix,Real>
,GenericMatrixAccess<Real>
,AbelianGroup<RealMatrix>
,Monoid<RealMatrix>
,Ring<RealMatrix>
,VectorSpace<RealMatrix,Real>
,Table
public class RealMatrix extends Object implements GenericMatrix<RealMatrix,Real>
This is aReal
matrix. Comparing to thedouble
-basedDenseMatrix
, this class allows arbitrary precision arithmetic at the cost of (much) slower performance.
-
-
Constructor Summary
Constructors Constructor Description RealMatrix(double[][] data)
Construct aReal
matrix.RealMatrix(int nRows, int nCols)
Construct aReal
matrix.RealMatrix(Real[][] data)
Construct aReal
matrix.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description RealMatrix
add(RealMatrix that)
+ : G × G → GDenseMatrix
doubleValue()
Construct aDenseMatrix
equivalent of this Real matrix (rounded if necessary).boolean
equals(Object obj)
Real
get(int row, int col)
Get the matrix entry at [i,j].int
hashCode()
RealMatrix
minus(RealMatrix that)
- : G × G → GRealMatrix
multiply(RealMatrix that)
× : G × G → Gint
nCols()
Gets the number of columns.int
nRows()
Gets the number of rows.RealMatrix
ONE()
The multiplicative element 1 in the group such that for any elements a in the group, the equation 1 × a = a × 1 = a holds.RealMatrix
opposite()
For each a in G, there exists an element b in G such that a + b = b + a = 0.RealMatrix
scaled(Real scalar)
× : F × V → Vvoid
set(int row, int col, Real value)
Set the matrix entry at [i,j] to a value.String
toString()
RealMatrix
ZERO()
The additive element 0 in the group, such that for all elements a in the group, the equation 0 + a = a + 0 = a holds.
-
-
-
Constructor Detail
-
RealMatrix
public RealMatrix(int nRows, int nCols)
Construct aReal
matrix.- Parameters:
nRows
- the number of rowsnCols
- the number of columns
-
RealMatrix
public RealMatrix(Real[][] data)
Construct aReal
matrix.- Parameters:
data
- a matrix data ofReal
numbers in a 2D array
-
RealMatrix
public RealMatrix(double[][] data)
Construct aReal
matrix.- Parameters:
data
- a matrix data ofdouble
s in a 2D array
-
-
Method Detail
-
nRows
public int nRows()
Description copied from interface:Table
Gets the number of rows. Rows count from 1.
-
nCols
public int nCols()
Description copied from interface:Table
Gets the number of columns. Columns count from 1.
-
set
public void set(int row, int col, Real value)
Description copied from interface:GenericMatrixAccess
Set the matrix entry at [i,j] to a value. This is the only method that may change a matrix.- Specified by:
set
in interfaceGenericMatrixAccess<Real>
- Parameters:
row
- the row indexcol
- the column indexvalue
- the value to set A[i,j] to
-
get
public Real get(int row, int col)
Description copied from interface:GenericMatrixAccess
Get the matrix entry at [i,j].- Specified by:
get
in interfaceGenericMatrixAccess<Real>
- Parameters:
row
- the row indexcol
- the column index- Returns:
- A[i,j]
-
add
public RealMatrix add(RealMatrix that)
Description copied from interface:AbelianGroup
+ : G × G → G- Specified by:
add
in interfaceAbelianGroup<RealMatrix>
- Parameters:
that
- the object to be added- Returns:
- this + that
-
minus
public RealMatrix minus(RealMatrix that)
Description copied from interface:AbelianGroup
- : G × G → G The operation "-" is not in the definition of of an additive group but can be deduced. This function is provided for convenience purpose. It is equivalent to
.this.add(that.opposite())
- Specified by:
minus
in interfaceAbelianGroup<RealMatrix>
- Parameters:
that
- the object to be subtracted (subtrahend)- Returns:
- this - that
-
multiply
public RealMatrix multiply(RealMatrix that)
Description copied from interface:Monoid
× : G × G → G- Specified by:
multiply
in interfaceMonoid<RealMatrix>
- Parameters:
that
- the multiplicand- Returns:
- this × that
-
scaled
public RealMatrix scaled(Real scalar)
Description copied from interface:VectorSpace
× : F × V → V The result of applying this function to a scalar, c, in F and v in V is denoted cv.- Specified by:
scaled
in interfaceVectorSpace<RealMatrix,Real>
- Parameters:
scalar
- a multiplier- Returns:
- c * this
- See Also:
- Wikipedia: Scalar multiplication
-
opposite
public RealMatrix opposite()
Description copied from interface:AbelianGroup
For each a in G, there exists an element b in G such that a + b = b + a = 0. That is, it is the object such asthis.add(this.opposite()) == this.ZERO
- Specified by:
opposite
in interfaceAbelianGroup<RealMatrix>
- Returns:
- -this, the additive opposite
- See Also:
- Wikipedia: Additive inverse
-
ZERO
public RealMatrix ZERO()
Description copied from interface:AbelianGroup
The additive element 0 in the group, such that for all elements a in the group, the equation 0 + a = a + 0 = a holds.- Specified by:
ZERO
in interfaceAbelianGroup<RealMatrix>
- Returns:
- 0, the additive identity
-
ONE
public RealMatrix ONE()
Description copied from interface:Monoid
The multiplicative element 1 in the group such that for any elements a in the group, the equation 1 × a = a × 1 = a holds.- Specified by:
ONE
in interfaceMonoid<RealMatrix>
- Returns:
- 1
-
doubleValue
public DenseMatrix doubleValue()
Construct aDenseMatrix
equivalent of this Real matrix (rounded if necessary).- Returns:
- a
DenseMatrix
equivalent
-
-