gpt4 book ai didi

matrix - Julia - 如何有效地将矩阵的对角线归零?

转载 作者:行者123 更新时间:2023-12-04 00:52:32 25 4
gpt4 key购买 nike

在 Julia 中,将矩阵的对角线变为零的有效方法是什么?

最佳答案

假设 m是你的矩阵大小 N x N可以这样做:

setindex!.(Ref(m), 0.0, 1:N, 1:N)
另外一个选项:
using LinearAlgebra
m[diagind(m)] .= 0.0
以及一些性能测试:
julia> using LinearAlgebra, BenchmarkTools

julia> m=rand(20,20);

julia> @btime setindex!.(Ref($m), 0.0, 1:20, 1:20);
55.533 ns (1 allocation: 240 bytes)

julia> @btime $m[diagind($m)] .= 0.0;
75.386 ns (2 allocations: 80 bytes)

关于matrix - Julia - 如何有效地将矩阵的对角线归零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65392989/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com