## Uses of Interface
com.io7m.jtensors.MatrixReadable2x2DType

- Packages that use MatrixReadable2x2DType
  Package | Description
  --- | ---
  com.io7m.jtensors | Core vector and matrix types.
  com.io7m.jtensors.bytebuffered | `ByteBuffer` backed tensors.
  com.io7m.jtensors.bytebuffered.parameterized | `ByteBuffer` backed parameterized tensors.
  com.io7m.jtensors.parameterized | Parameterized vector and matrix types.

- - ### Uses of MatrixReadable2x2DType in com.io7m.jtensors

    Subinterfaces of MatrixReadable2x2DType in com.io7m.jtensors
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `Matrix2x2DType` The type of 2x2 matrices with `double` elements.
    `interface` | `Matrix3x3DType` The type of 3x3 matrices with `double` elements.
    `interface` | `Matrix4x4DType` The type of 4x4 matrices with `double` elements.
    `interface` | `MatrixDirect2x2DType` The type of 2x2 matrices with `double` elements that are backed by direct byte buffers.
    `interface` | `MatrixDirect3x3DType` The type of 3x3 matrices with `double` elements that are backed by direct byte buffers.
    `interface` | `MatrixDirect4x4DType` The type of 4x4 matrices with `double` elements that are backed by direct byte buffers.
    `interface` | `MatrixDirectReadable2x2DType` 'Read' interface to 2x2 direct-memory matrices with `double` elements.
    `interface` | `MatrixDirectReadable3x3DType` 'Read' interface to 3x3 direct-memory matrices with `double` elements.
    `interface` | `MatrixDirectReadable4x4DType` 'Read' interface to 4x4 direct-memory matrices with `double` elements.
    `interface` | `MatrixReadable3x3DType` 'Read' interface to 3x3 matrices with `double` elements.
    `interface` | `MatrixReadable4x4DType` 'Read' interface to 4x4 matrices with `double` elements.

    Classes in com.io7m.jtensors that implement MatrixReadable2x2DType
    Modifier and Type | Class and Description
    --- | ---
    `class` | `MatrixDirectM2x2D` The default implementation of the `MatrixDirect2x2DType` interface.
    `class` | `MatrixDirectM3x3D` The default implementation of the `MatrixDirect3x3DType` interface.
    `class` | `MatrixDirectM4x4D` The default implementation of the `MatrixDirect4x4DType` interface.
    `class` | `MatrixHeapArrayM2x2D` The default implementation of the `Matrix2x2DType` interface.
    `class` | `MatrixHeapArrayM3x3D` The default implementation of the `Matrix3x3DType` interface.
    `class` | `MatrixHeapArrayM4x4D` The default implementation of the `Matrix4x4DType` interface.
    `class` | `MatrixI2x2D` An immutable 2x2 matrix type.
    `class` | `MatrixI3x3D` An immutable 3x3 matrix type.
    `class` | `MatrixI4x4D` An immutable 4x4 matrix type.

    Methods in com.io7m.jtensors with type parameters of type MatrixReadable2x2DType
    Modifier and Type | Method and Description
    --- | ---
    `static <M extends MatrixWritable2x2DType & MatrixReadable2x2DType> M` | MatrixM2x2D.`addInPlace(M m0, MatrixReadable2x2DType m1)` Elementwise add of matrices `m0` and `m1`, returning the result in `m0`.
    `static <M extends MatrixWritable2x2DType & MatrixReadable2x2DType> M` | MatrixM2x2D.`addRowScaledInPlace(MatrixM2x2D.ContextMM2D c, M m, int row_a, int row_b, int row_c, double r)` Add the values in row `row_b` to the values in row `row_a` scaled by `r`, saving the resulting row in row `row_c` of the matrix `m`.
    `static <M extends MatrixWritable2x2DType & MatrixReadable2x2DType> M` | MatrixM2x2D.`exchangeRowsInPlace(MatrixM2x2D.ContextMM2D c, M m, int row_a, int row_b)` Exchange two rows `row_a` and row `row_b` of the matrix `m`, saving the exchanged rows to `m` .
    `static <M extends MatrixWritable2x2DType & MatrixReadable2x2DType> boolean` | MatrixM2x2D.`invertInPlace(M m)` Calculate the inverse of the matrix `m`, saving the resulting matrix to `m`.
    `static <M extends MatrixWritable2x2DType & MatrixReadable2x2DType> M` | MatrixM2x2D.`multiplyInPlace(M m0, MatrixReadable2x2DType m1)` Multiply the matrix `m0` with the matrix `m1`, writing the result to `m0`.
    `static <M extends MatrixWritable2x2DType & MatrixReadable2x2DType> M` | MatrixM2x2D.`scaleInPlace(M m, double r)` Scale all elements of the matrix `m` by the scaling value `r`, saving the result in `m`.
    `static <M extends MatrixWritable2x2DType & MatrixReadable2x2DType> M` | MatrixM2x2D.`scaleRowInPlace(MatrixM2x2D.ContextMM2D c, M m, int row, double r)` Scale row `r` of the matrix `m` by `r`, saving the result to row `r` of `m`.
    `static <M extends MatrixWritable2x2DType & MatrixReadable2x2DType> M` | MatrixM2x2D.`transposeInPlace(M m)` Transpose the given matrix `m`, writing the resulting matrix to `m`.

    Methods in com.io7m.jtensors with parameters of type MatrixReadable2x2DType
    Modifier and Type | Method and Description
    --- | ---
    `static <M extends MatrixWritable2x2DType> M` | MatrixM2x2D.`add(MatrixReadable2x2DType m0, MatrixReadable2x2DType m1, M out)` Elementwise add of matrices `m0` and `m1`.
    `static <M extends MatrixWritable2x2DType & MatrixReadable2x2DType> M` | MatrixM2x2D.`addInPlace(M m0, MatrixReadable2x2DType m1)` Elementwise add of matrices `m0` and `m1`, returning the result in `m0`.
    `static <M extends MatrixWritable2x2DType> M` | MatrixM2x2D.`addRowScaled(MatrixM2x2D.ContextMM2D c, MatrixReadable2x2DType m, int row_a, int row_b, int row_c, double r, M out)` Add the values in row `row_b` to the values in row `row_a` scaled by `r`, saving the resulting row in row `row_c` of the matrix `out`.
    `static boolean` | MatrixM2x2D.`compareElements(MatrixReadable2x2DType m0, MatrixReadable2x2DType m1)` Compare matrices.
    `static <M extends MatrixWritable2x2DType> M` | MatrixM2x2D.`copy(MatrixReadable2x2DType input, M output)` Copy the contents of the matrix `input` to the matrix `output`, completely replacing all elements.
    `static double` | MatrixM2x2D.`determinant(MatrixReadable2x2DType m)` Calculate the determinant of the matrix `m`.
    `static <M extends MatrixWritable2x2DType> M` | MatrixM2x2D.`exchangeRows(MatrixM2x2D.ContextMM2D c, MatrixReadable2x2DType m, int row_a, int row_b, M out)` Exchange two rows `row_a` and row `row_b` of the matrix `m`, saving the exchanged rows to `out` .
    `static int` | MatrixM2x2D.`hashElements(MatrixReadable2x2DType m)` Hash matrices.
    `static <M extends MatrixWritable2x2DType> boolean` | MatrixM2x2D.`invert(MatrixReadable2x2DType m, M out)` Calculate the inverse of the matrix `m`, saving the resulting matrix to `out`.
    `static <M extends MatrixWritable2x2DType> M` | MatrixM2x2D.`multiply(MatrixReadable2x2DType m0, MatrixReadable2x2DType m1, M out)` Multiply the matrix `m0` with the matrix `m1`, writing the result to `out`.
    `static <M extends MatrixWritable2x2DType & MatrixReadable2x2DType> M` | MatrixM2x2D.`multiplyInPlace(M m0, MatrixReadable2x2DType m1)` Multiply the matrix `m0` with the matrix `m1`, writing the result to `m0`.
    `static <V extends VectorWritable2DType> V` | MatrixM2x2D.`multiplyVector2D(MatrixM2x2D.ContextMM2D c, MatrixReadable2x2DType m, VectorReadable2DType v, V out)` Multiply the matrix `m` with the vector `v`, writing the resulting vector to `out`.
    `static MatrixI2x2D` | MatrixI2x2D.`newFromReadable(MatrixReadable2x2DType m)` Construct a new immutable 2x2 matrix from the given readable 2x2 matrix.
    `static Matrix2x2DType` | MatrixHeapArrayM2x2D.`newMatrixFrom(MatrixReadable2x2DType m)`
    `static MatrixDirect2x2DType` | MatrixDirectM2x2D.`newMatrixFrom(MatrixReadable2x2DType m)`
    `static <M extends MatrixWritable2x2DType> M` | MatrixM2x2D.`scale(MatrixReadable2x2DType m, double r, M out)` Scale all elements of the matrix `m` by the scaling value `r`, saving the result in `out`.
    `static <M extends MatrixWritable2x2DType> M` | MatrixM2x2D.`scaleRow(MatrixM2x2D.ContextMM2D c, MatrixReadable2x2DType m, int row, double r, M out)` Scale row `r` of the matrix `m` by `r`, saving the result to row `r` of `out`.
    `static void` | MatrixM2x2D.`showElements(MatrixReadable2x2DType m, StringBuilder sb)` Show matrices.
    `static double` | MatrixM2x2D.`trace(MatrixReadable2x2DType m)` Return the trace of the matrix `m`.
    `static <M extends MatrixWritable2x2DType> M` | MatrixM2x2D.`transpose(MatrixReadable2x2DType m, M out)` Transpose the given matrix `m`, writing the resulting matrix to `out`.

  - ### Uses of MatrixReadable2x2DType in com.io7m.jtensors.bytebuffered

    Subinterfaces of MatrixReadable2x2DType in com.io7m.jtensors.bytebuffered
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `MatrixByteBuffered2x2DType` The type of `Matrix2x2DType` values that are also byte buffered.
    `interface` | `MatrixByteBuffered3x3DType` The type of `Matrix3x3DType` values that are also byte buffered.
    `interface` | `MatrixByteBuffered4x4DType` The type of `Matrix4x4DType` values that are also byte buffered.

    Classes in com.io7m.jtensors.bytebuffered that implement MatrixReadable2x2DType
    Modifier and Type | Class and Description
    --- | ---
    `class` | `MatrixByteBufferedM2x2D` A 2x2 matrix type with `double` elements, packed into a `ByteBuffer`.
    `class` | `MatrixByteBufferedM3x3D` A 3x3 matrix type with `double` elements, packed into a `ByteBuffer`.
    `class` | `MatrixByteBufferedM4x4D` A 4x4 matrix type with `double` elements, packed into a `ByteBuffer`.

  - ### Uses of MatrixReadable2x2DType in com.io7m.jtensors.bytebuffered.parameterized

    Subinterfaces of MatrixReadable2x2DType in com.io7m.jtensors.bytebuffered.parameterized
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `PMatrixByteBuffered3x3DType<T0,T1>` The type of `PMatrix3x3DType` values that are also byte buffered.
    `interface` | `PMatrixByteBuffered4x4DType<T0,T1>` The type of `PMatrix4x4DType` values that are also byte buffered.

    Classes in com.io7m.jtensors.bytebuffered.parameterized that implement MatrixReadable2x2DType
    Modifier and Type | Class and Description
    --- | ---
    `class` | `PMatrixByteBufferedM3x3D<T0,T1>` A 3x3 matrix type with `double` elements, packed into a `ByteBuffer`.
    `class` | `PMatrixByteBufferedM4x4D<T0,T1>` A 4x4 matrix type with `double` elements, packed into a `ByteBuffer`.

  - ### Uses of MatrixReadable2x2DType in com.io7m.jtensors.parameterized

    Subinterfaces of MatrixReadable2x2DType in com.io7m.jtensors.parameterized
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `PMatrix3x3DType<T0,T1>` The type of 3x3 matrices with `double` elements.
    `interface` | `PMatrix4x4DType<T0,T1>` The type of 4x4 matrices with `double` elements.
    `interface` | `PMatrixDirect3x3DType<T0,T1>` The type of 3x3 matrices with `double` elements that are backed by direct byte buffers.
    `interface` | `PMatrixDirect4x4DType<T0,T1>` The type of 4x4 matrices with `double` elements that are backed by direct byte buffers.
    `interface` | `PMatrixDirectReadable3x3DType<T,U>` 'Read' interface to 3x3 direct-memory matrices with `double` elements.
    `interface` | `PMatrixDirectReadable4x4DType<T,U>` 'Read' interface to 4x4 direct-memory matrices with `double` elements.
    `interface` | `PMatrixReadable3x3DType<T,U>` 'Read' interface to 3x3 matrices with `double` elements.
    `interface` | `PMatrixReadable4x4DType<T,U>` 'Read' interface to 4x4 matrices with `double` elements.

    Classes in com.io7m.jtensors.parameterized that implement MatrixReadable2x2DType
    Modifier and Type | Class and Description
    --- | ---
    `class` | `PMatrixDirectM3x3D<T0,T1>` The default implementation of the `PMatrixDirect3x3DType` interface.
    `class` | `PMatrixDirectM4x4D<T0,T1>` The default implementation of the `PMatrixDirect4x4DType` interface.
    `class` | `PMatrixHeapArrayM3x3D<T0,T1>` The default implementation of the `PMatrix3x3DType` interface.
    `class` | `PMatrixHeapArrayM4x4D<T0,T1>` The default implementation of the `PMatrix4x4DType` interface.
    `class` | `PMatrixI3x3D<T0,T1>` An immutable 3x3 matrix type.
    `class` | `PMatrixI4x4D<T0,T1>` An immutable 4x4 matrix type.

Copyright © 2016 <code@io7m.com> http://io7m.com