-
Notifications
You must be signed in to change notification settings - Fork 26
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
Use fast transforms in radial direction for Zernike #1505
Comments
There was a paper on calculating the radial part of the Zernike polynomials using FFT's but it was a fit, not using the actual definition of Zernike radial Polynomials. @f0uriest had a version of that, but I doubt it would give much benefit. The poloidal part of Zernike polynomials is just the Fourier series, so it should be easy. |
Also, I have a general question about My point is instead of trying to make it faster, we can try to debug why it is necessary in the first place? |
I marked this low priority, since typically fast transforms are useful. If we have a function to compute IIRC there exists a corresponding fast algorithm (DPT) to compute any orthogonal polynomial at a set of points. If this has already been tested it may be worth mentioning somewhere. |
Can you give an example of this? I think you refer to optimizations in https://desc-docs.readthedocs.io/en/latest/notebooks/tutorials/EffectiveRipple.html#Optimizing-Heliotron, but it seems like you give the specific |
That quantity requires following field lines to compute; depending on the algorithm implemented to compute such a quantity, the zernike polynomials can be recomputed on an optimization-step dependent grid. Then the computation involves derivatives of fourier zernike series It's basically just 641 but in radial direction so similar benefit |
feel free to edit the description of the issue if there's something to fix |
Also related to #1243 |
Like #641 , but in the radial direction. This should make computing the Zernike polynomials faster, in particular for the simultaneous computation at many points. The main benefit is that it should be cheaper to differentiate through.
The text was updated successfully, but these errors were encountered: