T
- the type of the field elementspublic class Array2DRowFieldMatrix<T extends FieldElement<T>> extends AbstractFieldMatrix<T> implements java.io.Serializable
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.
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
|
Array2DRowFieldMatrix(T[] v)
Create a new (column) FieldMatrix
v as the
data for the unique column of the v.length x 1 matrix
created. |
Array2DRowFieldMatrix(T[][] d)
Create a new FieldMatrix
|
Array2DRowFieldMatrix(T[][] d,
boolean copyArray)
Create a new FieldMatrix
|
Modifier and Type | Method and Description |
---|---|
Array2DRowFieldMatrix<T> |
add(Array2DRowFieldMatrix<T> m)
Compute the sum of this and
m . |
FieldMatrix<T> |
add(FieldMatrix<T> m)
Compute the sum of this and m.
|
void |
addToEntry(int row,
int column,
T increment)
Change an entry in the specified row and column.
|
FieldMatrix<T> |
copy()
Returns a (deep) copy of this.
|
FieldMatrix<T> |
createMatrix(int rowDimension,
int columnDimension)
Create a new FieldMatrix
|
int |
getColumnDimension()
Returns the number of columns in the matrix.
|
T[][] |
getData()
Returns matrix entries as a two-dimensional array.
|
T[][] |
getDataRef()
Returns 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)
Returns the result of postmultiplying this by
m . |
FieldMatrix<T> |
multiply(FieldMatrix<T> m)
Returns the result of postmultiplying this 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)
Compute this minus
m . |
FieldMatrix<T> |
subtract(FieldMatrix<T> m)
Compute this minus m.
|
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.
|
copySubMatrix, copySubMatrix, equals, getColumn, getColumnMatrix, getColumnVector, getField, getRow, getRowMatrix, getRowVector, getSubMatrix, getSubMatrix, getTrace, hashCode, isSquare, operate, preMultiply, preMultiply, scalarAdd, scalarMultiply, setColumn, setColumnMatrix, setColumnVector, setRow, setRowMatrix, setRowVector, toString, transpose, walkInOptimizedOrder, walkInOptimizedOrder, walkInOptimizedOrder, walkInOptimizedOrder
public Array2DRowFieldMatrix(Field<T> field)
field
- field to which the elements belongpublic Array2DRowFieldMatrix(Field<T> field, int rowDimension, int columnDimension) throws java.lang.IllegalArgumentException
field
- field to which the elements belongrowDimension
- the number of rows in the new matrixcolumnDimension
- the number of columns in the new matrixjava.lang.IllegalArgumentException
- if row or column dimension is not
positivepublic Array2DRowFieldMatrix(T[][] d) throws java.lang.IllegalArgumentException, java.lang.NullPointerException
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
.
d
- data for new matrixjava.lang.IllegalArgumentException
- if d
is not rectangular
(not all rows have the same length) or emptyjava.lang.NullPointerException
- if d
is nullArray2DRowFieldMatrix(FieldElement[][], boolean)
public Array2DRowFieldMatrix(T[][] d, boolean copyArray) throws java.lang.IllegalArgumentException, java.lang.NullPointerException
If an array is built specially in order to be embedded in a
FieldMatrixcopyArray
may be
set to false
d
- data for new matrixcopyArray
- if true, the input array will be copied, otherwise
it will be referencedjava.lang.IllegalArgumentException
- if d
is not rectangular
(not all rows have the same length) or emptyjava.lang.NullPointerException
- if d
is nullArray2DRowFieldMatrix(FieldElement[][])
public Array2DRowFieldMatrix(T[] v)
v
as the
data for the unique column of the v.length x 1
matrix
created.
The input array is copied, not referenced.
v
- column vector holding data for new matrixpublic FieldMatrix<T> createMatrix(int rowDimension, int columnDimension) throws java.lang.IllegalArgumentException
createMatrix
in interface FieldMatrix<T extends FieldElement<T>>
createMatrix
in class AbstractFieldMatrix<T extends FieldElement<T>>
rowDimension
- the number of rows in the new matrixcolumnDimension
- the number of columns in the new matrixjava.lang.IllegalArgumentException
- if row or column dimension is not positivepublic FieldMatrix<T> copy()
copy
in interface FieldMatrix<T extends FieldElement<T>>
copy
in class AbstractFieldMatrix<T extends FieldElement<T>>
public FieldMatrix<T> add(FieldMatrix<T> m) throws java.lang.IllegalArgumentException
add
in interface FieldMatrix<T extends FieldElement<T>>
add
in class AbstractFieldMatrix<T extends FieldElement<T>>
m
- matrix to be addedjava.lang.IllegalArgumentException
- if m is not the same size as thispublic Array2DRowFieldMatrix<T> add(Array2DRowFieldMatrix<T> m) throws java.lang.IllegalArgumentException
m
.m
- matrix to be addedjava.lang.IllegalArgumentException
- if m is not the same size as thispublic FieldMatrix<T> subtract(FieldMatrix<T> m) throws java.lang.IllegalArgumentException
subtract
in interface FieldMatrix<T extends FieldElement<T>>
subtract
in class AbstractFieldMatrix<T extends FieldElement<T>>
m
- matrix to be subtractedjava.lang.IllegalArgumentException
- if m is not the same size as thispublic Array2DRowFieldMatrix<T> subtract(Array2DRowFieldMatrix<T> m) throws java.lang.IllegalArgumentException
m
.m
- matrix to be subtractedjava.lang.IllegalArgumentException
- if m is not the same size as thispublic FieldMatrix<T> multiply(FieldMatrix<T> m) throws java.lang.IllegalArgumentException
multiply
in interface FieldMatrix<T extends FieldElement<T>>
multiply
in class AbstractFieldMatrix<T extends FieldElement<T>>
m
- matrix to postmultiply byjava.lang.IllegalArgumentException
- if columnDimension(this) != rowDimension(m)public Array2DRowFieldMatrix<T> multiply(Array2DRowFieldMatrix<T> m) throws java.lang.IllegalArgumentException
m
.m
- matrix to postmultiply byjava.lang.IllegalArgumentException
- if columnDimension(this) != rowDimension(m)public T[][] getData()
getData
in interface FieldMatrix<T extends FieldElement<T>>
getData
in class AbstractFieldMatrix<T extends FieldElement<T>>
public T[][] getDataRef()
Does not make a fresh copy of the underlying data.
public void setSubMatrix(T[][] subMatrix, int row, int column) throws MatrixIndexException
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 2and
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
setSubMatrix
in interface FieldMatrix<T extends FieldElement<T>>
setSubMatrix
in class AbstractFieldMatrix<T extends FieldElement<T>>
subMatrix
- array containing the submatrix replacement datarow
- row coordinate of the top, left element to be replacedcolumn
- column coordinate of the top, left element to be replacedMatrixIndexException
- if subMatrix does not fit into this
matrix from element in (row, column)public T getEntry(int row, int column) throws MatrixIndexException
Row and column indices start at 0 and must satisfy
0 <= row < rowDimension
0 <= column < columnDimension
MatrixIndexException
is thrown.getEntry
in interface FieldMatrix<T extends FieldElement<T>>
getEntry
in class AbstractFieldMatrix<T extends FieldElement<T>>
row
- row location of entry to be fetchedcolumn
- column location of entry to be fetchedMatrixIndexException
- if the row or column index is not validpublic void setEntry(int row, int column, T value) throws MatrixIndexException
Row and column indices start at 0 and must satisfy
0 <= row < rowDimension
0 <= column < columnDimension
MatrixIndexException
is thrown.setEntry
in interface FieldMatrix<T extends FieldElement<T>>
setEntry
in class AbstractFieldMatrix<T extends FieldElement<T>>
row
- row location of entry to be setcolumn
- column location of entry to be setvalue
- matrix entry to be set in row,columnMatrixIndexException
- if the row or column index is not validpublic void addToEntry(int row, int column, T increment) throws MatrixIndexException
Row and column indices start at 0 and must satisfy
0 <= row < rowDimension
0 <= column < columnDimension
MatrixIndexException
is thrown.addToEntry
in interface FieldMatrix<T extends FieldElement<T>>
addToEntry
in class AbstractFieldMatrix<T extends FieldElement<T>>
row
- row location of entry to be setcolumn
- column location of entry to be setincrement
- value to add to the current matrix entry in row,columnMatrixIndexException
- if the row or column index is not validpublic void multiplyEntry(int row, int column, T factor) throws MatrixIndexException
Row and column indices start at 0 and must satisfy
0 <= row < rowDimension
0 <= column < columnDimension
MatrixIndexException
is thrown.multiplyEntry
in interface FieldMatrix<T extends FieldElement<T>>
multiplyEntry
in class AbstractFieldMatrix<T extends FieldElement<T>>
row
- row location of entry to be setcolumn
- column location of entry to be setfactor
- multiplication factor for the current matrix entry in row,columnMatrixIndexException
- if the row or column index is not validpublic int getRowDimension()
getRowDimension
in interface AnyMatrix
getRowDimension
in class AbstractFieldMatrix<T extends FieldElement<T>>
public int getColumnDimension()
getColumnDimension
in interface AnyMatrix
getColumnDimension
in class AbstractFieldMatrix<T extends FieldElement<T>>
public T[] operate(T[] v) throws java.lang.IllegalArgumentException
v
.operate
in interface FieldMatrix<T extends FieldElement<T>>
operate
in class AbstractFieldMatrix<T extends FieldElement<T>>
v
- the vector to operate onjava.lang.IllegalArgumentException
- if columnDimension != v.size()public T[] preMultiply(T[] v) throws java.lang.IllegalArgumentException
v
.preMultiply
in interface FieldMatrix<T extends FieldElement<T>>
preMultiply
in class AbstractFieldMatrix<T extends FieldElement<T>>
v
- the row vector to premultiply byjava.lang.IllegalArgumentException
- if rowDimension != v.size()public T walkInRowOrder(FieldMatrixChangingVisitor<T> visitor) throws MatrixVisitorException
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.
walkInRowOrder
in interface FieldMatrix<T extends FieldElement<T>>
walkInRowOrder
in class AbstractFieldMatrix<T extends FieldElement<T>>
visitor
- visitor used to process all matrix entriesFieldMatrixChangingVisitor.end()
at the end
of the walkMatrixVisitorException
- if the visitor cannot process an entryFieldMatrix.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)
public T walkInRowOrder(FieldMatrixPreservingVisitor<T> visitor) throws MatrixVisitorException
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.
walkInRowOrder
in interface FieldMatrix<T extends FieldElement<T>>
walkInRowOrder
in class AbstractFieldMatrix<T extends FieldElement<T>>
visitor
- visitor used to process all matrix entriesFieldMatrixPreservingVisitor.end()
at the end
of the walkMatrixVisitorException
- if the visitor cannot process an entryFieldMatrix.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)
public T walkInRowOrder(FieldMatrixChangingVisitor<T> visitor, int startRow, int endRow, int startColumn, int endColumn) throws MatrixIndexException, MatrixVisitorException
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.
walkInRowOrder
in interface FieldMatrix<T extends FieldElement<T>>
walkInRowOrder
in class AbstractFieldMatrix<T extends FieldElement<T>>
visitor
- visitor used to process all matrix entriesstartRow
- Initial row indexendRow
- Final row index (inclusive)startColumn
- Initial column indexendColumn
- Final column indexFieldMatrixChangingVisitor.end()
at the end
of the walkMatrixIndexException
- if the indices are not validMatrixVisitorException
- if the visitor cannot process an entryFieldMatrix.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)
public T walkInRowOrder(FieldMatrixPreservingVisitor<T> visitor, int startRow, int endRow, int startColumn, int endColumn) throws MatrixIndexException, MatrixVisitorException
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.
walkInRowOrder
in interface FieldMatrix<T extends FieldElement<T>>
walkInRowOrder
in class AbstractFieldMatrix<T extends FieldElement<T>>
visitor
- visitor used to process all matrix entriesstartRow
- Initial row indexendRow
- Final row index (inclusive)startColumn
- Initial column indexendColumn
- Final column indexFieldMatrixPreservingVisitor.end()
at the end
of the walkMatrixIndexException
- if the indices are not validMatrixVisitorException
- if the visitor cannot process an entryFieldMatrix.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)
public T walkInColumnOrder(FieldMatrixChangingVisitor<T> visitor) throws MatrixVisitorException
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.
walkInColumnOrder
in interface FieldMatrix<T extends FieldElement<T>>
walkInColumnOrder
in class AbstractFieldMatrix<T extends FieldElement<T>>
visitor
- visitor used to process all matrix entriesFieldMatrixChangingVisitor.end()
at the end
of the walkMatrixVisitorException
- if the visitor cannot process an entryFieldMatrix.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)
public T walkInColumnOrder(FieldMatrixPreservingVisitor<T> visitor) throws MatrixVisitorException
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.
walkInColumnOrder
in interface FieldMatrix<T extends FieldElement<T>>
walkInColumnOrder
in class AbstractFieldMatrix<T extends FieldElement<T>>
visitor
- visitor used to process all matrix entriesFieldMatrixPreservingVisitor.end()
at the end
of the walkMatrixVisitorException
- if the visitor cannot process an entryFieldMatrix.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)
public T walkInColumnOrder(FieldMatrixChangingVisitor<T> visitor, int startRow, int endRow, int startColumn, int endColumn) throws MatrixIndexException, MatrixVisitorException
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.
walkInColumnOrder
in interface FieldMatrix<T extends FieldElement<T>>
walkInColumnOrder
in class AbstractFieldMatrix<T extends FieldElement<T>>
visitor
- visitor used to process all matrix entriesstartRow
- Initial row indexendRow
- Final row index (inclusive)startColumn
- Initial column indexendColumn
- Final column indexFieldMatrixChangingVisitor.end()
at the end
of the walkMatrixIndexException
- if the indices are not validMatrixVisitorException
- if the visitor cannot process an entryFieldMatrix.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)
public T walkInColumnOrder(FieldMatrixPreservingVisitor<T> visitor, int startRow, int endRow, int startColumn, int endColumn) throws MatrixIndexException, MatrixVisitorException
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.
walkInColumnOrder
in interface FieldMatrix<T extends FieldElement<T>>
walkInColumnOrder
in class AbstractFieldMatrix<T extends FieldElement<T>>
visitor
- visitor used to process all matrix entriesstartRow
- Initial row indexendRow
- Final row index (inclusive)startColumn
- Initial column indexendColumn
- Final column indexFieldMatrixPreservingVisitor.end()
at the end
of the walkMatrixIndexException
- if the indices are not validMatrixVisitorException
- if the visitor cannot process an entryFieldMatrix.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 © 2010 - 2020 Adobe. All Rights Reserved