當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。