chrisbrahms / hankel.jl Goto Github PK
View Code? Open in Web Editor NEWQuasi-discrete Hankel transform
License: MIT License
Quasi-discrete Hankel transform
License: MIT License
Thanks for a great package!
Since this package depends on FunctionZeros, it suffers from JuliaMath/FunctionZeros.jl#10 (that package doesn't work for orders larger than a few) and thus Hankel.jl cannot set up a plan for those orders. For example, here's a quick selection of nodes,
using Hankel
R = 1.0
N = 32
q = QDHT(10, R, N)
print(q.r[4:7])
[0.21586560553503556, 0.3827577984254705, 3.847210992460738, 0.24445021648591286]
These nodes aren't monotonically increasing!
I imagine this can be fixed by using a more reliable source of zeros, perhaps GSL? FunctionZeros is a very tiny package, so maybe a pure Julia replacement using more robust methods might be helpful.
It looks like v0.2 failed to register because the v0.2.0 tag already existed. v0.1.1 is the current version in the registry.
Bumping to v0.2.1 and registering would work, else the v0.2.0 tag would need to be deleted.
Thank you for this package! I remember using it tangentially for research last year and found it very helpful.
One thing I was curious about is if Bessels.jl would provide any added benefit here? In general, the besselj
and gamma
functions are several times faster than the ones provided by SpecialFunctions.jl
(we also provide spherical Bessel functions). An advantage is that besselj
doesn't allocate so that should be a very helpful memory boost.
I went ahead and cloned the library and swapped in Bessels.jl instead and it did pass all the tests except the ones for BigFloat
. That is a current limitation as we only provide single and double precision so far. Are there any particular features that would be helpful here that we could add at Bessels? Or is there a nice example that I could try out to test any performance improvements?
Best,
Michael
Nice package!
I'm planning to implement a discrete spherical Hankel transform, also following the pattern of AbstractFFTs. Since you have the Hankel package name in the registry, would your package be a good place to contribute this (else I would create a SphericalHankel.jl)? It would be nice if the interfaces were similar.
I noticed you currently implement only the zero-order DHT. There's also @jagot's package https://github.com/jagot/Hankel.jl, which is stale but implements additional orders, seemingly following the same papers.
you may want to export besselj_zero
or change your example in the documentations such that the function can be found.
It took me quite long to realize that this function is provided by this package, but not exported ;-)
This issue is used to trigger TagBot; feel free to unsubscribe.
If you haven't already, you should update your TagBot.yml
to include issue comment triggers.
Please see this post on Discourse for instructions and more details.
If you'd like for me to do this for you, comment TagBot fix
on this issue.
I'll open a PR within a few hours, please be patient!
@chrisbrahms when tagging a new release (JuliaRegistries/General#38708 (comment)) it came to light that this package doesn't have a license. Any issues with me adding an MIT license here, which is highly permissive and also standard for Julia packages?
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:
Question: Is there a nice way to obtain the result using QDHT? So far I think no, as
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.