org.apache.commons.math3.linear

## Class Array2DRowFieldMatrix<T extends FieldElement<T>>

- java.lang.Object
- - org.apache.commons.math3.linear.AbstractFieldMatrix<T>
  - - org.apache.commons.math3.linear.Array2DRowFieldMatrix<T>

- Type Parameters:
    `T` - the type of the field elements
  All Implemented Interfaces:
    Serializable, AnyMatrix, FieldMatrix<T>

      public class Array2DRowFieldMatrix<T extends FieldElement<T>>
      extends AbstractFieldMatrix<T>
      implements Serializable

  Implementation of FieldMatrix using a `FieldElement`[][] array to store entries.

  As specified in the `FieldMatrix` 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:
  $Id: Array2DRowFieldMatrix.java 1296536 2012-03-03 00:44:04Z sebb $
See Also:
  Serialized Form

- - ### Constructor Summary

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

  - ### Method Summary

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

      `add, buildArray, buildArray, checkAdditionCompatible, checkColumnIndex, checkMultiplicationCompatible, checkRowIndex, checkSubMatrixIndex, checkSubMatrixIndex, checkSubtractionCompatible, copySubMatrix, copySubMatrix, equals, extractField, extractField, getColumn, getColumnMatrix, getColumnVector, getField, 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 java.lang.Object

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

- - ### Constructor Detail

    - #### Array2DRowFieldMatrix

          public Array2DRowFieldMatrix(Field<T> field)

      Creates a matrix with no data
      Parameters:
        `field` - field to which the elements belong

    - #### Array2DRowFieldMatrix

          public Array2DRowFieldMatrix(Field<T> field,
                               int rowDimension,
                               int columnDimension)

      Create a new `FieldMatrix<T>` with the supplied row and column dimensions.
      Parameters:
        `field` - Field to which the elements belong.
        `rowDimension` - Number of rows in the new matrix.
        `columnDimension` - Number of columns in the new matrix.
      Throws:
        `NotStrictlyPositiveException` - if row or column dimension is not positive.

    - #### Array2DRowFieldMatrix

          public Array2DRowFieldMatrix(T[][] d)

      Create a new `FieldMatrix<T>` using the input array as the underlying data array.

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

      Parameters:
        `d` - Data for the new matrix.
      Throws:
        `DimensionMismatchException` - if `d` is not rectangular.
        `NullArgumentException` - if `d` is `null`.
        `NoDataException` - if there are not at least one row and one column.
      See Also:
        `Array2DRowFieldMatrix(FieldElement[][], boolean)`

    - #### Array2DRowFieldMatrix

          public Array2DRowFieldMatrix(Field<T> field,
                               T[][] d)

      Create a new `FieldMatrix<T>` using the input array as the underlying data array.

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

      Parameters:
        `field` - Field to which the elements belong.
        `d` - Data for the new matrix.
      Throws:
        `DimensionMismatchException` - if `d` is not rectangular.
        `NullArgumentException` - if `d` is `null`.
        `NoDataException` - if there are not at least one row and one column.
      See Also:
        `Array2DRowFieldMatrix(FieldElement[][], boolean)`

    - #### Array2DRowFieldMatrix

          public Array2DRowFieldMatrix(T[][] d,
                               boolean copyArray)

      Create a new `FieldMatrix<T>` using the input array as the underlying data array.

      If an array is built specially in order to be embedded in a `FieldMatrix<T>` 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 the new matrix.
        `copyArray` - Whether to copy or reference the input array.
      Throws:
        `DimensionMismatchException` - if `d` is not rectangular.
        `NoDataException` - if there are not at least one row and one column.
        `NullArgumentException` - if `d` is `null`.
      See Also:
        `Array2DRowFieldMatrix(FieldElement[][])`

    - #### Array2DRowFieldMatrix

          public Array2DRowFieldMatrix(Field<T> field,
                               T[][] d,
                               boolean copyArray)
                                throws DimensionMismatchException,
                                       NoDataException,
                                       NullArgumentException

      Create a new `FieldMatrix<T>` using the input array as the underlying data array.

      If an array is built specially in order to be embedded in a `FieldMatrix<T>` 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:
        `field` - Field to which the elements belong.
        `d` - Data for the new matrix.
        `copyArray` - Whether to copy or reference the input array.
      Throws:
        `DimensionMismatchException` - if `d` is not rectangular.
        `NoDataException` - if there are not at least one row and one column.
        `NullArgumentException` - if `d` is `null`.
      See Also:
        `Array2DRowFieldMatrix(FieldElement[][])`

    - #### Array2DRowFieldMatrix

          public Array2DRowFieldMatrix(T[] v)

      Create a new (column) `FieldMatrix<T>` 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.

    - #### Array2DRowFieldMatrix

          public Array2DRowFieldMatrix(Field<T> field,
                               T[] v)

      Create a new (column) `FieldMatrix<T>` using `v` as the data for the unique column of the created matrix. The input array is copied.
      Parameters:
        `field` - Field to which the elements belong.
        `v` - Column vector holding data for new matrix.

  - ### Method Detail

    - #### createMatrix

          public FieldMatrix<T> createMatrix(int rowDimension,
                                    int columnDimension)

      Create a new FieldMatrix of the same type as the instance with the supplied row and column dimensions.
      Specified by:
        `createMatrix` in interface `FieldMatrix<T extends FieldElement<T>>`
      Specified by:
        `createMatrix` in class `AbstractFieldMatrix<T extends FieldElement<T>>`
      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 FieldMatrix<T> copy()

      Make a (deep) copy of this.
      Specified by:
        `copy` in interface `FieldMatrix<T extends FieldElement<T>>`
      Specified by:
        `copy` in class `AbstractFieldMatrix<T extends FieldElement<T>>`
      Returns:
        a copy of this matrix.

    - #### add

          public Array2DRowFieldMatrix<T> add(Array2DRowFieldMatrix<T> m)

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

    - #### subtract

          public Array2DRowFieldMatrix<T> subtract(Array2DRowFieldMatrix<T> 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 Array2DRowFieldMatrix<T> multiply(Array2DRowFieldMatrix<T> 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 T[][] getData()

      Returns matrix entries as a two-dimensional array.
      Specified by:
        `getData` in interface `FieldMatrix<T extends FieldElement<T>>`
      Overrides:
        `getData` in class `AbstractFieldMatrix<T extends FieldElement<T>>`
      Returns:
        a 2-dimensional array of entries.

    - #### getDataRef

          public T[][] getDataRef()

      Get a reference to the underlying data array. This methods returns internal data, not fresh copy of it.
      Returns:
        the 2-dimensional array of entries.

    - #### setSubMatrix

          public void setSubMatrix(T[][] 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 `FieldMatrix<T extends FieldElement<T>>`
      Overrides:
        `setSubMatrix` in class `AbstractFieldMatrix<T extends FieldElement<T>>`
      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 T getEntry(int row,
                   int column)

      Returns the entry in the specified row and column.
      Specified by:
        `getEntry` in interface `FieldMatrix<T extends FieldElement<T>>`
      Specified by:
        `getEntry` in class `AbstractFieldMatrix<T extends FieldElement<T>>`
      Parameters:
        `row` - row location of entry to be fetched
        `column` - column location of entry to be fetched
      Returns:
        matrix entry in row,column

    - #### setEntry

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

      Set the entry in the specified row and column.
      Specified by:
        `setEntry` in interface `FieldMatrix<T extends FieldElement<T>>`
      Specified by:
        `setEntry` in class `AbstractFieldMatrix<T extends FieldElement<T>>`
      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

    - #### addToEntry

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

      Change an entry in the specified row and column.
      Specified by:
        `addToEntry` in interface `FieldMatrix<T extends FieldElement<T>>`
      Specified by:
        `addToEntry` in class `AbstractFieldMatrix<T extends FieldElement<T>>`
      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)`.

    - #### multiplyEntry

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

      Change an entry in the specified row and column.
      Specified by:
        `multiplyEntry` in interface `FieldMatrix<T extends FieldElement<T>>`
      Specified by:
        `multiplyEntry` in class `AbstractFieldMatrix<T extends FieldElement<T>>`
      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)`

    - #### getRowDimension

          public int getRowDimension()

      Returns the number of rows in the matrix.
      Specified by:
        `getRowDimension` in interface `AnyMatrix`
      Specified by:
        `getRowDimension` in class `AbstractFieldMatrix<T extends FieldElement<T>>`
      Returns:
        rowDimension

    - #### getColumnDimension

          public int getColumnDimension()

      Returns the number of columns in the matrix.
      Specified by:
        `getColumnDimension` in interface `AnyMatrix`
      Specified by:
        `getColumnDimension` in class `AbstractFieldMatrix<T extends FieldElement<T>>`
      Returns:
        columnDimension

    - #### operate

          public T[] operate(T[] v)

      Returns the result of multiplying this by the vector `v`.
      Specified by:
        `operate` in interface `FieldMatrix<T extends FieldElement<T>>`
      Overrides:
        `operate` in class `AbstractFieldMatrix<T extends FieldElement<T>>`
      Parameters:
        `v` - the vector to operate on
      Returns:
        this*v

    - #### preMultiply

          public T[] preMultiply(T[] v)

      Returns the (row) vector result of premultiplying this by the vector `v`.
      Specified by:
        `preMultiply` in interface `FieldMatrix<T extends FieldElement<T>>`
      Overrides:
        `preMultiply` in class `AbstractFieldMatrix<T extends FieldElement<T>>`
      Parameters:
        `v` - the row vector to premultiply by
      Returns:
        v*this

    - #### walkInRowOrder

          public T walkInRowOrder(FieldMatrixChangingVisitor<T> 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 `FieldMatrix<T extends FieldElement<T>>`
      Overrides:
        `walkInRowOrder` in class `AbstractFieldMatrix<T extends FieldElement<T>>`
      Parameters:
        `visitor` - visitor used to process all matrix entries
      Returns:
        the value returned by `FieldMatrixChangingVisitor.end()` at the end of the walk
      See Also:
        `FieldMatrix.walkInRowOrder(FieldMatrixPreservingVisitor)`, `FieldMatrix.walkInRowOrder(FieldMatrixChangingVisitor, int, int, int, int)`, `FieldMatrix.walkInRowOrder(FieldMatrixPreservingVisitor, int, int, int, int)`, `FieldMatrix.walkInColumnOrder(FieldMatrixChangingVisitor)`, `FieldMatrix.walkInColumnOrder(FieldMatrixPreservingVisitor)`, `FieldMatrix.walkInColumnOrder(FieldMatrixChangingVisitor, int, int, int, int)`, `FieldMatrix.walkInColumnOrder(FieldMatrixPreservingVisitor, int, int, int, int)`, `FieldMatrix.walkInOptimizedOrder(FieldMatrixChangingVisitor)`, `FieldMatrix.walkInOptimizedOrder(FieldMatrixPreservingVisitor)`, `FieldMatrix.walkInOptimizedOrder(FieldMatrixChangingVisitor, int, int, int, int)`, `FieldMatrix.walkInOptimizedOrder(FieldMatrixPreservingVisitor, int, int, int, int)`

    - #### walkInRowOrder

          public T walkInRowOrder(FieldMatrixPreservingVisitor<T> 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 `FieldMatrix<T extends FieldElement<T>>`
      Overrides:
        `walkInRowOrder` in class `AbstractFieldMatrix<T extends FieldElement<T>>`
      Parameters:
        `visitor` - visitor used to process all matrix entries
      Returns:
        the value returned by `FieldMatrixPreservingVisitor.end()` at the end of the walk
      See Also:
        `FieldMatrix.walkInRowOrder(FieldMatrixChangingVisitor)`, `FieldMatrix.walkInRowOrder(FieldMatrixChangingVisitor, int, int, int, int)`, `FieldMatrix.walkInRowOrder(FieldMatrixPreservingVisitor, int, int, int, int)`, `FieldMatrix.walkInColumnOrder(FieldMatrixChangingVisitor)`, `FieldMatrix.walkInColumnOrder(FieldMatrixPreservingVisitor)`, `FieldMatrix.walkInColumnOrder(FieldMatrixChangingVisitor, int, int, int, int)`, `FieldMatrix.walkInColumnOrder(FieldMatrixPreservingVisitor, int, int, int, int)`, `FieldMatrix.walkInOptimizedOrder(FieldMatrixChangingVisitor)`, `FieldMatrix.walkInOptimizedOrder(FieldMatrixPreservingVisitor)`, `FieldMatrix.walkInOptimizedOrder(FieldMatrixChangingVisitor, int, int, int, int)`, `FieldMatrix.walkInOptimizedOrder(FieldMatrixPreservingVisitor, int, int, int, int)`

    - #### walkInRowOrder

          public T walkInRowOrder(FieldMatrixChangingVisitor<T> 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 `FieldMatrix<T extends FieldElement<T>>`
      Overrides:
        `walkInRowOrder` in class `AbstractFieldMatrix<T extends FieldElement<T>>`
      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 `FieldMatrixChangingVisitor.end()` at the end of the walk
      See Also:
        `FieldMatrix.walkInRowOrder(FieldMatrixChangingVisitor)`, `FieldMatrix.walkInRowOrder(FieldMatrixPreservingVisitor)`, `FieldMatrix.walkInRowOrder(FieldMatrixPreservingVisitor, int, int, int, int)`, `FieldMatrix.walkInColumnOrder(FieldMatrixChangingVisitor)`, `FieldMatrix.walkInColumnOrder(FieldMatrixPreservingVisitor)`, `FieldMatrix.walkInColumnOrder(FieldMatrixChangingVisitor, int, int, int, int)`, `FieldMatrix.walkInColumnOrder(FieldMatrixPreservingVisitor, int, int, int, int)`, `FieldMatrix.walkInOptimizedOrder(FieldMatrixChangingVisitor)`, `FieldMatrix.walkInOptimizedOrder(FieldMatrixPreservingVisitor)`, `FieldMatrix.walkInOptimizedOrder(FieldMatrixChangingVisitor, int, int, int, int)`, `FieldMatrix.walkInOptimizedOrder(FieldMatrixPreservingVisitor, int, int, int, int)`

    - #### walkInRowOrder

          public T walkInRowOrder(FieldMatrixPreservingVisitor<T> 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 `FieldMatrix<T extends FieldElement<T>>`
      Overrides:
        `walkInRowOrder` in class `AbstractFieldMatrix<T extends FieldElement<T>>`
      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 `FieldMatrixPreservingVisitor.end()` at the end of the walk
      See Also:
        `FieldMatrix.walkInRowOrder(FieldMatrixChangingVisitor)`, `FieldMatrix.walkInRowOrder(FieldMatrixPreservingVisitor)`, `FieldMatrix.walkInRowOrder(FieldMatrixChangingVisitor, int, int, int, int)`, `FieldMatrix.walkInColumnOrder(FieldMatrixChangingVisitor)`, `FieldMatrix.walkInColumnOrder(FieldMatrixPreservingVisitor)`, `FieldMatrix.walkInColumnOrder(FieldMatrixChangingVisitor, int, int, int, int)`, `FieldMatrix.walkInColumnOrder(FieldMatrixPreservingVisitor, int, int, int, int)`, `FieldMatrix.walkInOptimizedOrder(FieldMatrixChangingVisitor)`, `FieldMatrix.walkInOptimizedOrder(FieldMatrixPreservingVisitor)`, `FieldMatrix.walkInOptimizedOrder(FieldMatrixChangingVisitor, int, int, int, int)`, `FieldMatrix.walkInOptimizedOrder(FieldMatrixPreservingVisitor, int, int, int, int)`

    - #### walkInColumnOrder

          public T walkInColumnOrder(FieldMatrixChangingVisitor<T> 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 `FieldMatrix<T extends FieldElement<T>>`
      Overrides:
        `walkInColumnOrder` in class `AbstractFieldMatrix<T extends FieldElement<T>>`
      Parameters:
        `visitor` - visitor used to process all matrix entries
      Returns:
        the value returned by `FieldMatrixChangingVisitor.end()` at the end of the walk
      See Also:
        `FieldMatrix.walkInRowOrder(FieldMatrixChangingVisitor)`, `FieldMatrix.walkInRowOrder(FieldMatrixPreservingVisitor)`, `FieldMatrix.walkInRowOrder(FieldMatrixChangingVisitor, int, int, int, int)`, `FieldMatrix.walkInRowOrder(FieldMatrixPreservingVisitor, int, int, int, int)`, `FieldMatrix.walkInColumnOrder(FieldMatrixPreservingVisitor)`, `FieldMatrix.walkInColumnOrder(FieldMatrixChangingVisitor, int, int, int, int)`, `FieldMatrix.walkInColumnOrder(FieldMatrixPreservingVisitor, int, int, int, int)`, `FieldMatrix.walkInOptimizedOrder(FieldMatrixChangingVisitor)`, `FieldMatrix.walkInOptimizedOrder(FieldMatrixPreservingVisitor)`, `FieldMatrix.walkInOptimizedOrder(FieldMatrixChangingVisitor, int, int, int, int)`, `FieldMatrix.walkInOptimizedOrder(FieldMatrixPreservingVisitor, int, int, int, int)`

    - #### walkInColumnOrder

          public T walkInColumnOrder(FieldMatrixPreservingVisitor<T> 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 `FieldMatrix<T extends FieldElement<T>>`
      Overrides:
        `walkInColumnOrder` in class `AbstractFieldMatrix<T extends FieldElement<T>>`
      Parameters:
        `visitor` - visitor used to process all matrix entries
      Returns:
        the value returned by `FieldMatrixPreservingVisitor.end()` at the end of the walk
      See Also:
        `FieldMatrix.walkInRowOrder(FieldMatrixChangingVisitor)`, `FieldMatrix.walkInRowOrder(FieldMatrixPreservingVisitor)`, `FieldMatrix.walkInRowOrder(FieldMatrixChangingVisitor, int, int, int, int)`, `FieldMatrix.walkInRowOrder(FieldMatrixPreservingVisitor, int, int, int, int)`, `FieldMatrix.walkInColumnOrder(FieldMatrixChangingVisitor)`, `FieldMatrix.walkInColumnOrder(FieldMatrixChangingVisitor, int, int, int, int)`, `FieldMatrix.walkInColumnOrder(FieldMatrixPreservingVisitor, int, int, int, int)`, `FieldMatrix.walkInOptimizedOrder(FieldMatrixChangingVisitor)`, `FieldMatrix.walkInOptimizedOrder(FieldMatrixPreservingVisitor)`, `FieldMatrix.walkInOptimizedOrder(FieldMatrixChangingVisitor, int, int, int, int)`, `FieldMatrix.walkInOptimizedOrder(FieldMatrixPreservingVisitor, int, int, int, int)`

    - #### walkInColumnOrder

          public T walkInColumnOrder(FieldMatrixChangingVisitor<T> 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 `FieldMatrix<T extends FieldElement<T>>`
      Overrides:
        `walkInColumnOrder` in class `AbstractFieldMatrix<T extends FieldElement<T>>`
      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 `FieldMatrixChangingVisitor.end()` at the end of the walk
      See Also:
        `FieldMatrix.walkInRowOrder(FieldMatrixChangingVisitor)`, `FieldMatrix.walkInRowOrder(FieldMatrixPreservingVisitor)`, `FieldMatrix.walkInRowOrder(FieldMatrixChangingVisitor, int, int, int, int)`, `FieldMatrix.walkInRowOrder(FieldMatrixPreservingVisitor, int, int, int, int)`, `FieldMatrix.walkInColumnOrder(FieldMatrixChangingVisitor)`, `FieldMatrix.walkInColumnOrder(FieldMatrixPreservingVisitor)`, `FieldMatrix.walkInColumnOrder(FieldMatrixPreservingVisitor, int, int, int, int)`, `FieldMatrix.walkInOptimizedOrder(FieldMatrixChangingVisitor)`, `FieldMatrix.walkInOptimizedOrder(FieldMatrixPreservingVisitor)`, `FieldMatrix.walkInOptimizedOrder(FieldMatrixChangingVisitor, int, int, int, int)`, `FieldMatrix.walkInOptimizedOrder(FieldMatrixPreservingVisitor, int, int, int, int)`

    - #### walkInColumnOrder

          public T walkInColumnOrder(FieldMatrixPreservingVisitor<T> 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 `FieldMatrix<T extends FieldElement<T>>`
      Overrides:
        `walkInColumnOrder` in class `AbstractFieldMatrix<T extends FieldElement<T>>`
      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 `FieldMatrixPreservingVisitor.end()` at the end of the walk
      See Also:
        `FieldMatrix.walkInRowOrder(FieldMatrixChangingVisitor)`, `FieldMatrix.walkInRowOrder(FieldMatrixPreservingVisitor)`, `FieldMatrix.walkInRowOrder(FieldMatrixChangingVisitor, int, int, int, int)`, `FieldMatrix.walkInRowOrder(FieldMatrixPreservingVisitor, int, int, int, int)`, `FieldMatrix.walkInColumnOrder(FieldMatrixChangingVisitor)`, `FieldMatrix.walkInColumnOrder(FieldMatrixPreservingVisitor)`, `FieldMatrix.walkInColumnOrder(FieldMatrixChangingVisitor, int, int, int, int)`, `FieldMatrix.walkInOptimizedOrder(FieldMatrixChangingVisitor)`, `FieldMatrix.walkInOptimizedOrder(FieldMatrixPreservingVisitor)`, `FieldMatrix.walkInOptimizedOrder(FieldMatrixChangingVisitor, int, int, int, int)`, `FieldMatrix.walkInOptimizedOrder(FieldMatrixPreservingVisitor, int, int, int, int)`

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