hankel.hankel.HankelTransform¶
-
class
hankel.hankel.
HankelTransform
(nu=0, N=None, h=0.05)[source]¶ The basis of the Hankel Transformation algorithm by Ogata 2005.
This algorithm is used to solve the equation \(\int_0^\infty f(x) J_\nu(x) dx\) where \(J_\nu(x)\) is a Bessel function of the first kind of order \(nu\), and \(f(x)\) is an arbitrary (slowly-decaying) function.
The algorithm is presented in H. Ogata, A Numerical Integration Formula Based on the Bessel Functions, Publications of the Research Institute for Mathematical Sciences, vol. 41, no. 4, pp. 949-970, 2005.
This class provides a method for directly performing this integration, and also for doing a Hankel Transform.
Parameters: nu : int or 0.5, optional, default = 0
The order of the bessel function (of the first kind) J_nu(x)
N : int, optional, default = 3.2/h
The number of nodes in the calculation. Generally this must increase for a smaller value of the step-size h. Default value is based on where the series will truncate according to the double-exponential convergence to the roots of the Bessel function.
h : float, optional, default = 0.1
The step-size of the integration.
Methods
G
(f, h[, k])The absolute value of the non-oscillatory of the summed series’ last term, up to a scaling constant. __init__
([nu, N, h])deltaG
(f, h, *args, **kwargs)The slope (up to a constant) of the last term of the series with h integrate
(f[, ret_err, ret_cumsum])Do the Hankel-type integral of the function f. transform
(f[, k, ret_err, ret_cumsum, inverse])Do the Hankel-transform of the function f. xrange
([k])Tuple giving (min,max) x value evaluated by f(x). xrange_approx
(h, nu[, k])Tuple giving approximate (min,max) x value evaluated by f(x/k).