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


Julia LinearAlgebra.BunchKaufman用法及代码示例


用法:

BunchKaufman <: Factorization

对称或 Hermitian 矩阵 A 的 Bunch-Kaufman 分解的矩阵分解类型为 P'UDU'PP'LDL'P ,具体取决于上(默认)或下三角形是否存储在 A 中。如果 A 是复对称的,则 U'L' 分别表示非共轭转置,即 transpose(U)transpose(L) 。这是 bunchkaufman 的返回类型,对应的矩阵分解函数。

如果 S::BunchKaufman 是分解对象,则可以根据给定的 S.uploS.p 通过 S.DS.US.L 获得分量。

在给定 S.uploS.p 的情况下,迭代分解产生组件 S.DS.US.L

例子

julia> A = [1 2; 2 3]
2×2 Matrix{Int64}:
 1  2
 2  3

julia> S = bunchkaufman(A) # A gets wrapped internally by Symmetric(A)
BunchKaufman{Float64, Matrix{Float64}}
D factor:
2×2 Tridiagonal{Float64, Vector{Float64}}:
 -0.333333  0.0
  0.0       3.0
U factor:
2×2 UnitUpperTriangular{Float64, Matrix{Float64}}:
 1.0  0.666667
  ⋅   1.0
permutation:
2-element Vector{Int64}:
 1
 2

julia> d, u, p = S; # destructuring via iteration

julia> d == S.D && u == S.U && p == S.p
true

julia> S = bunchkaufman(Symmetric(A, :L))
BunchKaufman{Float64, Matrix{Float64}}
D factor:
2×2 Tridiagonal{Float64, Vector{Float64}}:
 3.0   0.0
 0.0  -0.333333
L factor:
2×2 UnitLowerTriangular{Float64, Matrix{Float64}}:
 1.0        ⋅
 0.666667  1.0
permutation:
2-element Vector{Int64}:
 2
 1

相关用法


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