接口 FieldDecompositionSolver<T extends FieldElement<T>>
- 类型参数:
-
T
- 字段元素的类型
public interface FieldDecompositionSolver<T extends FieldElement<T>>
处理可以解决 A × X = B 的分解算法的接口。
分解算法将 A 矩阵分解为几个特定矩阵的乘积,从中可以以最小二乘意义解决 A × X = B:它们找到 X,使得 ||A × X - B|| 最小。
一些求解器(如FieldLUDecomposition
)只能找到方阵的解,当解是精确线性解时,即 ||A × X - B|| 恰好为0。其他求解器还可以找到具有非方阵 A 和非零最小范数的解。如果存在精确线性解,它也是最小范数解。
-
方法概要
修饰符和类型方法说明int
返回矩阵中的列数。获取分解矩阵的逆(或伪逆)。int
返回矩阵中的行数。boolean
检查分解矩阵是否非奇异。solve
(FieldMatrix<T> b) 解线性方程 A × X = B,其中 A 为矩阵。solve
(FieldVector<T> b) 解线性方程 A × X = B,其中 A 为矩阵。
-
方法详细资料
-
solve
解线性方程 A × X = B,其中 A 为矩阵。A 矩阵是隐含的,由底层分解算法提供。
- 参数:
-
b
- 方程 A × X = B 的右侧 - 返回:
- 一个向量 X,最小化 A × X - B 的二范数
- 抛出:
-
MathIllegalArgumentException
- 如果矩阵维度不匹配或分解矩阵是奇异的。
-
solve
解线性方程 A × X = B,其中 A 为矩阵。A 矩阵是隐含的,由底层分解算法提供。
- 参数:
-
b
- 方程 A × X = B 的右侧 - 返回:
- 一个矩阵 X,最小化 A × X - B 的二范数
- 抛出:
-
MathIllegalArgumentException
- 如果矩阵维度不匹配或分解矩阵是奇异的。
-
isNonSingular
boolean isNonSingular()检查分解矩阵是否非奇异。- 返回:
- 如果分解矩阵是非奇异,则为true
-
getInverse
FieldMatrix<T> getInverse()获取分解矩阵的逆(或伪逆)。- 返回:
- 逆矩阵
- 抛出:
-
MathIllegalArgumentException
- 如果分解矩阵是奇异的。
-
getRowDimension
int getRowDimension()返回矩阵中的行数。- 返回:
- 行维度
- 从以下版本开始:
- 2.0
-
getColumnDimension
int getColumnDimension()返回矩阵中的列数。- 返回:
- 列维度
- 从以下版本开始:
- 2.0
-