# Interface MatrixRing

All Superinterfaces:
AbelianGroup<Matrix>, Monoid<Matrix>, Ring<Matrix>
All Known Subinterfaces:
Matrix, SparseMatrix
All Known Implementing Classes:
BidiagonalMatrix, BorderedHessian, ColumnBindMatrix, CongruentMatrix, CorrelationMatrix, CSCSparseMatrix, CSRSparseMatrix, DenseMatrix, DiagonalMatrix, DiagonalSum, DOKSparseMatrix, FastKroneckerProduct, GivensMatrix, GoldfeldQuandtTrotter, Hessian, HilbertMatrix, ImmutableMatrix, Inverse, Jacobian, KroneckerProduct, LILSparseMatrix, LowerTriangularMatrix, MAT, MatrixRootByDiagonalization, MatthewsDavies, OuterProduct, PermutationMatrix, PositiveDefiniteMatrixByPositiveDiagonal, PositiveSemiDefiniteMatrixNonNegativeDiagonal, Pow, PseudoInverse, ReturnsMatrix, SampleCovariance, SimilarMatrix, SubMatrixRef, SymmetricKronecker, SymmetricMatrix, TridiagonalMatrix, UpperTriangularMatrix

public interface MatrixRing extends Ring<Matrix>
A matrix ring is the set of all n × n matrices over an arbitrary Ring R. This matrix set becomes a ring under matrix addition and multiplication. Moreover, it has a structure of a *-algebra over R, where the involution * on the matrix ring is the matrix transposition.
• ## Method Summary

Modifier and Type
Method
Description
Matrix
add(Matrix that)
this + that
Matrix
minus(Matrix that)
this - that
Matrix
multiply(Matrix that)
this * that
Matrix
ONE()
Get an identity matrix that has the same dimension as this matrix.
Matrix
opposite()
Get the opposite of this matrix.
Matrix
t()
Get the transpose of this matrix.
Matrix
ZERO()
Get a zero matrix that has the same dimension as this matrix.
• ## Method Details

• ### t

Matrix t()
Get the transpose of this matrix. This is the involution on the matrix ring.
Returns:
the transpose of this matrix

this + that
Specified by:
add in interface AbelianGroup<Matrix>
Parameters:
that - a matrix
Returns:
the sum of this and that
• ### minus

Matrix minus(Matrix that)
this - that
Specified by:
minus in interface AbelianGroup<Matrix>
Parameters:
that - a matrix
Returns:
the difference between this and that
• ### multiply

Matrix multiply(Matrix that)
this * that
Specified by:
multiply in interface Monoid<Matrix>
Parameters:
that - a matrix
Returns:
the product ofthis and that
• ### opposite

Matrix opposite()
Get the opposite of this matrix.
Specified by:
opposite in interface AbelianGroup<Matrix>
Returns:
-this
• ### ZERO

Matrix ZERO()
Get a zero matrix that has the same dimension as this matrix.
Specified by:
ZERO in interface AbelianGroup<Matrix>
Returns:
the 0 matrix
• ### ONE

Matrix ONE()
Get an identity matrix that has the same dimension as this matrix. For a non-square matrix, it zeros out the rows (columns) with index > nCols (nRows).
Specified by:
ONE in interface Monoid<Matrix>
Returns:
an identity matrix