类 LUDecomposition

java.lang.Object
org.hipparchus.linear.LUDecomposition

public class LUDecomposition extends Object
计算方阵的LUP分解。

矩阵A的LUP分解包括三个矩阵L、U和P,满足:P×A = L×U。其中,L是下三角矩阵(对角线元素为1),U是上三角矩阵,P是置换矩阵。所有矩阵均为m×m。

正如P矩阵的存在所示,此分解是使用部分主元消去实现的。

此类基于来自JAMA库的具有类似名称的类。

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

    • LUDecomposition

      public LUDecomposition(RealMatrix matrix)
      计算给定矩阵的LU分解。此构造函数使用1e-11作为奇异阈值的默认值。
      参数:
      matrix - 要分解的矩阵。
      抛出:
      MathIllegalArgumentException - 如果矩阵不是方阵。
    • LUDecomposition

      public LUDecomposition(RealMatrix matrix, double singularityThreshold)
      计算给定矩阵的LU分解。
      参数:
      matrix - 要分解的矩阵。
      singularityThreshold - 基于部分行范数的阈值,在此阈值以下矩阵被视为奇异
      抛出:
      MathIllegalArgumentException - 如果矩阵不是方阵
  • 方法详细资料

    • getL

      public RealMatrix getL()
      返回分解的矩阵L。

      L是下三角矩阵

      返回:
      L矩阵(如果分解的矩阵是奇异则返回null)
    • getU

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

      U是上三角矩阵

      返回:
      U矩阵(如果分解的矩阵是奇异则返回null)
    • getP

      public RealMatrix getP()
      返回P行置换矩阵。

      P是一个稀疏矩阵,每行和每列中恰好有一个元素设置为1.0,所有其他元素均设置为0.0。

      1元素的位置由主元置换向量给出。

      返回:
      P行置换矩阵(如果分解的矩阵是奇异则返回null)
      另请参阅:
    • getPivot

      public int[] getPivot()
      返回主元置换向量。
      返回:
      主元置换向量
      另请参阅:
    • getDeterminant

      public double getDeterminant()
      返回矩阵的行列式
      返回:
      矩阵的行列式
    • getSolver

      public DecompositionSolver getSolver()
      获取用于在精确线性意义下找到A × X = B解的求解器。
      返回:
      一个求解器