如何从 Julia 的对角矩阵中提取对角元素数组?

Jam*_*der 4 matrix linear-algebra numerical-methods julia

给定 Julia 中的一些对角矩阵,例如A = Diagonal(rand(3,3)),有什么方法可以创建一个一维数组,其元素是这个对角矩阵的对角线条目A

Abo*_*mar 8

diag(A, k::Integer=0)矩阵 A 的第 k 个对角线作为向量。

\n
julia> A = Diagonal(rand(3,3))\n3\xc3\x973 Diagonal{Float64, Vector{Float64}}:\n 0.213159   \xe2\x8b\x85         \xe2\x8b\x85\n  \xe2\x8b\x85        0.034186   \xe2\x8b\x85\n  \xe2\x8b\x85         \xe2\x8b\x85        0.539693\n\njulia> diag(A)\n3-element Vector{Float64}:\n 0.21315894297089488\n 0.03418604147090787\n 0.5396925608269262\n
Run Code Online (Sandbox Code Playgroud)\n