类 QRDecomposition

java.lang.Object
org.hipparchus.linear.QRDecomposition
直接已知子类:
RRQRDecomposition

public class QRDecomposition extends Object
计算矩阵的QR分解。

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

该类使用Householder反射器计算分解。

为了提高效率,分解以紧凑形式进行转置。这允许内部循环在行内进行迭代,在Java中这样更加高效。

该类基于来自JAMA库的同名类,做出以下更改:

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

    • QRDecomposition

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

      public QRDecomposition(RealMatrix matrix, double threshold)
      计算给定矩阵的QR分解。
      参数:
      matrix - 要分解的矩阵。
      threshold - 奇异性阈值。
  • 方法详细资料

    • decompose

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

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

      public RealMatrix getR()
      返回分解的矩阵R。

      R是一个上三角矩阵

      返回:
      R矩阵
    • getQ

      public RealMatrix getQ()
      返回分解的矩阵Q。

      Q是一个正交矩阵

      返回:
      Q矩阵
    • getQT

      public RealMatrix getQT()
      返回分解的矩阵Q的转置。

      Q是一个正交矩阵

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

      public RealMatrix getH()
      返回Householder反射器向量。

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

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

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

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

      返回:
      一个求解器