-
Notifications
You must be signed in to change notification settings - Fork 27
Support matrix chebyshev transforms, matrix coefficients in Clenshaw #152
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
Conversation
Codecov Report
@@ Coverage Diff @@
## master #152 +/- ##
==========================================
+ Coverage 80.11% 81.44% +1.32%
==========================================
Files 13 12 -1
Lines 1775 1902 +127
==========================================
+ Hits 1422 1549 +127
Misses 353 353
Continue to review full report at Codecov.
|
@MikaelSlevinsky This adds support for regions, e.g., I also improved the out-of-place transforms, adding support for The matrix Let me know if you have any comments in the next day or so, otherwise I'll merge and tag. |
If you are curious why I'm working on this: I'm in the process of making matrix function expansion fast: JuliaApproximation/ClassicalOrthogonalPolynomials.jl#77 |
This looks great. The coverage increases (and the tests are almost the same), so even if I haven't looked it over line by line I think it's good. Wondering whether or not you think this should eventually find its way into the C library. Not a question of efficiency outright but rather based on the fact that they're all diagonal scalings of FFTW plans (and won't change until Chebyshev polynomials are renamed) and that it cuts down pre-compilation. |
Is there a reason 1.3 is dropped? |
Yes: it's type inference isn't clever enough for the |
I think the design could be refined more before committing to that. E.g. I don't think |
Right, there should probably be a |
If the OP expansion coefficients are matrices, should the resulting summation |
They aren't a matrix, is a matrix whose columns are coefficients It's the same logic that |
This (partially) supports "regions" in Chebyshev transform. Also supports truely non-allocating transforms: