org.apache.commons.math3.linear

## Class Array2DRowRealMatrix

- java.lang.Object
- - org.apache.commons.math3.linear.RealLinearOperator
  - - org.apache.commons.math3.linear.AbstractRealMatrix
    - - org.apache.commons.math3.linear.Array2DRowRealMatrix

- All Implemented Interfaces:
    Serializable, AnyMatrix, RealMatrix

      public class Array2DRowRealMatrix
      extends AbstractRealMatrix
      implements Serializable

  Implementation of `RealMatrix` using a `double[][]` array to store entries.
  Version:
    $Id: Array2DRowRealMatrix.java 1296537 2012-03-03 00:45:19Z sebb $
  See Also:
    Serialized Form

- - ### Constructor Summary

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

  - ### Method Summary

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

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

      `add, copySubMatrix, copySubMatrix, equals, getColumn, getColumnMatrix, getColumnVector, getFrobeniusNorm, getNorm, getRow, getRowMatrix, getRowVector, getSubMatrix, getSubMatrix, getTrace, hashCode, isSquare, multiply, operate, power, preMultiply, preMultiply, scalarAdd, scalarMultiply, setColumn, setColumnMatrix, setColumnVector, setRow, setRowMatrix, setRowVector, subtract, toString, transpose, walkInOptimizedOrder, walkInOptimizedOrder, walkInOptimizedOrder, walkInOptimizedOrder`

    - ### Methods inherited from class org.apache.commons.math3.linear.RealLinearOperator

      `isTransposable, operateTranspose`

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

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

- - ### Constructor Detail

    - #### Array2DRowRealMatrix

          public Array2DRowRealMatrix()

      Creates a matrix with no data

    - #### Array2DRowRealMatrix

          public Array2DRowRealMatrix(int rowDimension,
                              int columnDimension)

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

    - #### Array2DRowRealMatrix

          public Array2DRowRealMatrix(double[][] d)
                               throws DimensionMismatchException,
                                      NoDataException,
                                      NullArgumentException

      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 `Array2DRowRealMatrix(double[][], boolean)` with the second argument set to `true`.

      Parameters:
        `d` - Data for the new matrix.
      Throws:
        `DimensionMismatchException` - if `d` is not rectangular.
        `NoDataException` - if `d` row or colum dimension is zero.
        `NullArgumentException` - if `d` is `null`.
      See Also:
        `Array2DRowRealMatrix(double[][], boolean)`

    - #### Array2DRowRealMatrix

          public Array2DRowRealMatrix(double[][] d,
                              boolean copyArray)

      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`. This will prevent the copying and improve performance as no new array will be built and no data will be copied.
      Parameters:
        `d` - Data for new matrix.
        `copyArray` - if `true`, the input array will be copied, otherwise it will be referenced.
      Throws:
        `DimensionMismatchException` - if `d` is not rectangular (not all rows have the same length) or empty.
        `NullArgumentException` - if `d` is `null`.
        `NoDataException` - if there are not at least one row and one column.
      See Also:
        `Array2DRowRealMatrix(double[][])`

    - #### Array2DRowRealMatrix

          public Array2DRowRealMatrix(double[] v)

      Create a new (column) RealMatrix using `v` as the data for the unique column of the created matrix. The input array is copied.
      Parameters:
        `v` - Column vector holding data for new matrix.

  - ### Method Detail

    - #### createMatrix

          public RealMatrix createMatrix(int rowDimension,
                                int columnDimension)

      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

    - #### copy

          public RealMatrix copy()

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

    - #### add

          public Array2DRowRealMatrix add(Array2DRowRealMatrix m)

      Compute the sum of this matrix with `m`.
      Parameters:
        `m` - Matrix to be added.
      Returns:
        `this` + m.
      Throws:
        `MatrixDimensionMismatchException` - if `m` is not the same size as this matrix.

    - #### subtract

          public Array2DRowRealMatrix subtract(Array2DRowRealMatrix m)

      Subtract `m` from this matrix.
      Parameters:
        `m` - Matrix to be subtracted.
      Returns:
        `this` - m.
      Throws:
        `MatrixDimensionMismatchException` - if `m` is not the same size as this matrix.

    - #### multiply

          public Array2DRowRealMatrix multiply(Array2DRowRealMatrix m)

      Postmultiplying this matrix by `m`.
      Parameters:
        `m` - Matrix to postmultiply by.
      Returns:
        `this` * m.
      Throws:
        `DimensionMismatchException` - if the number of columns of this matrix is not equal to the number of rows of `m`.

    - #### getData

          public double[][] getData()

      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()

      Get a reference to the underlying data array.
      Returns:
        2-dimensional array of entries.

    - #### setSubMatrix

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

      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

    - #### getEntry

          public double getEntry(int row,
                        int column)

      Get the entry in the specified row and column. Row and column indices start at 0.
      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:
        the matrix entry at `(row, column)`.

    - #### setEntry

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

      Set the entry in the specified row and column. Row and column indices start at 0.
      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.

    - #### addToEntry

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

      Change an entry in the specified row and column. Row and column indices start at 0.
      Specified by:
        `addToEntry` in interface `RealMatrix`
      Overrides:
        `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 matrix entry.

    - #### multiplyEntry

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

      Change an entry in the specified row and column. Row and column indices start at 0.
      Specified by:
        `multiplyEntry` in interface `RealMatrix`
      Overrides:
        `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 matrix entry.

    - #### getRowDimension

          public int getRowDimension()

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

    - #### getColumnDimension

          public int getColumnDimension()

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

    - #### operate

          public double[] operate(double[] v)

      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

    - #### preMultiply

          public double[] preMultiply(double[] v)

      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

    - #### walkInRowOrder

          public double walkInRowOrder(RealMatrixChangingVisitor visitor)

      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
      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)

      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
      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)

      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
      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)

      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
      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)

      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
      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)

      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
      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)

      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
      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)

      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
      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)`

Copyright © 2003-2012 The Apache Software Foundation. All Rights Reserved.