接口 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 和非零最小范数的解。如果存在精确线性解,它也是最小范数解。

  • 方法详细资料

    • solve

      FieldVector<T> solve(FieldVector<T> b)
      解线性方程 A × X = B,其中 A 为矩阵。

      A 矩阵是隐含的,由底层分解算法提供。

      参数:
      b - 方程 A × X = B 的右侧
      返回:
      一个向量 X,最小化 A × X - B 的二范数
      抛出:
      MathIllegalArgumentException - 如果矩阵维度不匹配或分解矩阵是奇异的。
    • solve

      FieldMatrix<T> solve(FieldMatrix<T> b)
      解线性方程 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