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


Julia LinearAlgebra.eigvals用法及代碼示例


用法一

eigvals(A; permute::Bool=true, scale::Bool=true, sortby) -> values

返回 A 的特征值。

對於一般的非對稱矩陣,可以在特征值計算之前指定如何平衡矩陣。 permutescalesortby 關鍵字與 eigen! 相同。

例子

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

julia> eigvals(diag_matrix)
2-element Vector{Float64}:
 1.0
 4.0

用法二

對於標量輸入,eigvals 將返回一個標量。

示例

julia> eigvals(-2)
-2

用法三

eigvals(A, B) -> values

計算 AB 的廣義特征值。

例子

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> eigvals(A,B)
2-element Vector{ComplexF64}:
 0.0 - 1.0im
 0.0 + 1.0im

用法四

eigvals(A::Union{SymTridiagonal, Hermitian, Symmetric}, irange::UnitRange) -> values

返回 A 的特征值。通過指定 UnitRange irange 覆蓋排序特征值的索引,例如,可以僅計算特征值的子集。第 2 到第 8 個特征值。

例子

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, 2:2)
1-element Vector{Float64}:
 0.9999999999999996

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

用法五

eigvals(A::Union{SymTridiagonal, Hermitian, Symmetric}, vl::Real, vu::Real) -> values

返回 A 的特征值。通過為特征值的上下邊界指定一對vlvu,可以僅計算特征值的子集。

例子

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, -1, 2)
1-element Vector{Float64}:
 1.0000000000000009

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

相關用法


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