org.geotools.referencing.operation.matrix

## Interface XMatrix

• ### Method Summary

All Methods
Modifier and Type Method and Description
`void` `add(double scalar)`
`void` ```add(double scalar, XMatrix matrix)```
Set to the scalar addition of `scalar+matrix`
``` ```
`void` `add(XMatrix matrix)`
Set to the matrix addition of `this+matrix`.
`void` ```add(XMatrix matrix1, XMatrix matrix2)```
Set to the matrix addition of `matrix1+matrix2`.
`double` `determinate()`
Computes the determinant
`boolean` ```equals(Matrix matrix, double tolerance)```
Compares the element values.
`void` ```getColumn(int col, double[] array)```
Extract col to provided array.
`double` ```getElement(int row, int column)```
Returns the element at the specified index.
`int` `getNumCol()`
Returns the number of colmuns in this matrix.
`int` `getNumRow()`
Returns the number of rows in this matrix.
`void` ```getRow(int row, double[] array)```
Extract row to provided array
`void` `invert()`
Inverts this matrix in place.
`void` `invert(Matrix matrix)`
Set to the inverse of the provided matrix.
`boolean` `isAffine()`
Returns `true` if this matrix is an affine transform.
`boolean` `isIdentity(double tolerance)`
Returns `true` if this matrix is an identity matrix using the provided tolerance.
`void` `mul(double scalar)`
Sets this matrix to the result of multiplying itself with the provided scalar.
`void` ```mul(double scalar, Matrix matrix)```
Sets the value of this matrix to the result of multiplying the provided scalar and matrix.
`void` `mul(Matrix matrix)`
Sets the value of this matrix to the result of multiplying itself with the specified matrix.
`void` ```mul(Matrix matrix1, Matrix matrix2)```
Sets the value of this matrix to the result of multiplying matrix1 and matrix2.
`void` `multiply(Matrix matrix)`
Sets the value of this matrix to the result of multiplying itself with the specified matrix.
`void` `negate()`
Negates the value of this matrix: `this = -this`.
`void` `negate(Matrix matrix)`
Negates the value of this matrix: `this = -matrix`.
`void` ```setColumn(int column, double... values)```
Sets the value of the column using an array of values.
`void` `setIdentity()`
Sets this matrix to the identity matrix.
`void` ```setRow(int row, double... values)```
Sets the value of the row using an array of values.
`void` `setZero()`
Sets all the values in this matrix to zero.
`void` `sub(double scalar)`
In-place matrix subtraction: `this - scalar`.
`void` ```sub(double scalar, Matrix matrix)```
Set to the difference of `scalar - matrix2`.
`void` `sub(Matrix matrix)`
In-place matrix subtraction: `this - matrix`.
`void` ```sub(Matrix matrix1, Matrix matrix2)```
Set to the difference of `matrix1 - matrix2`.
`void` `transpose()`
Sets the value of this matrix to its transpose.
`void` `transpose(Matrix matrix)`
Set to the transpose of the provided matrix.
• ### Methods inherited from interface Matrix

`clone, isIdentity, setElement`
• ### Method Detail

• #### getNumRow

`int getNumRow()`
Returns the number of rows in this matrix.
Specified by:
`getNumRow` in interface `Matrix`
Returns:
The number of rows in this matrix.
• #### getNumCol

`int getNumCol()`
Returns the number of colmuns in this matrix.
Specified by:
`getNumCol` in interface `Matrix`
Returns:
The number of columns in this matrix.
• #### getElement

