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://www.nag.com/numeric/nl/nagdoc_29.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