gpt4 book ai didi

c++ - 无限级数的并行计算

转载 作者:太空宇宙 更新时间:2023-11-04 14:51:22 25 4
gpt4 key购买 nike

我有一个快速的问题,关于如何加速无穷级数的计算。这只是其中一个例子:arctan(x) = x - x^3/3 + x^5/5 - x^7/7 + ....

假设您有一些允许您处理大数的库,那么第一个明显的解决方案是开始添加/减去序列的每个元素,直到达到某个目标 N。

您还可以预先保存 X^n,这样对于每个下一个元素,您可以执行 lastX*(x^2) 而不是计算 x^(n+2)

但总的来说,它似乎是非常顺序的任务,您可以做什么来利用多个处理器(8+)??。

非常感谢!

编辑:我需要计算从 100k 到 1m 的迭代次数。这是基于 C++ 的应用程序,但我正在寻找抽象的解决方案,所以没关系。感谢回复。

最佳答案

您需要分解问题以匹配您拥有的处理器或线程的数量。在您的情况下,例如,您可以让一个处理器处理偶数项,而另一个处理器处理奇数项。不是预先计算 x^2 并使用 lastX*(x^2),而是使用 lastX*(x^4) 来跳过所有其他项。要使用 8 个处理器,请将前一项乘以 x^16 以跳过 8 项。

附言大多数时候遇到这样的问题时,值得寻找一种更有效的方法来计算结果。在大多数情况下,更好的算法能战胜更大的马力。

关于c++ - 无限级数的并行计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3886287/

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