Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Question: Derivative with respect to real space coordinate #38

Closed
maxfreu opened this issue Nov 17, 2022 · 3 comments
Closed

Question: Derivative with respect to real space coordinate #38

maxfreu opened this issue Nov 17, 2022 · 3 comments

Comments

@maxfreu
Copy link
Contributor

maxfreu commented Nov 17, 2022

Hi! I used the QDHT to calculate the convolution of two radially symmetric functions via multiplication in Fourier space and then transforming back. What I am now interested in is the derivative of the convolution result with respect to the radial variable. Math-wise it should be something like this I think:

$$ \frac{d}{dr}f(r) = \frac{d}{dr}H_0^{-1}(F(k)) = \frac{d}{dr} \int_0^\infty F(k) J_0(kr)k\ dk = - \int_0^\infty F(k) J_1(kr)k^2\ dk = -H_1^{-1}(kF(k))$$

Question: Is there a nice way to obtain the result using QDHT? So far I think no, as $H_0$ and $H_1$ use different discretizations of the real and reciproke space, but I'd be happy if there's a workaround.

@sethaxen
Copy link
Collaborator

Question: Is there a nice way to obtain the result using QDHT?

I can't think of a way to get this result from QDHT. My best idea would be to fit some interpolation like a spline to the values of f returned from the inverse transform and then use the derivative of that function. @chrisbrahms can you think of a better way?

@chrisbrahms
Copy link
Owner

chrisbrahms commented Nov 18, 2022

Off the top of my head, I also don't think this works directly. Maybe you can get somewhere by expanding in a Fourier-Bessel series and using the Hankel transform to turn it into a matrix or vector multiplication, similar to what you can for integrals (see the derivation in the docs). But that's just speculation, I haven't tried.

@maxfreu
Copy link
Contributor Author

maxfreu commented Nov 18, 2022

My best idea would be to fit some interpolation like a spline to the values of f returned from the inverse transform and then use the derivative of that function.

That's exactly what I ended up with and it should suffice for now. Thanks for your help!

@maxfreu maxfreu closed this as completed Nov 18, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants