类 RectangularCholeskyDecomposition

java.lang.Object
org.hipparchus.linear.RectangularCholeskyDecomposition

public class RectangularCholeskyDecomposition extends Object
计算矩阵的矩形Cholesky分解。

实对称半正定矩阵A的矩形Cholesky分解包括一个具有相同行数的矩形矩阵B,使得:A几乎等于BBT,取决于用户定义的容差。在某种意义上,这就是A的平方根。

与常规的CholeskyDecomposition不同的是,行/列可能会被置换(因此是矩形形状而不是传统的三角形形状),并且有一个阈值来忽略小的对角线元素。例如,这用于在p维子空间(p < n)中生成相关的随机n维向量。换句话说,它允许从仅为半正定而不是正定的协方差矩阵生成随机向量。

矩形Cholesky分解不适用于解线性系统,因此不提供任何分解求解器

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

    • RectangularCholeskyDecomposition

      public RectangularCholeskyDecomposition(RealMatrix matrix) throws MathIllegalArgumentException
      分解对称正定半定矩阵。

      注意:此构造方法遵循linpack方法,通过进行Cholesky算法,直到遇到非正对角线元素为止,以检测相关列。

      参数:
      matrix - 对称正定半定矩阵。
      抛出:
      MathIllegalArgumentException - 如果矩阵不是正定半定的。
      另请参阅:
    • RectangularCholeskyDecomposition

      public RectangularCholeskyDecomposition(RealMatrix matrix, double small) throws MathIllegalArgumentException
      分解对称正定半定矩阵。
      参数:
      matrix - 对称正定半定矩阵。
      small - 对角线元素的阈值,低于该阈值的列被视为依赖于前面的列并被丢弃。
      抛出:
      MathIllegalArgumentException - 如果矩阵不是正定半定的。
  • 方法详细资料

    • getRootMatrix

      public RealMatrix getRootMatrix()
      获取协方差矩阵的根。根是矩形矩阵B,使得协方差矩阵等于B.BT
      返回:
      方阵的根
      另请参阅:
    • getRank

      public int getRank()
      获取对称正定半定矩阵的秩。r是对称正定半定矩阵中独立行的数量,也是分解的矩形矩阵的列数。
      返回:
      方阵的r。
      另请参阅: