T
- the type of the field elementspublic interface FieldMatrix<T extends FieldElement<T>> extends AnyMatrix
Matrix element indexing is 0-based -- e.g., getEntry(0, 0)
returns the element in the first row, first
column of the matrix.
Modifier and Type | Method and Description |
---|---|
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()
Make a (deep) copy of this.
|
void |
copySubMatrix(int[] selectedRows,
int[] selectedColumns,
T[][] destination)
Copy a submatrix.
|
void |
copySubMatrix(int startRow,
int endRow,
int startColumn,
int endColumn,
T[][] destination)
Copy a submatrix.
|
FieldMatrix<T> |
createMatrix(int rowDimension,
int columnDimension)
Create a new FieldMatrix
|
T[] |
getColumn(int column)
Get the entries in column number
col as an array. |
FieldMatrix<T> |
getColumnMatrix(int column)
Get the entries in column number
column as a column matrix. |
FieldVector<T> |
getColumnVector(int column)
Returns the entries in column number
column as a vector. |
T[][] |
getData()
Returns matrix entries as a two-dimensional array.
|
T |
getEntry(int row,
int column)
Returns the entry in the specified row and column.
|
Field<T> |
getField()
Get the type of field elements of the matrix.
|
T[] |
getRow(int row)
Get the entries in row number
row as an array. |
FieldMatrix<T> |
getRowMatrix(int row)
Get the entries in row number
row as a row matrix. |
FieldVector<T> |
getRowVector(int row)
Get the entries in row number
row as a vector. |
FieldMatrix<T> |
getSubMatrix(int[] selectedRows,
int[] selectedColumns)
Get a submatrix.
|
FieldMatrix<T> |
getSubMatrix(int startRow,
int endRow,
int startColumn,
int endColumn)
Get a submatrix.
|
T |
getTrace()
Returns the
trace of the matrix (the sum of the elements on the main diagonal).
|
FieldMatrix<T> |
multiply(FieldMatrix<T> m)
Postmultiply this matrix by
m . |
void |
multiplyEntry(int row,
int column,
T factor)
Change an entry in the specified row and column.
|
FieldVector<T> |
operate(FieldVector<T> v)
Returns the result of multiplying this by the vector
v . |
T[] |
operate(T[] v)
Returns the result of multiplying this by the vector
v . |
FieldMatrix<T> |
power(int p)
Returns the result multiplying this with itself
p times. |
FieldMatrix<T> |
preMultiply(FieldMatrix<T> m)
Premultiply this matrix by
m . |
FieldVector<T> |
preMultiply(FieldVector<T> v)
Returns the (row) vector result of premultiplying this by the vector
v . |
T[] |
preMultiply(T[] v)
Returns the (row) vector result of premultiplying this by the vector
v . |
FieldMatrix<T> |
scalarAdd(T d)
Increment each entry of this matrix.
|
FieldMatrix<T> |
scalarMultiply(T d)
Multiply each entry by
d . |
void |
setColumn(int column,
T[] array)
Set the entries in column number
column as a column matrix. |
void |
setColumnMatrix(int column,
FieldMatrix<T> matrix)
Set the entries in column number
column as a column matrix. |
void |
setColumnVector(int column,
FieldVector<T> vector)
Set the entries in column number
column as a vector. |
void |
setEntry(int row,
int column,
T value)
Set the entry in the specified row and column.
|
void |
setRow(int row,
T[] array)
Set the entries in row number
row as a row matrix. |
void |
setRowMatrix(int row,
FieldMatrix<T> matrix)
Set the entries in row number
row as a row matrix. |
void |
setRowVector(int row,
FieldVector<T> vector)
Set the entries in row number
row as a vector. |
void |
setSubMatrix(T[][] subMatrix,
int row,
int column)
Replace the submatrix starting at
(row, column) using data in the
input subMatrix array. |
FieldMatrix<T> |
subtract(FieldMatrix<T> m)
Subtract
m from this matrix. |
FieldMatrix<T> |
transpose()
Returns the transpose of 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 |
walkInOptimizedOrder(FieldMatrixChangingVisitor<T> visitor)
Visit (and possibly change) all matrix entries using the fastest possible order.
|
T |
walkInOptimizedOrder(FieldMatrixChangingVisitor<T> visitor,
int startRow,
int endRow,
int startColumn,
int endColumn)
Visit (and possibly change) some matrix entries using the fastest possible order.
|
T |
walkInOptimizedOrder(FieldMatrixPreservingVisitor<T> visitor)
Visit (but don't change) all matrix entries using the fastest possible order.
|
T |
walkInOptimizedOrder(FieldMatrixPreservingVisitor<T> visitor,
int startRow,
int endRow,
int startColumn,
int endColumn)
Visit (but don't change) some matrix entries using the fastest possible 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.
|
getColumnDimension, getRowDimension, isSquare
Field<T> getField()
FieldMatrix<T> createMatrix(int rowDimension, int columnDimension)
rowDimension
- the number of rows in the new matrixcolumnDimension
- the number of columns in the new matrixNotStrictlyPositiveException
- if row or column dimension is not
positive.FieldMatrix<T> copy()
FieldMatrix<T> add(FieldMatrix<T> m)
m
- Matrix to be added.this
+ m
.MatrixDimensionMismatchException
- if m
is not the same
size as this
matrix.FieldMatrix<T> subtract(FieldMatrix<T> m)
m
from this matrix.m
- Matrix to be subtracted.this
- m
.MatrixDimensionMismatchException
- if m
is not the same
size as this
matrix.FieldMatrix<T> scalarAdd(T d)
d
- Value to be added to each entry.d
+ this
.FieldMatrix<T> scalarMultiply(T d)
d
.d
- Value to multiply all entries by.d
* this
.FieldMatrix<T> multiply(FieldMatrix<T> m)
m
.m
- Matrix to postmultiply by.this
* m
.DimensionMismatchException
- if the number of columns of this
matrix is not equal to the number of rows of matrix m
.FieldMatrix<T> preMultiply(FieldMatrix<T> m)
m
.m
- Matrix to premultiply by.m
* this
.DimensionMismatchException
- if the number of columns of m
differs from the number of rows of this
matrix.FieldMatrix<T> power(int p)
p
times.
Depending on the type of the field elements, T, instability for high
powers might occur.p
- raise this to power pNotPositiveException
- if p < 0
NonSquareMatrixException
- if this matrix
is not squareT[][] getData()
FieldMatrix<T> getSubMatrix(int startRow, int endRow, int startColumn, int endColumn)
startRow
- Initial row indexendRow
- Final row index (inclusive)startColumn
- Initial column indexendColumn
- Final column index (inclusive)NumberIsTooSmallException
- is endRow < startRow
of endColumn < startColumn
.OutOfRangeException
- if the indices are not valid.FieldMatrix<T> getSubMatrix(int[] selectedRows, int[] selectedColumns)
selectedRows
- Array of row indices.selectedColumns
- Array of column indices.NoDataException
- if selectedRows
or selectedColumns
is emptyNullArgumentException
- if selectedRows
or selectedColumns
is null
.OutOfRangeException
- if row or column selections are not valid.void copySubMatrix(int startRow, int endRow, int startColumn, int endColumn, T[][] destination)
startRow
- Initial row index.endRow
- Final row index (inclusive).startColumn
- Initial column index.endColumn
- Final column index (inclusive).destination
- The arrays where the submatrix data should be copied
(if larger than rows/columns counts, only the upper-left part will be used).MatrixDimensionMismatchException
- if the dimensions of destination
do not match those of this
.NumberIsTooSmallException
- is endRow < startRow
of endColumn < startColumn
.OutOfRangeException
- if the indices are not valid.IllegalArgumentException
- if the destination array is too small.void copySubMatrix(int[] selectedRows, int[] selectedColumns, T[][] destination)
selectedRows
- Array of row indices.selectedColumns
- Array of column indices.destination
- Arrays where the submatrix data should be copied
(if larger than rows/columns counts, only the upper-left part will be used)MatrixDimensionMismatchException
- if the dimensions of destination
do not match those of this
.NoDataException
- if selectedRows
or selectedColumns
is emptyNullArgumentException
- if selectedRows
or selectedColumns
is null
.OutOfRangeException
- if the indices are not valid.void setSubMatrix(T[][] subMatrix, int row, int column)
(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
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.OutOfRangeException
- if subMatrix
does not fit into this
matrix from element in (row, column)
.NoDataException
- if a row or column of subMatrix
is empty.DimensionMismatchException
- if subMatrix
is not
rectangular (not all rows have the same length).NullArgumentException
- if subMatrix
is null
.FieldMatrix<T> getRowMatrix(int row)
row
as a row matrix.row
- Row to be fetched.OutOfRangeException
- if the specified row index is invalid.void setRowMatrix(int row, FieldMatrix<T> matrix)
row
as a row matrix.row
- Row to be set.matrix
- Row matrix (must have one row and the same number
of columns as the instance).OutOfRangeException
- if the specified row index is invalid.MatrixDimensionMismatchException
- if the matrix dimensions do not match one instance row.FieldMatrix<T> getColumnMatrix(int column)
column
as a column matrix.column
- Column to be fetched.OutOfRangeException
- if the specified column index is invalid.void setColumnMatrix(int column, FieldMatrix<T> matrix)
column
as a column matrix.column
- Column to be set.matrix
- column matrix (must have one column and the same
number of rows as the instance).OutOfRangeException
- if the specified column index is invalid.MatrixDimensionMismatchException
- if the matrix dimensions do
not match one instance column.FieldVector<T> getRowVector(int row)
row
as a vector.row
- Row to be fetchedOutOfRangeException
- if the specified row index is invalid.void setRowVector(int row, FieldVector<T> vector)
row
as a vector.row
- Row to be set.vector
- row vector (must have the same number of columns
as the instance).OutOfRangeException
- if the specified row index is invalid.MatrixDimensionMismatchException
- if the vector dimension does not
match one instance row.FieldVector<T> getColumnVector(int column)
column
as a vector.column
- Column to be fetched.OutOfRangeException
- if the specified column index is invalid.void setColumnVector(int column, FieldVector<T> vector)
column
as a vector.column
- Column to be set.vector
- Column vector (must have the same number of rows
as the instance).OutOfRangeException
- if the specified column index is invalid.MatrixDimensionMismatchException
- if the vector dimension does not
match one instance column.T[] getRow(int row)
row
as an array.row
- Row to be fetched.OutOfRangeException
- if the specified row index is not valid.void setRow(int row, T[] array)
row
as a row matrix.row
- Row to be set.array
- Row matrix (must have the same number of columns as
the instance).OutOfRangeException
- if the specified row index is invalid.MatrixDimensionMismatchException
- if the array size does not match
one instance row.T[] getColumn(int column)
col
as an array.column
- the column to be fetchedOutOfRangeException
- if the specified column index is not valid.void setColumn(int column, T[] array)
column
as a column matrix.column
- the column to be setarray
- column array (must have the same number of rows as the instance)OutOfRangeException
- if the specified column index is invalid.MatrixDimensionMismatchException
- if the array size does not match
one instance column.T getEntry(int row, int column)
row
- row location of entry to be fetchedcolumn
- column location of entry to be fetchedOutOfRangeException
- if the row or column index is not valid.void setEntry(int row, int column, T value)
row
- row location of entry to be setcolumn
- column location of entry to be setvalue
- matrix entry to be set in row,columnOutOfRangeException
- if the row or column index is not valid.void addToEntry(int row, int column, T increment)
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)
.OutOfRangeException
- if the row or column index is not valid.void multiplyEntry(int row, int column, T factor)
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)
OutOfRangeException
- if the row or column index is not valid.FieldMatrix<T> transpose()
T getTrace()
NonSquareMatrixException
- if the matrix is not square.T[] operate(T[] v)
v
.v
- the vector to operate onthis * v
DimensionMismatchException
- if the number of columns of this
matrix is not equal to the size of the vector v
.FieldVector<T> operate(FieldVector<T> v)
v
.v
- the vector to operate onthis * v
DimensionMismatchException
- if the number of columns of this
matrix is not equal to the size of the vector v
.T[] preMultiply(T[] v)
v
.v
- the row vector to premultiply byv * this
DimensionMismatchException
- if the number of rows of this
matrix is not equal to the size of the vector v
FieldVector<T> preMultiply(FieldVector<T> v)
v
.v
- the row vector to premultiply byv * this
DimensionMismatchException
- if the number of rows of this
matrix is not equal to the size of the vector v
T walkInRowOrder(FieldMatrixChangingVisitor<T> visitor)
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.
visitor
- visitor used to process all matrix entriesFieldMatrixChangingVisitor.end()
at the end
of the walkwalkInRowOrder(FieldMatrixPreservingVisitor)
,
walkInRowOrder(FieldMatrixChangingVisitor, int, int, int, int)
,
walkInRowOrder(FieldMatrixPreservingVisitor, int, int, int, int)
,
walkInColumnOrder(FieldMatrixChangingVisitor)
,
walkInColumnOrder(FieldMatrixPreservingVisitor)
,
walkInColumnOrder(FieldMatrixChangingVisitor, int, int, int, int)
,
walkInColumnOrder(FieldMatrixPreservingVisitor, int, int, int, int)
,
walkInOptimizedOrder(FieldMatrixChangingVisitor)
,
walkInOptimizedOrder(FieldMatrixPreservingVisitor)
,
walkInOptimizedOrder(FieldMatrixChangingVisitor, int, int, int, int)
,
walkInOptimizedOrder(FieldMatrixPreservingVisitor, int, int, int, int)
T walkInRowOrder(FieldMatrixPreservingVisitor<T> visitor)
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.
visitor
- visitor used to process all matrix entriesFieldMatrixPreservingVisitor.end()
at the end
of the walkwalkInRowOrder(FieldMatrixChangingVisitor)
,
walkInRowOrder(FieldMatrixChangingVisitor, int, int, int, int)
,
walkInRowOrder(FieldMatrixPreservingVisitor, int, int, int, int)
,
walkInColumnOrder(FieldMatrixChangingVisitor)
,
walkInColumnOrder(FieldMatrixPreservingVisitor)
,
walkInColumnOrder(FieldMatrixChangingVisitor, int, int, int, int)
,
walkInColumnOrder(FieldMatrixPreservingVisitor, int, int, int, int)
,
walkInOptimizedOrder(FieldMatrixChangingVisitor)
,
walkInOptimizedOrder(FieldMatrixPreservingVisitor)
,
walkInOptimizedOrder(FieldMatrixChangingVisitor, int, int, int, int)
,
walkInOptimizedOrder(FieldMatrixPreservingVisitor, int, int, int, int)
T walkInRowOrder(FieldMatrixChangingVisitor<T> visitor, int startRow, int endRow, int startColumn, int endColumn)
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.
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 walkOutOfRangeException
- if the indices are not valid.NumberIsTooSmallException
- if endRow < startRow
or endColumn < startColumn
.walkInRowOrder(FieldMatrixChangingVisitor)
,
walkInRowOrder(FieldMatrixPreservingVisitor)
,
walkInRowOrder(FieldMatrixPreservingVisitor, int, int, int, int)
,
walkInColumnOrder(FieldMatrixChangingVisitor)
,
walkInColumnOrder(FieldMatrixPreservingVisitor)
,
walkInColumnOrder(FieldMatrixChangingVisitor, int, int, int, int)
,
walkInColumnOrder(FieldMatrixPreservingVisitor, int, int, int, int)
,
walkInOptimizedOrder(FieldMatrixChangingVisitor)
,
walkInOptimizedOrder(FieldMatrixPreservingVisitor)
,
walkInOptimizedOrder(FieldMatrixChangingVisitor, int, int, int, int)
,
walkInOptimizedOrder(FieldMatrixPreservingVisitor, int, int, int, int)
T walkInRowOrder(FieldMatrixPreservingVisitor<T> visitor, int startRow, int endRow, int startColumn, int endColumn)
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.
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 walkOutOfRangeException
- if the indices are not valid.NumberIsTooSmallException
- if endRow < startRow
or endColumn < startColumn
.walkInRowOrder(FieldMatrixChangingVisitor)
,
walkInRowOrder(FieldMatrixPreservingVisitor)
,
walkInRowOrder(FieldMatrixChangingVisitor, int, int, int, int)
,
walkInColumnOrder(FieldMatrixChangingVisitor)
,
walkInColumnOrder(FieldMatrixPreservingVisitor)
,
walkInColumnOrder(FieldMatrixChangingVisitor, int, int, int, int)
,
walkInColumnOrder(FieldMatrixPreservingVisitor, int, int, int, int)
,
walkInOptimizedOrder(FieldMatrixChangingVisitor)
,
walkInOptimizedOrder(FieldMatrixPreservingVisitor)
,
walkInOptimizedOrder(FieldMatrixChangingVisitor, int, int, int, int)
,
walkInOptimizedOrder(FieldMatrixPreservingVisitor, int, int, int, int)
T walkInColumnOrder(FieldMatrixChangingVisitor<T> visitor)
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.
visitor
- visitor used to process all matrix entriesFieldMatrixChangingVisitor.end()
at the end
of the walkwalkInRowOrder(FieldMatrixChangingVisitor)
,
walkInRowOrder(FieldMatrixPreservingVisitor)
,
walkInRowOrder(FieldMatrixChangingVisitor, int, int, int, int)
,
walkInRowOrder(FieldMatrixPreservingVisitor, int, int, int, int)
,
walkInColumnOrder(FieldMatrixPreservingVisitor)
,
walkInColumnOrder(FieldMatrixChangingVisitor, int, int, int, int)
,
walkInColumnOrder(FieldMatrixPreservingVisitor, int, int, int, int)
,
walkInOptimizedOrder(FieldMatrixChangingVisitor)
,
walkInOptimizedOrder(FieldMatrixPreservingVisitor)
,
walkInOptimizedOrder(FieldMatrixChangingVisitor, int, int, int, int)
,
walkInOptimizedOrder(FieldMatrixPreservingVisitor, int, int, int, int)
T walkInColumnOrder(FieldMatrixPreservingVisitor<T> visitor)
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.
visitor
- visitor used to process all matrix entriesFieldMatrixPreservingVisitor.end()
at the end
of the walkwalkInRowOrder(FieldMatrixChangingVisitor)
,
walkInRowOrder(FieldMatrixPreservingVisitor)
,
walkInRowOrder(FieldMatrixChangingVisitor, int, int, int, int)
,
walkInRowOrder(FieldMatrixPreservingVisitor, int, int, int, int)
,
walkInColumnOrder(FieldMatrixChangingVisitor)
,
walkInColumnOrder(FieldMatrixChangingVisitor, int, int, int, int)
,
walkInColumnOrder(FieldMatrixPreservingVisitor, int, int, int, int)
,
walkInOptimizedOrder(FieldMatrixChangingVisitor)
,
walkInOptimizedOrder(FieldMatrixPreservingVisitor)
,
walkInOptimizedOrder(FieldMatrixChangingVisitor, int, int, int, int)
,
walkInOptimizedOrder(FieldMatrixPreservingVisitor, int, int, int, int)
T walkInColumnOrder(FieldMatrixChangingVisitor<T> visitor, int startRow, int endRow, int startColumn, int endColumn)
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.
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 walkNumberIsTooSmallException
- if endRow < startRow
or endColumn < startColumn
.OutOfRangeException
- if the indices are not valid.walkInRowOrder(FieldMatrixChangingVisitor)
,
walkInRowOrder(FieldMatrixPreservingVisitor)
,
walkInRowOrder(FieldMatrixChangingVisitor, int, int, int, int)
,
walkInRowOrder(FieldMatrixPreservingVisitor, int, int, int, int)
,
walkInColumnOrder(FieldMatrixChangingVisitor)
,
walkInColumnOrder(FieldMatrixPreservingVisitor)
,
walkInColumnOrder(FieldMatrixPreservingVisitor, int, int, int, int)
,
walkInOptimizedOrder(FieldMatrixChangingVisitor)
,
walkInOptimizedOrder(FieldMatrixPreservingVisitor)
,
walkInOptimizedOrder(FieldMatrixChangingVisitor, int, int, int, int)
,
walkInOptimizedOrder(FieldMatrixPreservingVisitor, int, int, int, int)
T walkInColumnOrder(FieldMatrixPreservingVisitor<T> visitor, int startRow, int endRow, int startColumn, int endColumn)
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.
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 walkNumberIsTooSmallException
- if endRow < startRow
or endColumn < startColumn
.OutOfRangeException
- if the indices are not valid.walkInRowOrder(FieldMatrixChangingVisitor)
,
walkInRowOrder(FieldMatrixPreservingVisitor)
,
walkInRowOrder(FieldMatrixChangingVisitor, int, int, int, int)
,
walkInRowOrder(FieldMatrixPreservingVisitor, int, int, int, int)
,
walkInColumnOrder(FieldMatrixChangingVisitor)
,
walkInColumnOrder(FieldMatrixPreservingVisitor)
,
walkInColumnOrder(FieldMatrixChangingVisitor, int, int, int, int)
,
walkInOptimizedOrder(FieldMatrixChangingVisitor)
,
walkInOptimizedOrder(FieldMatrixPreservingVisitor)
,
walkInOptimizedOrder(FieldMatrixChangingVisitor, int, int, int, int)
,
walkInOptimizedOrder(FieldMatrixPreservingVisitor, int, int, int, int)
T walkInOptimizedOrder(FieldMatrixChangingVisitor<T> visitor)
The fastest walking order depends on the exact matrix class. It may be different from traditional row or column orders.
visitor
- visitor used to process all matrix entriesFieldMatrixChangingVisitor.end()
at the end
of the walkwalkInRowOrder(FieldMatrixChangingVisitor)
,
walkInRowOrder(FieldMatrixPreservingVisitor)
,
walkInRowOrder(FieldMatrixChangingVisitor, int, int, int, int)
,
walkInRowOrder(FieldMatrixPreservingVisitor, int, int, int, int)
,
walkInColumnOrder(FieldMatrixChangingVisitor)
,
walkInColumnOrder(FieldMatrixPreservingVisitor)
,
walkInColumnOrder(FieldMatrixChangingVisitor, int, int, int, int)
,
walkInColumnOrder(FieldMatrixPreservingVisitor, int, int, int, int)
,
walkInOptimizedOrder(FieldMatrixPreservingVisitor)
,
walkInOptimizedOrder(FieldMatrixChangingVisitor, int, int, int, int)
,
walkInOptimizedOrder(FieldMatrixPreservingVisitor, int, int, int, int)
T walkInOptimizedOrder(FieldMatrixPreservingVisitor<T> visitor)
The fastest walking order depends on the exact matrix class. It may be different from traditional row or column orders.
visitor
- visitor used to process all matrix entriesFieldMatrixPreservingVisitor.end()
at the end
of the walkwalkInRowOrder(FieldMatrixChangingVisitor)
,
walkInRowOrder(FieldMatrixPreservingVisitor)
,
walkInRowOrder(FieldMatrixChangingVisitor, int, int, int, int)
,
walkInRowOrder(FieldMatrixPreservingVisitor, int, int, int, int)
,
walkInColumnOrder(FieldMatrixChangingVisitor)
,
walkInColumnOrder(FieldMatrixPreservingVisitor)
,
walkInColumnOrder(FieldMatrixChangingVisitor, int, int, int, int)
,
walkInColumnOrder(FieldMatrixPreservingVisitor, int, int, int, int)
,
walkInOptimizedOrder(FieldMatrixChangingVisitor)
,
walkInOptimizedOrder(FieldMatrixChangingVisitor, int, int, int, int)
,
walkInOptimizedOrder(FieldMatrixPreservingVisitor, int, int, int, int)
T walkInOptimizedOrder(FieldMatrixChangingVisitor<T> visitor, int startRow, int endRow, int startColumn, int endColumn)
The fastest walking order depends on the exact matrix class. It may be different from traditional row or column orders.
visitor
- visitor used to process all matrix entriesstartRow
- Initial row indexendRow
- Final row index (inclusive)startColumn
- Initial column indexendColumn
- Final column index (inclusive)FieldMatrixChangingVisitor.end()
at the end
of the walkNumberIsTooSmallException
- if endRow < startRow
or endColumn < startColumn
.OutOfRangeException
- if the indices are not valid.walkInRowOrder(FieldMatrixChangingVisitor)
,
walkInRowOrder(FieldMatrixPreservingVisitor)
,
walkInRowOrder(FieldMatrixChangingVisitor, int, int, int, int)
,
walkInRowOrder(FieldMatrixPreservingVisitor, int, int, int, int)
,
walkInColumnOrder(FieldMatrixChangingVisitor)
,
walkInColumnOrder(FieldMatrixPreservingVisitor)
,
walkInColumnOrder(FieldMatrixChangingVisitor, int, int, int, int)
,
walkInColumnOrder(FieldMatrixPreservingVisitor, int, int, int, int)
,
walkInOptimizedOrder(FieldMatrixChangingVisitor)
,
walkInOptimizedOrder(FieldMatrixPreservingVisitor)
,
walkInOptimizedOrder(FieldMatrixPreservingVisitor, int, int, int, int)
T walkInOptimizedOrder(FieldMatrixPreservingVisitor<T> visitor, int startRow, int endRow, int startColumn, int endColumn)
The fastest walking order depends on the exact matrix class. It may be different from traditional row or column orders.
visitor
- visitor used to process all matrix entriesstartRow
- Initial row indexendRow
- Final row index (inclusive)startColumn
- Initial column indexendColumn
- Final column index (inclusive)FieldMatrixPreservingVisitor.end()
at the end
of the walkNumberIsTooSmallException
- if endRow < startRow
or endColumn < startColumn
.OutOfRangeException
- if the indices are not valid.walkInRowOrder(FieldMatrixChangingVisitor)
,
walkInRowOrder(FieldMatrixPreservingVisitor)
,
walkInRowOrder(FieldMatrixChangingVisitor, int, int, int, int)
,
walkInRowOrder(FieldMatrixPreservingVisitor, int, int, int, int)
,
walkInColumnOrder(FieldMatrixChangingVisitor)
,
walkInColumnOrder(FieldMatrixPreservingVisitor)
,
walkInColumnOrder(FieldMatrixChangingVisitor, int, int, int, int)
,
walkInColumnOrder(FieldMatrixPreservingVisitor, int, int, int, int)
,
walkInOptimizedOrder(FieldMatrixChangingVisitor)
,
walkInOptimizedOrder(FieldMatrixPreservingVisitor)
,
walkInOptimizedOrder(FieldMatrixChangingVisitor, int, int, int, int)
Copyright © 2023 CNES. All rights reserved.