类 AbstractFieldMatrix<T extends FieldElement<T>>
java.lang.Object
org.hipparchus.linear.AbstractFieldMatrix<T>
- 类型参数:
-
T- 字段元素的类型。
- 所有已实现的接口:
-
AnyMatrix,FieldMatrix<T>,FieldBlendable<FieldMatrix<T>,T>
public abstract class AbstractFieldMatrix<T extends FieldElement<T>> extends Object implements FieldMatrix<T>
FieldMatrix的基本实现,不考虑底层存储方式。
这里实现的所有方法都使用getEntry(int, int)来访问矩阵元素。派生类可以提供更快的实现。
-
构造器概要
构造器限定符构造器说明protected用于可序列化的构造函数protectedAbstractFieldMatrix(Field<T> field) 创建一个没有数据的矩阵protectedAbstractFieldMatrix(Field<T> field, int rowDimension, int columnDimension) 使用提供的行和列维度创建一个新的FieldMatrix。 -
方法概要
修饰符和类型方法说明add(FieldMatrix<T> m) 计算此矩阵和m的和。abstract voidaddToEntry(int row, int column, T increment) 更改指定行和列中的条目。protected void检查矩阵是否与该实例相加兼容。protected voidcheckColumnIndex(int column) 检查列索引是否有效。protected void检查矩阵是否与该实例相乘兼容。protected voidcheckRowIndex(int row) 检查行索引是否有效。protected voidcheckSubMatrixIndex(int[] selectedRows, int[] selectedColumns) 检查子矩阵范围索引是否有效。protected voidcheckSubMatrixIndex(int startRow, int endRow, int startColumn, int endColumn) 检查子矩阵范围索引是否有效。protected void检查矩阵是否与该实例相减兼容。abstract FieldMatrix<T> copy()复制此矩阵(深复制)。voidcopySubMatrix(int[] selectedRows, int[] selectedColumns, T[][] destination) 复制子矩阵。voidcopySubMatrix(int startRow, int endRow, int startColumn, int endColumn, T[][] destination) 复制子矩阵。abstract FieldMatrix<T> createMatrix(int rowDimension, int columnDimension) 使用提供的行和列维度创建与该实例相同类型的新FieldMatrix。boolean如果object是具有与此相同维度的FieldMatrix实例且所有对应的矩阵条目都相等,则返回true。protected static <T extends FieldElement<T>>
Field<T> extractField(T[] d) 从数组中获取元素类型。protected static <T extends FieldElement<T>>
Field<T> extractField(T[][] d) 从数组中获取元素类型。T[]getColumn(int column) 将列号为col的条目作为数组返回。abstract int返回矩阵中的列数。getColumnMatrix(int column) 将列号为column的条目作为列矩阵返回。getColumnVector(int column) 将列号为column的条目作为向量返回。T[][]getData()将矩阵条目作为二维数组返回。abstract TgetEntry(int row, int column) 返回指定行和列中的条目。getField()获取矩阵的字段元素类型。T[]getRow(int row) 将行号为row的条目作为数组返回。abstract int返回矩阵中的行数。getRowMatrix(int row) 将行号为row的条目作为行矩阵返回。getRowVector(int row) 将行号为row的条目作为向量返回。getSubMatrix(int[] selectedRows, int[] selectedColumns) 获取子矩阵。getSubMatrix(int startRow, int endRow, int startColumn, int endColumn) 获取子矩阵。getTrace()返回矩阵的迹(主对角线上元素的和)。inthashCode()为矩阵计算哈希码。booleanisSquare()这是一个方阵吗?multiply(FieldMatrix<T> m) 将此矩阵与m后置相乘。abstract voidmultiplyEntry(int row, int column, T factor) 更改指定行和列中的条目。operate(FieldVector<T> v) 返回将此矩阵与向量v相乘的结果。T[]返回将此矩阵与向量v相乘的结果。power(int p) 返回将此矩阵与自身p次相乘的结果。preMultiply(FieldMatrix<T> m) 将此矩阵与m前置相乘。preMultiply(FieldVector<T> v) 返回通过将此矩阵与向量v前置相乘的(行)向量结果。T[]preMultiply(T[] v) 返回通过将此矩阵与向量v前置相乘的(行)向量结果。递增此矩阵的每个条目。scalarMultiply(T d) 将每个条目乘以d。void将列号为column的条目设置为列矩阵。voidsetColumnMatrix(int column, FieldMatrix<T> matrix) 将列号为column的条目设置为列矩阵。voidsetColumnVector(int column, FieldVector<T> vector) 将列号为column的条目设置为向量。abstract void更改指定行和列中的条目。void将行号为row的条目设置为行矩阵。voidsetRowMatrix(int row, FieldMatrix<T> matrix) 将行号为row的条目设置为行矩阵。voidsetRowVector(int row, FieldVector<T> vector) 将行号为row的条目设置为向量。voidsetSubMatrix(T[][] subMatrix, int row, int column) 使用输入subMatrix数组中的数据替换从(row, column)开始的子矩阵。subtract(FieldMatrix<T> m) 从此矩阵中减去m。toString()获取此矩阵的字符串表示形式。返回此矩阵的转置。walkInColumnOrder(FieldMatrixChangingVisitor<T> visitor) 按列顺序访问(可能更改)所有矩阵条目。walkInColumnOrder(FieldMatrixChangingVisitor<T> visitor, int startRow, int endRow, int startColumn, int endColumn) 按列顺序访问(可能更改)一些矩阵条目。walkInColumnOrder(FieldMatrixPreservingVisitor<T> visitor) 按列顺序访问(但不更改)所有矩阵条目。walkInColumnOrder(FieldMatrixPreservingVisitor<T> visitor, int startRow, int endRow, int startColumn, int endColumn) 按列顺序访问(但不更改)一些矩阵条目。walkInOptimizedOrder(FieldMatrixChangingVisitor<T> visitor) 使用最快的可能顺序访问(可能更改)所有矩阵条目。walkInOptimizedOrder(FieldMatrixChangingVisitor<T> visitor, int startRow, int endRow, int startColumn, int endColumn) 使用最快的可能顺序访问(可能更改)一些矩阵条目。使用最快的可能顺序访问(但不更改)所有矩阵条目。walkInOptimizedOrder(FieldMatrixPreservingVisitor<T> visitor, int startRow, int endRow, int startColumn, int endColumn) 使用最快的可能顺序访问(但不更改)一些矩阵条目。walkInRowOrder(FieldMatrixChangingVisitor<T> visitor) 按行顺序访问(可能更改)所有矩阵条目。walkInRowOrder(FieldMatrixChangingVisitor<T> visitor, int startRow, int endRow, int startColumn, int endColumn) 按行顺序访问(可能更改)一些矩阵条目。walkInRowOrder(FieldMatrixPreservingVisitor<T> visitor) 按行顺序访问(但不更改)所有矩阵条目。walkInRowOrder(FieldMatrixPreservingVisitor<T> visitor, int startRow, int endRow, int startColumn, int endColumn) 按行顺序访问(但不更改)一些矩阵条目。从接口继承的方法 org.hipparchus.linear.FieldMatrix
blendArithmeticallyWith, map, mapToSelf, multiplyTransposed, transposeMultiply
-
构造器详细资料
-
AbstractFieldMatrix
protected AbstractFieldMatrix()用于可序列化的构造函数 -
AbstractFieldMatrix
创建一个没有数据的矩阵- 参数:
-
field- 元素所属的字段
-
AbstractFieldMatrix
protected AbstractFieldMatrix(Field<T> field, int rowDimension, int columnDimension) throws MathIllegalArgumentException 使用提供的行和列维度创建一个新的FieldMatrix。- 参数:
-
field- 元素所属的字段。 -
rowDimension- 新矩阵中的行数。 -
columnDimension- 新矩阵中的列数。 - 抛出:
-
MathIllegalArgumentException- 如果行或列维度不是正数。
-
-
方法详细资料
-
extractField
protected static <T extends FieldElement<T>> Field<T> extractField(T[][] d) throws MathIllegalArgumentException, NullArgumentException 从数组中获取元素类型。- 类型参数:
-
T- 字段元素的类型。 - 参数:
-
d- 数据数组。 - 返回:
- 数据元素所属的字段。
- 抛出:
-
NullArgumentException- 如果数组为null。 -
MathIllegalArgumentException- 如果数组为空。
-
extractField
protected static <T extends FieldElement<T>> Field<T> extractField(T[] d) throws MathIllegalArgumentException 从数组中获取元素类型。- 类型参数:
-
T- 字段元素的类型。 - 参数:
-
d- 数据数组。 - 返回:
- 数据元素所属的字段。
- 抛出:
-
MathIllegalArgumentException- 如果数组为空。
-
getField
获取矩阵的字段元素类型。- 指定者:
-
getField在接口中FieldMatrix<T extends FieldElement<T>> - 返回:
- 矩阵的字段元素类型。
-
createMatrix
public abstract FieldMatrix<T> createMatrix(int rowDimension, int columnDimension) throws MathIllegalArgumentException 创建一个与实例具有相同类型的新FieldMatrix,具有提供的行和列维度。- 指定者:
-
createMatrix在接口中FieldMatrix<T extends FieldElement<T>> - 参数:
-
rowDimension- 新矩阵的行数 -
columnDimension- 新矩阵的列数 - 返回:
- 与实例相同类型的新矩阵
- 抛出:
-
MathIllegalArgumentException- 如果行或列维度不是正数。
-
copy
创建此矩阵的(深层)副本。- 指定者:
-
copy在接口中FieldMatrix<T extends FieldElement<T>> - 返回:
- 此矩阵的副本。
-
add
计算此矩阵与m的和。- 指定者:
-
add在接口中FieldMatrix<T extends FieldElement<T>> - 参数:
-
m- 要相加的矩阵。 - 返回:
-
this+m。 - 抛出:
-
MathIllegalArgumentException- 如果m的大小与this矩阵不同。
-
subtract
从此矩阵中减去m。- 指定者:
-
subtract在接口中FieldMatrix<T extends FieldElement<T>> - 参数:
-
m- 要减去的矩阵。 - 返回:
-
this-m。 - 抛出:
-
MathIllegalArgumentException- 如果m的大小与this矩阵不同。
-
scalarAdd
递增此矩阵的每个条目。- 指定者:
-
scalarAdd在接口中FieldMatrix<T extends FieldElement<T>> - 参数:
-
d- 要添加到每个条目的值。 - 返回:
-
d+this。
-
scalarMultiply
将每个条目乘以d。- 指定者:
-
scalarMultiply在接口中FieldMatrix<T extends FieldElement<T>> - 参数:
-
d- 要将所有条目乘以的值。 - 返回:
-
d*this。
-
multiply
将此矩阵与m后乘。- 指定者:
-
multiply在接口中FieldMatrix<T extends FieldElement<T>> - 参数:
-
m- 要后乘的矩阵。 - 返回:
-
this*m。 - 抛出:
-
MathIllegalArgumentException- 如果this矩阵的列数不等于矩阵m的行数。
-
preMultiply
将此矩阵与m前乘。- 指定者:
-
preMultiply在接口中FieldMatrix<T extends FieldElement<T>> - 参数:
-
m- 要前乘的矩阵。 - 返回:
-
m*this。 - 抛出:
-
MathIllegalArgumentException- 如果m的列数与this矩阵的行数不同。
-
power
返回将此矩阵与自身乘p次的结果。根据字段元素T的类型,可能会出现高次幂的不稳定性。- 指定者:
-
power在接口中FieldMatrix<T extends FieldElement<T>> - 参数:
-
p- 将此提升到幂p - 返回:
- this^p
- 抛出:
-
MathIllegalArgumentException- 如果p < 0 -
MathIllegalArgumentException- 如果this矩阵不是方阵
-
getData
将矩阵条目作为二维数组返回。- 指定者:
-
getData在接口中FieldMatrix<T extends FieldElement<T>> - 返回:
- 条目的二维数组。
-
getSubMatrix
public FieldMatrix<T> getSubMatrix(int startRow, int endRow, int startColumn, int endColumn) throws MathIllegalArgumentException 获取子矩阵。行和列从0到n-1进行计数。- 指定者:
-
getSubMatrix在接口中FieldMatrix<T extends FieldElement<T>> - 参数:
-
startRow- 初始行索引 -
endRow- 最终行索引(包括) -
startColumn- 初始列索引 -
endColumn- 最终列索引(包括) - 返回:
- 包含指定行和列数据的矩阵。
- 抛出:
-
MathIllegalArgumentException- 如果endRow < startRow或endColumn < startColumn。 -
MathIllegalArgumentException- 如果索引无效。
-
getSubMatrix
public FieldMatrix<T> getSubMatrix(int[] selectedRows, int[] selectedColumns) throws MathIllegalArgumentException, NullArgumentException 获取子矩阵。行和列从0到n-1进行计数。- 指定者:
-
getSubMatrix在接口中FieldMatrix<T extends FieldElement<T>> - 参数:
-
selectedRows- 行索引数组。 -
selectedColumns- 列索引数组。 - 返回:
- 包含指定行和列中数据的矩阵。
- 抛出:
-
MathIllegalArgumentException- 如果selectedRows或selectedColumns为空 -
MathIllegalArgumentException- 如果行或列选择无效。 -
NullArgumentException- 如果selectedRows或selectedColumns为null。
-
copySubMatrix
public void copySubMatrix(int startRow, int endRow, int startColumn, int endColumn, T[][] destination) throws MathIllegalArgumentException 复制子矩阵。行和列从0开始计数。指定的子矩阵被复制到目标数组的左上部分。- 指定者:
-
copySubMatrix在接口中FieldMatrix<T extends FieldElement<T>> - 参数:
-
startRow- 初始行索引。 -
endRow- 最终行索引(包括)。 -
startColumn- 初始列索引。 -
endColumn- 最终列索引(包括)。 -
destination- 应将子矩阵数据复制到的数组(如果大于行/列计数,则只会修改左上部分)。 - 抛出:
-
MathIllegalArgumentException- 如果destination的维度不足以容纳子矩阵。 -
MathIllegalArgumentException- 如果endRow < startRow或endColumn < startColumn。 -
MathIllegalArgumentException- 如果索引无效。
-
copySubMatrix
public void copySubMatrix(int[] selectedRows, int[] selectedColumns, T[][] destination) throws MathIllegalArgumentException, NullArgumentException 复制子矩阵。行和列从0到n-1计数。- 指定者:
-
copySubMatrix在接口中FieldMatrix<T extends FieldElement<T>> - 参数:
-
selectedRows- 行索引数组。 -
selectedColumns- 列索引数组。 -
destination- 应将子矩阵数据复制到的数组(如果大于行/列计数,则只会使用左上部分) - 抛出:
-
MathIllegalArgumentException- 如果destination的维度与this不匹配。 -
MathIllegalArgumentException- 如果selectedRows或selectedColumns为空 -
MathIllegalArgumentException- 如果索引无效。 -
NullArgumentException- 如果selectedRows或selectedColumns为null。
-
setSubMatrix
public void setSubMatrix(T[][] subMatrix, int row, int column) throws MathIllegalArgumentException, NullArgumentException 使用输入subMatrix数组中的数据替换从(row, column)开始的子矩阵。索引从0开始。示例:
从以下开始1 2 3 4 5 6 7 8 9 0 1 2
和
subMatrix = {{3, 4} {5,6}},调用setSubMatrix(subMatrix,1,1))将导致1 2 3 4 5 3 4 8 9 5 6 2
- 指定者:
-
setSubMatrix在接口中FieldMatrix<T extends FieldElement<T>> - 参数:
-
subMatrix- 包含子矩阵替换数据的数组。 -
row- 要替换的左上角元素的行坐标。 -
column- 要替换的左上角元素的列坐标。 - 抛出:
-
MathIllegalArgumentException- 如果subMatrix不适合从元素(row, column)开始的此矩阵。 -
MathIllegalArgumentException- 如果subMatrix的行或列为空。 -
MathIllegalArgumentException- 如果subMatrix不是矩形的(不是所有行长度相同)。 -
NullArgumentException- 如果subMatrix为null。
-
getRowMatrix
将第row行中的条目作为行矩阵获取。- 指定者:
-
getRowMatrix在接口中FieldMatrix<T extends FieldElement<T>> - 参数:
-
row- 要获取的行。 - 返回:
- 一个行矩阵。
- 抛出:
-
MathIllegalArgumentException- 如果指定的行索引无效。
-
setRowMatrix
将第row行中的条目作为行矩阵设置。- 指定者:
-
setRowMatrix在接口中FieldMatrix<T extends FieldElement<T>> - 参数:
-
row- 要设置的行。 -
matrix- 行矩阵(必须有一行且与实例的列数相同)。 - 抛出:
-
MathIllegalArgumentException- 如果指定的行索引无效。 -
MathIllegalArgumentException- 如果矩阵维度与实例行不匹配。
-
getColumnMatrix
将第column列中的条目作为列矩阵获取。- 指定者:
-
getColumnMatrix在接口中FieldMatrix<T extends FieldElement<T>> - 参数:
-
column- 要获取的列。 - 返回:
- 一个列矩阵。
- 抛出:
-
MathIllegalArgumentException- 如果指定的列索引无效。
-
setColumnMatrix
将第column列中的条目作为列矩阵设置。- 指定者:
-
setColumnMatrix在接口中FieldMatrix<T extends FieldElement<T>> - 参数:
-
column- 要设置的列。 -
matrix- 列矩阵(必须有一列且与实例的行数相同)。 - 抛出:
-
MathIllegalArgumentException- 如果指定的列索引无效。 -
MathIllegalArgumentException- 如果矩阵维度与实例列不匹配。
-
getRowVector
将第row行中的条目作为向量获取。- 指定者:
-
getRowVector在接口中FieldMatrix<T extends FieldElement<T>> - 参数:
-
row- 要获取的行 - 返回:
- 一行向量。
- 抛出:
-
MathIllegalArgumentException- 如果指定的行索引无效。
-
setRowVector
将行号为row的条目设置为向量。- 指定者:
-
setRowVector在接口中FieldMatrix<T extends FieldElement<T>> - 参数:
-
row- 要设置的行。 -
vector- 行向量(必须与实例的列数相同)。 - 抛出:
-
MathIllegalArgumentException- 如果指定的行索引无效。 -
MathIllegalArgumentException- 如果向量维度与实例的行不匹配。
-
getColumnVector
将列号为column的条目作为向量返回。- 指定者:
-
getColumnVector在接口中FieldMatrix<T extends FieldElement<T>> - 参数:
-
column- 要获取的列。 - 返回:
- 一列向量。
- 抛出:
-
MathIllegalArgumentException- 如果指定的列索引无效。
-
setColumnVector
将列号为column的条目设置为向量。- 指定者:
-
setColumnVector在接口中FieldMatrix<T extends FieldElement<T>> - 参数:
-
column- 要设置的列。 -
vector- 列向量(必须与实例的行数相同)。 - 抛出:
-
MathIllegalArgumentException- 如果指定的列索引无效。 -
MathIllegalArgumentException- 如果向量维度与实例的列不匹配。
-
getRow
将行号为row的条目作为数组返回。- 指定者:
-
getRow在接口中FieldMatrix<T extends FieldElement<T>> - 参数:
-
row- 要获取的行。 - 返回:
- 行中的条目数组。
- 抛出:
-
MathIllegalArgumentException- 如果指定的行索引无效。
-
setRow
将行号为row的条目设置为行矩阵。- 指定者:
-
setRow在接口中FieldMatrix<T extends FieldElement<T>> - 参数:
-
row- 要设置的行。 -
array- 行矩阵(必须与实例的列数相同)。 - 抛出:
-
MathIllegalArgumentException- 如果指定的行索引无效。 -
MathIllegalArgumentException- 如果数组大小与实例的行不匹配。
-
getColumn
将列号为col的条目作为数组返回。- 指定者:
-
getColumn在接口中FieldMatrix<T extends FieldElement<T>> - 参数:
-
column- 要获取的列。 - 返回:
- 列中的条目数组。
- 抛出:
-
MathIllegalArgumentException- 如果指定的列索引无效。
-
setColumn
将列号为column的条目设置为列矩阵。- 指定者:
-
setColumn在接口中FieldMatrix<T extends FieldElement<T>> - 参数:
-
column- 要设置的列。 -
array- 列数组(必须与实例的行数相同)。 - 抛出:
-
MathIllegalArgumentException- 如果指定的列索引无效。 -
MathIllegalArgumentException- 如果数组大小与实例的列不匹配。
-
getEntry
返回指定行和列中的条目。- 指定者:
-
getEntry在接口中FieldMatrix<T extends FieldElement<T>> - 参数:
-
row- 要获取的条目的行位置 -
column- 要获取的条目的列位置 - 返回:
- 行,列中的矩阵条目
- 抛出:
-
MathIllegalArgumentException- 如果行或列索引无效。
-
setEntry
设置指定行和列中的条目。- 指定者:
-
setEntry在接口中FieldMatrix<T extends FieldElement<T>> - 参数:
-
row- 要设置的条目的行位置 -
column- 要设置的条目的列位置 -
value- 要在(row, column)中设置的矩阵条目。 - 抛出:
-
MathIllegalArgumentException- 如果行或列索引无效。
-
addToEntry
public abstract void addToEntry(int row, int column, T increment) throws MathIllegalArgumentException 更改指定行和列中的条目。- 指定者:
-
addToEntry在接口中FieldMatrix<T extends FieldElement<T>> - 参数:
-
row- 要设置的条目的行位置。 -
column- 要设置的条目的列位置。 -
increment- 要添加到(row, column)中当前矩阵条目的值。 - 抛出:
-
MathIllegalArgumentException- 如果行或列索引无效。
-
multiplyEntry
public abstract void multiplyEntry(int row, int column, T factor) throws MathIllegalArgumentException 更改指定行和列中的条目。- 指定者:
-
multiplyEntry在接口中FieldMatrix<T extends FieldElement<T>> - 参数:
-
row- 要设置的条目的行位置。 -
column- 要设置的条目的列位置。 -
factor- 当前矩阵条目在(row,column)处的乘法因子 - 抛出:
-
MathIllegalArgumentException- 如果行或列索引无效。
-
transpose
返回此矩阵的转置。- 指定者:
-
transpose在接口中FieldMatrix<T extends FieldElement<T>> - 返回:
- 转置矩阵
-
isSquare
public boolean isSquare()这是一个方阵吗? -
getRowDimension
public abstract int getRowDimension()返回矩阵中的行数。- 指定者:
-
getRowDimension在接口中AnyMatrix - 返回:
- 行维度
-
getColumnDimension
public abstract int getColumnDimension()返回矩阵中的列数。- 指定者:
-
getColumnDimension在接口中AnyMatrix - 返回:
- 列维度
-
getTrace
返回矩阵的迹(主对角线上元素的总和)。- 指定者:
-
getTrace在接口中FieldMatrix<T extends FieldElement<T>> - 返回:
- 迹
- 抛出:
-
MathIllegalArgumentException- 如果矩阵不是方阵。
-
operate
返回将此矩阵乘以向量v的结果。- 指定者:
-
operate在接口中FieldMatrix<T extends FieldElement<T>> - 参数:
-
v- 要操作的向量 - 返回:
-
this * v - 抛出:
-
MathIllegalArgumentException- 如果this矩阵的列数不等于向量v的大小。
-
operate
返回将此矩阵乘以向量v的结果。- 指定者:
-
operate在接口中FieldMatrix<T extends FieldElement<T>> - 参数:
-
v- 要操作的向量 - 返回:
-
this * v - 抛出:
-
MathIllegalArgumentException- 如果this矩阵的列数不等于向量v的大小。
-
preMultiply
返回通过向量v的前乘结果(行向量)。- 指定者:
-
preMultiply在接口中FieldMatrix<T extends FieldElement<T>> - 参数:
-
v- 要前乘的行向量 - 返回:
-
v * this - 抛出:
-
MathIllegalArgumentException- 如果this矩阵的行数不等于向量v的大小
-
preMultiply
返回通过向量v的前乘结果(行向量)。- 指定者:
-
preMultiply在接口中FieldMatrix<T extends FieldElement<T>> - 参数:
-
v- 要前乘的行向量 - 返回:
-
v * this - 抛出:
-
MathIllegalArgumentException- 如果this矩阵的行数不等于向量v的大小
-
walkInRowOrder
按行顺序访问(并可能更改)所有矩阵条目。行顺序从左上角开始,通过一行中的所有元素从左到右迭代,然后转到下一行的最左边元素。
- 指定者:
-
walkInRowOrder在接口中FieldMatrix<T extends FieldElement<T>> - 参数:
-
visitor- 用于处理所有矩阵条目的访问者 - 返回:
-
在遍历结束时由
FieldMatrixChangingVisitor.end()返回的值 - 另请参阅:
-
walkInRowOrder
按行顺序访问(但不更改)所有矩阵条目。行顺序从左上角开始,通过一行中的所有元素从左到右迭代,然后转到下一行的最左边元素。
- 指定者:
-
walkInRowOrder在接口中FieldMatrix<T extends FieldElement<T>> - 参数:
-
visitor- 用于处理所有矩阵条目的访问者 - 返回:
-
在遍历结束时返回
FieldMatrixPreservingVisitor.end()的值 - 另请参阅:
-
walkInRowOrder
public T walkInRowOrder(FieldMatrixChangingVisitor<T> visitor, int startRow, int endRow, int startColumn, int endColumn) throws MathIllegalArgumentException 以行顺序访问(并可能更改)一些矩阵条目。行顺序从左上角开始,从左到右迭代通过一行的所有元素,然后转到下一行的最左边元素。
- 指定者:
-
walkInRowOrder在接口中FieldMatrix<T extends FieldElement<T>> - 参数:
-
visitor- 用于处理所有矩阵条目的访问者 -
startRow- 初始行索引 -
endRow- 最终行索引(包括在内) -
startColumn- 初始列索引 -
endColumn- 最终列索引 - 返回:
-
在遍历结束时返回
FieldMatrixChangingVisitor.end()的值 - 抛出:
-
MathIllegalArgumentException- 如果索引无效。 -
MathIllegalArgumentException- 如果endRow < startRow或endColumn < startColumn。 - 另请参阅:
-
walkInRowOrder
public T walkInRowOrder(FieldMatrixPreservingVisitor<T> visitor, int startRow, int endRow, int startColumn, int endColumn) throws MathIllegalArgumentException 以行顺序访问(但不更改)一些矩阵条目。行顺序从左上角开始,从左到右迭代通过一行的所有元素,然后转到下一行的最左边元素。
- 指定者:
-
walkInRowOrder在接口中FieldMatrix<T extends FieldElement<T>> - 参数:
-
visitor- 用于处理所有矩阵条目的访问者 -
startRow- 初始行索引 -
endRow- 最终行索引(包括在内) -
startColumn- 初始列索引 -
endColumn- 最终列索引 - 返回:
-
在遍历结束时返回
FieldMatrixPreservingVisitor.end()的值 - 抛出:
-
MathIllegalArgumentException- 如果索引无效。 -
MathIllegalArgumentException- 如果endRow < startRow或endColumn < startColumn。 - 另请参阅:
-
walkInColumnOrder
以列顺序访问(并可能更改)所有矩阵条目。列顺序从左上角开始,从上到下迭代通过一列的所有元素,然后转到下一列的最上面元素。
- 指定者:
-
walkInColumnOrder在接口中FieldMatrix<T extends FieldElement<T>> - 参数:
-
visitor- 用于处理所有矩阵条目的访问者 - 返回:
- FieldMatrixChangingVisitor.end()在遍历结束时返回的值
- 另请参阅:
-
walkInColumnOrder
访问(但不更改)所有矩阵条目的列顺序。列顺序从左上角开始,按照从上到下遍历列的所有元素,然后转到下一列的最顶部元素。
- 指定者:
-
walkInColumnOrder在接口中FieldMatrix<T extends FieldElement<T>> - 参数:
-
visitor- 用于处理所有矩阵条目的访问者 - 返回:
- FieldMatrixPreservingVisitor.end()在遍历结束时返回的值
- 另请参阅:
-
walkInColumnOrder
public T walkInColumnOrder(FieldMatrixChangingVisitor<T> visitor, int startRow, int endRow, int startColumn, int endColumn) throws MathIllegalArgumentException 访问(并可能更改)某些矩阵条目的列顺序。列顺序从左上角开始,按照从上到下遍历列的所有元素,然后转到下一列的最顶部元素。
- 指定者:
-
walkInColumnOrder在接口中FieldMatrix<T extends FieldElement<T>> - 参数:
-
visitor- 用于处理所有矩阵条目的访问者 -
startRow- 初始行索引 -
endRow- 最终行索引(包括在内) -
startColumn- 初始列索引 -
endColumn- 最终列索引 - 返回:
- FieldMatrixChangingVisitor.end()在遍历结束时返回的值
- 抛出:
-
MathIllegalArgumentException- 如果endRow < startRow或endColumn < startColumn。 -
MathIllegalArgumentException- 如果索引无效。 - 另请参阅:
-
walkInColumnOrder
public T walkInColumnOrder(FieldMatrixPreservingVisitor<T> visitor, int startRow, int endRow, int startColumn, int endColumn) throws MathIllegalArgumentException 访问(但不更改)某些矩阵条目的列顺序。列顺序从左上角开始,按照从上到下遍历列的所有元素,然后转到下一列的最顶部元素。
- 指定者:
-
walkInColumnOrder在接口中FieldMatrix<T extends FieldElement<T>> - 参数:
-
visitor- 用于处理所有矩阵条目的访问者 -
startRow- 初始行索引 -
endRow- 最终行索引(包括) -
startColumn- 初始列索引 -
endColumn- 最终列索引 - 返回:
-
FieldMatrixPreservingVisitor.end()在遍历结束时返回的值 - 抛出:
-
MathIllegalArgumentException- 如果endRow < startRow或endColumn < startColumn。 -
MathIllegalArgumentException- 如果索引无效。 - 另请参阅:
-
walkInOptimizedOrder
访问(并可能更改)所有矩阵条目,使用最快的可能顺序。最快的遍历顺序取决于确切的矩阵类。它可能不同于传统的行或列顺序。
- 指定者:
-
walkInOptimizedOrder在接口中FieldMatrix<T extends FieldElement<T>> - 参数:
-
visitor- 用于处理所有矩阵条目的访问者 - 返回:
-
FieldMatrixChangingVisitor.end()在遍历结束时返回的值 - 另请参阅:
-
walkInOptimizedOrder
访问(但不更改)所有矩阵条目,使用最快的可能顺序。最快的遍历顺序取决于确切的矩阵类。它可能不同于传统的行或列顺序。
- 指定者:
-
walkInOptimizedOrder在接口中FieldMatrix<T extends FieldElement<T>> - 参数:
-
visitor- 用于处理所有矩阵条目的访问者 - 返回:
-
FieldMatrixPreservingVisitor.end()在遍历结束时返回的值 - 另请参阅:
-
walkInOptimizedOrder
public T walkInOptimizedOrder(FieldMatrixChangingVisitor<T> visitor, int startRow, int endRow, int startColumn, int endColumn) throws MathIllegalArgumentException 访问(并可能更改)一些矩阵条目,使用最快的可能顺序。最快的遍历顺序取决于确切的矩阵类。它可能不同于传统的行或列顺序。
- 指定者:
-
walkInOptimizedOrder在接口中FieldMatrix<T extends FieldElement<T>> - 参数:
-
visitor- 用于处理所有矩阵条目的访问者 -
startRow- 初始行索引 -
endRow- 最终行索引(包括) -
startColumn- 初始列索引 -
endColumn- 最终列索引(包括) - 返回:
-
FieldMatrixChangingVisitor.end()在遍历结束时返回的值 - 抛出:
-
MathIllegalArgumentException- 如果endRow < startRow或endColumn < startColumn。 -
MathIllegalArgumentException- 如果索引无效。 - 另请参阅:
-
walkInOptimizedOrder
public T walkInOptimizedOrder(FieldMatrixPreservingVisitor<T> visitor, int startRow, int endRow, int startColumn, int endColumn) throws MathIllegalArgumentException 访问(但不更改)一些矩阵条目,使用最快的可能顺序。最快的遍历顺序取决于确切的矩阵类。它可能不同于传统的行或列顺序。
- 指定者:
-
walkInOptimizedOrder在接口中FieldMatrix<T extends FieldElement<T>> - 参数:
-
visitor- 用于处理所有矩阵条目的访问者 -
startRow- 初始行索引 -
endRow- 最终行索引(包括) -
startColumn- 初始列索引 -
endColumn- 最终列索引(包括) - 返回:
-
FieldMatrixPreservingVisitor.end()在遍历结束时返回的值 - 抛出:
-
MathIllegalArgumentException- 如果endRow < startRow或endColumn < startColumn。 -
MathIllegalArgumentException- 如果索引无效。 - 另请参阅:
-
toString
获取此矩阵的字符串表示形式。 -
equals
当且仅当object是具有与此矩阵相同维度且所有对应矩阵条目相等的FieldMatrix实例时返回true。 -
hashCode
public int hashCode()为矩阵计算哈希码。 -
checkRowIndex
检查行索引是否有效。- 参数:
-
row- 要检查的行索引。 - 抛出:
-
MathIllegalArgumentException- 如果index无效。
-
checkColumnIndex
检查列索引是否有效。- 参数:
-
column- 要检查的列索引。 - 抛出:
-
MathIllegalArgumentException- 如果index无效。
-
checkSubMatrixIndex
protected void checkSubMatrixIndex(int startRow, int endRow, int startColumn, int endColumn) throws MathIllegalArgumentException 检查子矩阵范围索引是否有效。行和列从0到n-1进行计数。- 参数:
-
startRow- 初始行索引。 -
endRow- 最终行索引。 -
startColumn- 初始列索引。 -
endColumn- 最终列索引。 - 抛出:
-
MathIllegalArgumentException- 如果索引无效。 -
MathIllegalArgumentException- 如果endRow < startRow或endColumn < startColumn。
-
checkSubMatrixIndex
protected void checkSubMatrixIndex(int[] selectedRows, int[] selectedColumns) throws MathIllegalArgumentException, NullArgumentException 检查子矩阵范围索引是否有效。行和列从0到n-1进行计数。- 参数:
-
selectedRows- 行索引的数组。 -
selectedColumns- 列索引的数组。 - 抛出:
-
NullArgumentException- 如果数组为null。 -
MathIllegalArgumentException- 如果数组长度为零。 -
MathIllegalArgumentException- 如果行或列选择无效。
-
checkAdditionCompatible
检查矩阵是否与实例相加兼容。- 参数:
-
m- 要检查的矩阵。 - 抛出:
-
MathIllegalArgumentException- 如果矩阵与实例不兼容相加。
-
checkSubtractionCompatible
检查矩阵是否与实例相减兼容。- 参数:
-
m- 要检查的矩阵。 - 抛出:
-
MathIllegalArgumentException- 如果矩阵与实例不兼容相减。
-
checkMultiplicationCompatible
检查矩阵是否与实例相乘兼容。- 参数:
-
m- 要检查的矩阵。 - 抛出:
-
MathIllegalArgumentException- 如果矩阵与实例不兼容相乘。
-