File: bessel_prime.qbk

package info (click to toggle)
scipy 1.16.0-1exp7
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 234,820 kB
  • sloc: cpp: 503,145; python: 344,611; ansic: 195,638; javascript: 89,566; fortran: 56,210; cs: 3,081; f90: 1,150; sh: 848; makefile: 785; pascal: 284; csh: 135; lisp: 134; xml: 56; perl: 51
file content (108 lines) | stat: -rw-r--r-- 3,038 bytes parent folder | download | duplicates (11)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
[section:bessel_derivatives Derivatives of the Bessel Functions]

[h4 Synopsis]

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

   template <class T1, class T2>
   ``__sf_result`` cyl_bessel_j_prime(T1 v, T2 x);

   template <class T1, class T2, class ``__Policy``>
   ``__sf_result`` cyl_bessel_j_prime(T1 v, T2 x, const ``__Policy``&);

   template <class T1, class T2>
   ``__sf_result`` cyl_neumann_prime(T1 v, T2 x);

   template <class T1, class T2, class ``__Policy``>
   ``__sf_result`` cyl_neumann_prime(T1 v, T2 x, const ``__Policy``&);

   template <class T1, class T2>
   ``__sf_result`` cyl_bessel_i_prime(T1 v, T2 x);

   template <class T1, class T2, class ``__Policy``>
   ``__sf_result`` cyl_bessel_i_prime(T1 v, T2 x, const ``__Policy``&);

   template <class T1, class T2>
   ``__sf_result`` cyl_bessel_k_prime(T1 v, T2 x);

   template <class T1, class T2, class ``__Policy``>
   ``__sf_result`` cyl_bessel_k_prime(T1 v, T2 x, const ``__Policy``&);

   template <class T1, class T2>
   ``__sf_result`` sph_bessel_prime(T1 v, T2 x);

   template <class T1, class T2, class ``__Policy``>
   ``__sf_result`` sph_bessel_prime(T1 v, T2 x, const ``__Policy``&);

   template <class T1, class T2>
   ``__sf_result`` sph_neumann_prime(T1 v, T2 x);

   template <class T1, class T2, class ``__Policy``>
   ``__sf_result`` sph_neumann_prime(T1 v, T2 x, const ``__Policy``&);


[h4 Description]

These functions return the first derivative with respect to /x/ of the corresponding Bessel function.

The return type of these functions is computed using the __arg_promotion_rules
when T1 and T2 are different types.  The functions are also optimised for the
relatively common case that T1 is an integer.

[optional_policy]

The functions return the result of __domain_error whenever the result is
undefined or complex.  

[h4 Testing]

There are two sets of test values: spot values calculated using
[@http://www.wolframalpha.com/ wolframalpha.com],
and a much larger set of tests computed using
a relation to the underlying Bessel functions that the implementation
does not use.

[h4 Accuracy]

The accuracy of these functions is broadly similar to the underlying Bessel functions.

[table_cyl_bessel_i_prime_integer_orders_]

[table_cyl_bessel_i_prime]

[table_cyl_bessel_j_prime_integer_orders_]

[table_cyl_bessel_j_prime]

[table_cyl_bessel_k_prime_integer_orders_]

[table_cyl_bessel_k_prime]

[table_sph_bessel_prime]

[table_sph_neumann_prime]


[h4 Implementation]

In the general case, the derivatives are calculated using the relations:

[equation bessel_derivatives1]

There are also a number of special cases, for large x we have:

[equation bessel_derivatives4]

And for small x:

[equation bessel_derivatives5]

[endsect]  [/section:bessel_derivatives Derivatives of the Bessel Functions]

[/
  Copyright 2013, 2013 John Maddock, Anton Bikineev.

  Distributed under the Boost Software License, Version 1.0.
  (See accompanying file LICENSE_1_0.txt or copy at
  http://www.boost.org/LICENSE_1_0.txt).
]