singalen: (Default)
[personal profile] singalen
Обсчитывать многократные суммы от всяких математических функций.
Типа 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 - это хорошо, но слишком много их, хороших и разных.

(no subject)

21/5/08 18:33 (UTC)
Posted by [identity profile] nboyko.livejournal.com
Тебе для спасения студенчества или для интегрирования в коммерческий продукт?

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

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