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

Spherical Bessel Functions of the First and Second Kinds

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.hpp>>

template <class T1, class T2>
calculated-result-type sph_bessel(unsigned v, T2 x);
template <class T1, class T2, class Policy>
calculated-result-type sph_bessel(unsigned v, T2 x, const Policy&);
template <class T1, class T2>
calculated-result-type sph_neumann(unsigned v, T2 x);
template <class T1, class T2, class Policy>
calculated-result-type sph_neumann(unsigned v, T2 x, const Policy&);
Description

Функцииsph_besselиsph_neumannвозвращают результат сферической бесселевой функции первого и второго видов соответственно:

sph_bessel(v, x) = jv(x)

sph_neumann(v, x) = yv(x) = nv(x)

где:

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

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

Функции возвращают результатdomain_errorвсякий раз, когда результат не определен или сложен: это происходит, когда<x<0>.

Jv& #160; функция циклична, как Jv& #160; но отличается своим поведением в начале:

Аналогично yv& #160; также цикличен для большого x, но имеет тенденцию к -∞   для малогоx:

Testing

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

Accuracy

Table 6.48. Error rates for sph_bessel

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

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

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

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

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

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

Max = 243ε (Mean = 13.3ε)

:Max = 1,91e+06ε (Mean = 1,09e+05ε)]

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

GSL 1.16:Макс = 1,79e+03ε (Средний = 107ε)

Макс = 243ε (Средний = 33,7ε)


Table 6.49. Error rates for sph_neumann

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

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

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

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

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

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

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

GSL 1.16:Макс = 8.5e+04ε (Средний = 5.33e+03ε)

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

:Макс = 1,6e+06ε (Средний = 1,4e+05ε)]

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


Implementation

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

Особые случаи имеют место для:

j0 =sinc_pi(x) = sin(x)/x

и для малыхx< 1мы можем использовать ряд:

который аккуратно избегает задачи вычисления 0/0, которая может возникнуть при основном определении x → 0.


PrevUpHomeNext

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




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



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


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 04:44:16/0.0041110515594482/0