当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Julia LinearAlgebra.CholeskyPivoted用法及代码示例


用法:

CholeskyPivoted

密集对称/厄米正半正定矩阵 A 的旋转 Cholesky 分解的矩阵分解类型。这是 cholesky(_, Val(true)) 的返回类型,对应的矩阵分解函数。

三角 Cholesky 因子可以通过 F.LF.U 从因式分解 F::CholeskyPivoted 以及通过 F.p 的排列获得,其中 A[F.p, F.p] ≈ Ur' * Ur ≈ Lr * Lr'Ur = F.U[1:F.rank, :]Lr = F.L[:, 1:F.rank]A ≈ Up' * Up ≈ Lp * Lp'Up = F.U[1:F.rank, invperm(F.p)]Lp = F.L[invperm(F.p), 1:F.rank]

以下函数可用于 CholeskyPivoted 对象: size \ inv det rank

迭代分解产生组件 LU

例子

julia> X = [1.0, 2.0, 3.0, 4.0];

julia> A = X * X';

julia> C = cholesky(A, Val(true), check = false)
CholeskyPivoted{Float64, Matrix{Float64}}
U factor with rank 1:
4×4 UpperTriangular{Float64, Matrix{Float64}}:
 4.0  2.0  3.0  1.0
  ⋅   0.0  6.0  2.0
  ⋅    ⋅   9.0  3.0
  ⋅    ⋅    ⋅   1.0
permutation:
4-element Vector{Int64}:
 4
 2
 3
 1

julia> C.U[1:C.rank, :]' * C.U[1:C.rank, :] ≈ A[C.p, C.p]
true

julia> l, u = C; # destructuring via iteration

julia> l == C.L && u == C.U
true

相关用法


注:本文由纯净天空筛选整理自julialang.org 大神的英文原创作品 LinearAlgebra.CholeskyPivoted — Type。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。