Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Derivatives of the Bessel Functions

Boost , Math Toolkit 2.5.0 , Bessel Functions

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext
Synopsis

<#include<boost/math/special_functions/bessel_prime.hpp>>

template <class T1, class T2>
calculated-result-type cyl_bessel_j_prime(T1 v, T2 x);
template <class T1, class T2, class Policy>
calculated-result-type cyl_bessel_j_prime(T1 v, T2 x, const Policy&);
template <class T1, class T2>
calculated-result-type cyl_neumann_prime(T1 v, T2 x);
template <class T1, class T2, class Policy>
calculated-result-type cyl_neumann_prime(T1 v, T2 x, const Policy&);
template <class T1, class T2>
calculated-result-type cyl_bessel_i_prime(T1 v, T2 x);
template <class T1, class T2, class Policy>
calculated-result-type cyl_bessel_i_prime(T1 v, T2 x, const Policy&);
template <class T1, class T2>
calculated-result-type cyl_bessel_k_prime(T1 v, T2 x);
template <class T1, class T2, class Policy>
calculated-result-type cyl_bessel_k_prime(T1 v, T2 x, const Policy&);
template <class T1, class T2>
calculated-result-type sph_bessel_prime(T1 v, T2 x);
template <class T1, class T2, class Policy>
calculated-result-type sph_bessel_prime(T1 v, T2 x, const Policy&);
template <class T1, class T2>
calculated-result-type sph_neumann_prime(T1 v, T2 x);
template <class T1, class T2, class Policy>
calculated-result-type sph_neumann_prime(T1 v, T2 x, const Policy&);
Description

Эти функции возвращают первую производную относительноxсоответствующей функции Бесселя.

Тип возврата этих функций вычисляется с использованием правил расчета типа результата., когда Т1 и Т2 являются различными типами. Функции также оптимизированы для относительно распространенного случая, когда T1 является целым числом.

Окончательный аргументПолитикаявляется необязательным и может быть использован для контроля поведения функции: как она обрабатывает ошибки, какой уровень точности использовать и т. д. См. документациюдля более подробной информации.

Функции возвращают результатdomain_errorвсякий раз, когда результат не определен или сложен.

Testing

Существует два набора тестовых значений: точечные значения, рассчитанные с использованиемwolframalpha.com, и гораздо больший набор тестов, вычисляемых с использованием отношения к базовым функциям Бесселя, которые реализация не использует.

Accuracy

Точность этих функций в целом аналогична основным функциям Бесселя.

Table 6.50. Error rates for cyl_bessel_i_prime (integer orders)

Microsoft Visual C++ версия 12.0
Win32
двойная

GNU C++ версия 5.1.0
Linux
double

GNU C++ версия 5.1.0
Linux
длинный двойной

Компилятор Sun версии 0x5130
Солнечный солярис
длинный двойной

Бессель I'0: Mathworld Data (целая версия)

Макс = 0.885ε (Средний = 0,567ε)

Макс = 0ε (Средний = 0ε)

Макс = 7,83ε (Средний = 2,84ε)

Макс = 6,52ε (Средний = 2,26ε)

Бессель I'1: Mathworld Data (целая версия)

Макс = 1,61ε (Средний = 0,786ε)

Макс = 0ε (Средний = 0ε)

Макс = 2,3ε (Средний = 1,28ε)

Макс = 2.3ε (Средний = 1.29ε)

Бессел I’n: Mathworld Data (целая версия)

Макс = 3.61ε (Средний = 1.22ε)

Макс = 0ε (Средний = 0ε)

Макс = 2.31ε (Средний = 1,41ε)

Макс = 701ε (Средний = 212ε)


Table 6.51. Error rates for cyl_bessel_i_prime

Microsoft Visual C++ версия 12.0
Win32
двойная

GNU C++ версия 5.1.0
Linux
double

GNU C++ версия 5.1.0
Linux
длинный двойной

Компилятор Sun версии 0x5130
Солнечный солярис
длинный двойной

Бессел I'0: Mathworld Data

Макс = 0.885ε (Средний = 0,567ε)

Макс = 0ε (Средний = 0ε)

Макс = 7,83ε (Средний = 2,84ε)

Макс = 6,52ε (Средний = 2,26ε)

Бессель I'1: Mathworld Data

Макс = 1,61ε (Средний = 0,786ε)

Макс = 0ε (Средний = 0ε)

Макс = 2,3ε (Средний = 1,28ε)

Макс = 2.3ε (Средний = 1.29ε)

Бессел Ян: Данные математического мира

Макс = 3.61ε (Средний = 1.22ε)

Макс = 0ε (Средний = 0ε)

Макс = 2.31ε (Средний = 1,41ε)

Макс = 701ε (Средний = 212ε)

Бессел I'v: Mathworld Data

Макс = 3,76e+003ε (Средний = 1,19e+003ε)

Макс = 1,62ε (Средний = 0,512ε)

Макс = 2,89e+03ε (Средний = 914ε)

Макс = 2,89e+03ε (Средний = 914ε)

Бессел Ян: Случайные данные

Макс = 9,85ε (Средний = 1,83ε)

