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
    add(Matrix that)
    this + that
    minus(Matrix that)
    this - that
    this * that
    ONE()
    Get an identity matrix that has the same dimension as this matrix.
    Get the opposite of this matrix.
    t()
    Get the transpose of this matrix.
    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
    • add

      Matrix add(Matrix that)
      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
      See Also:
    • 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