org.apache.commons.math.linear

## Class RealMatrixImpl

- java.lang.Object
- - org.apache.commons.math.linear.AbstractRealMatrix
  - - org.apache.commons.math.linear.RealMatrixImpl

- All Implemented Interfaces:
    java.io.Serializable, AnyMatrix, RealMatrix

  Deprecated.
  as of 2.0 replaced by `Array2DRowRealMatrix`

      @Deprecated
      public class RealMatrixImpl
      extends AbstractRealMatrix
      implements java.io.Serializable

  Implementation of RealMatrix using a double[][] array to store entries and LU decomposition to support linear system solution and inverse.

  The LU decomposition is performed as needed, to support the following operations:

  - solve
  - isSingular
  - getDeterminant
  - inverse

  Usage notes:

  - The LU decomposition is cached and reused on subsequent calls. If data are modified via references to the underlying array obtained using `getDataRef()`, then the stored LU decomposition will not be discarded. In this case, you need to explicitly invoke `LUDecompose()` to recompute the decomposition before using any of the methods above.
  - As specified in the `RealMatrix` interface, matrix element indexing is 0-based -- e.g., `getEntry(0, 0)` returns the element in the first row, first column of the matrix.
  Version:
    $Revision: 1073158 $ $Date: 2011-02-21 22:46:52 +0100 (lun. 21 févr. 2011) $
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected double[][]` | `data` Deprecated. Entries of the matrix
    `private static long` | `serialVersionUID` Deprecated. Serializable version identifier

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `RealMatrixImpl()` Deprecated. Creates a matrix with no data
    `RealMatrixImpl(double[] v)` Deprecated. Create a new (column) RealMatrix using `v` as the data for the unique column of the `v.length x 1` matrix created.
    `RealMatrixImpl(double[][] d)` Deprecated. Create a new RealMatrix using the input array as the underlying data array.
    `RealMatrixImpl(double[][] d, boolean copyArray)` Deprecated. Create a new RealMatrix using the input array as the underlying data array.
    `RealMatrixImpl(int rowDimension, int columnDimension)` Deprecated. Create a new RealMatrix with the supplied row and column dimensions.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `RealMatrix` | `add(RealMatrix m)` Deprecated. Compute the sum of this and m.
    `RealMatrixImpl` | `add(RealMatrixImpl m)` Deprecated. Compute the sum of this and `m`.
    `void` | `addToEntry(int row, int column, double increment)` Deprecated. Change an entry in the specified row and column.
    `RealMatrix` | `copy()` Deprecated. Returns a (deep) copy of this.
    `private void` | `copyIn(double[][] in)` Deprecated. Replaces data with a fresh copy of the input array.
    `private double[][]` | `copyOut()` Deprecated. Returns a fresh copy of the underlying data array.
    `RealMatrix` | `createMatrix(int rowDimension, int columnDimension)` Deprecated. Create a new RealMatrix of the same type as the instance with the supplied row and column dimensions.
    `int` | `getColumnDimension()` Deprecated. Returns the number of columns in the matrix.
    `double[][]` | `getData()` Deprecated. Returns matrix entries as a two-dimensional array.
    `double[][]` | `getDataRef()` Deprecated. Returns a reference to the underlying data array.
    `double` | `getEntry(int row, int column)` Deprecated. Returns the entry in the specified row and column.
    `int` | `getRowDimension()` Deprecated. Returns the number of rows in the matrix.
    `RealMatrix` | `multiply(RealMatrix m)` Deprecated. Returns the result of postmultiplying this by m.
    `RealMatrixImpl` | `multiply(RealMatrixImpl m)` Deprecated. Returns the result of postmultiplying this by `m`.
    `void` | `multiplyEntry(int row, int column, double factor)` Deprecated. Change an entry in the specified row and column.
    `double[]` | `operate(double[] v)` Deprecated. Returns the result of multiplying this by the vector `v`.
    `double[]` | `preMultiply(double[] v)` Deprecated. Returns the (row) vector result of premultiplying this by the vector `v`.
    `void` | `setEntry(int row, int column, double value)` Deprecated. Set the entry in the specified row and column.
    `void` | `setSubMatrix(double[][] subMatrix, int row, int column)` Deprecated. Replace the submatrix starting at `row, column` using data in the input `subMatrix` array.
    `RealMatrix` | `subtract(RealMatrix m)` Deprecated. Compute this minus m.
    `RealMatrixImpl` | `subtract(RealMatrixImpl m)` Deprecated. Compute this minus `m`.
    `double` | `walkInColumnOrder(RealMatrixChangingVisitor visitor)` Deprecated. Visit (and possibly change) all matrix entries in column order.
    `double` | `walkInColumnOrder(RealMatrixChangingVisitor visitor, int startRow, int endRow, int startColumn, int endColumn)` Deprecated. Visit (and possibly change) some matrix entries in column order.
    `double` | `walkInColumnOrder(RealMatrixPreservingVisitor visitor)` Deprecated. Visit (but don't change) all matrix entries in column order.
    `double` | `walkInColumnOrder(RealMatrixPreservingVisitor visitor, int startRow, int endRow, int startColumn, int endColumn)` Deprecated. Visit (but don't change) some matrix entries in column order.
    `double` | `walkInRowOrder(RealMatrixChangingVisitor visitor)` Deprecated. Visit (and possibly change) all matrix entries in row order.
    `double` | `walkInRowOrder(RealMatrixChangingVisitor visitor, int startRow, int endRow, int startColumn, int endColumn)` Deprecated. Visit (and possibly change) some matrix entries in row order.
    `double` | `walkInRowOrder(RealMatrixPreservingVisitor visitor)` Deprecated. Visit (but don't change) all matrix entries in row order.
    `double` | `walkInRowOrder(RealMatrixPreservingVisitor visitor, int startRow, int endRow, int startColumn, int endColumn)` Deprecated. Visit (but don't change) some matrix entries in row order.

    - ### Methods inherited from class org.apache.commons.math.linear.AbstractRealMatrix

      `copySubMatrix, copySubMatrix, equals, getColumn, getColumnMatrix, getColumnVector, getDeterminant, getFrobeniusNorm, getNorm, getRow, getRowMatrix, getRowVector, getSubMatrix, getSubMatrix, getTrace, hashCode, inverse, isSingular, isSquare, luDecompose, operate, preMultiply, preMultiply, scalarAdd, scalarMultiply, setColumn, setColumnMatrix, setColumnVector, setRow, setRowMatrix, setRowVector, solve, solve, toString, transpose, walkInOptimizedOrder, walkInOptimizedOrder, walkInOptimizedOrder, walkInOptimizedOrder`

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

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

- - ### Field Detail

    - #### serialVersionUID

          private static final long serialVersionUID

      Deprecated.
      Serializable version identifier
      See Also:
        Constant Field Values

    - #### data

          protected double[][] data

      Deprecated.
      Entries of the matrix

  - ### Constructor Detail

    - #### RealMatrixImpl

          public RealMatrixImpl()

      Deprecated.
      Creates a matrix with no data

    - #### RealMatrixImpl

          public RealMatrixImpl(int rowDimension,
                        int columnDimension)
                         throws java.lang.IllegalArgumentException

      Deprecated.
      Create a new RealMatrix with the supplied row and column dimensions.
      Parameters:
        `rowDimension` - the number of rows in the new matrix
        `columnDimension` - the number of columns in the new matrix
      Throws:
        `java.lang.IllegalArgumentException` - if row or column dimension is not positive

    - #### RealMatrixImpl

          public RealMatrixImpl(double[][] d)
                         throws java.lang.IllegalArgumentException,
                                java.lang.NullPointerException

      Deprecated.
      Create a new RealMatrix using the input array as the underlying data array.

      The input array is copied, not referenced. This constructor has the same effect as calling `RealMatrixImpl(double[][], boolean)` with the second argument set to `true`.

      Parameters:
        `d` - data for new matrix
      Throws:
        `java.lang.IllegalArgumentException` - if `d` is not rectangular (not all rows have the same length) or empty
        `java.lang.NullPointerException` - if `d` is null
      See Also:
        `RealMatrixImpl(double[][], boolean)`

    - #### RealMatrixImpl

          public RealMatrixImpl(double[][] d,
                        boolean copyArray)
                         throws java.lang.IllegalArgumentException,
                                java.lang.NullPointerException

      Deprecated.
      Create a new RealMatrix using the input array as the underlying data array.

      If an array is built specially in order to be embedded in a RealMatrix and not used directly, the `copyArray` may be set to `false`

      Parameters:
        `d` - data for new matrix
        `copyArray` - if true, the input array will be copied, otherwise it will be referenced
      Throws:
        `java.lang.IllegalArgumentException` - if `d` is not rectangular (not all rows have the same length) or empty
        `java.lang.NullPointerException` - if `d` is null
      See Also:
        `RealMatrixImpl(double[][])`

    - #### RealMatrixImpl

          public RealMatrixImpl(double[] v)

      Deprecated.
      Create a new (column) RealMatrix using `v` as the data for the unique column of the `v.length x 1` matrix created.

      The input array is copied, not referenced.

      Parameters:
        `v` - column vector holding data for new matrix

  - ### Method Detail

    - #### createMatrix

          public RealMatrix createMatrix(int rowDimension,
                                int columnDimension)
                                  throws java.lang.IllegalArgumentException

      Deprecated.
      Create a new RealMatrix of the same type as the instance with the supplied row and column dimensions.
      Specified by:
        `createMatrix` in interface `RealMatrix`
      Specified by:
        `createMatrix` in class `AbstractRealMatrix`
      Parameters:
        `rowDimension` - the number of rows in the new matrix
        `columnDimension` - the number of columns in the new matrix
      Returns:
        a new matrix of the same type as the instance
      Throws:
        `java.lang.IllegalArgumentException` - if row or column dimension is not positive

    - #### copy

          public RealMatrix copy()

      Deprecated.
      Returns a (deep) copy of this.
      Specified by:
        `copy` in interface `RealMatrix`
      Specified by:
        `copy` in class `AbstractRealMatrix`
      Returns:
        matrix copy

    - #### add

          public RealMatrix add(RealMatrix m)
                         throws java.lang.IllegalArgumentException

      Deprecated.
      Compute the sum of this and m.
      Specified by:
        `add` in interface `RealMatrix`
      Overrides:
        `add` in class `AbstractRealMatrix`
      Parameters:
        `m` - matrix to be added
      Returns:
        this + m
      Throws:
        `java.lang.IllegalArgumentException` - if m is not the same size as this

    - #### add

          public RealMatrixImpl add(RealMatrixImpl m)
                             throws java.lang.IllegalArgumentException

      Deprecated.
      Compute the sum of this and `m`.
      Parameters:
        `m` - matrix to be added
      Returns:
        this + m
      Throws:
        `java.lang.IllegalArgumentException` - if m is not the same size as this

    - #### subtract

          public RealMatrix subtract(RealMatrix m)
                              throws java.lang.IllegalArgumentException

      Deprecated.
      Compute this minus m.
      Specified by:
        `subtract` in interface `RealMatrix`
      Overrides:
        `subtract` in class `AbstractRealMatrix`
      Parameters:
        `m` - matrix to be subtracted
      Returns:
        this - m
      Throws:
        `java.lang.IllegalArgumentException` - if m is not the same size as this

    - #### subtract

          public RealMatrixImpl subtract(RealMatrixImpl m)
                                  throws java.lang.IllegalArgumentException

      Deprecated.
      Compute this minus `m`.
      Parameters:
        `m` - matrix to be subtracted
      Returns:
        this + m
      Throws:
        `java.lang.IllegalArgumentException` - if m is not the same size as this

    - #### multiply

          public RealMatrix multiply(RealMatrix m)
                              throws java.lang.IllegalArgumentException

      Deprecated.
      Returns the result of postmultiplying this by m.
      Specified by:
        `multiply` in interface `RealMatrix`
      Overrides:
        `multiply` in class `AbstractRealMatrix`
      Parameters:
        `m` - matrix to postmultiply by
      Returns:
        this * m
      Throws:
        `java.lang.IllegalArgumentException` - if columnDimension(this) != rowDimension(m)

    - #### multiply

          public RealMatrixImpl multiply(RealMatrixImpl m)
                                  throws java.lang.IllegalArgumentException

      Deprecated.
      Returns the result of postmultiplying this by `m`.
      Parameters:
        `m` - matrix to postmultiply by
      Returns:
        this*m
      Throws:
        `java.lang.IllegalArgumentException` - if columnDimension(this) != rowDimension(m)

    - #### getData

          public double[][] getData()

      Deprecated.
      Returns matrix entries as a two-dimensional array.
      Specified by:
        `getData` in interface `RealMatrix`
      Overrides:
        `getData` in class `AbstractRealMatrix`
      Returns:
        2-dimensional array of entries

    - #### getDataRef

          public double[][] getDataRef()

      Deprecated.
      Returns a reference to the underlying data array.

      Does not make a fresh copy of the underlying data.

      Returns:
        2-dimensional array of entries

    - #### setSubMatrix

          public void setSubMatrix(double[][] subMatrix,
                          int row,
                          int column)
                            throws MatrixIndexException

      Deprecated.
      Replace the submatrix starting at `row, column` using data in the input `subMatrix` array. Indexes are 0-based.

      Example:
      Starting with

           1  2  3  4
           5  6  7  8
           9  0  1  2

      and `subMatrix = {{3, 4} {5,6}}`, invoking `setSubMatrix(subMatrix,1,1))` will result in

           1  2  3  4
           5  3  4  8
           9  5  6  2

      Specified by:
        `setSubMatrix` in interface `RealMatrix`
      Overrides:
        `setSubMatrix` in class `AbstractRealMatrix`
      Parameters:
        `subMatrix` - array containing the submatrix replacement data
        `row` - row coordinate of the top, left element to be replaced
        `column` - column coordinate of the top, left element to be replaced
      Throws:
        `MatrixIndexException` - if subMatrix does not fit into this matrix from element in (row, column)

    - #### getEntry

          public double getEntry(int row,
                        int column)
                          throws MatrixIndexException

      Deprecated.
      Returns the entry in the specified row and column.

      Row and column indices start at 0 and must satisfy

      - `0 <= row < rowDimension`
      - `0 <= column < columnDimension`
      otherwise a `MatrixIndexException` is thrown.
      Specified by:
        `getEntry` in interface `RealMatrix`
      Specified by:
        `getEntry` in class `AbstractRealMatrix`
      Parameters:
        `row` - row location of entry to be fetched
        `column` - column location of entry to be fetched
      Returns:
        matrix entry in row,column
      Throws:
        `MatrixIndexException` - if the row or column index is not valid

    - #### setEntry

          public void setEntry(int row,
                      int column,
                      double value)
                        throws MatrixIndexException

      Deprecated.
      Set the entry in the specified row and column.

      Row and column indices start at 0 and must satisfy

      - `0 <= row < rowDimension`
      - `0 <= column < columnDimension`
      otherwise a `MatrixIndexException` is thrown.
      Specified by:
        `setEntry` in interface `RealMatrix`
      Specified by:
        `setEntry` in class `AbstractRealMatrix`
      Parameters:
        `row` - row location of entry to be set
        `column` - column location of entry to be set
        `value` - matrix entry to be set in row,column
      Throws:
        `MatrixIndexException` - if the row or column index is not valid

    - #### addToEntry

          public void addToEntry(int row,
                        int column,
                        double increment)
                          throws MatrixIndexException

      Deprecated.
      Change an entry in the specified row and column.

      Row and column indices start at 0 and must satisfy

      - `0 <= row < rowDimension`
      - `0 <= column < columnDimension`
      otherwise a `MatrixIndexException` is thrown.
      Specified by:
        `addToEntry` in interface `RealMatrix`
      Specified by:
        `addToEntry` in class `AbstractRealMatrix`
      Parameters:
        `row` - row location of entry to be set
        `column` - column location of entry to be set
        `increment` - value to add to the current matrix entry in row,column
      Throws:
        `MatrixIndexException` - if the row or column index is not valid

    - #### multiplyEntry

          public void multiplyEntry(int row,
                           int column,
                           double factor)
                             throws MatrixIndexException

      Deprecated.
      Change an entry in the specified row and column.

      Row and column indices start at 0 and must satisfy

      - `0 <= row < rowDimension`
      - `0 <= column < columnDimension`
      otherwise a `MatrixIndexException` is thrown.
      Specified by:
        `multiplyEntry` in interface `RealMatrix`
      Specified by:
        `multiplyEntry` in class `AbstractRealMatrix`
      Parameters:
        `row` - row location of entry to be set
        `column` - column location of entry to be set
        `factor` - multiplication factor for the current matrix entry in row,column
      Throws:
        `MatrixIndexException` - if the row or column index is not valid

    - #### getRowDimension

          public int getRowDimension()

      Deprecated.
      Returns the number of rows in the matrix.
      Specified by:
        `getRowDimension` in interface `AnyMatrix`
      Specified by:
        `getRowDimension` in class `AbstractRealMatrix`
      Returns:
        rowDimension

    - #### getColumnDimension

          public int getColumnDimension()

      Deprecated.
      Returns the number of columns in the matrix.
      Specified by:
        `getColumnDimension` in interface `AnyMatrix`
      Specified by:
        `getColumnDimension` in class `AbstractRealMatrix`
      Returns:
        columnDimension

    - #### operate

          public double[] operate(double[] v)
                           throws java.lang.IllegalArgumentException

      Deprecated.
      Returns the result of multiplying this by the vector `v`.
      Specified by:
        `operate` in interface `RealMatrix`
      Overrides:
        `operate` in class `AbstractRealMatrix`
      Parameters:
        `v` - the vector to operate on
      Returns:
        this*v
      Throws:
        `java.lang.IllegalArgumentException` - if columnDimension != v.size()

    - #### preMultiply

          public double[] preMultiply(double[] v)
                               throws java.lang.IllegalArgumentException

      Deprecated.
      Returns the (row) vector result of premultiplying this by the vector `v`.
      Specified by:
        `preMultiply` in interface `RealMatrix`
      Overrides:
        `preMultiply` in class `AbstractRealMatrix`
      Parameters:
        `v` - the row vector to premultiply by
      Returns:
        v*this
      Throws:
        `java.lang.IllegalArgumentException` - if rowDimension != v.size()

    - #### walkInRowOrder

          public double walkInRowOrder(RealMatrixChangingVisitor visitor)
                                throws MatrixVisitorException

      Deprecated.
      Visit (and possibly change) all matrix entries in row order.

      Row order starts at upper left and iterating through all elements of a row from left to right before going to the leftmost element of the next row.

      Specified by:
        `walkInRowOrder` in interface `RealMatrix`
      Overrides:
        `walkInRowOrder` in class `AbstractRealMatrix`
      Parameters:
        `visitor` - visitor used to process all matrix entries
      Returns:
        the value returned by `RealMatrixChangingVisitor.end()` at the end of the walk
      Throws:
        `MatrixVisitorException` - if the visitor cannot process an entry
      See Also:
        `RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor)`, `RealMatrix.walkInRowOrder(RealMatrixChangingVisitor, int, int, int, int)`, `RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor, int, int, int, int)`, `RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor)`, `RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor)`, `RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor, int, int, int, int)`, `RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor, int, int, int, int)`, `RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor)`, `RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor)`, `RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor, int, int, int, int)`, `RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor, int, int, int, int)`

    - #### walkInRowOrder

          public double walkInRowOrder(RealMatrixPreservingVisitor visitor)
                                throws MatrixVisitorException

      Deprecated.
      Visit (but don't change) all matrix entries in row order.

      Row order starts at upper left and iterating through all elements of a row from left to right before going to the leftmost element of the next row.

      Specified by:
        `walkInRowOrder` in interface `RealMatrix`
      Overrides:
        `walkInRowOrder` in class `AbstractRealMatrix`
      Parameters:
        `visitor` - visitor used to process all matrix entries
      Returns:
        the value returned by `RealMatrixPreservingVisitor.end()` at the end of the walk
      Throws:
        `MatrixVisitorException` - if the visitor cannot process an entry
      See Also:
        `RealMatrix.walkInRowOrder(RealMatrixChangingVisitor)`, `RealMatrix.walkInRowOrder(RealMatrixChangingVisitor, int, int, int, int)`, `RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor, int, int, int, int)`, `RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor)`, `RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor)`, `RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor, int, int, int, int)`, `RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor, int, int, int, int)`, `RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor)`, `RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor)`, `RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor, int, int, int, int)`, `RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor, int, int, int, int)`

    - #### walkInRowOrder

          public double walkInRowOrder(RealMatrixChangingVisitor visitor,
                              int startRow,
                              int endRow,
                              int startColumn,
                              int endColumn)
                                throws MatrixIndexException,
                                       MatrixVisitorException

      Deprecated.
      Visit (and possibly change) some matrix entries in row order.

      Row order starts at upper left and iterating through all elements of a row from left to right before going to the leftmost element of the next row.

      Specified by:
        `walkInRowOrder` in interface `RealMatrix`
      Overrides:
        `walkInRowOrder` in class `AbstractRealMatrix`
      Parameters:
        `visitor` - visitor used to process all matrix entries
        `startRow` - Initial row index
        `endRow` - Final row index (inclusive)
        `startColumn` - Initial column index
        `endColumn` - Final column index
      Returns:
        the value returned by `RealMatrixChangingVisitor.end()` at the end of the walk
      Throws:
        `MatrixIndexException` - if the indices are not valid
        `MatrixVisitorException` - if the visitor cannot process an entry
      See Also:
        `RealMatrix.walkInRowOrder(RealMatrixChangingVisitor)`, `RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor)`, `RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor, int, int, int, int)`, `RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor)`, `RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor)`, `RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor, int, int, int, int)`, `RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor, int, int, int, int)`, `RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor)`, `RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor)`, `RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor, int, int, int, int)`, `RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor, int, int, int, int)`

    - #### walkInRowOrder

          public double walkInRowOrder(RealMatrixPreservingVisitor visitor,
                              int startRow,
                              int endRow,
                              int startColumn,
                              int endColumn)
                                throws MatrixIndexException,
                                       MatrixVisitorException

      Deprecated.
      Visit (but don't change) some matrix entries in row order.

      Row order starts at upper left and iterating through all elements of a row from left to right before going to the leftmost element of the next row.

      Specified by:
        `walkInRowOrder` in interface `RealMatrix`
      Overrides:
        `walkInRowOrder` in class `AbstractRealMatrix`
      Parameters:
        `visitor` - visitor used to process all matrix entries
        `startRow` - Initial row index
        `endRow` - Final row index (inclusive)
        `startColumn` - Initial column index
        `endColumn` - Final column index
      Returns:
        the value returned by `RealMatrixPreservingVisitor.end()` at the end of the walk
      Throws:
        `MatrixIndexException` - if the indices are not valid
        `MatrixVisitorException` - if the visitor cannot process an entry
      See Also:
        `RealMatrix.walkInRowOrder(RealMatrixChangingVisitor)`, `RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor)`, `RealMatrix.walkInRowOrder(RealMatrixChangingVisitor, int, int, int, int)`, `RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor)`, `RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor)`, `RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor, int, int, int, int)`, `RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor, int, int, int, int)`, `RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor)`, `RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor)`, `RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor, int, int, int, int)`, `RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor, int, int, int, int)`

    - #### walkInColumnOrder

          public double walkInColumnOrder(RealMatrixChangingVisitor visitor)
                                   throws MatrixVisitorException

      Deprecated.
      Visit (and possibly change) all matrix entries in column order.

      Column order starts at upper left and iterating through all elements of a column from top to bottom before going to the topmost element of the next column.

      Specified by:
        `walkInColumnOrder` in interface `RealMatrix`
      Overrides:
        `walkInColumnOrder` in class `AbstractRealMatrix`
      Parameters:
        `visitor` - visitor used to process all matrix entries
      Returns:
        the value returned by `RealMatrixChangingVisitor.end()` at the end of the walk
      Throws:
        `MatrixVisitorException` - if the visitor cannot process an entry
      See Also:
        `RealMatrix.walkInRowOrder(RealMatrixChangingVisitor)`, `RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor)`, `RealMatrix.walkInRowOrder(RealMatrixChangingVisitor, int, int, int, int)`, `RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor, int, int, int, int)`, `RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor)`, `RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor, int, int, int, int)`, `RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor, int, int, int, int)`, `RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor)`, `RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor)`, `RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor, int, int, int, int)`, `RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor, int, int, int, int)`

    - #### walkInColumnOrder

          public double walkInColumnOrder(RealMatrixPreservingVisitor visitor)
                                   throws MatrixVisitorException

      Deprecated.
      Visit (but don't change) all matrix entries in column order.

      Column order starts at upper left and iterating through all elements of a column from top to bottom before going to the topmost element of the next column.

      Specified by:
        `walkInColumnOrder` in interface `RealMatrix`
      Overrides:
        `walkInColumnOrder` in class `AbstractRealMatrix`
      Parameters:
        `visitor` - visitor used to process all matrix entries
      Returns:
        the value returned by `RealMatrixPreservingVisitor.end()` at the end of the walk
      Throws:
        `MatrixVisitorException` - if the visitor cannot process an entry
      See Also:
        `RealMatrix.walkInRowOrder(RealMatrixChangingVisitor)`, `RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor)`, `RealMatrix.walkInRowOrder(RealMatrixChangingVisitor, int, int, int, int)`, `RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor, int, int, int, int)`, `RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor)`, `RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor, int, int, int, int)`, `RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor, int, int, int, int)`, `RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor)`, `RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor)`, `RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor, int, int, int, int)`, `RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor, int, int, int, int)`

    - #### walkInColumnOrder

          public double walkInColumnOrder(RealMatrixChangingVisitor visitor,
                                 int startRow,
                                 int endRow,
                                 int startColumn,
                                 int endColumn)
                                   throws MatrixIndexException,
                                          MatrixVisitorException

      Deprecated.
      Visit (and possibly change) some matrix entries in column order.

      Column order starts at upper left and iterating through all elements of a column from top to bottom before going to the topmost element of the next column.

      Specified by:
        `walkInColumnOrder` in interface `RealMatrix`
      Overrides:
        `walkInColumnOrder` in class `AbstractRealMatrix`
      Parameters:
        `visitor` - visitor used to process all matrix entries
        `startRow` - Initial row index
        `endRow` - Final row index (inclusive)
        `startColumn` - Initial column index
        `endColumn` - Final column index
      Returns:
        the value returned by `RealMatrixChangingVisitor.end()` at the end of the walk
      Throws:
        `MatrixIndexException` - if the indices are not valid
        `MatrixVisitorException` - if the visitor cannot process an entry
      See Also:
        `RealMatrix.walkInRowOrder(RealMatrixChangingVisitor)`, `RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor)`, `RealMatrix.walkInRowOrder(RealMatrixChangingVisitor, int, int, int, int)`, `RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor, int, int, int, int)`, `RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor)`, `RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor)`, `RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor, int, int, int, int)`, `RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor)`, `RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor)`, `RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor, int, int, int, int)`, `RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor, int, int, int, int)`

    - #### walkInColumnOrder

          public double walkInColumnOrder(RealMatrixPreservingVisitor visitor,
                                 int startRow,
                                 int endRow,
                                 int startColumn,
                                 int endColumn)
                                   throws MatrixIndexException,
                                          MatrixVisitorException

      Deprecated.
      Visit (but don't change) some matrix entries in column order.

      Column order starts at upper left and iterating through all elements of a column from top to bottom before going to the topmost element of the next column.

      Specified by:
        `walkInColumnOrder` in interface `RealMatrix`
      Overrides:
        `walkInColumnOrder` in class `AbstractRealMatrix`
      Parameters:
        `visitor` - visitor used to process all matrix entries
        `startRow` - Initial row index
        `endRow` - Final row index (inclusive)
        `startColumn` - Initial column index
        `endColumn` - Final column index
      Returns:
        the value returned by `RealMatrixPreservingVisitor.end()` at the end of the walk
      Throws:
        `MatrixIndexException` - if the indices are not valid
        `MatrixVisitorException` - if the visitor cannot process an entry
      See Also:
        `RealMatrix.walkInRowOrder(RealMatrixChangingVisitor)`, `RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor)`, `RealMatrix.walkInRowOrder(RealMatrixChangingVisitor, int, int, int, int)`, `RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor, int, int, int, int)`, `RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor)`, `RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor)`, `RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor, int, int, int, int)`, `RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor)`, `RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor)`, `RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor, int, int, int, int)`, `RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor, int, int, int, int)`

    - #### copyOut

          private double[][] copyOut()

      Deprecated.
      Returns a fresh copy of the underlying data array.
      Returns:
        a copy of the underlying data array.

    - #### copyIn

          private void copyIn(double[][] in)

      Deprecated.
      Replaces data with a fresh copy of the input array.

      Verifies that the input array is rectangular and non-empty.

      Parameters:
        `in` - data to copy in
      Throws:
        `java.lang.IllegalArgumentException` - if input array is empty or not rectangular
        `java.lang.NullPointerException` - if input array is null

Copyright (c) 2003-2013 Apache Software Foundation