如何对Julia中的大向量求和
我正在尝试计算一个非常“大”向量的总和,我知道该big()函数可用于计算大数,
我什至在下面使用了它(并且它有效)。但是,如果我尝试总和使用它,则它不起作用。
我两个都试过了big(sum(test, dims=1)) ,sum(big(test), dims=1)) 但收到以下错误:
InexactError: Int64(-3331427209747016990720)
test = Tuple{Int, Int}[]
N = 80
Iterations = 60
for i in 1:10000
push!(test, (big(largeNumber1(N, Iterations)) * big(largeNumber2(N, Iterations)), 0))
end
# this just transforms test into a vector
test = hcat(first.(test), last.(test)) * [1, 0]
sum(test, dims=1) # here is where the code "breaks"
<output> 1-element Vector{Int64}:
-5233167026984513820
很可能我用big() 错了
回答
您没有显示 largeNumber1() 的代码,但您似乎在求和之前将大整数放入 Int64 元组向量中。尝试
test = Tuple{BigInt, BigInt}[]