将计算函数存储到磁盘以便在python中快速访问

时间:2011-08-28 03:26:07

标签: python scipy spline

我的问题分为两部分。一:我必须在网格上进行双重整合

answer = integrate (  f(x,y) times besselfunction(x,y))

现在,我已经读过besselfunction可以预先计算并保存到磁盘以便快速访问。我该怎么做呢?现在,我正在根据需要从scipy.special评估besselfunction。

第二个问题:我在数值上积分了一个微分方程,我使用花键解来解决其他微分方程。然而,花键解决方案很慢。有没有办法让这更快?

1 个答案:

答案 0 :(得分:0)

您似乎在寻找磁盘存储器解决方案 您可以创建一个memoization装饰器,它使用berkeleydb将迄今为止计算的所有函数调用的结果存储到磁盘上(如果您可以将生成的berkeleydb文件存放到运行程序的每台机器上,并且不介意它变得非常大,你需要只为一组给定的args计算一次函数...我不知道这是不是在你在这里做什么这是一个好主意虽然)

谷歌搜索“memoize decorator disk”似乎为你的问题提出了一些有趣的解决方案 特别是这个看起来很有希望 - http://www.stanford.edu/~pgbovine/incpy.html