# Interface Matrix

All Known Implementing Classes:
  `Matrix1, Matrix2, Matrix3, Matrix4, MatrixSIS`

@UML(identifier="PT_Matrix", specification=OGC_01009) public interface Matrix
A two dimensional array of numbers. Row and column numbering begins with zero. The API for this interface matches closely the API in various
invalid reference

    matrix

implementations available in Java3D, which should enable straightforward implementations. Java3D provides matrix for the general case and optimized versions for 3×3 and 4×4 cases, which are quite common in a transformation package.

Since:
  1.0
See Also:
  - invalid reference

        javax​.vecmath​.Matrix3d

  - invalid reference

        javax​.vecmath​.Matrix4d

  - invalid reference

        javax​.vecmath​.GMatrix

  - `AffineTransform`
  - invalid reference

        javax​.media​.jai​.PerspectiveTransform

  - invalid reference

        javax​.media​.j3d​.Transform3D

  - Jama matrix

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Matrix`
  `clone()`
  Returns a clone of this matrix.
  `double`
  `getElement(int row, int column)`
  Retrieves the value at the specified row and column of this matrix.
  `int`
  `getNumCol()`
  Returns the number of columns in this matrix.
  `int`
  `getNumRow()`
  Returns the number of rows in this matrix.
  `boolean`
  `isIdentity()`
  Returns `true` if this matrix is an identity matrix.
  `void`
  `setElement(int row, int column, double value)`
  Modifies the value at the specified row and column of this matrix.

- ## Method Details

  - ### getNumRow

    int getNumRow()
    Returns the number of rows in this matrix.
    Returns:
      The number of rows in this matrix.

  - ### getNumCol

    int getNumCol()
    Returns the number of columns in this matrix.
    Returns:
      The number of columns in this matrix.

  - ### getElement

    double getElement(int row, int column)
    Retrieves the value at the specified row and column of this matrix.
    Parameters:
      `row` - The row number to be retrieved (zero indexed).
      `column` - The column number to be retrieved (zero indexed).
    Returns:
      The value at the indexed element.

  - ### setElement

    void setElement(int row, int column, double value)
    Modifies the value at the specified row and column of this matrix.
    Parameters:
      `row` - The row number to be retrieved (zero indexed).
      `column` - The column number to be retrieved (zero indexed).
      `value` - The new matrix element value.

  - ### isIdentity

    boolean isIdentity()
    Returns `true` if this matrix is an identity matrix.
    Returns:
      `true` if this matrix is an identity matrix.

  - ### clone

    Matrix clone()
    Returns a clone of this matrix.
    Returns:
      A clone of this matrix.