Qucs-core  0.0.18
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Macros | Functions
cbesselj.cpp File Reference

compute complex bessel J function More...

Go to the source code of this file.

Macros

#define SMALL_J0_BOUND   1e6
 
#define SMALL_JN_BOUND   5.0
 use ascending serie below this magnitude More...
 
#define BIG_JN_BOUND   25.0
 use assymptotic expression above this magnitude More...
 
#define MAX_SMALL_ITERATION   2048
 Arbitrary value for iteration. More...
 
#define MAX_LARGE_ITERATION   430
 num of P(k) (n = 8) will overlow above this value More...
 
#define SMALL_J0_BOUND   1e6
 
#define SMALL_JN_BOUND   5.0
 
#define BIG_JN_BOUND   25.0
 
#define MAX_SMALL_ITERATION   2048
 
#define MAX_LARGE_ITERATION   430
 

Functions

static nr_complex_t cbesselj_smallarg (unsigned int n, nr_complex_t z)
 
static nr_complex_t cbesselj_mediumarg_odd (unsigned int n, nr_complex_t z)
 
static nr_complex_t cbesselj_mediumarg_even (unsigned int n, nr_complex_t z)
 
static nr_complex_t cbesselj_mediumarg (unsigned int n, nr_complex_t z)
 
static nr_complex_t cbesselj_largearg (unsigned int n, nr_complex_t z)
 besselj for large argument More...
 
nr_complex_t cbesselj (unsigned int n, nr_complex_t z)
 Main entry point for besselj function. More...
 

Detailed Description

compute complex bessel J function

Bibligraphy:

[1] Bessel function of the first kind with complex argument Yousif, Hashim A.; Melka, Richard Computer Physics Communications, vol. 106, Issue 3, pp.199-206 11/1997, ELSEVIER, doi://10.1016/S0010-4655(97)00087-8

[2] Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables Milton Abramowitz and Irene A. Stegun public domain (work of US government) online http://www.math.sfu.ca/~cbm/aands/

[3] Mathematica Manual Bessel, Airy, Struve Functions> BesselJ[nu,z] > General characteristics> Symmetries and periodicities http://functions.wolfram.com/BesselAiryStruveFunctions/BesselJ/04/02/01/

[4] Mathematica Manual Bessel, Airy, Struve Functions> BesselJ[nu,z] Representations through equivalent functions http://functions.wolfram.com/BesselAiryStruveFunctions/BesselJ/27/ShowAll.html

[5] Algorithms for the evaluation of Bessel functions of complex argument and integer orders G. D. C. Kuiken Applied Mathematics Letters, Volume 2, Issue 4, 1989, Pages 353-356 doi://10.1016/0893-9659(89)90086-4

Definition in file cbesselj.cpp.

Macro Definition Documentation

#define BIG_JN_BOUND   25.0

use assymptotic expression above this magnitude

Definition at line 82 of file complex.cpp.

#define BIG_JN_BOUND   25.0
#define MAX_LARGE_ITERATION   430

num of P(k) (n = 8) will overlow above this value

Definition at line 212 of file complex.cpp.

#define MAX_LARGE_ITERATION   430
#define MAX_SMALL_ITERATION   2048

Arbitrary value for iteration.

Definition at line 85 of file complex.cpp.

#define MAX_SMALL_ITERATION   2048
#define SMALL_J0_BOUND   1e6
#define SMALL_J0_BOUND   1e6

Definition at line 76 of file complex.cpp.

#define SMALL_JN_BOUND   5.0

use ascending serie below this magnitude

Definition at line 79 of file complex.cpp.

#define SMALL_JN_BOUND   5.0

Function Documentation

nr_complex_t qucs::cbesselj ( unsigned int  n,
nr_complex_t  z 
)

Main entry point for besselj function.

Definition at line 286 of file cbesselj.cpp.

static nr_complex_t cbesselj_largearg ( unsigned int  n,
nr_complex_t  z 
)
static

besselj for large argument

Based on [5] eq (5)

Definition at line 218 of file cbesselj.cpp.

static nr_complex_t cbesselj_mediumarg ( unsigned int  n,
nr_complex_t  z 
)
static

Definition at line 200 of file cbesselj.cpp.

static nr_complex_t cbesselj_mediumarg_even ( unsigned int  n,
nr_complex_t  z 
)
static

Definition at line 172 of file cbesselj.cpp.

static nr_complex_t cbesselj_mediumarg_odd ( unsigned int  n,
nr_complex_t  z 
)
static

Definition at line 145 of file cbesselj.cpp.

static nr_complex_t cbesselj_smallarg ( unsigned int  n,
nr_complex_t  z 
)
static
Todo:
Not really adapted to high order therefore we do not check overflow for n >> 1
\param[in] n order
\param[in] arg arguments

Definition at line 105 of file cbesselj.cpp.