Макс = 0ε (Средний = 0ε)

Макс = 6,79ε (Средний = 1,13ε)

Макс = 195ε (Средний = 37.1ε)

Бессель Ив: Случайные данные

Макс = 14ε (Средний = 2.46ε)

Макс = 0ε (Средний = 0ε)

Макс = 14.1ε (Средний = 2.93ε)

Макс = 336ε (Средний = 68,5ε)

Бессел I'v: Mathworld Data (большие значения)

Макс = 59.5ε (Средний = 26.8ε)

Макс = 0ε (Средний = 0ε)

Макс = 42.6ε (Средний = 20.2ε)

Макс = 43,9ε (Средний = 20,7ε)


Table 6.52. Error rates for cyl_bessel_j_prime (integer orders)

Microsoft Visual C++ версия 12.0
Win32
двойная

GNU C++ версия 5.1.0
Linux
double

GNU C++ версия 5.1.0
Linux
длинный двойной

Компилятор Sun версии 0x5130
Солнечный солярис
длинный двойной

Bessel J0': Mathworld Data (целая версия)

Макс = 6,62ε (Средний = 2,55ε)

Макс = 0ε (Средний = 0ε)

Макс = 18,9ε (Средний = 6,81ε)

Макс = 18,9ε (Средний = 6,72ε)

Bessel J0': Mathworld Data (Tricky cases) (целая версия)

Макс = 3,67ε (Средний = 1,74ε)

Макс = 0ε (Средний = 0ε)

Макс = 8.08ε (Средний = 4.57ε)

Макс = 7.44ε (Средний = 3.31ε)

Бессел J1': Mathworld Data (целая версия)

Макс = 0,999ε (Средний = 0,627ε)

Макс = 0ε (Средний = 0ε)

Макс = 7.9ε (Средний = 3.37ε)

Макс = 7.9ε (Средний = 3.37ε)

Бессел J1': Mathworld Data (неудобные случаи) (целая версия)

Макс = 288ε (Средний = 129ε)

Макс = 287ε (Средний = 129ε)

Макс = 5.88e+05ε (Средний = 2.63e+05ε)

Макс = 5.88e+05ε (Средний = 2.63e+05ε)

Бессел JN': Mathworld Data (целая версия)

Макс = 14ε (Средний = 6.13ε)

Макс = 0,527ε (Средний = 0,128ε)

Макс = 1.29e+03ε (Средний = 312ε)

Макс = 1.29e+03ε (Средний = 355ε)


Table 6.53. Error rates for cyl_bessel_j_prime

Microsoft Visual C++ версия 12.0
Win32
двойная

GNU C++ версия 5.1.0
Linux
double

GNU C++ версия 5.1.0
Linux
длинный двойной

Компилятор Sun версии 0x5130
Солнечный солярис
длинный двойной

Бессел J0': Mathworld Data

Макс = 6,62ε (Средний = 2,55ε)

Макс = 0ε (Средний = 0ε)

Макс = 18,9ε (Средний = 6,81ε)

Макс = 18,9ε (Средний = 6,72ε)

Бессел J0': Mathworld Data

Макс = 3,67ε (Средний = 1,74ε)

Макс = 0ε (Средний = 0ε)

Макс = 8.08ε (Средний = 4.57ε)

Макс = 7.44ε (Средний = 3.31ε)

Бессел J1': Mathworld Data

Макс = 0,999ε (Средний = 0,627ε)

Макс = 0ε (Средний = 0ε)

Макс = 7.9ε (Средний = 3.37ε)

Макс = 7.9ε (Средний = 3.37ε)

Бессел J1': Mathworld Data

Макс = 288ε (Средний = 129ε)

Макс = 287ε (Средний = 129ε)

Макс = 5.88e+05ε (Средний = 2.63e+05ε)

Макс = 5.88e+05ε (Средний = 2.63e+05ε)

Бессел JN': Mathworld Data

Макс = 14ε (Средний = 6.13ε)

Макс = 0,527ε (Средний = 0,128ε)

Макс = 1.29e+03ε (Средний = 312ε)

Макс = 1.29e+03ε (Средний = 355ε)

Бессел Дж': Данные математического мира

Макс = 23,7ε (Средний = 8,01ε)

Макс = 21,5ε (Средний = 4,7ε)

Макс = 42,5ε (Средний = 9,31ε)

Макс = 42,5ε (Средний = 9,32ε)

Бессель Дж': Данные математического мира (большие значения)

Макс = 2,9ε (Средний = 1,61ε)

Макс = 0ε (Средний = 0ε)

Макс = 989ε (Средний = 495ε)

Макс = 989ε (Средний = 495ε)

Бессел JN': Случайные данные

Макс = 6.34ε (Средний = 0.997ε)

Макс = 0,593ε (Средний = 0,0396ε)

Макс = 17.3ε (Средний = 2.47ε)

Макс = 79.4ε (Средний = 16.2ε)

Бессель Дж': Случайные данные

Макс = 176ε (Средний = 9,76ε)

Макс = 0.885ε (Средний = 0,0457ε)

Макс = 139ε (Средний = 6,47ε)

