naginterfaces.library.specfun.hankel_complex¶
- naginterfaces.library.specfun.hankel_complex(m, fnu, z, n, scal)[source]¶
hankel_complex
returns a sequence of values for the Hankel functions or for complex , non-negative and , with an option for exponential scaling.For full information please refer to the NAG Library document for s17dl
https://support.nag.com/numeric/nl/nagdoc_30.3/flhtml/s/s17dlf.html
- Parameters
- mint
The kind of functions required.
The functions are .
The functions are .
- fnufloat
, the order of the first member of the sequence of functions.
- zcomplex
The argument of the functions.
- nint
, the number of members required in the sequence .
- scalstr, length 1
The scaling option.
The results are returned unscaled.
The results are returned scaled by the factor when , or by the factor when .
- Returns
- cycomplex, ndarray, shape
The required function values: contains , for .
- nzint
The number of components of that are set to zero due to underflow. If , then if and , or and , elements are set to zero. In the complementary half-planes, simply states the number of underflows, and not which elements they are.
- Raises
- NagValueError
- (errno )
On entry, .
- (errno )
On entry, .
Constraint: .
- (errno )
On entry, has an illegal value: .
- (errno )
On entry, .
Constraint: .
- (errno )
On entry, has illegal value: .
- (errno )
No computation because .
- (errno )
No computation because is too large.
- (errno )
No computation because .
- (errno )
No computation because .
- (errno )
No computation – algorithm termination condition not met.
- Warns
- NagAlgorithmicWarning
- (errno )
Results lack precision because .
- (errno )
Results lack precision, .
- Notes
hankel_complex
evaluates a sequence of values for the Hankel function or , where is complex, , and is the real, non-negative order. The -member sequence is generated for orders , . Optionally, the sequence is scaled by the factor if the function is or by the factor if the function is .Note: although the function may not be called with less than zero, for negative orders the formulae , and may be used.
The function is derived from the function CBESH in Amos (1986). It is based on the relation
where if and if , and the Bessel function is computed in the right half-plane only. Continuation of to the left half-plane is computed in terms of the Bessel function . These functions are evaluated using a variety of different techniques, depending on the region under consideration.
When is greater than , extra values of are computed using recurrence relations.
For very large or , argument reduction will cause total loss of accuracy, and so no computation is performed. For slightly smaller or , the computation is performed but results are accurate to less than half of machine precision. If is very small, near the machine underflow threshold, or is too large, there is a risk of overflow and so no computation is performed. In all the above cases, a warning is given by the function.
- References
NIST Digital Library of Mathematical Functions
Amos, D E, 1986, Algorithm 644: A portable package for Bessel functions of a complex argument and non-negative order, ACM Trans. Math. Software (12), 265–273