hankel.hankel.SymmetricFourierTransform¶
-
class
hankel.hankel.
SymmetricFourierTransform
(ndim=2, a=1, b=1, N=200, h=0.05)[source]¶ Determine the Fourier Transform of a radially symmetric function in arbitrary dimensions.
Parameters: ndim : int
Number of dimensions the transform is in.
a, b : float, default 1
This pair of values defines the Fourier convention used (see Notes below for details)
N : int, optional
The number of nodes in the calculation. Generally this must increase for a smaller value of the step-size h.
h : float, optional
The step-size of the integration.
Notes
We allow for arbitrary Fourier convention, according to the scheme in http://mathworld.wolfram.com/FourierTransform.html. That is, we define the forward and inverse n-dimensional transforms respectively as
\[F(k) = \sqrt{\frac{|b|}{(2\pi)^{1-a}}}^n \int f(r) e^{i b\mathbf{k}\cdot\mathbf{r}} d^n\mathbf{r}\]and
\[f(r) = \sqrt{\frac{|b|}{(2\pi)^{1+a}}}^n \int F(k) e^{-i b\mathbf{k}\cdot\mathbf{r}} d^n \mathbf{k}.\]By default, we set both a and b to 1, so that the forward transform has a normalisation of unity.
In this general sense, the forward and inverse Hankel transforms are respectively
\[F(k) = \sqrt{\frac{|b|}{(2\pi)^{1-a}}}^n \frac{(2\pi)^{n/2}}{(bk)^{n/2-1}} \int_0^\infty r^{n/2-1} f(r) J_{n/2-1}(bkr) r dr\]and
\[f(r) = \sqrt{\frac{|b|}{(2\pi)^{1+a}}}^n \frac{(2\pi)^{n/2}}{(br)^{n/2-1}} \int_0^\infty k^{n/2-1} f(k) J_{n/2-1}(bkr) k dk.\]Methods
G
(f, h[, k, ndim])The absolute value of the non-oscillatory of the summed series’ last term, up to a scaling constant. __init__
([ndim, a, b, 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, *args, **kwargs)Do the n-symmetric Fourier transform of the function f. xrange
([k])Tuple giving (min,max) x value evaluated by f(x). xrange_approx
(h, ndim[, k])Tuple giving approximate (min,max) x value evaluated by f(x/k).