```double getElement(int row,
int column)```
Returns the element at the specified index.
Specified by:
`getElement` in interface `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.
• #### getRow

```void getRow(int row,
double[] array)```
Extract row to provided array
• #### setRow

```void setRow(int row,
double... values)```
Sets the value of the row using an array of values.
• #### getColumn

```void getColumn(int col,
double[] array)```
Extract col to provided array.
• #### setColumn

```@Extension
void setColumn(int column,
double... values)```
Sets the value of the column using an array of values.
• #### setZero

`void setZero()`
Sets all the values in this matrix to zero.
• #### setIdentity

`void setIdentity()`
Sets this matrix to the identity matrix.
• #### isIdentity

`boolean isIdentity(double tolerance)`
Returns `true` if this matrix is an identity matrix using the provided tolerance. This method is equivalent to computing the difference between this matrix and an identity matrix of identical size, and returning `true` if and only if all differences are smaller than or equal to `tolerance`.
Parameters:
`tolerance` - The tolerance value.
Returns:
`true` if this matrix is close enough to the identity matrix given the tolerance value.
Since:
2.4
• #### equals

```boolean equals(Matrix matrix,
double tolerance)```
Compares the element values.
Parameters:
`matrix` - The matrix to compare.
`tolerance` - The tolerance value.
Returns:
`true` if this matrix is close enough to the given matrix given the tolerance value.
Since:
2.5
• #### isAffine

`boolean isAffine()`
Returns `true` if this matrix is an affine transform. A transform is affine if the matrix is square and last row contains only zeros, except in the last column which contains 1.
Returns:
`true` if this matrix is affine.
• #### negate

`void negate()`
Negates the value of this matrix: `this = -this`.
• #### negate

`void negate(Matrix matrix)`
Negates the value of this matrix: `this = -matrix`.
Parameters:
`matrix` - Matrix to negated
• #### transpose

`void transpose()`
Sets the value of this matrix to its transpose.
• #### transpose

`void transpose(Matrix matrix)`
Set to the transpose of the provided matrix.
Parameters:
`matrix` - The original matrix. Not modified.
• #### invert

```void invert()
throws SingularMatrixException```
Inverts this matrix in place.
Throws:
`SingularMatrixException` - if this matrix is not invertible.
• #### invert

```void invert(Matrix matrix)
throws SingularMatrixException```
Set to the inverse of the provided matrix.
Parameters:
`matrix` - The matrix that is to be inverted. Not modified.
Throws:
`SingularMatrixException` - if this matrix is not invertible.

`void add(double scalar)`
Parameters:
`scalar` - The value that's added to each element.
```void add(double scalar,
Set to the scalar addition of `scalar+matrix`
``` Parameters: scalar - The value that's added to each element. matrix - The matrix that is to be added. Not modified. ```
• ``` ```
``` add void add(XMatrix matrix) Set to the matrix addition of this+matrix. Parameters: matrix - The matrix that is to be added. Not modified. add void add(XMatrix matrix1, XMatrix matrix2) Set to the matrix addition of matrix1+matrix2. Parameters: matrix1 - First matrix to be added. Not modified. matrix2 - Second matrix to be added. Not modified. determinate double determinate() Computes the determinant multiply void multiply(Matrix matrix) Sets the value of this matrix to the result of multiplying itself with the specified matrix. In other words, performs this = this × matrix. In the context of coordinate transformations, this is equivalent to AffineTransform.concatenate: first transforms by the supplied transform and then transform the result by the original transform. Parameters: matrix - The matrix to multiply to this matrix. mul void mul(double scalar) Sets this matrix to the result of multiplying itself with the provided scalar. mul void mul(double scalar, Matrix matrix) Sets the value of this matrix to the result of multiplying the provided scalar and matrix. mul void mul(Matrix matrix) Sets the value of this matrix to the result of multiplying itself with the specified matrix. In other words, performs this = this × matrix. In the context of coordinate transformations, this is equivalent to AffineTransform.concatenate: first transforms by the supplied transform and then transform the result by the original transform. Parameters: matrix - The matrix to multiply to this matrix. mul void mul(Matrix matrix1, Matrix matrix2) Sets the value of this matrix to the result of multiplying matrix1 and matrix2. sub void sub(double scalar) In-place matrix subtraction: this - scalar. sub void sub(double scalar, Matrix matrix) Set to the difference of scalar - matrix2. Parameters: matrix - matrix, not modified sub void sub(Matrix matrix) In-place matrix subtraction: this - matrix. Parameters: matrix - m by n matrix. Not modified. sub void sub(Matrix matrix1, Matrix matrix2) Set to the difference of matrix1 - matrix2. Parameters: matrix1 - matrix, not modified matrix2 - matrix, not modified ```
• ``` ```
``` ```
• ``` ```
``` ```
``` ```
``` Skip navigation links Overview Package Class Use Tree Deprecated Index Help Prev Class Next Class Frames No Frames All Classes <!-- allClassesLink = document.getElementById("allclasses_navbar_bottom"); if(window==top) { allClassesLink.style.display = "block"; } else { allClassesLink.style.display = "none"; } //--> Summary:  Nested |  Field |  Constr |  Method Detail:  Field |  Constr |  Method Copyright © 1996–2021 Geotools. All rights reserved. ```