Макс = 279ε (Средний = 27.2ε)

Бессель Дж': Случайные данные (Tricky big values)

Макс = 379ε (Средний = 45.4ε)

Макс = 0ε (Средний = 0ε)

Макс = 474ε (Средний = 62.2ε)

Макс = 474ε (Средний = 64,5ε)


Table 6.54. Error rates for cyl_bessel_k_prime (integer orders)

Microsoft Visual C++ версия 12.0
Win32
двойная

GNU C++ версия 5.1.0
Linux
double

GNU C++ версия 5.1.0
Linux
длинный двойной

Компилятор Sun версии 0x5130
Солнечный солярис
длинный двойной

Бессел К'0: Данные Mathworld (целая версия)

Макс = 1ε (Средний = 0,573ε)

Макс = 0ε (Средний = 0ε)

Макс = 1,8ε (Средний = 1,02ε)

Макс = 1,8ε (Средний = 1,02ε)

Бессел К'1: Данные Mathworld (целая версия)

Макс = 1,09ε (Средний = 0,607ε)

Макс = 0ε (Средний = 0ε)

Макс = 1,96ε (Средний = 1ε)

Макс = 1,96ε (Средний = 1,04ε)

Бессел К'н: Данные математического мира (целая версия)

Макс = 4.17ε (Средний = 1,74ε)

Макс = 0ε (Средний = 0ε)

Макс = 4.47ε (Средний = 2.05ε)

Макс = 4,47ε (Средний = 1,93ε)


Table 6.55. Error rates for cyl_bessel_k_prime

Microsoft Visual C++ версия 12.0
Win32
двойная

GNU C++ версия 5.1.0
Linux
double

GNU C++ версия 5.1.0
Linux
длинный двойной

Компилятор Sun версии 0x5130
Солнечный солярис
длинный двойной

Бессел К'0: Данные математического мира

Макс = 1ε (Средний = 0,573ε)

Макс = 0ε (Средний = 0ε)

Макс = 1,8ε (Средний = 1,02ε)

Макс = 1,8ε (Средний = 1,02ε)

Бессел К'1: Данные математического мира

Макс = 1,09ε (Средний = 0,607ε)

Макс = 0ε (Средний = 0ε)

Макс = 1,96ε (Средний = 1ε)

Макс = 1,96ε (Средний = 1,04ε)

Бессел К'н: Данные математического мира

Макс = 4.17ε (Средний = 1,74ε)

Макс = 0ε (Средний = 0ε)

Макс = 4.47ε (Средний = 2.05ε)

Макс = 4,47ε (Средний = 1,93ε)

Бессел К'в: Данные математического мира

Макс = 3,94ε (Средний = 1,43ε)

Макс = 0ε (Средний = 0ε)

Макс = 3,94ε (Средний = 2,49ε)

Макс = 3,94ε (Средний = 2,35ε)

Бессел К'в: Данные математического мира (большие значения)

Макс = 18,6ε (Средний = 12,1ε)

Макс = 0ε (Средний = 0ε)

Макс = 59,2ε (Средний = 42,9ε)

Макс = 59,8ε (Средний = 43,4ε)

Бессел К'н: Случайные данные

Макс = 8.18ε (Средний = 1,45ε)

Макс = 0ε (Средний = 0ε)

Макс = 4,53ε (Средний = 1,12ε)

Макс = 4,45ε (Средний = 1,23ε)

Бессел К'в: Случайные данные

Макс = 8.32ε (Средний = 1,65ε)

Макс = 0ε (Средний = 0ε)

Макс = 7,95ε (Средний = 1,53ε)

Макс = 7,95ε (Средний = 1,55ε)


Table 6.56. Error rates for sph_bessel_prime

Microsoft Visual C++ версия 12.0
Win32
двойная

GNU C++ версия 5.1.0
Linux
double

GNU C++ версия 5.1.0
Linux
длинный двойной

Компилятор Sun версии 0x5130
Солнечный солярис
длинный двойной

Бессель Дж': Случайные данные

Макс = 307ε (Средний = 25.2ε)

Макс = 0,753ε (Средний = 0,0343ε)

Макс = 167ε (Средний = 12ε)

Макс = 167ε (Средний = 33.2ε)


Table 6.57. Error rates for sph_neumann_prime

Microsoft Visual C++ версия 12.0
Win32
двойная

GNU C++ версия 5.1.0
Linux
double

GNU C++ версия 5.1.0
Linux
длинный двойной

Компилятор Sun версии 0x5130
Солнечный солярис
длинный двойной

y': Случайные данные

Макс = 296ε (Средний = 25.6ε)

Макс = 0,752ε (Средний = 0,062ε)

Макс = 158ε (Средний = 18.8ε)

Макс = 158ε (Средний = 20.2ε)


Implementation

В общем случае производные рассчитываются с использованием отношений:

Есть также ряд особых случаев, для больших x у нас есть:

Для маленьких x:


PrevUpHomeNext

Статья Derivatives of the Bessel Functions раздела Math Toolkit 2.5.0 Bessel Functions может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Bessel Functions ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 20:20:07/0.0085380077362061/0