• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1[section:bessel_derivatives Derivatives of the Bessel Functions]
2
3[h4 Synopsis]
4
5`#include <boost/math/special_functions/bessel_prime.hpp>`
6
7   template <class T1, class T2>
8   ``__sf_result`` cyl_bessel_j_prime(T1 v, T2 x);
9
10   template <class T1, class T2, class ``__Policy``>
11   ``__sf_result`` cyl_bessel_j_prime(T1 v, T2 x, const ``__Policy``&);
12
13   template <class T1, class T2>
14   ``__sf_result`` cyl_neumann_prime(T1 v, T2 x);
15
16   template <class T1, class T2, class ``__Policy``>
17   ``__sf_result`` cyl_neumann_prime(T1 v, T2 x, const ``__Policy``&);
18
19   template <class T1, class T2>
20   ``__sf_result`` cyl_bessel_i_prime(T1 v, T2 x);
21
22   template <class T1, class T2, class ``__Policy``>
23   ``__sf_result`` cyl_bessel_i_prime(T1 v, T2 x, const ``__Policy``&);
24
25   template <class T1, class T2>
26   ``__sf_result`` cyl_bessel_k_prime(T1 v, T2 x);
27
28   template <class T1, class T2, class ``__Policy``>
29   ``__sf_result`` cyl_bessel_k_prime(T1 v, T2 x, const ``__Policy``&);
30
31   template <class T1, class T2>
32   ``__sf_result`` sph_bessel_prime(T1 v, T2 x);
33
34   template <class T1, class T2, class ``__Policy``>
35   ``__sf_result`` sph_bessel_prime(T1 v, T2 x, const ``__Policy``&);
36
37   template <class T1, class T2>
38   ``__sf_result`` sph_neumann_prime(T1 v, T2 x);
39
40   template <class T1, class T2, class ``__Policy``>
41   ``__sf_result`` sph_neumann_prime(T1 v, T2 x, const ``__Policy``&);
42
43
44[h4 Description]
45
46These functions return the first derivative with respect to /x/ of the corresponding Bessel function.
47
48The return type of these functions is computed using the __arg_promotion_rules
49when T1 and T2 are different types.  The functions are also optimised for the
50relatively common case that T1 is an integer.
51
52[optional_policy]
53
54The functions return the result of __domain_error whenever the result is
55undefined or complex.
56
57[h4 Testing]
58
59There are two sets of test values: spot values calculated using
60[@http://www.wolframalpha.com/ wolframalpha.com],
61and a much larger set of tests computed using
62a relation to the underlying Bessel functions that the implementation
63does not use.
64
65[h4 Accuracy]
66
67The accuracy of these functions is broadly similar to the underlying Bessel functions.
68
69[table_cyl_bessel_i_prime_integer_orders_]
70
71[table_cyl_bessel_i_prime]
72
73[table_cyl_bessel_j_prime_integer_orders_]
74
75[table_cyl_bessel_j_prime]
76
77[table_cyl_bessel_k_prime_integer_orders_]
78
79[table_cyl_bessel_k_prime]
80
81[table_sph_bessel_prime]
82
83[table_sph_neumann_prime]
84
85
86[h4 Implementation]
87
88In the general case, the derivatives are calculated using the relations:
89
90[equation bessel_derivatives1]
91
92There are also a number of special cases, for large x we have:
93
94[equation bessel_derivatives4]
95
96And for small x:
97
98[equation bessel_derivatives5]
99
100[endsect]  [/section:bessel_derivatives Derivatives of the Bessel Functions]
101
102[/
103  Copyright 2013, 2013 John Maddock, Anton Bikineev.
104
105  Distributed under the Boost Software License, Version 1.0.
106  (See accompanying file LICENSE_1_0.txt or copy at
107  http://www.boost.org/LICENSE_1_0.txt).
108]
109