blob: f67c0b267eb723d8c7861d23c3410daa8381ce1e [file] [log] [blame]
[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_pomotion_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. Refer to those functions
for more information.
[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]
[/
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).
]