Holomorphic integration on the unit disk
In this example, we explore integration of a harmonic function:
over the unit disk. In this case, we know from complex analysis that the integral of a holomorphic function is equal to $\pi \times f(0,0)$. We analyze the function on an $N\times M$ tensor product grid defined by:
we convert the function samples to Chebyshev×Fourier coefficients using plan_disk_analysis
; and finally, we transform the Chebyshev×Fourier coefficients to Zernike polynomial coefficients using plan_disk2cxf
.
For the storage pattern of the arrays, please consult the documentation.
using FastTransforms, LinearAlgebra, Plots
const GENFIGS = joinpath(dirname(dirname(pathof(FastTransforms))), "docs/src/generated")
!isdir(GENFIGS) && mkdir(GENFIGS)
plotlyjs()
Plots.PlotlyJSBackend()
Our function $f$ on the disk:
f = (x,y) -> (x^2-y^2+1)/((x^2-y^2+1)^2+(2x*y+1)^2)
#1 (generic function with 1 method)
The Zernike polynomial degree:
N = 15
M = 4N-3
57
The radial grid:
r = [sinpi((N-n-0.5)/(2N)) for n in 0:N-1]
15-element Vector{Float64}:
0.9986295347545738
0.9876883405951378
0.9659258262890683
0.9335804264972017
0.8910065241883678
0.838670567945424
0.7771459614569709
0.7071067811865476
0.6293203910498375
0.5446390350150271
0.45399049973954675
0.35836794954530027
0.25881904510252074
0.15643446504023087
0.052335956242943835
The angular grid (mod $\pi$):
θ = (0:M-1)*2/M
0.0:0.03508771929824561:1.9649122807017543
On the mapped tensor product grid, our function samples are:
F = [f(r*cospi(θ), r*sinpi(θ)) for r in r, θ in θ]
15×57 Matrix{Float64}:
0.400329 0.36696 0.336645 0.308443 0.281619 0.25557 0.22977 0.203733 0.176996 0.149111 0.119689 0.0885456 0.0561428 0.0249494 0.00382185 0.0233794 0.192001 0.82415 1.84146 1.85719 1.41721 1.08969 0.879424 0.739148 0.639757 0.565314 0.506844 0.459027 0.418538 0.383193 0.351486 0.32233 0.294899 0.268532 0.24267 0.216811 0.190481 0.163223 0.134611 0.104328 0.0724218 0.0400826 0.0120549 0.00476215 0.075801 0.422295 1.37342 1.98551 1.63411 1.23553 0.973247 0.802761 0.685557 0.600091 0.534475 0.481845 0.438023
0.402946 0.369531 0.339215 0.31106 0.284337 0.258454 0.232899 0.207211 0.180965 0.153777 0.125364 0.0957188 0.0656309 0.0381784 0.0233592 0.0535023 0.23469 0.838287 1.74173 1.78814 1.39763 1.08662 0.881061 0.742049 0.642889 0.56837 0.509752 0.461793 0.421195 0.385781 0.35405 0.324917 0.297559 0.271324 0.245665 0.220098 0.194183 0.16751 0.139734 0.110675 0.0806214 0.0512076 0.0280171 0.0289628 0.112787 0.46247 1.32844 1.88443 1.59532 1.22668 0.973254 0.805245 0.688639 0.603204 0.53746 0.48468 0.44073
0.408107 0.374635 0.344345 0.316308 0.289809 0.264275 0.239228 0.214259 0.189018 0.16325 0.136874 0.110236 0.0847405 0.0645701 0.0616188 0.110283 0.308499 0.852043 1.57431 1.65952 1.35481 1.07725 0.882418 0.74674 0.648492 0.574076 0.515313 0.467166 0.426411 0.390904 0.359157 0.330094 0.302904 0.276953 0.251718 0.226757 0.201691 0.176211 0.150131 0.123537 0.0971828 0.0735249 0.059617 0.0756242 0.180187 0.525812 1.24639 1.70902 1.5172 1.20513 0.970751 0.808756 0.693948 0.608911 0.543108 0.490146 0.446017
0.415648 0.382189 0.352011 0.324209 0.298096 0.273134 0.248897 0.225051 0.201367 0.177773 0.154485 0.132336 0.113545 0.103633 0.116351 0.186253 0.393918 0.849832 1.38148 1.49082 1.28527 1.05638 0.879972 0.751049 0.655222 0.581588 0.52299 0.474802 0.433974 0.398441 0.366752 0.33786 0.310977 0.2855 0.260948 0.236942 0.213198 0.189555 0.166059 0.143176 0.122289 0.106906 0.105724 0.140558 0.26534 0.588182 1.1413 1.4992 1.40336 1.16548 0.961348 0.810521 0.699782 0.616152 0.550745 0.497814 0.453615
0.425289 0.392035 0.362148 0.334773 0.309271 0.285158 0.262081 0.239809 0.218269 0.197619 0.178435 0.162105 0.151689 0.153844 0.183081 0.270225 0.470832 0.826183 1.19548 1.30726 1.19053 1.01926 0.869418 0.751971 0.661094 0.589601 0.531924 0.48414 0.443527 0.408177 0.376729 0.348191 0.321822 0.297066 0.273507 0.250853 0.228945 0.20781 0.187783 0.169776 0.15586 0.150546 0.163666 0.216532 0.352149 0.631169 1.0287 1.29056 1.26502 1.10458 0.940232 0.806897 0.703689 0.623316 0.559314 0.506989 0.463072
0.436597 0.403911 0.374626 0.347975 0.323392 0.300472 0.278957 0.258746 0.239942 0.222959 0.208736 0.199165 0.19792 0.212076 0.254963 0.349717 0.526163 0.785631 1.03278 1.13127 1.07899 0.964458 0.847102 0.746235 0.663661 0.596384 0.540917 0.494365 0.454527 0.419771 0.388896 0.361011 0.335454 0.311744 0.289549 0.268688 0.249152 0.23118 0.215414 0.203195 0.197165 0.20243 0.228745 0.293986 0.426183 0.648643 0.920719 1.10477 1.11859 1.02459 0.904279 0.794291 0.702811 0.628337 0.567372 0.51668 0.47372
0.448951 0.417414 0.389209 0.363706 0.340449 0.319139 0.299632 0.28197 0.266434 0.253672 0.244908 0.242329 0.249735 0.273549 0.32399 0.414856 0.556748 0.73654 0.898135 0.976631 0.96284 0.895308 0.811683 0.731268 0.660475 0.599969 0.54849 0.504405 0.466222 0.432719 0.402938 0.376152 0.351819 0.329563 0.309162 0.29056 0.273906 0.259647 0.248682 0.242655 0.244458 0.259053 0.294635 0.36347 0.47935 0.644419 0.824368 0.950029 0.979333 0.933025 0.853895 0.770471 0.694553 0.628995 0.573203 0.525623 0.484659
0.461538 0.431966 0.405508 0.381723 0.360304 0.341079 0.324035 0.309345 0.297441 0.289121 0.285721 0.289387 0.303423 0.332641 0.383252 0.461146 0.566675 0.686278 0.79016 0.848441 0.853234 0.818825 0.765072 0.706268 0.649804 0.598546 0.553073 0.513009 0.477665 0.446331 0.418379 0.393304 0.370732 0.350422 0.332279 0.316375 0.303005 0.292765 0.286694 0.286496 0.294846 0.315771 0.354858 0.418544 0.510882 0.626287 0.742362 0.826153 0.856971 0.839629 0.793294 0.735701 0.677489 0.623454 0.575098 0.532405 0.494793
0.473406 0.446815 0.422943 0.401579 0.382592 0.365953 0.35177 0.340321 0.332115 0.327962 0.329086 0.337225 0.354715 0.384367 0.428886 0.489368 0.562769 0.639621 0.705232 0.746138 0.75726 0.742897 0.711918 0.672777 0.631361 0.591026 0.553364 0.51894 0.487799 0.459755 0.434554 0.411958 0.391793 0.373976 0.358542 0.345678 0.33577 0.329466 0.327769 0.332147 0.344633 0.367837 0.404636 0.457191 0.524883 0.601613 0.674803 0.729338 0.755332 0.752747 0.728907 0.692933 0.652092 0.610928 0.571808 0.535736 0.502968
0.483592 0.461074 0.44072 0.422552 0.406616 0.393018 0.381958 0.373761 0.368913 0.368096 0.372211 0.382374 0.399829 0.425704 0.460521 0.503436 0.551426 0.599039 0.639428 0.66664 0.677821 0.673802 0.657934 0.634338 0.606657 0.577562 0.548776 0.521299 0.49565 0.472064 0.450625 0.431361 0.4143 0.399515 0.387153 0.377475 0.370881 0.36795 0.369472 0.37646 0.390112 0.411659 0.442005 0.481097 0.527085 0.575698 0.62056 0.654949 0.674261 0.67754 0.667091 0.646854 0.620817 0.592158 0.563054 0.534833 0.508227
0.491347 0.47384 0.457857 0.443596 0.43124 0.420991 0.413088 0.407835 0.405607 0.406854 0.41208 0.421791 0.436393 0.456016 0.480289 0.508089 0.537411 0.565495 0.589313 0.606297 0.614986 0.615273 0.608182 0.595383 0.578689 0.55973 0.539808 0.519875 0.500596 0.482417 0.465645 0.450499 0.437168 0.425839 0.416729 0.410109 0.406316 0.405766 0.408937 0.416345 0.428463 0.445585 0.467622 0.493853 0.522719 0.551798 0.578117 0.598782 0.611716 0.616137 0.612554 0.602381 0.587414 0.569403 0.549822 0.529795 0.510121
0.496372 0.484362 0.473263 0.463344 0.454844 0.447987 0.442992 0.440085 0.43949 0.441422 0.446059 0.453506 0.463734 0.476516 0.491364 0.507491 0.523832 0.539138 0.552155 0.561824 0.567461 0.568845 0.566188 0.560036 0.551118 0.54022 0.528088 0.515374 0.502621 0.490272 0.478681 0.468141 0.458903 0.451197 0.445243 0.441264 0.439485 0.440128 0.443394 0.44943 0.458281 0.469829 0.483724 0.499329 0.51571 0.531695 0.546006 0.557461 0.565171 0.568681 0.567994 0.563506 0.555873 0.545868 0.534265 0.521767 0.508973
0.498951 0.492196 0.485875 0.480211 0.475399 0.471612 0.469002 0.467693 0.467782 0.469331 0.472348 0.476782 0.482503 0.489293 0.496841 0.504746 0.512549 0.519761 0.525915 0.530618 0.533588 0.534687 0.533917 0.531408 0.527389 0.522155 0.516029 0.509344 0.502414 0.495534 0.488967 0.482948 0.477687 0.473367 0.470152 0.468178 0.467558 0.468372 0.470657 0.474394 0.479493 0.485782 0.492995 0.500776 0.508691 0.516259 0.522997 0.528468 0.532332 0.534375 0.53453 0.532867 0.52957 0.524904 0.519183 0.512736 0.505891
0.499854 0.497256 0.494799 0.492592 0.490727 0.489288 0.488339 0.487926 0.488075 0.488789 0.490046 0.491797 0.493969 0.496462 0.499157 0.501918 0.5046 0.507061 0.509167 0.510805 0.511889 0.512367 0.512222 0.51147 0.510163 0.508376 0.506206 0.503765 0.501171 0.498544 0.496003 0.493658 0.491611 0.48995 0.488749 0.488063 0.48793 0.488363 0.489352 0.490864 0.492836 0.495182 0.497793 0.500538 0.503278 0.505867 0.508166 0.51005 0.51142 0.512206 0.512372 0.511919 0.510882 0.509324 0.507332 0.505012 0.502479
0.499998 0.4997 0.499416 0.49916 0.498945 0.498781 0.498675 0.498633 0.498657 0.498746 0.498895 0.499098 0.499346 0.499625 0.499922 0.500224 0.500515 0.500781 0.50101 0.501189 0.50131 0.501367 0.501358 0.501283 0.501146 0.500953 0.500715 0.500442 0.500148 0.499848 0.499555 0.499284 0.499047 0.498856 0.49872 0.498646 0.498637 0.498693 0.498813 0.498991 0.499217 0.499482 0.499772 0.500074 0.500372 0.500652 0.500901 0.501106 0.501257 0.501347 0.501371 0.501328 0.501222 0.501056 0.500839 0.500582 0.500297
We superpose a surface plot of $f$ on top of the grid:
X = [r*cospi(θ) for r in r, θ in θ]
Y = [r*sinpi(θ) for r in r, θ in θ]
scatter3d(vec(X), vec(Y), vec(0F); markersize=0.75, markercolor=:red)
surface!(X, Y, F; legend=false, xlabel="x", ylabel="y", zlabel="f")
savefig(joinpath(GENFIGS, "zernike.html"))
```
```@raw html
<object type="text/html" data="../zernike.html" style="width:100%;height:400px;"></object>
We precompute a (generalized) Zernike–Chebyshev×Fourier plan:
α, β = 0, 0
P = plan_disk2cxf(F, α, β)
FastTransforms Zernike--Chebyshev×Fourier plan for 15×57-element array of Float64
And an FFTW Chebyshev×Fourier analysis plan on the disk:
PA = plan_disk_analysis(F)
FastTransforms plan for FFTW Chebyshev×Fourier analysis on the disk for 15×57-element array of Float64
Its Zernike coefficients are:
U = P\(PA*F)
15×57 Matrix{Float64}:
0.886227 3.60709e-6 -1.8336e-6 -0.361801 3.60558e-11 -1.17688e-6 6.36308e-6 0.140125 -0.140125 -6.35177e-6 -7.70959e-6 1.89039e-10 0.118427 1.54098e-5 7.4099e-7 -0.0522214 -0.0522214 -1.71856e-5 1.64002e-5 0.0472361 -5.20197e-10 4.08953e-7 -3.63399e-5 -0.0217254 0.0217254 3.88099e-5 3.92308e-5 -1.24018e-9 -0.0202253 -8.31939e-5 -2.14893e-7 0.00949917 0.00949917 8.82306e-5 -8.80125e-5 -0.00898531 2.80468e-9 -1.10226e-7 0.000185657 0.00427337 -0.00427337 -0.000194497 -0.000194608 6.17793e-9 0.00408335 0.000408908 5.67524e-8 -0.00195832 -0.0019583 -0.000424611 0.000424554 0.00188439 -1.33894e-8 2.84106e-8 -0.000879176 -0.00090912 0.000909147
2.13986e-17 4.60728e-6 -2.33805e-6 -4.33e-11 4.33e-11 -1.22625e-6 6.53675e-6 9.94208e-18 -1.46429e-10 -5.65109e-6 -6.90982e-6 1.84987e-10 1.84987e-10 1.21904e-5 6.29629e-7 -4.19031e-10 -1.75105e-18 -1.21069e-5 1.14861e-5 4.50193e-10 -4.50193e-10 3.03358e-7 -2.25713e-5 1.46615e-18 9.39347e-10 2.10848e-5 2.13797e-5 -9.62216e-10 -9.62216e-10 -3.90991e-5 -1.42777e-7 1.94644e-9 4.90741e-18 3.51181e-5 -3.49801e-5 -1.94972e-9 1.94972e-9 -6.65696e-8 6.06806e-5 1.59391e-17 -3.87473e-9 -5.0328e-5 -5.03922e-5 3.82278e-9 3.82278e-9 6.25834e-5 2.92247e-8 -7.49277e-9 -1.27122e-17 -3.60921e-5 3.60641e-5 7.2952e-9 -7.2952e-9 1.29538e-8 -1.4793e-5 2.19619e-17 1.36316e-8
3.27894e-17 4.76065e-6 -2.40899e-6 -4.59638e-11 4.59638e-11 -1.12866e-6 5.89804e-6 -5.84737e-18 -1.43511e-10 -4.51295e-6 -5.57325e-6 1.70088e-10 1.70088e-10 8.73447e-6 4.92668e-7 -3.63967e-10 -1.01486e-17 -7.74165e-6 7.28634e-6 3.70513e-10 -3.70513e-10 2.09854e-7 -1.26794e-5 -3.92254e-18 7.33255e-10 1.02945e-5 1.04878e-5 -7.12279e-10 -7.12279e-10 -1.63841e-5 -8.90173e-8 1.36506e-9 -5.43546e-19 1.23112e-5 -1.22292e-5 -1.29344e-9 1.29344e-9 -3.59114e-8 1.66687e-5 -9.91003e-18 -2.42653e-9 -1.06763e-5 -1.07096e-5 2.25423e-9 2.25423e-9 1.08765e-5 1.49017e-8 -4.14789e-9 2.17658e-17 -5.12018e-6 5.10718e-6 3.57033e-9 -3.57033e-9 6.59956e-9 -6.78236e-6 1.26996e-17 7.03625e-9
7.14886e-18 4.3306e-6 -2.18254e-6 -4.50915e-11 4.50915e-11 -9.41975e-7 4.79767e-6 2.14426e-17 -1.3221e-10 -3.27045e-6 -4.09126e-6 1.48194e-10 1.48194e-10 5.69834e-6 3.57019e-7 -3.00851e-10 -3.03425e-18 -4.50516e-6 4.19432e-6 2.90868e-10 -2.90868e-10 1.35612e-7 -6.44339e-6 4.48864e-18 5.46652e-10 4.50749e-6 4.62617e-6 -5.03847e-10 -5.03847e-10 -6.09951e-6 -5.21037e-8 9.1491e-10 -8.19858e-18 3.60434e-6 -3.56197e-6 -8.19854e-10 8.19854e-10 -2.1255e-8 5.41984e-6 8.57705e-18 -1.45125e-9 -3.25121e-6 -3.27101e-6 1.26862e-9 1.26862e-9 3.36954e-6 8.03621e-9 -2.01666e-9 -1.3782e-17 -2.40565e-6 2.3974e-6 1.96336e-9 -1.96336e-9 4.2266e-9 -3.19821e-6 8.26547e-18 3.81545e-9
4.57953e-18 3.55971e-6 -1.7846e-6 -4.1593e-11 4.1593e-11 -7.20914e-7 3.55774e-6 3.13328e-18 -1.15465e-10 -2.16169e-6 -2.74892e-6 1.22948e-10 1.22948e-10 3.3937e-6 2.40326e-7 -2.37394e-10 1.41136e-17 -2.38904e-6 2.19119e-6 2.18301e-10 -2.18301e-10 8.19355e-8 -2.95988e-6 8.13929e-19 3.89943e-10 1.76401e-6 1.8323e-6 -3.41184e-10 -3.41184e-10 -2.0084e-6 -2.86395e-8 5.87175e-10 2.01218e-18 1.50453e-6 -1.47577e-6 -4.97705e-10 4.97705e-10 -1.37179e-8 1.8912e-6 -1.2119e-17 -8.31421e-10 -9.02447e-7 -9.13685e-7 6.11155e-10 6.11155e-10 1.24567e-6 5.84289e-9 -1.17835e-9 1.45973e-17 -7.91274e-7 7.85214e-7 1.1332e-9 -1.1332e-9 3.13533e-9 -8.88709e-7 6.42043e-18 2.17398e-9
-7.44449e-18 2.67365e-6 -1.33163e-6 -3.63778e-11 3.63778e-11 -5.08751e-7 2.4183e-6 -9.94292e-18 -9.60672e-11 -1.3062e-6 -1.69561e-6 9.74399e-11 9.74399e-11 1.84711e-6 1.50509e-7 -1.79257e-10 4.48888e-18 -1.15523e-6 1.03773e-6 1.56975e-10 -1.56975e-10 4.63055e-8 -1.22747e-6 -2.43828e-18 2.66772e-10 6.14181e-7 6.51026e-7 -2.21796e-10 -2.21796e-10 -5.31978e-7 -1.2848e-8 3.62177e-10 -1.28313e-18 2.79382e-7 -2.67505e-7 -2.90765e-10 2.90765e-10 -4.46926e-9 1.22058e-7 5.41537e-18 -3.9572e-10 -4.93806e-8 -5.41339e-8 3.78556e-10 3.78556e-10 1.04652e-8 2.51749e-9 -7.22143e-10 -3.90447e-18 3.95528e-8 -4.22095e-8 6.86748e-10 -6.86748e-10 1.39709e-9 1.16951e-7 5.29887e-18 1.30213e-9
1.47134e-17 1.84493e-6 -9.11632e-7 -3.03234e-11 3.03234e-11 -3.31998e-7 1.51086e-6 -6.30721e-18 -7.63919e-11 -7.22019e-7 -9.61716e-7 7.39635e-11 7.39635e-11 9.19025e-7 8.7759e-8 -1.29855e-10 -7.58579e-18 -5.0973e-7 4.44593e-7 1.08464e-10 -1.08464e-10 2.44943e-8 -4.5896e-7 -1.49487e-18 1.75682e-10 1.67445e-7 1.83156e-7 -1.3908e-10 -1.3908e-10 -2.49357e-7 -8.43149e-9 2.15876e-10 -3.30133e-18 1.45629e-7 -1.38279e-7 -1.35983e-10 1.35983e-10 -3.93277e-9 1.98023e-7 -1.82207e-18 -2.58784e-10 -1.28932e-7 -1.33122e-7 2.45364e-10 2.45364e-10 1.62088e-7 2.22418e-9 -4.63692e-10 8.50667e-18 -9.30524e-8 9.07e-8 4.36633e-10 -4.36633e-10 1.23998e-9 -9.28229e-8 7.36395e-18 8.19335e-10
1.04026e-18 1.17276e-6 -5.74087e-7 -2.41606e-11 2.41606e-11 -2.00616e-7 8.68671e-7 -5.54623e-18 -5.82253e-11 -3.64941e-7 -5.01985e-7 5.39205e-11 5.39205e-11 4.17975e-7 4.76625e-8 -9.05511e-11 -9.86895e-18 -2.05562e-7 1.71822e-7 7.23176e-11 -7.23176e-11 1.21586e-8 -1.5476e-7 -2.69365e-18 1.11916e-10 1.00254e-7 1.13042e-7 -8.43279e-11 -8.43279e-11 -1.26572e-7 -6.03215e-9 9.8079e-11 -3.68952e-18 9.12736e-8 -8.47111e-8 -9.30964e-11 9.30964e-11 -3.55089e-9 1.16626e-7 -4.66421e-18 -1.75944e-10 -7.07415e-8 -7.45658e-8 1.65598e-10 1.65598e-10 8.35001e-8 2.05022e-9 -3.10521e-10 -2.90818e-18 -4.41693e-8 4.19799e-8 2.90001e-10 -2.90001e-10 1.16461e-9 -3.82528e-8 -4.23538e-18 5.39466e-10
-1.06819e-18 6.87558e-7 -3.32907e-7 -1.84685e-11 1.84685e-11 -1.12306e-7 4.59773e-7 -3.59479e-20 -4.265e-11 -1.68481e-7 -2.41286e-7 3.78985e-11 3.78985e-11 1.73828e-7 2.4139e-8 -6.10346e-11 1.56042e-20 -7.61356e-8 5.9745e-8 4.66938e-11 -4.66938e-11 4.41186e-9 -3.87809e-8 -1.06836e-18 6.84382e-11 1.14459e-8 1.47138e-8 -3.64534e-11 -3.64534e-11 -1.62599e-8 -1.83462e-9 6.92775e-11 -1.40327e-20 1.03654e-8 -8.32127e-9 -6.54378e-11 6.54378e-11 -1.1309e-9 9.55527e-9 3.52571e-19 -1.23027e-10 -3.39687e-9 -4.64027e-9 1.15147e-10 1.15147e-10 2.15829e-9 6.79586e-10 -2.1464e-10 8.47624e-18 -6.95367e-11 -6.69391e-10 1.99193e-10 -1.99193e-10 3.99766e-10 1.65892e-9 1.16666e-18 3.68061e-10
9.95353e-18 3.71865e-7 -1.77783e-7 -1.35612e-11 1.35612e-11 -5.82608e-8 2.24022e-7 6.68672e-18 -3.01692e-11 -7.09608e-8 -1.06944e-7 2.57607e-11 2.57607e-11 6.63405e-8 1.14574e-8 -3.98083e-11 1.44689e-17 -2.03783e-8 1.47516e-8 2.83655e-11 -2.83655e-11 2.85088e-9 -2.16267e-8 1.99624e-18 2.72302e-11 1.31843e-8 1.64107e-8 -2.60181e-11 -2.60181e-11 -1.9507e-8 -1.81086e-9 4.92954e-11 9.58865e-18 1.32551e-8 -1.12373e-8 -4.64096e-11 4.64096e-11 -1.11665e-9 1.44395e-8 1.10298e-17 -8.69428e-11 -7.23389e-9 -8.4622e-9 8.10649e-11 8.10649e-11 7.66845e-9 6.71752e-10 -1.50494e-10 5.1521e-18 -3.61423e-9 2.8833e-9 1.39056e-10 -1.39056e-10 3.95754e-10 -2.26921e-9 2.55624e-18 2.55748e-10
-2.77857e-17 1.85546e-7 -8.74169e-8 -9.64282e-12 9.6428e-12 -2.80375e-8 1.00537e-7 3.8631e-20 -2.06073e-11 -2.73295e-8 -4.39821e-8 1.69233e-11 1.69233e-11 2.34206e-8 5.10163e-9 -2.35204e-11 1.00363e-17 -1.75358e-8 1.21275e-8 9.88461e-12 -9.88462e-12 3.12081e-9 -2.04164e-8 6.23473e-18 1.91141e-11 1.1854e-8 1.5421e-8 -1.82332e-11 -1.82332e-11 -1.75172e-8 -2.02073e-9 3.44828e-11 4.83265e-18 1.1833e-8 -9.56169e-9 -3.24e-11 3.24e-11 -1.26719e-9 1.22528e-8 -3.91408e-18 -6.05679e-11 -5.76301e-9 -7.16757e-9 5.63435e-11 5.63436e-11 6.1405e-9 7.73658e-10 -1.04342e-10 -4.26155e-18 -2.96846e-9 2.12097e-9 9.6157e-11 -9.6157e-11 4.61769e-10 -1.77725e-9 3.59727e-18 1.76348e-10
-4.08981e-18 8.54426e-8 -3.95787e-8 -6.58745e-12 6.58743e-12 -1.26163e-8 4.18408e-8 -2.17397e-17 -1.3631e-11 -9.62687e-9 -1.67874e-8 9.48623e-12 9.48622e-12 4.72571e-9 1.23574e-9 -6.65263e-12 -3.64003e-18 -3.91558e-9 2.44388e-9 6.57827e-12 -6.57828e-12 8.65402e-10 -4.14906e-9 2.59094e-18 1.2711e-11 2.09945e-9 3.10576e-9 -1.21149e-11 -1.21149e-11 -3.10737e-9 -5.79121e-10 2.28905e-11 1.90285e-18 2.07394e-9 -1.41354e-9 -2.1486e-11 2.1486e-11 -3.73369e-10 1.81245e-9 -7.74832e-18 -4.01214e-11 -6.48005e-10 -1.06694e-9 3.72789e-11 3.72789e-11 7.26798e-10 2.33379e-10 -6.89482e-11 2.88211e-18 -4.05112e-10 1.46777e-10 6.34527e-11 -6.34527e-11 1.42127e-10 -1.99851e-10 7.26631e-18 1.16198e-10
1.00779e-17 3.66259e-8 -1.66324e-8 -4.39971e-12 4.39972e-12 -5.20978e-9 1.59586e-8 -6.97657e-18 -7.0843e-12 -1.58674e-9 -2.96274e-9 1.91297e-12 1.91297e-12 3.12298e-9 8.33281e-10 -3.95183e-12 7.66233e-19 -2.58884e-9 1.5939e-9 3.90662e-12 -3.90663e-12 5.8643e-10 -2.71374e-9 4.30987e-18 7.54633e-12 1.34984e-9 2.03322e-9 -7.18992e-12 -7.18992e-12 -2.00561e-9 -3.94051e-10 1.35798e-11 -6.31734e-18 1.34233e-9 -8.92165e-10 -1.27412e-11 1.27412e-11 -2.54934e-10 1.15296e-9 -2.55952e-18 -2.37812e-11 -3.99094e-10 -6.85581e-10 2.20855e-11 2.20855e-11 4.59097e-10 1.5982e-10 -4.0826e-11 -3.49928e-18 -2.64588e-10 8.74454e-11 3.75507e-11 -3.75507e-11 9.75761e-11 -1.31247e-10 -3.89876e-18 6.87229e-11
-1.92813e-17 1.42637e-8 -6.34424e-9 -2.10393e-12 2.10397e-12 -6.84193e-10 1.98342e-9 -3.96278e-18 -7.7724e-13 -9.64872e-10 -1.8079e-9 8.82102e-13 8.82092e-13 1.90051e-9 5.11075e-10 -1.82214e-12 4.98556e-18 -1.57577e-9 9.64939e-10 1.80116e-12 -1.80117e-12 3.60351e-10 -1.64478e-9 3.72868e-18 3.47897e-12 8.12528e-10 1.2328e-9 -3.31434e-12 -3.31434e-12 -1.2092e-9 -2.42517e-10 6.2592e-12 -4.48554e-18 8.10242e-10 -5.33001e-10 -5.872e-12 5.872e-12 -1.57104e-10 6.91093e-10 -5.16572e-18 -1.09586e-11 -2.3601e-10 -4.12661e-10 1.01758e-11 1.01758e-11 2.74436e-10 9.85995e-11 -1.88077e-11 -5.58266e-18 -1.60322e-10 5.09818e-11 1.7296e-11 -1.7296e-11 6.02559e-11 -7.9705e-11 -6.10228e-19 3.16487e-11
-1.94628e-17 3.5367e-9 -1.55057e-9 -5.05663e-14 5.05684e-14 -1.24617e-9 3.61129e-9 -4.85016e-19 -1.49119e-13 -1.75608e-9 -3.29176e-9 1.69228e-13 1.69233e-13 3.45928e-9 9.31108e-10 -3.49576e-13 -8.14765e-19 -2.86824e-9 1.75527e-9 3.45549e-13 -3.4555e-13 6.56655e-10 -2.99235e-9 -1.50754e-18 6.67424e-13 1.47702e-9 2.24293e-9 -6.35833e-13 -6.35832e-13 -2.1985e-9 -4.42011e-10 1.20078e-12 1.75409e-18 1.47335e-9 -9.68009e-10 -1.12648e-12 1.12649e-12 -2.86382e-10 1.25563e-9 4.6026e-19 -2.10227e-12 -4.28097e-10 -7.50132e-10 1.95208e-12 1.95208e-12 4.98453e-10 1.79759e-10 -3.60793e-12 1.42685e-18 -2.91666e-10 9.23134e-11 3.31791e-12 -3.31791e-12 1.09866e-10 -1.45042e-10 -1.23018e-18 6.07111e-12
The Zernike coefficients are useful for integration. The integral of $f(x,y)$ over the disk should be $\pi/2$ by harmonicity. The coefficient of $Z_{0,0}$ multiplied by √π
is:
U[1, 1]*sqrt(π)
1.5707963267948968
Using an orthonormal basis, the integral of $[f(x,y)]^2$ over the disk is approximately the square of the 2-norm of the coefficients:
norm(U)^2, π/(2*sqrt(2))*log1p(sqrt(2))
(0.9789599193439185, 0.9789599179781414)
But there's more! Next, we repeat the experiment using the Dunkl-Xu orthonormal polynomials supported on the rectangularized disk.
N = 2N
M = N
30
We analyze the function on an $N\times M$ mapped tensor product $xy$-grid defined by:
Slightly more accuracy can be expected by using an auxiliary array:
so that $y_{n,m} = w_nz_m$.
The x grid
w = [sinpi((n+0.5)/N) for n in 0:N-1]
x = [sinpi((N-2n-1)/(2N)) for n in 0:N-1]
30-element Vector{Float64}:
0.9986295347545738
0.9876883405951378
0.9659258262890683
0.9335804264972017
0.8910065241883678
0.838670567945424
0.7771459614569709
0.7071067811865476
0.6293203910498375
0.5446390350150271
0.45399049973954675
0.35836794954530027
0.25881904510252074
0.15643446504023087
0.052335956242943835
-0.052335956242943835
-0.15643446504023087
-0.25881904510252074
-0.35836794954530027
-0.45399049973954675
-0.5446390350150271
-0.6293203910498375
-0.7071067811865476
-0.7771459614569709
-0.838670567945424
-0.8910065241883678
-0.9335804264972017
-0.9659258262890683
-0.9876883405951378
-0.9986295347545738
The z grid
z = [sinpi((M-2m-1)/(2M)) for m in 0:M-1]
30-element Vector{Float64}:
0.9986295347545738
0.9876883405951378
0.9659258262890683
0.9335804264972017
0.8910065241883678
0.838670567945424
0.7771459614569709
0.7071067811865476
0.6293203910498375
0.5446390350150271
0.45399049973954675
0.35836794954530027
0.25881904510252074
0.15643446504023087
0.052335956242943835
-0.052335956242943835
-0.15643446504023087
-0.25881904510252074
-0.35836794954530027
-0.45399049973954675
-0.5446390350150271
-0.6293203910498375
-0.7071067811865476
-0.7771459614569709
-0.838670567945424
-0.8910065241883678
-0.9335804264972017
-0.9659258262890683
-0.9876883405951378
-0.9986295347545738
On the mapped tensor product grid, our function samples are:
F = [f(x[n], w[n]*z) for n in 1:N, z in z]
30×30 Matrix{Float64}:
0.383725 0.383905 0.384264 0.384798 0.3855 0.386365 0.387383 0.388542 0.389832 0.391237 0.392744 0.394337 0.395997 0.397708 0.399451 0.401207 0.402957 0.404681 0.406361 0.407977 0.409512 0.410949 0.41227 0.413462 0.41451 0.415403 0.41613 0.416683 0.417055 0.417242
0.353509 0.354039 0.355094 0.356664 0.358732 0.36128 0.364281 0.367707 0.371524 0.375695 0.380177 0.384927 0.389897 0.395036 0.400292 0.405609 0.41093 0.416197 0.421352 0.426336 0.431089 0.435556 0.439683 0.443417 0.446713 0.449527 0.451824 0.453573 0.454752 0.455346
0.325652 0.32653 0.328275 0.330873 0.334296 0.338513 0.343483 0.349158 0.355488 0.362412 0.36987 0.377792 0.386108 0.394741 0.40361 0.412629 0.421708 0.43075 0.439655 0.44832 0.456637 0.464501 0.471805 0.478449 0.484336 0.489382 0.493512 0.496665 0.498793 0.499866
0.29943 0.300665 0.303122 0.306774 0.311585 0.317506 0.324478 0.332436 0.341308 0.351018 0.361484 0.372625 0.384354 0.396582 0.409213 0.422145 0.435264 0.448446 0.461551 0.474426 0.486904 0.498809 0.50996 0.520175 0.529284 0.537127 0.54357 0.548501 0.551834 0.553515
0.274261 0.275876 0.279088 0.283858 0.290132 0.297838 0.306895 0.317212 0.328692 0.341239 0.354758 0.36916 0.384358 0.400269 0.416811 0.43389 0.451401 0.469213 0.487163 0.505054 0.522647 0.539669 0.555819 0.570781 0.584246 0.595923 0.605564 0.612965 0.617979 0.620509
0.249651 0.251685 0.255724 0.261714 0.269574 0.279203 0.290482 0.303282 0.31747 0.332923 0.349529 0.367198 0.385862 0.405474 0.426001 0.44741 0.469656 0.492656 0.516277 0.540305 0.564443 0.588294 0.611378 0.633149 0.653036 0.670489 0.685018 0.696234 0.703855 0.707707
0.225163 0.227669 0.232643 0.240006 0.249642 0.261402 0.275112 0.290582 0.307622 0.326061 0.345762 0.366637 0.388654 0.411835 0.43625 0.461998 0.489179 0.517862 0.548041 0.579594 0.612236 0.645481 0.678629 0.710777 0.740882 0.76785 0.790662 0.808467 0.820649 0.826828
0.200384 0.203443 0.209507 0.218467 0.230156 0.244357 0.260808 0.279223 0.299317 0.32084 0.343606 0.367524 0.392611 0.418996 0.446912 0.47667 0.508629 0.543152 0.580544 0.620979 0.664413 0.710473 0.758363 0.806792 0.853985 0.897808 0.936015 0.966541 0.987766 0.99863
0.174918 0.178645 0.186025 0.196908 0.211057 0.228154 0.247802 0.269562 0.292995 0.317717 0.343461 0.370116 0.397762 0.426667 0.457278 0.490195 0.526141 0.565917 0.610353 0.660232 0.716173 0.778452 0.846763 0.919914 0.995547 1.07001 1.13854 1.19588 1.23718 1.25878
0.148385 0.152947 0.161975 0.175262 0.192474 0.213137 0.23665 0.262328 0.289486 0.317533 0.346071 0.374964 0.404363 0.43471 0.4667 0.501255 0.539494 0.582713 0.632375 0.690092 0.75756 0.836429 0.928002 1.03272 1.1493 1.27371 1.39809 1.51064 1.59716 1.64443
0.120453 0.126104 0.137278 0.153696 0.174875 0.200102 0.228448 0.258839 0.290208 0.321663 0.352638 0.382979 0.41296 0.443231 0.47475 0.508726 0.546578 0.589942 0.640699 0.701019 0.773401 0.860651 0.965732 1.0913 1.23871 1.40612 1.58568 1.76048 1.90408 1.98636
0.0909577 0.098092 0.112194 0.132868 0.159398 0.19068 0.225238 0.261383 0.297474 0.332223 0.364913 0.395469 0.424393 0.452621 0.481372 0.512033 0.546102 0.585165 0.630904 0.685083 0.749484 0.825684 0.914588 1.01552 1.12484 1.23449 1.33202 1.40445 1.44601 1.46226
0.0602361 0.0695018 0.0877988 0.114536 0.148582 0.188133 0.230785 0.273857 0.314915 0.352268 0.385224 0.414044 0.439685 0.46349 0.486923 0.511411 0.53824 0.568495 0.60296 0.641919 0.684785 0.729453 0.77136 0.802572 0.811931 0.788253 0.727788 0.642222 0.558465 0.506932
0.0300951 0.0426105 0.0672646 0.103059 0.148022 0.199015 0.251986 0.302743 0.347947 0.385818 0.416228 0.440285 0.45973 0.476426 0.492035 0.507855 0.524738 0.542996 0.562232 0.581051 0.596627 0.604238 0.597148 0.56764 0.510053 0.425442 0.32469 0.226238 0.149204 0.107374
0.00673069 0.0245336 0.0593763 0.109244 0.17025 0.236535 0.301213 0.358181 0.403763 0.437224 0.460093 0.47501 0.484736 0.491598 0.497272 0.502743 0.508304 0.513517 0.517087 0.516699 0.508899 0.489293 0.453432 0.398651 0.326385 0.243411 0.160485 0.0888546 0.0371183 0.010234
0.010234 0.0371183 0.0888546 0.160485 0.243411 0.326385 0.398651 0.453432 0.489293 0.508899 0.516699 0.517087 0.513517 0.508304 0.502743 0.497272 0.491598 0.484736 0.47501 0.460093 0.437224 0.403763 0.358181 0.301213 0.236535 0.17025 0.109244 0.0593763 0.0245336 0.00673069
0.107374 0.149204 0.226238 0.32469 0.425442 0.510053 0.56764 0.597148 0.604238 0.596627 0.581051 0.562232 0.542996 0.524738 0.507855 0.492035 0.476426 0.45973 0.440285 0.416228 0.385818 0.347947 0.302743 0.251986 0.199015 0.148022 0.103059 0.0672646 0.0426105 0.0300951
0.506932 0.558465 0.642222 0.727788 0.788253 0.811931 0.802572 0.77136 0.729453 0.684785 0.641919 0.60296 0.568495 0.53824 0.511411 0.486923 0.46349 0.439685 0.414044 0.385224 0.352268 0.314915 0.273857 0.230785 0.188133 0.148582 0.114536 0.0877988 0.0695018 0.0602361
1.46226 1.44601 1.40445 1.33202 1.23449 1.12484 1.01552 0.914588 0.825684 0.749484 0.685083 0.630904 0.585165 0.546102 0.512033 0.481372 0.452621 0.424393 0.395469 0.364913 0.332223 0.297474 0.261383 0.225238 0.19068 0.159398 0.132868 0.112194 0.098092 0.0909577
1.98636 1.90408 1.76048 1.58568 1.40612 1.23871 1.0913 0.965732 0.860651 0.773401 0.701019 0.640699 0.589942 0.546578 0.508726 0.47475 0.443231 0.41296 0.382979 0.352638 0.321663 0.290208 0.258839 0.228448 0.200102 0.174875 0.153696 0.137278 0.126104 0.120453
1.64443 1.59716 1.51064 1.39809 1.27371 1.1493 1.03272 0.928002 0.836429 0.75756 0.690092 0.632375 0.582713 0.539494 0.501255 0.4667 0.43471 0.404363 0.374964 0.346071 0.317533 0.289486 0.262328 0.23665 0.213137 0.192474 0.175262 0.161975 0.152947 0.148385
1.25878 1.23718 1.19588 1.13854 1.07001 0.995547 0.919914 0.846763 0.778452 0.716173 0.660232 0.610353 0.565917 0.526141 0.490195 0.457278 0.426667 0.397762 0.370116 0.343461 0.317717 0.292995 0.269562 0.247802 0.228154 0.211057 0.196908 0.186025 0.178645 0.174918
0.99863 0.987766 0.966541 0.936015 0.897808 0.853985 0.806792 0.758363 0.710473 0.664413 0.620979 0.580544 0.543152 0.508629 0.47667 0.446912 0.418996 0.392611 0.367524 0.343606 0.32084 0.299317 0.279223 0.260808 0.244357 0.230156 0.218467 0.209507 0.203443 0.200384
0.826828 0.820649 0.808467 0.790662 0.76785 0.740882 0.710777 0.678629 0.645481 0.612236 0.579594 0.548041 0.517862 0.489179 0.461998 0.43625 0.411835 0.388654 0.366637 0.345762 0.326061 0.307622 0.290582 0.275112 0.261402 0.249642 0.240006 0.232643 0.227669 0.225163
0.707707 0.703855 0.696234 0.685018 0.670489 0.653036 0.633149 0.611378 0.588294 0.564443 0.540305 0.516277 0.492656 0.469656 0.44741 0.426001 0.405474 0.385862 0.367198 0.349529 0.332923 0.31747 0.303282 0.290482 0.279203 0.269574 0.261714 0.255724 0.251685 0.249651
0.620509 0.617979 0.612965 0.605564 0.595923 0.584246 0.570781 0.555819 0.539669 0.522647 0.505054 0.487163 0.469213 0.451401 0.43389 0.416811 0.400269 0.384358 0.36916 0.354758 0.341239 0.328692 0.317212 0.306895 0.297838 0.290132 0.283858 0.279088 0.275876 0.274261
0.553515 0.551834 0.548501 0.54357 0.537127 0.529284 0.520175 0.50996 0.498809 0.486904 0.474426 0.461551 0.448446 0.435264 0.422145 0.409213 0.396582 0.384354 0.372625 0.361484 0.351018 0.341308 0.332436 0.324478 0.317506 0.311585 0.306774 0.303122 0.300665 0.29943
0.499866 0.498793 0.496665 0.493512 0.489382 0.484336 0.478449 0.471805 0.464501 0.456637 0.44832 0.439655 0.43075 0.421708 0.412629 0.40361 0.394741 0.386108 0.377792 0.36987 0.362412 0.355488 0.349158 0.343483 0.338513 0.334296 0.330873 0.328275 0.32653 0.325652
0.455346 0.454752 0.453573 0.451824 0.449527 0.446713 0.443417 0.439683 0.435556 0.431089 0.426336 0.421352 0.416197 0.41093 0.405609 0.400292 0.395036 0.389897 0.384927 0.380177 0.375695 0.371524 0.367707 0.364281 0.36128 0.358732 0.356664 0.355094 0.354039 0.353509
0.417242 0.417055 0.416683 0.41613 0.415403 0.41451 0.413462 0.41227 0.410949 0.409512 0.407977 0.406361 0.404681 0.402957 0.401207 0.399451 0.397708 0.395997 0.394337 0.392744 0.391237 0.389832 0.388542 0.387383 0.386365 0.3855 0.384798 0.384264 0.383905 0.383725
We superpose a surface plot of $f$ on top of the grid:
X = [x for x in x, z in z]
Y = [w*z for w in w, z in z]
scatter3d(vec(X), vec(Y), vec(0F); markersize=0.75, markercolor=:green)
surface!(X, Y, F; legend=false, xlabel="x", ylabel="y", zlabel="f")
savefig(joinpath(GENFIGS, "dunklxu.html"))
```
```@raw html
<object type="text/html" data="../dunklxu.html" style="width:100%;height:400px;"></object>
We precompute a Dunkl-Xu–Chebyshev plan:
P = plan_rectdisk2cheb(F, β)
FastTransforms Dunkl-Xu--Chebyshev² plan for 30×30-element array of Float64
And an FFTW Chebyshev² analysis plan on the rectangularized disk:
PA = plan_rectdisk_analysis(F)
FastTransforms plan for FFTW Chebyshev analysis on the rectangularized disk for 30×30-element array of Float64
Its Dunkl-Xu coefficients are:
U = P\(PA*F)
30×30 Matrix{Float64}:
0.886226 -6.07772e-18 -6.09829e-7 2.89403e-18 -0.0236857 -7.72193e-18 -0.00550977 5.5956e-18 -0.000650943 -2.87364e-18 2.15779e-9 1.83869e-18 1.86065e-5 -1.00771e-18 4.38992e-6 2.86525e-18 4.19398e-7 -3.03304e-18 -1.00953e-7 1.29367e-18 -8.14396e-8 -1.52042e-18 -3.94076e-8 2.98661e-19 -1.67897e-8 4.33243e-18 -6.33162e-9 -6.04876e-18 -2.11252e-9 -7.14543e-20
-5.90279e-18 -0.361799 -1.72312e-17 -0.062663 4.62153e-18 2.72128e-6 -6.5608e-19 0.00252359 -4.87809e-18 0.000679258 2.69324e-20 9.1001e-5 -4.21736e-18 1.03955e-6 1.33822e-17 -2.31664e-6 4.22839e-18 -3.11859e-7 -2.32915e-19 1.77496e-7 -5.04404e-18 1.44389e-7 8.53374e-18 6.82707e-8 -6.0854e-18 2.5634e-8 -2.97558e-19 7.91583e-9 9.62202e-19 1.6359e-9
-5.19659e-7 2.19764e-17 0.105921 -7.39583e-18 0.0404829 6.44121e-19 0.00663284 1.25847e-18 -5.56102e-6 -2.6295e-18 -0.000301082 1.17731e-20 -8.77391e-5 -4.07557e-19 -1.39615e-5 6.39771e-18 -1.31088e-6 2.69191e-18 -2.80392e-7 -7.14059e-19 -2.38006e-7 -9.17753e-18 -1.39444e-7 -8.0658e-18 -5.76521e-8 7.99045e-18 -1.77475e-8 -1.72498e-18 -3.52357e-9 2.47868e-18
2.2614e-17 0.125331 9.06276e-18 1.52509e-6 9.50591e-18 -0.013651 -5.96736e-18 -0.00478429 1.30369e-18 -0.000775222 3.43825e-18 4.86933e-6 -1.02102e-17 4.00219e-5 8.51576e-18 1.28528e-5 1.87978e-18 2.68143e-6 -2.26087e-18 5.35246e-7 4.83255e-18 1.5728e-7 3.13348e-19 5.72745e-8 -6.17637e-18 1.62262e-8 -2.77995e-18 4.075e-10 6.51641e-18 -1.20696e-9
-0.0886209 1.34697e-17 -0.0913638 2.54558e-18 -0.0231032 1.14842e-18 2.55845e-6 -1.17302e-18 0.00173316 3.49599e-18 0.000591205 9.87211e-19 9.51801e-5 -3.93795e-18 -9.67049e-7 1.06173e-17 -5.17388e-6 1.05653e-18 -1.60228e-6 3.59571e-18 -2.52759e-7 -9.4277e-18 9.35469e-9 -7.08316e-18 2.66735e-8 5.24291e-18 1.62648e-8 2.06523e-18 7.6679e-9 -3.41376e-18
-3.19691e-17 -2.79797e-6 -6.87622e-18 0.0328526 -2.17649e-18 0.0160342 -8.40845e-18 0.00332497 2.85308e-18 -8.62281e-6 -7.66077e-18 -0.000228689 -3.88695e-18 -7.87989e-5 7.5024e-18 -1.43006e-5 1.63645e-18 -1.11779e-6 1.12327e-18 2.57992e-8 -5.98683e-18 -9.03781e-8 -1.38761e-18 -8.97012e-8 -1.50016e-18 -4.18139e-8 4.00602e-18 -1.37244e-8 5.67707e-18 -2.86072e-9
0.0632999 -6.32902e-18 0.0392743 5.78204e-19 3.65838e-6 -4.28252e-18 -0.00566089 1.87779e-18 -0.00237159 1.94064e-18 -0.0004495 -9.99956e-19 7.81213e-6 4.35573e-18 3.39614e-5 -6.63528e-18 1.24485e-5 2.879e-18 2.90796e-6 -1.21758e-18 5.68462e-7 -6.31676e-18 1.34604e-7 9.99263e-20 3.66282e-8 1.91457e-19 6.0499e-9 5.4385e-18 -9.48683e-10 -6.17782e-18
1.2091e-17 -0.0381303 1.21142e-17 -0.0305859 -1.59352e-18 -0.00858298 6.41003e-18 4.65679e-6 8.8581e-19 0.000859316 9.37832e-19 0.000335164 4.19759e-18 6.02308e-5 -2.38399e-18 -1.60502e-6 -5.52932e-18 -4.61957e-6 -2.6484e-18 -1.57519e-6 -3.21089e-18 -2.83912e-7 -1.64502e-18 6.48665e-9 3.96767e-19 2.64839e-8 1.40296e-18 1.29647e-8 5.32023e-18 3.53416e-9
-0.0246173 -9.08983e-20 -7.2626e-6 -4.39359e-18 0.0116417 -5.6569e-18 0.00624266 -1.19479e-18 0.00144602 -1.14835e-19 -1.39151e-5 -1.18046e-18 -0.000132715 5.10952e-19 -5.15476e-5 9.12983e-19 -1.08626e-5 3.44805e-18 -1.14678e-6 -6.0398e-18 -1.60201e-8 -4.03765e-18 -6.95967e-8 -1.17489e-18 -5.06628e-8 1.26016e-18 -1.89806e-8 2.72983e-18 -4.88118e-9 -4.51252e-18
1.41783e-18 0.0318389 -1.61921e-17 0.0141265 1.16566e-18 5.77928e-6 1.64974e-18 -0.00227906 1.48323e-18 -0.00104803 -6.04674e-18 -0.000212855 -1.14684e-18 1.03295e-5 1.29591e-18 2.34123e-5 -5.44479e-18 9.30847e-6 -4.8497e-18 2.35417e-6 1.28244e-17 3.9768e-7 3.75177e-18 5.08658e-8 -2.93608e-18 -3.96513e-9 5.55254e-19 -6.27377e-9 -7.97474e-19 -2.22939e-9
4.3203e-6 4.83233e-18 -0.0150888 7.66225e-18 -0.0112343 1.69004e-18 -0.00328812 -1.14301e-18 1.04744e-5 2.0824e-18 0.00039214 2.20339e-18 0.000165953 -3.07733e-18 3.20022e-5 -1.29447e-19 -1.20827e-6 -5.30558e-18 -2.94655e-6 3.47374e-18 -7.04511e-7 3.92854e-18 -5.6071e-8 -3.69615e-19 3.46324e-8 1.99188e-18 2.06785e-8 -1.10085e-18 7.17059e-9 2.49172e-18
-3.18814e-18 -0.013664 1.23705e-17 -1.51866e-5 3.49533e-18 0.00436874 -5.65532e-18 0.00244523 3.74216e-18 0.000590637 -1.78523e-18 -2.14758e-5 -6.28237e-18 -7.38896e-5 5.52417e-18 -3.13213e-5 8.96244e-18 -7.72648e-6 1.60645e-18 -1.29269e-6 -2.61542e-18 -2.78823e-7 8.64085e-19 -5.90858e-8 -4.15739e-18 -1.01665e-8 9.64242e-19 -5.87834e-11 -7.17849e-19 6.08272e-10
0.00851225 -1.23775e-17 0.0134873 -4.85026e-18 0.00537692 -2.744e-18 6.02617e-6 3.83728e-18 -0.000910525 -2.25913e-18 -0.000437065 -4.65881e-19 -8.7068e-5 -1.41146e-18 1.1278e-5 2.34929e-18 1.49731e-5 4.9625e-18 4.52269e-6 -1.18183e-18 1.07064e-6 -6.13379e-19 1.46243e-7 -5.06335e-18 -1.38814e-8 5.67901e-18 -1.70166e-8 3.97576e-18 -7.00317e-9 -4.90387e-18
-9.02172e-18 1.53467e-5 -6.79884e-18 -0.00600077 -4.96471e-18 -0.00428943 5.17259e-18 -0.00126564 4.05295e-19 2.25421e-5 -3.1381e-18 0.000179497 2.48856e-18 8.01025e-5 -1.65973e-18 1.7027e-5 -7.34685e-19 1.57076e-6 1.77709e-18 2.06968e-7 2.47321e-19 6.4408e-8 1.27698e-18 3.71494e-8 -2.68541e-18 1.54347e-8 4.076e-18 4.19596e-9 -1.18197e-18 6.39706e-10
-0.00737561 6.86247e-18 -0.00609917 -2.6246e-18 -2.74248e-5 -2.06885e-18 0.00166484 -3.75221e-18 0.000938074 -7.54762e-19 0.000214292 -2.90047e-18 -2.95524e-5 -1.27466e-18 -4.43089e-5 2.85544e-18 -1.48998e-5 1.68622e-18 -4.66705e-6 -8.74712e-20 -1.1166e-6 -5.60212e-18 -1.75326e-7 2.91657e-18 6.20197e-11 -2.67378e-18 1.22805e-8 4.38259e-19 5.74874e-9 3.69847e-19
6.5951e-18 0.00528716 1.12949e-17 0.00556329 -1.7886e-18 0.00208938 3.30527e-19 -5.2783e-7 -2.07949e-19 -0.000359085 -4.80667e-18 -0.000171677 1.32725e-18 -2.96656e-5 6.3006e-19 2.10201e-6 -4.00484e-18 2.03799e-6 1.74686e-18 7.36548e-7 -3.13581e-18 1.34796e-7 3.00296e-19 -8.41342e-9 -5.48279e-19 -1.56944e-8 1.96602e-18 -6.34761e-9 6.14219e-19 -1.40381e-9
0.00325817 -3.85037e-18 3.77292e-5 -2.86914e-19 -0.00236387 5.19452e-18 -0.0016225 -1.46309e-18 -0.000450124 1.16653e-18 4.2479e-5 8.56104e-19 9.29879e-5 2.84922e-18 3.37099e-5 -4.86075e-19 1.28552e-5 -2.84548e-18 3.9506e-6 -2.51671e-18 9.51441e-7 6.53994e-18 1.58677e-7 -2.27071e-18 5.78941e-9 8.00046e-19 -8.22477e-9 1.6237e-18 -4.24338e-9 5.32819e-19
-4.24673e-18 -0.00475403 -1.05055e-17 -0.00260261 3.50158e-18 -4.17061e-5 -5.95106e-18 0.000603349 3.75703e-20 0.000321014 -9.5819e-21 4.91036e-5 -3.7923e-18 -1.33075e-5 1.27585e-18 -9.95643e-6 9.28487e-19 -4.40482e-6 4.32084e-18 -1.35103e-6 -2.52916e-18 -2.69324e-7 4.48577e-18 -1.41967e-8 -2.97833e-18 1.40866e-8 -5.348e-18 7.16251e-9 8.50109e-19 1.77508e-9
-2.1087e-5 4.65566e-18 0.00246819 8.34608e-18 0.00221801 -5.39699e-18 0.000774953 6.31746e-18 -2.27028e-5 6.5146e-19 -0.000146058 4.28857e-18 -5.59485e-5 -1.63559e-18 -2.5516e-5 -1.43542e-20 -9.52201e-6 4.79193e-18 -2.90084e-6 -9.95443e-19 -7.0138e-7 -7.601e-18 -1.20528e-7 1.37846e-18 -6.49799e-9 2.99209e-18 5.20338e-9 -2.06387e-18 2.87275e-9 2.32599e-19
-1.13489e-18 0.00217575 7.49419e-19 7.86173e-5 -5.30307e-18 -0.000845473 4.86274e-18 -0.000526267 -2.97327e-18 -9.24417e-5 -1.01706e-18 2.85383e-5 -6.49193e-20 2.55329e-5 -1.78479e-18 1.39518e-5 -1.80076e-18 5.53959e-6 -5.52457e-18 1.63754e-6 8.60137e-18 3.34514e-7 -1.52121e-18 2.71988e-8 -3.42164e-19 -1.21682e-8 1.52429e-18 -7.17118e-9 9.97963e-19 -1.87466e-9
-0.00127442 -4.24183e-18 -0.00226313 -8.56923e-18 -0.00105975 2.30196e-18 -4.70324e-5 -4.36826e-18 0.000173699 -1.27247e-18 6.84882e-5 -5.91999e-18 3.73772e-5 -1.92225e-18 1.67333e-5 5.79068e-18 6.1804e-6 -1.46542e-18 1.87498e-6 -3.59634e-19 4.54341e-7 4.1408e-18 7.92679e-8 -2.36704e-18 4.9557e-9 3.31336e-18 -3.08203e-9 5.06472e-21 -1.77447e-9 6.53671e-19
2.30342e-17 -7.54358e-5 5.83727e-18 0.000953128 3.40112e-18 0.00073895 -1.25256e-18 0.000186348 -1.12384e-18 -3.08415e-5 6.01015e-18 -4.20801e-5 1.82933e-18 -2.97992e-5 2.49923e-18 -1.49958e-5 -1.83613e-18 -5.73922e-6 4.15896e-18 -1.67382e-6 -3.95827e-18 -3.45419e-7 1.60405e-18 -3.19319e-8 -9.26357e-19 1.04223e-8 -2.27516e-18 6.70585e-9 -6.24223e-19 1.79997e-9
0.00115733 5.43149e-18 0.00108248 3.71489e-18 0.000140675 -4.01257e-19 -0.00015525 -4.69713e-19 -6.00244e-5 -2.22895e-20 -3.94963e-5 4.29978e-18 -2.12639e-5 1.57619e-18 -9.44009e-6 -3.1546e-18 -3.47007e-6 -1.9476e-19 -1.05071e-6 1.31022e-18 -2.54885e-7 -2.06575e-18 -4.47918e-8 1.26932e-18 -2.98189e-9 -5.23925e-19 1.6509e-9 2.88512e-19 9.71987e-10 -2.34711e-18
-2.30367e-17 -0.000757848 -1.06545e-17 -0.000843449 -1.69763e-18 -0.000328982 -8.40211e-19 8.77607e-7 7.13047e-19 4.13033e-5 -1.27802e-18 4.36922e-5 -3.33482e-19 2.88832e-5 -4.8539e-19 1.41096e-5 6.58759e-19 5.3233e-6 -3.18286e-18 1.5442e-6 3.27169e-18 3.20051e-7 -1.19192e-18 3.10541e-8 1.32431e-18 -8.83962e-9 7.2066e-19 -5.9456e-9 8.7329e-19 -1.61537e-9
-0.000553886 2.79191e-19 -0.000187639 2.14194e-18 0.000102621 -1.81941e-18 3.50362e-5 1.05738e-18 2.80559e-5 -1.03104e-18 1.831e-5 -1.87818e-18 9.80506e-6 -1.14469e-18 4.33835e-6 2.39454e-18 1.59166e-6 4.94365e-20 4.81568e-7 1.25193e-19 1.16874e-7 6.91348e-19 2.05996e-8 -1.65932e-18 1.40536e-9 1.24505e-18 -7.42251e-10 -3.26552e-19 -4.4125e-10 1.46378e-18
-5.25003e-18 0.00067785 7.6462e-18 0.000443404 2.67214e-18 5.25409e-5 1.32353e-18 -8.79182e-6 -6.02926e-20 -3.88737e-5 8.60276e-20 -3.84611e-5 5.9319e-20 -2.48679e-5 1.0135e-19 -1.20249e-5 -9.25041e-19 -4.51391e-6 2.90429e-18 -1.30691e-6 -2.54625e-18 -2.71299e-7 7.2685e-19 -2.67727e-8 -7.8212e-19 7.24306e-9 -5.87622e-19 4.95787e-9 -1.83658e-18 1.35319e-9
0.000104898 -1.79419e-18 -4.97719e-5 -3.9432e-18 -1.14056e-5 -1.19599e-20 -1.12136e-5 2.6825e-20 -8.949e-6 5.12822e-19 -5.82665e-6 7.55485e-19 -3.11536e-6 2.16467e-19 -1.37708e-6 -7.43105e-19 -5.04943e-7 6.14381e-20 -1.52739e-7 -2.13484e-19 -3.7074e-8 -9.53578e-19 -6.54014e-9 -4.07501e-19 -4.49338e-10 1.78152e-18 2.34081e-10 -1.87401e-19 1.39557e-10 -9.22057e-19
2.38783e-17 -0.000389793 -2.46365e-18 -8.04943e-5 -8.60119e-19 -3.68665e-5 -1.00537e-18 8.03845e-6 -3.7844e-19 2.97453e-5 7.7422e-19 2.89916e-5 -3.74691e-19 1.86472e-5 2.85417e-19 8.99472e-6 1.56859e-18 3.37228e-6 -3.90995e-19 9.75922e-7 -6.77444e-19 2.02668e-7 2.36608e-19 2.00821e-8 5.64672e-19 -5.36499e-9 -3.44734e-19 -3.68864e-9 3.88632e-19 -1.00792e-9
1.54054e-5 5.53579e-19 1.00144e-6 4.24314e-19 1.23964e-6 -5.22302e-19 1.21824e-6 2.3099e-19 9.71898e-7 -2.6824e-19 6.32656e-7 -2.70923e-19 3.38215e-7 -3.06709e-20 1.49487e-7 7.00761e-19 5.48103e-8 -6.11393e-19 1.65791e-8 1.72361e-19 4.02426e-9 1.70245e-19 7.09969e-10 -3.84437e-19 4.88112e-11 3.25067e-19 -2.53943e-11 -5.2771e-20 -1.51441e-11 2.47462e-19
-4.45579e-18 0.000145153 1.71648e-19 0.000143445 1.6631e-19 6.55677e-5 1.53234e-19 -1.45469e-5 2.81373e-19 -5.3233e-5 -2.43047e-19 -5.18305e-5 1.49663e-20 -3.33247e-5 -1.92717e-20 -1.60719e-5 -1.26088e-19 -6.0251e-6 2.4998e-19 -1.74358e-6 -7.07138e-19 -3.62096e-7 -1.78645e-20 -3.58901e-8 -3.16689e-20 9.57958e-9 7.93255e-20 6.5884e-9 -8.35634e-21 1.80042e-9
The Dunkl-Xu coefficients are useful for integration. The integral of $f(x,y)$ over the disk should be $\pi/2$ by harmonicity. The coefficient of $P_{0,0}$ multiplied by √π
is:
U[1, 1]*sqrt(π)
1.570795540915304
Using an orthonormal basis, the integral of $[f(x,y)]^2$ over the disk is approximately the square of the 2-norm of the coefficients:
norm(U)^2, π/(2*sqrt(2))*log1p(sqrt(2))
(0.9789370457260868, 0.9789599179781414)
This page was generated using Literate.jl.