| |
| [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). |
| ] |