JuliaApproximation / MultivariateOrthogonalPolynomials.jl

Supports approximating functions and solving differential equations on various higher dimensional domains such as disks and triangles
Other
17 stars 5 forks source link

Add Zernike(0,a) Jacobi matrices #120

Closed TSGut closed 2 years ago

TSGut commented 2 years ago

The sorting scheme we chose for Zernike is a bit of a hassle for the Jacobi matrices and so is the normalization but I got it all working now.

I will see how much more performance I can squeeze out by removing redundant filtering / sorting applications but for most standard applications it should be fine, i.e. it's about as fast as the Y matrix for the JacobiTriangle().

codecov[bot] commented 2 years ago

Codecov Report

Merging #120 (b4c7bc5) into master (4810e9c) will increase coverage by 0.08%. The diff coverage is 96.87%.

@@            Coverage Diff             @@
##           master     #120      +/-   ##
==========================================
+ Coverage   95.88%   95.97%   +0.08%     
==========================================
  Files           4        4              
  Lines         656      720      +64     
==========================================
+ Hits          629      691      +62     
- Misses         27       29       +2     
Impacted Files Coverage Δ
src/disk.jl 97.35% <96.87%> (-0.19%) :arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 4810e9c...b4c7bc5. Read the comment docs.

TSGut commented 2 years ago

@dlfivefifty The only thing missed in coverage now are the non-implemented case of non-zero first basis parameter where I just throw a not implemented yet error. Not sure if anything can be done about that loss of coverage?

TSGut commented 2 years ago

I think this is ready to merge.

dlfivefifty commented 2 years ago

Cool. Is the formula simpler in terms of m? An alternative would be to make a special block-vector type to capture the ms.

But this is fine for now.