help-gsl
[Top][All Lists]

## [Help-gsl] A question about the Discrete Hankel Transform

 From: 张庆岭 Subject: [Help-gsl] A question about the Discrete Hankel Transform Date: Thu, 15 Mar 2012 17:12:18 +0800

Hi all,
Sorry for disturbing, this is the first time I am using mailing lists and
don't know whether this is a proper place to ask questions. But I
encountered some problem and really need some help.
I am encontered some problem in calculating the inverse hankel transform of
functions. Let's say the function is R=[r1,r2,r3,r4], I used gsl_dht_apply,
in
http://www.gnu.org/software/gsl/manual/html_node/Discrete-Hankel-Transform-Functions.htmlto
get the hankel transform, like this gsl_dht_apply(dht,R,R_out) and
used
gsl_dht_apply(dht,R_out,R_prime) to get the inverse transform. It satisfies
R=coef*R_prime, where coef=j_(\nu,M) according to the documentation of
gsl_dht_apply function.
And now my problem is that for two functions R=[r1,r2,r3,r4] and
T=[t1,t2,t3,t4] in time domain, I want to compute the convolution of them
according to the Convolution Theorem, saying that the convolution of two
functions in time domain is the inverse Fourier Transform of two functions
element-wise multiplication in the frequency domain, and Hankel Transform
of the 0-order Bessel function of first kind is equal to 2D fourier
transform. Let's say R_out=[ir1,ir2,ir3,ir4] and T_out=[it1,it3,it3,it4]
are the inverse hankel transform of R and T respectively. Let F be the
element-wise multiplication of R_out and T_out, that is
F=[ir1*it1,ir2*it2,ir3*it3,ir4*it4]. Then how can I get the original
convolution result of R and T? Is it still R**T=coef*F_out or should I
multiply some other coeficient?(** stands for convolution and F_out is the
inverse hankel transform of F, coef=j_(\nu,M)).
Thanks for help!

--

Qingling Zhang