相关疑难解决方法(0)

在Julia中有效地将标量添加到矩阵中

我需要为一个巨大矩阵的所有元素添加一个标量.矩阵将尽可能大.在示例中,我将使用2 GiB的大小,但在我的实际计算中它将更大.

A = rand(2^14, 2^14)
Run Code Online (Sandbox Code Playgroud)

如果我执行

A += 1.0
Run Code Online (Sandbox Code Playgroud)

Julia分配额外的2 GiB内存.该操作大约需要1秒.我可以使用一个for循环:

for jj = 1:size(A, 2), ii = 1:size(A, 1)
  A[ii, jj] = A[ii, jj] + 1.0
end
Run Code Online (Sandbox Code Playgroud)

这不会分配任何内存,但需要一分钟.这两种方法对我来说都不可行,因为第一种方法违反了内存约束,第二种方法明显效率低下.对于元素乘法,有scal!使用BLAS.有没有什么方法可以像乘法一样有效地执行加法scal!

math matrix julia

4
推荐指数
2
解决办法
608
查看次数

标签 统计

julia ×1

math ×1

matrix ×1