singalen: (Default)
singalen ([personal profile] singalen) wrote2008-05-21 08:33 pm
Entry tags:

Разыскивается язык программирования.

Обсчитывать многократные суммы от всяких математических функций.
Типа f(x) = sum(i=-inf..inf)sum(j=-inf..inf) g(i,j,x)
где g(i,j,x) = (besseli(i,i+j,x))/besseli0(i+j,x)

Не смущайтесь бесконечностями, функция имеет более-менее ненулевые значения в ограниченных пределах. Эпсилон для определения пределов на ходу задавать надо.

Требования:
- работать быстро, рассчитывать надо дофига;
- Экономить CPU - кэшировать уже рассчитанные суммы, чтобы не считать повторно;
- Экономить память - кэш не должен есть много;
- Крайне желательно сохранять кэш между запусками;

Спец. пакет, если такой есть, подойдёт. Mathematica, скажем, не тянет.
C - это хорошо, но слишком много их, хороших и разных.

[identity profile] nboyko.livejournal.com 2008-05-21 06:33 pm (UTC)(link)
Тебе для спасения студенчества или для интегрирования в коммерческий продукт?

C++ в связке с boost,
Посмотри сюда, тут дофига функций: http://www.boost.org/doc/libs/1_35_0/libs/math/doc/sf_and_dist/html/index.html
Даже если там чего-то и нет, C++ элементарно интегрируется с фортраном. Для фортрана есть все.

Посмотри еще в сторону matlab/octave, эта хрень интерпретируемая, плюс не факт, что будет легко интегрироваться. Зато если нужно что-то быстро задрафтить и график нарисовать - вещь идеальная (для дипломного проекта самое оно).