微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何对 Julia 中的大向量求和

如何解决如何对 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}[]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。