类 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
用于可序列化的构造函数protected
AbstractFieldMatrix
(Field<T> field) 创建一个没有数据的矩阵protected
AbstractFieldMatrix
(Field<T> field, int rowDimension, int columnDimension) 使用提供的行和列维度创建一个新的FieldMatrix
。 -
方法概要
修饰符和类型方法说明add
(FieldMatrix<T> m) 计算此矩阵和m的和。abstract void
addToEntry
(int row, int column, T increment) 更改指定行和列中的条目。protected void
检查矩阵是否与该实例相加兼容。protected void
checkColumnIndex
(int column) 检查列索引是否有效。protected void
检查矩阵是否与该实例相乘兼容。protected void
checkRowIndex
(int row) 检查行索引是否有效。protected void
checkSubMatrixIndex
(int[] selectedRows, int[] selectedColumns) 检查子矩阵范围索引是否有效。protected void
checkSubMatrixIndex
(int startRow, int endRow, int startColumn, int endColumn) 检查子矩阵范围索引是否有效。protected void
检查矩阵是否与该实例相减兼容。abstract FieldMatrix
<T> copy()
复制此矩阵(深复制)。void
copySubMatrix
(int[] selectedRows, int[] selectedColumns, T[][] destination) 复制子矩阵。void
copySubMatrix
(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 T
getEntry
(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()
返回矩阵的迹(主对角线上元素的和)。int
hashCode()
为矩阵计算哈希码。boolean
isSquare()
这是一个方阵吗?multiply
(FieldMatrix<T> m) 将此矩阵与m
后置相乘。abstract void
multiplyEntry
(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
的条目设置为列矩阵。void
setColumnMatrix
(int column, FieldMatrix<T> matrix) 将列号为column
的条目设置为列矩阵。void
setColumnVector
(int column, FieldVector<T> vector) 将列号为column
的条目设置为向量。abstract void
更改指定行和列中的条目。void
将行号为row
的条目设置为行矩阵。void
setRowMatrix
(int row, FieldMatrix<T> matrix) 将行号为row
的条目设置为行矩阵。void
setRowVector
(int row, FieldVector<T> vector) 将行号为row
的条目设置为向量。void
setSubMatrix
(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
- 如果矩阵与实例不兼容相乘。
-