## Uses of Class
org.apache.sis.referencing.operation.matrix.MatrixSIS

- Packages that use MatrixSIS
  Package | Description
  --- | ---
  org.apache.sis.referencing.operation.matrix | Matrix implementations for spatiotemporal referencing.
  org.apache.sis.referencing.operation.transform | Conversions or transformations of multi-dimensional coordinate points.

- - ### Uses of MatrixSIS in org.apache.sis.referencing.operation.matrix

    Subclasses of MatrixSIS in org.apache.sis.referencing.operation.matrix
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `Matrix1` | A matrix of fixed 1×1 size, typically resulting from `MathTransform1D` derivative computation.
    `class` | `Matrix2` | A matrix of fixed 2×2 size, typically resulting from `MathTransform2D` derivative computation.
    `class` | `Matrix3` | A matrix of fixed 3×3 size.
    `class` | `Matrix4` | A matrix of fixed 4×4 size, often used in datum shifts.

    Methods in org.apache.sis.referencing.operation.matrix that return MatrixSIS
    Modifier and Type | Method | Description
    --- | --- | ---
    `static MatrixSIS` | MatrixSIS.`castOrCopy​(Matrix matrix)` | Casts or copies the given matrix to a SIS implementation.
    `MatrixSIS` | MatrixSIS.`clone()` | Returns a clone of this matrix.
    `static MatrixSIS` | Matrices.`copy​(Matrix matrix)` | Creates a new matrix which is a copy of the given matrix.
    `static MatrixSIS` | Matrices.`create​(int numRow, int numCol, double[] elements)` | Creates a matrix of size `numRow` × `numCol` initialized to the given elements.
    `static MatrixSIS` | Matrices.`create​(int numRow, int numCol, Number[] elements)` | Creates a matrix of size `numRow` × `numCol` initialized to the given numbers.
    `static MatrixSIS` | Matrices.`createDiagonal​(int numRow, int numCol)` | Creates a matrix of size `numRow` × `numCol`.
    `static MatrixSIS` | Matrices.`createDimensionSelect​(int sourceDimensions, int[] selectedDimensions)` | Creates a matrix for a transform that keep only a subset of source coordinate values.
    `static MatrixSIS` | Matrices.`createIdentity​(int size)` | Creates a square identity matrix of size `size` × `size`.
    `static MatrixSIS` | Matrices.`createPassThrough​(int firstAffectedCoordinate, Matrix subMatrix, int numTrailingCoordinates)` | Creates a matrix which converts a subset of coordinates using the transform given by another matrix.
    `static MatrixSIS` | Matrices.`createTransform​(Envelope srcEnvelope, Envelope dstEnvelope)` | Creates a transform matrix mapping the given source envelope to the given destination envelope.
    `static MatrixSIS` | Matrices.`createTransform​(Envelope srcEnvelope, AxisDirection[] srcAxes, Envelope dstEnvelope, AxisDirection[] dstAxes)` | Creates a transform matrix mapping the given source envelope to the given destination envelope, combined with changes in axis order and/or direction.
    `static MatrixSIS` | Matrices.`createTransform​(AxisDirection[] srcAxes, AxisDirection[] dstAxes)` | Creates a transform matrix changing axis order and/or direction.
    `static MatrixSIS` | Matrices.`createZero​(int numRow, int numCol)` | Creates a matrix of size `numRow` × `numCol` filled with zero values.
    `static MatrixSIS` | Matrices.`inverse​(Matrix matrix)` | Returns the inverse of the given matrix.
    `MatrixSIS` | MatrixSIS.`inverse()` | Returns the inverse of this matrix.
    `static MatrixSIS` | Matrices.`multiply​(Matrix m1, Matrix m2)` | Returns a new matrix which is the result of multiplying the first matrix with the second one.
    `MatrixSIS` | MatrixSIS.`multiply​(Matrix matrix)` | Returns a new matrix which is the result of multiplying this matrix with the specified one.
    `MatrixSIS` | MatrixSIS.`removeColumns​(int lower, int upper)` | Returns a new matrix with the same elements than this matrix except for the specified columns.
    `MatrixSIS` | MatrixSIS.`removeRows​(int lower, int upper)` | Returns a new matrix with the same elements than this matrix except for the specified rows.
    `MatrixSIS` | MatrixSIS.`solve​(Matrix matrix)` | Returns the value of U which solves `this` × U = `matrix`.
    `static MatrixSIS` | Matrices.`unmodifiable​(Matrix matrix)` | Returns an unmodifiable view of the given matrix.

  - ### Uses of MatrixSIS in org.apache.sis.referencing.operation.transform

    Methods in org.apache.sis.referencing.operation.transform that return MatrixSIS
    Modifier and Type | Method | Description
    --- | --- | ---
    `MatrixSIS` | ContextualParameters.`denormalizeGeographicOutputs​(double λ0)` | Appends a denormalization step after the non-linear kernel, which will convert input coordinates in the two first dimensions from radians to degrees.
    `MatrixSIS` | ContextualParameters.`getMatrix​(ContextualParameters.MatrixRole role)` | Returns the affine transforms to be applied before or after the non-linear kernel operation.
    `MatrixSIS` | ContextualParameters.`normalizeGeographicInputs​(double λ0)` | Prepends a normalization step converting input coordinates in the two first dimensions from degrees to radians.