Pathfinder 0 15 сентября, 2008 Опубликовано 15 сентября, 2008 · Жалоба Ищу библиотеку, которая позволяет вычислить модифицированную функцию Бесселя с экспоненциальным масштабным множителем. Пока что использую GSL из GNUWin32, но она не считает функцию с порядком выше 32-го. Насколько я понял, в Матлабе используется вот эта библиотека: http://www.netlib.org/amos, но она на фортране :05: ... боюсь, проблематично её будет с MSVC-шным проектом использовать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mdmitry 0 16 сентября, 2008 Опубликовано 16 сентября, 2008 · Жалоба Посмотрите математические библиотеки, идущие в комплекте к Scientific linux. Библиотек несколько, в какой специальные функции не помню. Они добавлены в дистрибутив. Есть в исходных кодах на С. В linux есть транслятор fortran->C, скорее не очень эффективный, но все же. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
=GM= 0 17 сентября, 2008 Опубликовано 17 сентября, 2008 · Жалоба ...позволяет вычислить модифицированную функцию Бесселя с экспоненциальным масштабным множителем. Пока что использую GSL из GNUWin32, но она не считает функцию с порядком выше 32-го Можно посчитать нулевой и первый порядок с помощью рядов, потом считаете функцию требуемого порядка с помощью рекурсивной формулы. Вполне прилично получалось до 100 порядка, проверял по таблицам. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Pathfinder 0 20 сентября, 2008 Опубликовано 20 сентября, 2008 · Жалоба mdmitry Насколько я понял, в Scientific Linux используется GSL, и как раз её я использую сейчас. Правда приходится пользоваться версией 1.8, поскольку свежие не понял, как под винду собрать... За наводку про F2C спасибо, нашёл и попробовал. Исходник конечно не фонтан, но лучше чем ничего. Самое неприятное, что в результате сборки бесселя получается dll-ка размером 132КБ, поскольку приходится фортрановский рантайм прилинковывать. При таких размерах она скорее всего не влезет в страницу кэша и будет тормозить. =GM= Согласен, решение логичное, и в моём случае удобное, поскольку мне нужно считать I_0, I_n и I_2n для одного аргумента. Но смущает то, что его не используют (как мне показалось) ни в netlib.org/amos ни в GSL. Может при рекурсивном вычислении ошибка накапливается? Там ведь дробно-полиномиальный множитель будет... А не помните, какая точность получалась в сравнении с таблицами? Мне очень желательно 12 знаков получить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
=GM= 0 21 сентября, 2008 Опубликовано 21 сентября, 2008 · Жалоба =GM= А не помните, какая точность получалась в сравнении с таблицами? Мне очень желательно 12 знаков получить Давно было, лет 25 назад, считал на фортране ряды Пуассона, плохо сходящиеся, помню, что точность переменных была удвоенная, то ли 64 бита, то ли 80, с таблицами совпадало до последнего знака. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться