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


Julia LinearAlgebra.eigvals!用法及代码示例


用法一

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

eigvals 相同,但通过覆盖输入 A 而不是创建副本来节省空间。 permutescalesortby 关键字与 eigen 相同。

注意

输入矩阵 A 在调用 eigvals! 后将不包含其特征值 - A 用作工作空间。

例子

julia> A = [1. 2.; 3. 4.]
2×2 Matrix{Float64}:
 1.0  2.0
 3.0  4.0

julia> eigvals!(A)
2-element Vector{Float64}:
 -0.3722813232690143
  5.372281323269014

julia> A
2×2 Matrix{Float64}:
 -0.372281  -1.0
  0.0        5.37228

用法二

eigvals!(A, B; sortby) -> values

eigvals 相同,但通过覆盖输入 A (和 B )而不是创建副本来节省空间。

注意

调用eigvals! 后,输入矩阵AB 将不包含它们的特征值。它们用作工作区。

例子

julia> A = [1. 0.; 0. -1.]
2×2 Matrix{Float64}:
 1.0   0.0
 0.0  -1.0

julia> B = [0. 1.; 1. 0.]
2×2 Matrix{Float64}:
 0.0  1.0
 1.0  0.0

julia> eigvals!(A, B)
2-element Vector{ComplexF64}:
 0.0 - 1.0im
 0.0 + 1.0im

julia> A
2×2 Matrix{Float64}:
 -0.0  -1.0
  1.0  -0.0

julia> B
2×2 Matrix{Float64}:
 1.0  0.0
 0.0  1.0

用法三

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

eigvals 相同,但通过覆盖输入 A 而不是创建副本来节省空间。 irange 是要搜索的特征值范围 indices - 例如,第 2 到第 8 个特征值。

用法四

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

eigvals 相同,但通过覆盖输入 A 而不是创建副本来节省空间。 vl是寻找特征值区间的下界,vu是上界。

相关用法


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