# 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 a Real matrix. Comparing to the double-based DenseMatrix, this class allows arbitrary precision arithmetic at the cost of (much) slower performance.
• ## Constructor Summary

Constructors
Constructor
Description
RealMatrix(double[][] data)
Construct a Real matrix.
RealMatrix(int nRows, int nCols)
Construct a Real matrix.
RealMatrix(Real[][] data)
Construct a Real matrix.
• ## Method Summary

Modifier and Type
Method
Description
RealMatrix
add(RealMatrix that)
+ : G × G → G
DenseMatrix
doubleValue()
Construct a DenseMatrix 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 → G
RealMatrix
multiply(RealMatrix that)
× : G × G → G
int
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 → V
void
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.

### Methods inherited from class java.lang.Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait
• ## Constructor Details

• ### RealMatrix

public RealMatrix(int nRows, int nCols)
Construct a Real matrix.
Parameters:
nRows - the number of rows
nCols - the number of columns
• ### RealMatrix

public RealMatrix(Real[][] data)
Construct a Real matrix.
Parameters:
data - a matrix data of Real numbers in a 2D array
• ### RealMatrix

public RealMatrix(double[][] data)
Construct a Real matrix.
Parameters:
data - a matrix data of doubles in a 2D array
• ## Method Details

• ### nRows

public int nRows()
Description copied from interface: Table
Gets the number of rows. Rows count from 1.
Specified by:
nRows in interface Table
Returns:
the number of rows
• ### nCols

public int nCols()
Description copied from interface: Table
Gets the number of columns. Columns count from 1.
Specified by:
nCols in interface Table
Returns:
the number of columns
• ### 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 interface GenericMatrixAccess<Real>
Parameters:
row - the row index
col - the column index
value - 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 interface GenericMatrixAccess<Real>
Parameters:
row - the row index
col - the column index
Returns:
A[i,j]

Description copied from interface: AbelianGroup
+ : G × G → G
Specified by:
add in interface AbelianGroup<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 interface AbelianGroup<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 interface Monoid<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 interface VectorSpace<RealMatrix,Real>
Parameters:
scalar - a multiplier
Returns:
c * this
• ### 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 as
this.add(this.opposite()) == this.ZERO
Specified by:
opposite in interface AbelianGroup<RealMatrix>
Returns:
• ### 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 interface AbelianGroup<RealMatrix>
Returns:
• ### 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 interface Monoid<RealMatrix>
Returns:
1
• ### doubleValue

public DenseMatrix doubleValue()
Construct a DenseMatrix equivalent of this Real matrix (rounded if necessary).
Returns:
a DenseMatrix equivalent
• ### toString

public String toString()
Overrides:
toString in class Object
• ### equals

public boolean equals(Object obj)
Overrides:
equals in class Object
• ### hashCode

public int hashCode()
Overrides:
hashCode in class Object