хранение вычисленной функции на диск для быстрого доступа в Python - PullRequest
0 голосов
/ 28 августа 2011

На мой вопрос есть две части.Первый: мне нужно выполнить двойную интеграцию на сетке

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

Теперь я прочитал, что бессамостоятельность может быть предварительно вычислена и сохранена на диск для быстрого доступа.Как мне это сделать?Прямо сейчас я оцениваю самоотключение по scipy.special, как это требуется.

Второй вопрос: я численно интегрировал дифференциальное уравнение и использую сплайновое решение для решения других дифференциальных уравнений.Однако расщепленный раствор медленный.Есть ли способ сделать это быстрее?

1 Ответ

0 голосов
/ 28 августа 2011

Вы, похоже, ищете решение для записи на диск.
Вы, вероятно, могли бы создать декоратор памятки, который использует berkeleydb для хранения результатов всех вызовов функций, вычисленных до сих пор, на диск (если вы можете перенести полученный файл berkeleydb на каждую машину, на которой вы запускаете программу, и не против того, чтобы она стала действительно огромной , вам нужно будет вычислить функцию для заданного набора аргументов только один раз ... Я не знаю, является ли это хорошей идеей в контексте того, что вы здесь делаете, хотя)
Поиски «записать дискету-декоратор», кажется, вызывают некоторые интересные решения вашей проблемы.
Этот, в частности, выглядит многообещающе - http://www.stanford.edu/~pgbovine/incpy.html

...