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


Julia LinearAlgebra.schur用法及代碼示例


用法一

schur(A::StridedMatrix) -> F::Schur

計算矩陣 A 的 Schur 分解。 (準)三角 Schur 因子可以從 Schur 對象 F 使用 F.SchurF.T 獲得,正交/單一 Schur 向量可以使用 F.vectorsF.Z 獲得,使得 A = F.vectors * F.Schur * F.vectors' . A 的特征值可以通過 F.values 獲得。

對於實數 A ,Schur 分解是 "quasitriangular",這意味著它是 upper-triangular,但對於任何共軛複特征值對有 2×2 對角塊;即使存在複雜的特征值,這也允許分解是純實的。要從真正的準三角分解中獲得(複雜的)純 upper-triangular Schur 分解,您可以使用 Schur{Complex}(schur(A))

迭代分解生成組件 F.TF.ZF.values

例子

julia> A = [5. 7.; -2. -4.]
2×2 Matrix{Float64}:
  5.0   7.0
 -2.0  -4.0

julia> F = schur(A)
Schur{Float64, Matrix{Float64}}
T factor:
2×2 Matrix{Float64}:
 3.0   9.0
 0.0  -2.0
Z factor:
2×2 Matrix{Float64}:
  0.961524  0.274721
 -0.274721  0.961524
eigenvalues:
2-element Vector{Float64}:
  3.0
 -2.0

julia> F.vectors * F.Schur * F.vectors'
2×2 Matrix{Float64}:
  5.0   7.0
 -2.0  -4.0

julia> t, z, vals = F; # destructuring via iteration

julia> t == F.T && z == F.Z && vals == F.values
true

用法二

schur(A::StridedMatrix, B::StridedMatrix) -> F::GeneralizedSchur

計算矩陣 AB 的廣義舒爾(或 QZ)分解。 (準)三角舒爾因子可以從 Schur 對象 FF.SF.T 獲得,左酉/正交舒爾矢量可以通過 F.leftF.Q 和右酉獲得/正交 Schur 向量可以通過 F.rightF.Z 獲得,使得 A=F.left*F.S*F.right'B=F.left*F.T*F.right'AB的廣義特征值可以用F.α./F.β得到。

迭代分解產生組件 F.SF.TF.QF.ZF.αF.β

相關用法


注:本文由純淨天空篩選整理自julialang.org 大神的英文原創作品 LinearAlgebra.schur — Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。