类 FieldQRDecomposition<T extends CalculusFieldElement<T>>

java.lang.Object
org.hipparchus.linear.FieldQRDecomposition<T>
类型参数:
T - 底层字段元素的类型

public class FieldQRDecomposition<T extends CalculusFieldElement<T>> extends Object
计算字段矩阵的QR分解。

矩阵A的QR分解包括满足以下条件的两个矩阵Q和R:A = QR,其中Q是正交的(QTQ = I),R是上三角形的。如果A是m×n,则Q是m×m,R是m×n。

此类使用Householder反射来计算分解。

出于效率考虑,分解以紧凑形式进行转置。这允许内部循环在行内进行迭代,在Java中这样做更加高效。

此类基于类QRDecomposition

另请参阅:
  • 构造器详细资料

    • FieldQRDecomposition

      public FieldQRDecomposition(FieldMatrix<T> matrix)
      计算给定矩阵的QR分解。奇异性阈值默认为零。
      参数:
      matrix - 要分解的矩阵。
      另请参阅:
    • FieldQRDecomposition

      public FieldQRDecomposition(FieldMatrix<T> matrix, T threshold)
      计算给定矩阵的QR分解。
      参数:
      matrix - 要分解的矩阵。
      threshold - 奇异性阈值。
    • FieldQRDecomposition

      public FieldQRDecomposition(FieldMatrix<T> matrix, T threshold, Predicate<T> zeroChecker)
      计算给定矩阵的QR分解。
      参数:
      matrix - 要分解的矩阵。
      threshold - 奇异性阈值。
      zeroChecker - 零检查器
  • 方法详细资料

    • decompose

      protected void decompose(T[][] matrix)
      分解矩阵。
      参数:
      matrix - 转置矩阵
    • performHouseholderReflection

      protected void performHouseholderReflection(int minor, T[][] matrix)
      对A的子矩阵A(minor, minor)执行Householder反射。
      参数:
      minor - 子矩阵索引
      matrix - 转置矩阵
    • getR

      public FieldMatrix<T> getR()
      返回分解的矩阵R。

      R是一个上三角矩阵

      返回:
      R矩阵
    • getQ

      public FieldMatrix<T> getQ()
      返回分解的矩阵Q。

      Q是一个正交矩阵

      返回:
      Q矩阵
    • getQT

      public FieldMatrix<T> getQT()
      返回分解的矩阵Q的转置。

      Q是一个正交矩阵

      返回:
      Q矩阵的转置,QT
    • getH

      public FieldMatrix<T> getH()
      返回Householder反射向量。

      H是一个下梯形矩阵,其列代表每个连续的Householder反射向量。该矩阵用于计算Q。

      返回:
      包含Householder反射向量的矩阵
    • getSolver

      public FieldDecompositionSolver<T> getSolver()
      获取用于在最小二乘意义下找到A × X = B解的求解器。

      最小二乘意义意味着可以为超定系统计算求解器(即方程数多于未知数的系统,对应于具有更多行数而不是列数的高A矩阵)。在任何情况下,如果矩阵在设置为构造时的容差内是奇异的,则在调用solve方法时将触发错误。

      返回:
      一个求解器