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


Julia LinearAlgebra.eigvecs用法及代碼示例


用法一

eigvecs(A::SymTridiagonal[, eigvals]) -> Matrix

返回一個矩陣 M ,其列是 A 的特征向量。 (k 特征向量可以從切片 M[:, k] 中獲得。)

如果指定了可選的特征值向量eigvals,則eigvecs返回具體對應的特征向量。

例子

julia> A = SymTridiagonal([1.; 2.; 1.], [2.; 3.])
3×3 SymTridiagonal{Float64, Vector{Float64}}:
 1.0  2.0   ⋅
 2.0  2.0  3.0
  ⋅   3.0  1.0

julia> eigvals(A)
3-element Vector{Float64}:
 -2.1400549446402604
  1.0000000000000002
  5.140054944640259

julia> eigvecs(A)
3×3 Matrix{Float64}:
  0.418304  -0.83205      0.364299
 -0.656749  -7.39009e-16  0.754109
  0.627457   0.5547       0.546448

julia> eigvecs(A, [1.])
3×1 Matrix{Float64}:
  0.8320502943378438
  4.263514128092366e-17
 -0.5547001962252291

用法二

eigvecs(A; permute::Bool=true, scale::Bool=true, `sortby`) -> Matrix

返回一個矩陣 M ,其列是 A 的特征向量。 (k 特征向量可以從切片 M[:, k] 中獲得。)permutescalesortby 關鍵字與 eigen 相同。

例子

julia> eigvecs([1.0 0.0 0.0; 0.0 3.0 0.0; 0.0 0.0 18.0])
3×3 Matrix{Float64}:
 1.0  0.0  0.0
 0.0  1.0  0.0
 0.0  0.0  1.0

用法三

eigvecs(A, B) -> Matrix

返回一個矩陣 M ,其列是 AB 的廣義特征向量。 (k 特征向量可以從切片 M[:, k] 中獲得。)

例子

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

julia> B = [0 1; 1 0]
2×2 Matrix{Int64}:
 0  1
 1  0

julia> eigvecs(A, B)
2×2 Matrix{ComplexF64}:
  0.0+1.0im   0.0-1.0im
 -1.0+0.0im  -1.0-0.0im

相關用法


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