# SuanShu, a Java numerical and statistical library

com.numericalmethod.suanshu.algebra.linear.matrix.generic.matrixtype

## Class GenericFieldMatrix<F extends Field<F>>

• java.lang.Object
• com.numericalmethod.suanshu.algebra.linear.matrix.generic.matrixtype.GenericFieldMatrix<F>
• ### Constructor Summary

Constructors
Constructor and Description
GenericFieldMatrix(F[][] data)
Construct a matrix over a field.
GenericFieldMatrix(int nRows, int nCols, F init)
Construct a matrix over a field.
• ### Method Summary

All Methods
Modifier and Type Method and Description
GenericFieldMatrix<F> add(GenericFieldMatrix<F> that)
+ : G × G → G
boolean equals(Object obj)
F get(int row, int col)
Get the matrix entry at [i,j].
int hashCode()
GenericFieldMatrix<F> minus(GenericFieldMatrix<F> that)
- : G × G → G

The operation "-" is not in the definition of of an additive group but can be deduced.

GenericFieldMatrix<F> multiply(GenericFieldMatrix<F> that)
× : G × G → G
int nCols()
Gets the number of columns.
int nRows()
Gets the number of rows.
GenericFieldMatrix<F> 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.
GenericFieldMatrix<F> opposite()
For each a in G, there exists an element b in G such that a + b = b + a = 0.
GenericFieldMatrix<F> scaled(F scalar)
× : F × V → V

The result of applying this function to a scalar, c, in F and v in V is denoted cv.

void set(int row, int col, F value)
Set the matrix entry at [i,j] to a value.
String toString()
GenericFieldMatrix<F> 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 Detail

• #### GenericFieldMatrix

public GenericFieldMatrix(int nRows,
int nCols,
F init)
Construct a matrix over a field.
Parameters:
nRows - the number of rows
nCols - the number of columns
init - an initial value for the entries, e.g., 0
• #### GenericFieldMatrix

public GenericFieldMatrix(F[][] data)
Construct a matrix over a field.
Parameters:
data - the matrix entries
• ### Method Detail

• #### 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,
F value)
throws MatrixAccessException
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<F extends Field<F>>
Parameters:
row - the row index
col - the column index
value - the value to set A[i,j] to
Throws:
MatrixAccessException - if i or j is out of range
• #### get

public F get(int row,
int col)
throws MatrixAccessException
Description copied from interface: GenericMatrixAccess
Get the matrix entry at [i,j].
Specified by:
get in interface GenericMatrixAccess<F extends Field<F>>
Parameters:
row - the row index
col - the column index
Returns:
A[i,j]
Throws:
MatrixAccessException - if i or j is out of range

public GenericFieldMatrix<F> add(GenericFieldMatrix<F> that)
Description copied from interface: AbelianGroup
+ : G × G → G
Specified by:
add in interface AbelianGroup<GenericFieldMatrix<F extends Field<F>>>
Parameters:
that - the object to be added
Returns:
this + that
• #### minus

public GenericFieldMatrix<F> minus(GenericFieldMatrix<F> 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<GenericFieldMatrix<F extends Field<F>>>
Parameters:
that - the object to be subtracted (subtrahend)
Returns:
this - that
• #### multiply

public GenericFieldMatrix<F> multiply(GenericFieldMatrix<F> that)
Description copied from interface: Monoid
× : G × G → G
Specified by:
multiply in interface Monoid<GenericFieldMatrix<F extends Field<F>>>
Parameters:
that - the multiplicand
Returns:
this × that
• #### scaled

public GenericFieldMatrix<F> scaled(F 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<GenericFieldMatrix<F extends Field<F>>,F extends Field<F>>
Parameters:
scalar - a multiplier
Returns:
c * this
Wikipedia: Scalar multiplication
• #### opposite

public GenericFieldMatrix<F> 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<GenericFieldMatrix<F extends Field<F>>>
Returns:
-this, the additive opposite
• #### ZERO

public GenericFieldMatrix<F> 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<GenericFieldMatrix<F extends Field<F>>>
Returns:
0, the additive identity
• #### ONE

public GenericFieldMatrix<F> 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<GenericFieldMatrix<F extends Field<F>>>
Returns:
1
• #### 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