mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-11-04 05:50:31 -05:00 
			
		
		
		
	
		
			
	
	
		
			110 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			110 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[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] 
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[/
							 | 
						||
| 
								 | 
							
								  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).
							 | 
						||
| 
								 | 
							
								]
							 |