]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/math/doc/sf/bessel_spherical.qbk
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / math / doc / sf / bessel_spherical.qbk
CommitLineData
7c673cae
FG
1
2[section:sph_bessel Spherical Bessel Functions of the First and Second Kinds]
3
4[h4 Synopsis]
5
6`#include <boost/math/special_functions/bessel.hpp>`
7
8 template <class T1, class T2>
9 ``__sf_result`` sph_bessel(unsigned v, T2 x);
10
11 template <class T1, class T2, class ``__Policy``>
12 ``__sf_result`` sph_bessel(unsigned v, T2 x, const ``__Policy``&);
13
14 template <class T1, class T2>
15 ``__sf_result`` sph_neumann(unsigned v, T2 x);
16
17 template <class T1, class T2, class ``__Policy``>
18 ``__sf_result`` sph_neumann(unsigned v, T2 x, const ``__Policy``&);
19
20[h4 Description]
21
22The functions __sph_bessel and __sph_neumann return the result of the
23Spherical Bessel functions of the first and second kinds respectively:
24
25sph_bessel(v, x) = j[sub v](x)
26
27sph_neumann(v, x) = y[sub v](x) = n[sub v](x)
28
29where:
30
31[equation sbessel2]
32
33The return type of these functions is computed using the __arg_promotion_rules
34for the single argument type T.
35
36[optional_policy]
37
38The functions return the result of __domain_error whenever the result is
39undefined or complex: this occurs when `x < 0`.
40
41The j[sub v][space] function is cyclic like J[sub v][space] but differs
42in its behaviour at the origin:
43
44[graph sph_bessel]
45
46Likewise y[sub v][space] is also cyclic for large x, but tends to -[infin][space]
47for small /x/:
48
49[graph sph_neumann]
50
51[h4 Testing]
52
53There are two sets of test values: spot values calculated using
54[@http://functions.wolfram.com/ functions.wolfram.com],
55and a much larger set of tests computed using
56a simplified version of this implementation
57(with all the special case handling removed).
58
59[h4 Accuracy]
60
61[table_sph_bessel]
62
63[table_sph_neumann]
64
65[h4 Implementation]
66
67Other than error handling and a couple of special cases these functions
68are implemented directly in terms of their definitions:
69
70[equation sbessel2]
71
72The special cases occur for:
73
74j[sub 0][space]= __sinc_pi(x) = sin(x) / x
75
76and for small ['x < 1], we can use the series:
77
78[equation sbessel5]
79
80which neatly avoids the problem of calculating 0/0 that can occur with the
81main definition as x [rarr] 0.
82
83[endsect]
84
85[/
86 Copyright 2006 John Maddock, Paul A. Bristow and Xiaogang Zhang.
87 Distributed under the Boost Software License, Version 1.0.
88 (See accompanying file LICENSE_1_0.txt or copy at
89 http://www.boost.org/LICENSE_1_0.txt).
90]