org.encog.mathutil.matrices

## Class Matrix

- java.lang.Object
- - org.encog.mathutil.matrices.Matrix

- All Implemented Interfaces:
    Serializable, Cloneable

      public class Matrix
      extends Object
      implements Cloneable, Serializable

  This class implements a mathematical matrix. Matrix math is very important to neural network processing. Many of the neural network classes make use of the matrix classes in this package.
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `Matrix(boolean[][] sourceMatrix)` Construct a bipolar matrix from an array of booleans.
    `Matrix(double[][] sourceMatrix)` Create a matrix from an array of doubles.
    `Matrix(int rows, int cols)` Create a blank array with the specified number of rows and columns.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `add(int row, int col, double value)` Add a value to one cell in the matrix.
    `void` | `add(Matrix theMatrix)` Add the specified matrix to this matrix.
    `void` | `clear()` Set all rows and columns to zero.
    `Matrix` | `clone()` Create a copy of the matrix.
    `static Matrix` | `createColumnMatrix(double[] input)` Turn an array of doubles into a column matrix.
    `static Matrix` | `createRowMatrix(double[] input)` Turn an array of doubles into a row matrix.
    `boolean` | `equals(Matrix theMatrix, int precision)` Compare to matrixes with the specified level of precision.
    `boolean` | `equals(Object other)` Check to see if this matrix equals another, using default precision.
    `int` | `fromPackedArray(double[] array, int index)` Create a matrix from a packed array.
    `double` | `get(int row, int col)` Read the specified cell in the matrix.
    `double[][]` | `getArrayCopy()`
    `Matrix` | `getCol(int col)` Read one entire column from the matrix as a sub-matrix.
    `int` | `getCols()` Get the columns in the matrix.
    `double[][]` | `getData()`
    `Matrix` | `getMatrix(int[] r, int[] c)` Get a submatrix.
    `Matrix` | `getMatrix(int[] r, int j0, int j1)` Get a submatrix.
    `Matrix` | `getMatrix(int i0, int i1, int[] c)` Get a submatrix.
    `Matrix` | `getMatrix(int i0, int i1, int j0, int j1)` Get a submatrix.
    `Matrix` | `getRow(int row)` Get the specified row as a sub-matrix.
    `int` | `getRows()` Get the number of rows in the matrix.
    `int` | `hashCode()` Compute a hash code for this matrix.
    `Matrix` | `inverse()`
    `boolean` | `isSquare()`
    `boolean` | `isVector()` Determine if the matrix is a vector.
    `boolean` | `isZero()` Return true if every value in the matrix is zero.
    `void` | `multiply(double value)` Multiply every value in the matrix by the specified value.
    `void` | `multiply(double[] vector, double[] result)` Multiply every row by the specified vector.
    `void` | `randomize(double min, double max)` Randomize the matrix.
    `void` | `set(double value)` Set every value in the matrix to the specified value.
    `void` | `set(int row, int col, double value)` Set an individual cell in the matrix to the specified value.
    `void` | `set(Matrix theMatrix)` Set this matrix's values to that of another matrix.
    `void` | `setMatrix(int[] r, int[] c, Matrix x)` Set a submatrix.
    `void` | `setMatrix(int[] r, int j0, int j1, Matrix x)` Set a submatrix.
    `void` | `setMatrix(int i0, int i1, int[] c, Matrix x)` Set a submatrix.
    `void` | `setMatrix(int i0, int i1, int j0, int j1, Matrix x)` Set a submatrix.
    `int` | `size()` Get the size of the array.
    `Matrix` | `solve(Matrix b)` Solve A*X = B.
    `double` | `sum()` Sum all of the values in the matrix.
    `double[]` | `toPackedArray()` Convert the matrix into a packed array.
    `String` | `toString()`

    - ### Methods inherited from class java.lang.Object

      `finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### Matrix

          public Matrix(boolean[][] sourceMatrix)

      Construct a bipolar matrix from an array of booleans.
      Parameters:
        `sourceMatrix` - The booleans to create the matrix from.

    - #### Matrix

          public Matrix(double[][] sourceMatrix)

      Create a matrix from an array of doubles.
      Parameters:
        `sourceMatrix` - An array of doubles.

    - #### Matrix

          public Matrix(int rows,
                int cols)

      Create a blank array with the specified number of rows and columns.
      Parameters:
        `rows` - How many rows in the matrix.
        `cols` - How many columns in the matrix.

  - ### Method Detail

    - #### createColumnMatrix

          public static Matrix createColumnMatrix(double[] input)

      Turn an array of doubles into a column matrix.
      Parameters:
        `input` - A double array.
      Returns:
        A column matrix.

    - #### createRowMatrix

          public static Matrix createRowMatrix(double[] input)

      Turn an array of doubles into a row matrix.
      Parameters:
        `input` - A double array.
      Returns:
        A row matrix.

    - #### add

          public void add(int row,
                 int col,
                 double value)

      Add a value to one cell in the matrix.
      Parameters:
        `row` - The row to add to.
        `col` - The column to add to.
        `value` - The value to add to the matrix.

    - #### add

          public void add(Matrix theMatrix)

      Add the specified matrix to this matrix. This will modify the matrix to hold the result of the addition.
      Parameters:
        `theMatrix` - The matrix to add.

    - #### clear

          public void clear()

      Set all rows and columns to zero.

    - #### clone

          public Matrix clone()

      Create a copy of the matrix.
      Overrides:
        `clone` in class `Object`
      Returns:
        A colne of the matrix.

    - #### equals

          public boolean equals(Matrix theMatrix,
                       int precision)

      Compare to matrixes with the specified level of precision.
      Parameters:
        `theMatrix` - The other matrix to compare to.
        `precision` - How much precision to use.
      Returns:
        True if the two matrixes are equal.

    - #### equals

          public boolean equals(Object other)

      Check to see if this matrix equals another, using default precision.
      Overrides:
        `equals` in class `Object`
      Parameters:
        `other` - The other matrix to compare.
      Returns:
        True if the two matrixes are equal.

    - #### fromPackedArray

          public int fromPackedArray(double[] array,
                            int index)

      Create a matrix from a packed array.
      Parameters:
        `array` - The packed array.
        `index` - Where to start in the packed array.
      Returns:
        The new index after this matrix has been read.

    - #### get

          public double get(int row,
                   int col)

      Read the specified cell in the matrix.
      Parameters:
        `row` - The row to read.
        `col` - The column to read.
      Returns:
        The value at the specified row and column.

    - #### getArrayCopy

          public double[][] getArrayCopy()

      Returns:
        A COPY of this matrix as a 2d array.

    - #### getCol

          public Matrix getCol(int col)

      Read one entire column from the matrix as a sub-matrix.
      Parameters:
        `col` - The column to read.
      Returns:
        The column as a sub-matrix.

    - #### getCols

          public int getCols()

      Get the columns in the matrix.
      Returns:
        The number of columns in the matrix.

    - #### getData

          public double[][] getData()

      Returns:
        Get the 2D matrix array.

    - #### getMatrix

          public Matrix getMatrix(int i0,
                         int i1,
                         int j0,
                         int j1)

      Get a submatrix.
      Parameters:
        `i0` - Initial row index.
        `i1` - Final row index.
        `j0` - Initial column index.
        `j1` - Final column index.
      Returns:
        The specified submatrix.

    - #### getMatrix

          public Matrix getMatrix(int i0,
                         int i1,
                         int[] c)

      Get a submatrix.
      Parameters:
        `i0` - Initial row index.
        `i1` - Final row index.
        `c` - Array of column indices.
      Returns:
        The specified submatrix.

    - #### getMatrix

          public Matrix getMatrix(int[] r,
                         int j0,
                         int j1)

      Get a submatrix.
      Parameters:
        `r` - Array of row indices.
        `j0` - Initial column index
        `j1` - Final column index
      Returns:
        The specified submatrix.

    - #### getMatrix

          public Matrix getMatrix(int[] r,
                         int[] c)

      Get a submatrix.
      Parameters:
        `r` - Array of row indices.
        `c` - Array of column indices.
      Returns:
        The specified submatrix.

    - #### getRow

          public Matrix getRow(int row)

      Get the specified row as a sub-matrix.
      Parameters:
        `row` - The row to get.
      Returns:
        A matrix.

    - #### getRows

          public int getRows()

      Get the number of rows in the matrix.
      Returns:
        The number of rows in the matrix.

    - #### hashCode

          public int hashCode()

      Compute a hash code for this matrix.
      Overrides:
        `hashCode` in class `Object`
      Returns:
        The hash code.

    - #### inverse

          public Matrix inverse()

      Returns:
        The matrix inverted.

    - #### isVector

          public boolean isVector()

      Determine if the matrix is a vector. A vector is has either a single number of rows or columns.
      Returns:
        True if this matrix is a vector.

    - #### isZero

          public boolean isZero()

      Return true if every value in the matrix is zero.
      Returns:
        True if the matrix is all zeros.

    - #### multiply

          public void multiply(double value)

      Multiply every value in the matrix by the specified value.
      Parameters:
        `value` - The value to multiply the matrix by.

    - #### multiply

          public void multiply(double[] vector,
                      double[] result)

      Multiply every row by the specified vector.
      Parameters:
        `vector` - The vector to multiply by.
        `result` - The result to hold the values.

    - #### randomize

          public void randomize(double min,
                       double max)

      Randomize the matrix.
      Parameters:
        `min` - Minimum random value.
        `max` - Maximum random value.

    - #### set

          public void set(double value)

      Set every value in the matrix to the specified value.
      Parameters:
        `value` - The value to set the matrix to.

    - #### set

          public void set(int row,
                 int col,
                 double value)

      Set an individual cell in the matrix to the specified value.
      Parameters:
        `row` - The row to set.
        `col` - The column to set.
        `value` - The value to be set.

    - #### set

          public void set(Matrix theMatrix)

      Set this matrix's values to that of another matrix.
      Parameters:
        `theMatrix` - The other matrix.

    - #### setMatrix

          public void setMatrix(int i0,
                       int i1,
                       int j0,
                       int j1,
                       Matrix x)

      Set a submatrix.
      Parameters:
        `i0` - Initial row index
        `i1` - Final row index
        `j0` - Initial column index
        `j1` - Final column index
        `x` - A(i0:i1,j0:j1)

    - #### setMatrix

          public void setMatrix(int i0,
                       int i1,
                       int[] c,
                       Matrix x)

      Set a submatrix.
      Parameters:
        `i0` - Initial row index
        `i1` - Final row index
        `c` - Array of column indices.
        `x` - The submatrix.

    - #### setMatrix

          public void setMatrix(int[] r,
                       int j0,
                       int j1,
                       Matrix x)

      Set a submatrix.
      Parameters:
        `r` - Array of row indices.
        `j0` - Initial column index
        `j1` - Final column index
        `x` - A(r(:),j0:j1)

    - #### setMatrix

          public void setMatrix(int[] r,
                       int[] c,
                       Matrix x)

      Set a submatrix.
      Parameters:
        `r` - Array of row indices.
        `c` - Array of column indices.
        `x` - The matrix to set.

    - #### size

          public int size()

      Get the size of the array. This is the number of elements it would take to store the matrix as a packed array.
      Returns:
        The size of the matrix.

    - #### solve

          public Matrix solve(Matrix b)

      Solve A*X = B.
      Parameters:
        `b` - right hand side.
      Returns:
        Solution if A is square, least squares solution otherwise.

    - #### sum

          public double sum()

      Sum all of the values in the matrix.
      Returns:
        The sum of the matrix.

    - #### toPackedArray

          public double[] toPackedArray()

      Convert the matrix into a packed array.
      Returns:
        The matrix as a packed array.

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

    - #### isSquare

          public boolean isSquare()

Copyright © 2014. All Rights Reserved.