类 SingularValueDecomposition

java.lang.Object
org.hipparchus.linear.SingularValueDecomposition

public class SingularValueDecomposition extends Object
计算矩阵的紧奇异值分解。

矩阵A的奇异值分解是一组三个矩阵:U、Σ和V,使得A = U × Σ × VT。设A为m × n矩阵,则U是一个m × p正交矩阵,Σ是一个p × p对角矩阵,其元素为正数或零,V是一个p × n正交矩阵(因此VT也是正交的),其中p=min(m,n)。

这个类类似于JAMA库中具有类似名称的类,但有以下更改:

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

    • SingularValueDecomposition

      public SingularValueDecomposition(RealMatrix matrix)
      计算给定矩阵的紧奇异值分解。
      参数:
      matrix - 要分解的矩阵。
  • 方法详细资料

    • getU

      public RealMatrix getU()
      返回分解的矩阵U。

      U是一个正交矩阵,即其转置也是其逆。

      返回:
      U矩阵
      另请参阅:
    • getUT

      public RealMatrix getUT()
      返回分解的矩阵U的转置。

      U是一个正交矩阵,即其转置也是其逆。

      返回:
      U矩阵(如果分解的矩阵是奇异的则返回null)
      另请参阅:
    • getS

      public RealMatrix getS()
      返回分解的对角矩阵Σ。

      Σ是一个对角矩阵。奇异值按非递增顺序提供,以与Jama兼容。

      返回:
      Σ矩阵
    • getSingularValues

      public double[] getSingularValues()
      返回分解的矩阵Σ的对角元素。

      奇异值按非递增顺序提供,以与Jama兼容。

      返回:
      Σ矩阵的对角元素
    • getV

      public RealMatrix getV()
      返回分解的矩阵V。

      V是一个正交矩阵,即其转置也是其逆。

      返回:
      V矩阵(如果分解的矩阵是奇异的则返回null)
      另请参阅:
    • getVT

      public RealMatrix getVT()
      返回分解的矩阵V的转置。

      V是一个正交矩阵,即其转置也是其逆。

      返回:
      V矩阵(如果分解的矩阵是奇异的则返回null)
      另请参阅:
    • getCovariance

      public RealMatrix getCovariance(double minSingularValue)
      返回n × n协方差矩阵。

      协方差矩阵是V × J × VT,其中J是奇异值的平方的倒数的对角矩阵。

      参数:
      minSingularValue - 忽略奇异值的阈值(0或负值表示将使用所有奇异值)
      返回:
      协方差矩阵
      抛出:
      IllegalArgumentException - 如果minSingularValue大于最大奇异值,表示所有奇异值都被忽略
    • getNorm

      public double getNorm()
      返回矩阵的L2范数。

      L2范数是max(|A × u|2 / |u|2),其中|.|2表示矢量的2-范数(即传统的欧几里德范数)。

      返回:
      范数
    • getConditionNumber

      public double getConditionNumber()
      返回矩阵的条件数。
      返回:
      矩阵的条件数
    • getInverseConditionNumber

      public double getInverseConditionNumber()
      计算条件数的倒数。在秩不足的情况下,条件数将变为未定义。
      返回:
      条件数的倒数
    • getRank

      public int getRank()
      返回有效数值矩阵秩。

      有效数值秩是非可忽略奇异值的数量。用于识别非可忽略项的阈值是max(m,n) × ulp(s1),其中ulp(s1)是最大奇异值的最不显著位。

      返回:
      有效数值矩阵秩
    • getSolver

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