aboutsummaryrefslogtreecommitdiffstats
path: root/buch/papers/kugel
diff options
context:
space:
mode:
Diffstat (limited to 'buch/papers/kugel')
-rw-r--r--buch/papers/kugel/Makefile3
-rw-r--r--buch/papers/kugel/figures/flux.pdfbin0 -> 345665 bytes
-rw-r--r--buch/papers/kugel/figures/povray/Makefile (renamed from buch/papers/kugel/images/Makefile)0
-rw-r--r--buch/papers/kugel/figures/povray/curvature.jpgbin0 -> 265649 bytes
-rw-r--r--buch/papers/kugel/figures/povray/curvature.maxima (renamed from buch/papers/kugel/images/curvature.maxima)0
-rw-r--r--buch/papers/kugel/figures/povray/curvature.pngbin0 -> 590402 bytes
-rw-r--r--buch/papers/kugel/figures/povray/curvature.pov (renamed from buch/papers/kugel/images/curvature.pov)0
-rw-r--r--buch/papers/kugel/figures/povray/curvgraph.m (renamed from buch/papers/kugel/images/curvgraph.m)0
-rw-r--r--buch/papers/kugel/figures/povray/spherecurve.cpp (renamed from buch/papers/kugel/images/spherecurve.cpp)0
-rw-r--r--buch/papers/kugel/figures/povray/spherecurve.jpgbin0 -> 171287 bytes
-rw-r--r--buch/papers/kugel/figures/povray/spherecurve.m (renamed from buch/papers/kugel/images/spherecurve.m)0
-rw-r--r--buch/papers/kugel/figures/povray/spherecurve.maxima (renamed from buch/papers/kugel/images/spherecurve.maxima)0
-rw-r--r--buch/papers/kugel/figures/povray/spherecurve.pngbin0 -> 423490 bytes
-rw-r--r--buch/papers/kugel/figures/povray/spherecurve.pov (renamed from buch/papers/kugel/images/spherecurve.pov)0
-rw-r--r--buch/papers/kugel/figures/tikz/Makefile12
-rw-r--r--buch/papers/kugel/figures/tikz/curvature-1d.dat500
-rw-r--r--buch/papers/kugel/figures/tikz/curvature-1d.pdfbin0 -> 15387 bytes
-rw-r--r--buch/papers/kugel/figures/tikz/curvature-1d.py32
-rw-r--r--buch/papers/kugel/figures/tikz/curvature-1d.tex21
-rw-r--r--buch/papers/kugel/figures/tikz/spherical-coordinates.pdfbin0 -> 40319 bytes
-rw-r--r--buch/papers/kugel/figures/tikz/spherical-coordinates.tex99
-rw-r--r--buch/papers/kugel/main.tex1
-rw-r--r--buch/papers/kugel/packages.tex10
-rw-r--r--buch/papers/kugel/preliminaries.tex15
-rw-r--r--buch/papers/kugel/proofs.tex245
-rw-r--r--buch/papers/kugel/references.bib20
-rw-r--r--buch/papers/kugel/sections/Introduction.tex318
-rw-r--r--buch/papers/kugel/spherical-harmonics.tex976
28 files changed, 2238 insertions, 14 deletions
diff --git a/buch/papers/kugel/Makefile b/buch/papers/kugel/Makefile
index f798a55..995206b 100644
--- a/buch/papers/kugel/Makefile
+++ b/buch/papers/kugel/Makefile
@@ -5,5 +5,6 @@
#
images:
- @echo "no images to be created in kugel"
+ $(MAKE) -C ./figures/povray/
+ $(MAKE) -C ./figures/tikz/
diff --git a/buch/papers/kugel/figures/flux.pdf b/buch/papers/kugel/figures/flux.pdf
new file mode 100644
index 0000000..6a87288
--- /dev/null
+++ b/buch/papers/kugel/figures/flux.pdf
Binary files differ
diff --git a/buch/papers/kugel/images/Makefile b/buch/papers/kugel/figures/povray/Makefile
index 4226dab..4226dab 100644
--- a/buch/papers/kugel/images/Makefile
+++ b/buch/papers/kugel/figures/povray/Makefile
diff --git a/buch/papers/kugel/figures/povray/curvature.jpg b/buch/papers/kugel/figures/povray/curvature.jpg
new file mode 100644
index 0000000..6448966
--- /dev/null
+++ b/buch/papers/kugel/figures/povray/curvature.jpg
Binary files differ
diff --git a/buch/papers/kugel/images/curvature.maxima b/buch/papers/kugel/figures/povray/curvature.maxima
index 6313642..6313642 100644
--- a/buch/papers/kugel/images/curvature.maxima
+++ b/buch/papers/kugel/figures/povray/curvature.maxima
diff --git a/buch/papers/kugel/figures/povray/curvature.png b/buch/papers/kugel/figures/povray/curvature.png
new file mode 100644
index 0000000..20268f2
--- /dev/null
+++ b/buch/papers/kugel/figures/povray/curvature.png
Binary files differ
diff --git a/buch/papers/kugel/images/curvature.pov b/buch/papers/kugel/figures/povray/curvature.pov
index 3b15d77..3b15d77 100644
--- a/buch/papers/kugel/images/curvature.pov
+++ b/buch/papers/kugel/figures/povray/curvature.pov
diff --git a/buch/papers/kugel/images/curvgraph.m b/buch/papers/kugel/figures/povray/curvgraph.m
index 75effd6..75effd6 100644
--- a/buch/papers/kugel/images/curvgraph.m
+++ b/buch/papers/kugel/figures/povray/curvgraph.m
diff --git a/buch/papers/kugel/images/spherecurve.cpp b/buch/papers/kugel/figures/povray/spherecurve.cpp
index 8ddf5e5..8ddf5e5 100644
--- a/buch/papers/kugel/images/spherecurve.cpp
+++ b/buch/papers/kugel/figures/povray/spherecurve.cpp
diff --git a/buch/papers/kugel/figures/povray/spherecurve.jpg b/buch/papers/kugel/figures/povray/spherecurve.jpg
new file mode 100644
index 0000000..cd2e7c8
--- /dev/null
+++ b/buch/papers/kugel/figures/povray/spherecurve.jpg
Binary files differ
diff --git a/buch/papers/kugel/images/spherecurve.m b/buch/papers/kugel/figures/povray/spherecurve.m
index 99d5c9a..99d5c9a 100644
--- a/buch/papers/kugel/images/spherecurve.m
+++ b/buch/papers/kugel/figures/povray/spherecurve.m
diff --git a/buch/papers/kugel/images/spherecurve.maxima b/buch/papers/kugel/figures/povray/spherecurve.maxima
index 1e9077c..1e9077c 100644
--- a/buch/papers/kugel/images/spherecurve.maxima
+++ b/buch/papers/kugel/figures/povray/spherecurve.maxima
diff --git a/buch/papers/kugel/figures/povray/spherecurve.png b/buch/papers/kugel/figures/povray/spherecurve.png
new file mode 100644
index 0000000..ff24371
--- /dev/null
+++ b/buch/papers/kugel/figures/povray/spherecurve.png
Binary files differ
diff --git a/buch/papers/kugel/images/spherecurve.pov b/buch/papers/kugel/figures/povray/spherecurve.pov
index b1bf4b8..b1bf4b8 100644
--- a/buch/papers/kugel/images/spherecurve.pov
+++ b/buch/papers/kugel/figures/povray/spherecurve.pov
diff --git a/buch/papers/kugel/figures/tikz/Makefile b/buch/papers/kugel/figures/tikz/Makefile
new file mode 100644
index 0000000..4ec4e5a
--- /dev/null
+++ b/buch/papers/kugel/figures/tikz/Makefile
@@ -0,0 +1,12 @@
+FIGURES := spherical-coordinates.pdf curvature-1d.pdf
+
+all: $(FIGURES)
+
+%.pdf: %.tex
+ pdflatex $<
+
+curvature-1d.pdf: curvature-1d.tex curvature-1d.dat
+ pdflatex curvature-1d.tex
+
+curvature-1d.dat: curvature-1d.py
+ python3 $<
diff --git a/buch/papers/kugel/figures/tikz/curvature-1d.dat b/buch/papers/kugel/figures/tikz/curvature-1d.dat
new file mode 100644
index 0000000..6622398
--- /dev/null
+++ b/buch/papers/kugel/figures/tikz/curvature-1d.dat
@@ -0,0 +1,500 @@
+0.000000000000000000e+00 1.000000000000000000e+00 5.000007286987066095e+02
+2.004008016032064049e-02 1.025056790958151831e+00 4.899813296957295279e+02
+4.008016032064128098e-02 1.050121598724190752e+00 4.799659543969494848e+02
+6.012024048096192147e-02 1.075186379145250948e+00 4.699586248906784931e+02
+8.016032064128256196e-02 1.100243094530689136e+00 4.599633600341078932e+02
+1.002004008016031955e-01 1.125283716879951434e+00 4.499841738393695891e+02
+1.202404809619238429e-01 1.150300231106550664e+00 4.400250738615438877e+02
+1.402805611222444904e-01 1.175284638256853809e+00 4.300900595892592833e+02
+1.603206412825651239e-01 1.200228958722394657e+00 4.201831208385332275e+02
+1.803607214428857575e-01 1.225125235444413541e+00 4.103082361504954747e+02
+2.004008016032063910e-01 1.249965537109345881e+00 4.004693711936409954e+02
+2.204408817635270523e-01 1.274741961333968554e+00 3.906704771712513775e+02
+2.404809619238476859e-01 1.299446637838927776e+00 3.809154892346260795e+02
+2.605210420841683194e-01 1.324071731609375302e+00 3.712083249027585907e+02
+2.805611222444889807e-01 1.348609446041445725e+00 3.615528824890962483e+02
+3.006012024048095865e-01 1.373052026073301457e+00 3.519530395360096122e+02
+3.206412825651302478e-01 1.397391761299501045e+00 3.424126512576057166e+02
+3.406813627254509091e-01 1.421620989067430063e+00 3.329355489915074031e+02
+3.607214428857715149e-01 1.445732097554558448e+00 3.235255386602207750e+02
+3.807615230460921762e-01 1.469717528825280173e+00 3.141863992427096832e+02
+4.008016032064127820e-01 1.493569781866116220e+00 3.049218812567906411e+02
+4.208416833667334433e-01 1.517281415598057848e+00 2.957357052529569614e+02
+4.408817635270541047e-01 1.540845051864837556e+00 2.866315603202378384e+02
+4.609218436873747105e-01 1.564253378395934257e+00 2.776131026046919601e+02
+4.809619238476953718e-01 1.587499151743118286e+00 2.686839538411309150e+02
+5.010020040080159776e-01 1.610575200189357625e+00 2.598476998986618582e+02
+5.210420841683366389e-01 1.633474426628916509e+00 2.511078893406329655e+02
+5.410821643286573002e-01 1.656189811417493107e+00 2.424680319995614752e+02
+5.611222444889779615e-01 1.678714415191247422e+00 2.339315975676150003e+02
+5.811623246492986228e-01 1.701041381653590534e+00 2.255020142032130082e+02
+6.012024048096191731e-01 1.723163940328612753e+00 2.171826671543084046e+02
+6.212424849699398344e-01 1.745075409280051337e+00 2.089768973989005474e+02
+6.412825651302604957e-01 1.766769197794693991e+00 2.008880003033277433e+02
+6.613226452905811570e-01 1.788238809029157217e+00 1.929192242988764008e+02
+6.813627254509018183e-01 1.809477842618958832e+00 1.850737695772391760e+02
+7.014028056112223686e-01 1.830479997248850577e+00 1.773547868053454408e+02
+7.214428857715430299e-01 1.851239073183373218e+00 1.697653758600805816e+02
+7.414829659318636912e-01 1.871748974756613837e+00 1.623085845834024497e+02
+7.615230460921843525e-01 1.892003712820175432e+00 1.549874075583541639e+02
+7.815631262525050138e-01 1.911997407148365635e+00 1.478047849064652723e+02
+8.016032064128255641e-01 1.931724288799645972e+00 1.407636011070246695e+02
+8.216432865731462254e-01 1.951178702433387091e+00 1.338666838386980942e+02
+8.416833667334668867e-01 1.970355108581006931e+00 1.271168028439571600e+02
+8.617234468937875480e-01 1.989248085870571892e+00 1.205166688167746969e+02
+8.817635270541082093e-01 2.007852333203973494e+00 1.140689323140332476e+02
+9.018036072144288706e-01 2.026162671885804123e+00 1.077761826910842018e+02
+9.218436873747494209e-01 2.044174047703075203e+00 1.016409470618853419e+02
+9.418837675350700822e-01 2.061881532954947804e+00 9.566568928413349227e+01
+9.619238476953907435e-01 2.079280328431652780e+00 8.985280896980044929e+01
+9.819639278557114048e-01 2.096365765341811738e+00 8.420464052146976996e+01
+1.002004008016031955e+00 2.113133307187384347e+00 7.872345219486057033e+01
+1.022044088176352616e+00 2.129578551585488810e+00 7.341144518791566043e+01
+1.042084168336673278e+00 2.145697232036356539e+00 6.827075275681968947e+01
+1.062124248496993939e+00 2.161485219636723798e+00 6.330343935930140020e+01
+1.082164328657314600e+00 2.176938524737964453e+00 5.851149982556578522e+01
+1.102204408817635262e+00 2.192053298548298113e+00 5.389685855718687435e+01
+1.122244488977955923e+00 2.206825834678430187e+00 4.946136875428519630e+01
+1.142284569138276584e+00 2.221252570630007028e+00 4.520681167129833966e+01
+1.162324649298597246e+00 2.235330089226285288e+00 4.113489590164444110e+01
+1.182364729458917685e+00 2.249055119984439521e+00 3.724725669156617869e+01
+1.202404809619238346e+00 2.262424540428958686e+00 3.354545528342948302e+01
+1.222444889779559007e+00 2.275435377345608856e+00 3.003097828874255271e+01
+1.242484969939879669e+00 2.288084807975446999e+00 2.670523709114522859e+01
+1.262525050100200330e+00 2.300370161148418191e+00 2.356956727960955078e+01
+1.282565130260520991e+00 2.312288918356074419e+00 2.062522811207871243e+01
+1.302605210420841653e+00 2.323838714762985536e+00 1.787340200976009186e+01
+1.322645290581162314e+00 2.335017340156437360e+00 1.531519408227492640e+01
+1.342685370741482975e+00 2.345822739834032333e+00 1.295163168385587404e+01
+1.362725450901803637e+00 2.356253015428841913e+00 1.078366400077049292e+01
+1.382765531062124298e+00 2.366306425671775404e+00 8.812161670136093861e+00
+1.402805611222444737e+00 2.375981387090854824e+00 7.037916430279492097e+00
+1.422845691382765398e+00 2.385276474647127998e+00 5.461640802781636772e+00
+1.442885771543086060e+00 2.394190422306948562e+00 4.083967806335150996e+00
+1.462925851703406721e+00 2.402722123550405264e+00 2.905450702529595031e+00
+1.482965931863727382e+00 2.410870631815691834e+00 1.926562773666154138e+00
+1.503006012024048044e+00 2.418635160879236246e+00 1.147697132691613664e+00
+1.523046092184368705e+00 2.426015085171442820e+00 5.691665653277303560e-01
+1.543086172344689366e+00 2.433009940027915263e+00 1.912034044591185422e-01
+1.563126252505010028e+00 2.439619421876060734e+00 1.395943683027547552e-02
+1.583166332665330689e+00 2.445843388357002546e+00 3.750584208938356756e-02
+1.603206412825651128e+00 2.451681858382752210e+00 2.618331642032580286e-01
+1.623246492985971789e+00 2.457135012128611962e+00 6.868513152547650602e-01
+1.643286573146292451e+00 2.462203190960818411e+00 1.312389611621266550e+00
+1.663326653306613112e+00 2.466886897299453096e+00 2.138196842519770602e+00
+1.683366733466933773e+00 2.471186794416676769e+00 3.163941370891084848e+00
+1.703406813627254435e+00 2.475103706170361573e+00 4.389211266582178084e+00
+1.723446893787575096e+00 2.478638616673238371e+00 5.813514471774004377e+00
+1.743486973947895757e+00 2.481792669897687542e+00 7.436278998587575018e+00
+1.763527054108216419e+00 2.484567169216326032e+00 9.256853158789395408e+00
+1.783567134268537080e+00 2.486963576878586935e+00 1.127450582550371472e+01
+1.803607214428857741e+00 2.488983513423490557e+00 1.348842672682692978e+01
+1.823647294589178181e+00 2.490628757028852114e+00 1.589772677122579658e+01
+1.843687374749498842e+00 2.491901242797179172e+00 1.850143840458866151e+01
+1.863727454909819503e+00 2.492803061978552392e+00 2.129851599878729118e+01
+1.883767535070140164e+00 2.493336461130795989e+00 2.428783627159159408e+01
+1.903807615230460826e+00 2.493503841217282080e+00 2.746819873777046439e+01
+1.923847695390781487e+00 2.493307756642720641e+00 3.083832619119621654e+01
+1.943887775551102148e+00 2.492750914227336079e+00 3.439686521775931283e+01
+1.963927855711422810e+00 2.491836172119830994e+00 3.814238673888808506e+01
+1.983967935871743471e+00 2.490566538649576334e+00 4.207338658545420174e+01
+2.004008016032063910e+00 2.488945171118494670e+00 4.618828610183413019e+01
+2.024048096192384794e+00 2.486975374533113126e+00 5.048543277988349587e+01
+2.044088176352705233e+00 2.484660600277302400e+00 5.496310092257003532e+01
+2.064128256513026116e+00 2.482004444726231274e+00 5.961949233699898087e+01
+2.084168336673346555e+00 2.479010647802090794e+00 6.445273705655124274e+01
+2.104208416833667439e+00 2.475683091472176578e+00 6.946089409184656915e+01
+2.124248496993987878e+00 2.472025798189923851e+00 7.464195221022733051e+01
+2.144288577154308317e+00 2.468042929279522735e+00 7.999383074345310263e+01
+2.164328657314629201e+00 2.463738783264768806e+00 8.551438042327842481e+01
+2.184368737474949640e+00 2.459117794142811952e+00 9.120138424458035331e+01
+2.204408817635270523e+00 2.454184529603501197e+00 9.705255835568922862e+01
+2.224448897795590963e+00 2.448943689195040463e+00 1.030655529755629374e+02
+2.244488977955911846e+00 2.443400102436689814e+00 1.092379533374396345e+02
+2.264529058116232285e+00 2.437558726879272442e+00 1.155672806585862560e+02
+2.284569138276553169e+00 2.431424646114265897e+00 1.220509931357573947e+02
+2.304609218436873608e+00 2.425003067732275142e+00 1.286864869659601709e+02
+2.324649298597194491e+00 2.418299321231706767e+00 1.354710973921206971e+02
+2.344689378757514930e+00 2.411318855878493483e+00 1.424020997732258422e+02
+2.364729458917835370e+00 2.404067238517710425e+00 1.494767106785168664e+02
+2.384769539078156253e+00 2.396550151337982548e+00 1.566920890052907680e+02
+2.404809619238476692e+00 2.388773389589562868e+00 1.640453371198620403e+02
+2.424849699398797576e+00 2.380742859257013677e+00 1.715335020212285144e+02
+2.444889779559118015e+00 2.372464574687412675e+00 1.791535765269697436e+02
+2.464929859719438898e+00 2.363944656175040571e+00 1.869025004809070936e+02
+2.484969939879759337e+00 2.355189327503528496e+00 1.947771619820341300e+02
+2.505010020040080221e+00 2.346204913446435114e+00 2.027743986342312610e+02
+2.525050100200400660e+00 2.336997837227277053e+00 2.108909988162550349e+02
+2.545090180360721543e+00 2.327574617940013191e+00 2.191237029714987443e+02
+2.565130260521041983e+00 2.317941867931036182e+00 2.274692049170012638e+02
+2.585170340681362422e+00 2.308106290143709938e+00 2.359241531711823257e+02
+2.605210420841683305e+00 2.298074675426524660e+00 2.444851522997685436e+02
+2.625250501002003745e+00 2.287853899805951663e+00 2.531487642793698569e+02
+2.645290581162324628e+00 2.277450921725090449e+00 2.619115098781609845e+02
+2.665330661322645067e+00 2.266872779249217817e+00 2.707698700531099121e+02
+2.685370741482965951e+00 2.256126587239360770e+00 2.797202873631965190e+02
+2.705410821643286390e+00 2.245219534495030533e+00 2.887591673980486462e+02
+2.725450901803607273e+00 2.234158880867263886e+00 2.978828802214276834e+02
+2.745490981963927712e+00 2.222951954343126868e+00 3.070877618289785573e+02
+2.765531062124248596e+00 2.211606148102859937e+00 3.163701156196634088e+02
+2.785571142284569035e+00 2.200128917550841834e+00 3.257262138802831259e+02
+2.805611222444889474e+00 2.188527777321561008e+00 3.351522992824964149e+02
+2.825651302605210358e+00 2.176810298261803389e+00 3.446445863917298311e+02
+2.845691382765530797e+00 2.164984104390269337e+00 3.541992631873747541e+02
+2.865731462925851680e+00 2.153056869835828113e+00 3.638124925936636487e+02
+2.885771543086172120e+00 2.141036315755658670e+00 3.734804140206049965e+02
+2.905811623246493003e+00 2.128930207234495775e+00 3.831991449143642399e+02
+2.925851703406813442e+00 2.116746350166242685e+00 3.929647823164625606e+02
+2.945891783567134325e+00 2.104492588119187158e+00 4.027734044311732191e+02
+2.965931863727454765e+00 2.092176799186097114e+00 4.126210722004783520e+02
+2.985971943887775648e+00 2.079806892820440289e+00 4.225038308859634526e+02
+3.006012024048096087e+00 2.067390806660023728e+00 4.324177116570036219e+02
+3.026052104208416527e+00 2.054936503339299669e+00 4.423587331846135839e+02
+3.046092184368737410e+00 2.042451967291644355e+00 4.523229032403145879e+02
+3.066132264529057849e+00 2.029945201542878497e+00 4.623062202993779124e+02
+3.086172344689378733e+00 2.017424224497317731e+00 4.723046751478044598e+02
+3.106212424849699172e+00 2.004897066717655107e+00 4.823142524923883343e+02
+3.126252505010020055e+00 1.992371767699953278e+00 4.923309325732264483e+02
+3.146292585170340494e+00 1.979856372645053764e+00 5.023506927780170486e+02
+3.166332665330661378e+00 1.967358929227692510e+00 5.123695092575079570e+02
+3.186372745490981817e+00 1.954887484364624450e+00 5.223833585414381560e+02
+3.206412825651302256e+00 1.942450080983050720e+00 5.323882191543301587e+02
+3.226452905811623140e+00 1.930054754790647475e+00 5.423800732304792973e+02
+3.246492985971943579e+00 1.917709531048496396e+00 5.523549081274929904e+02
+3.266533066132264462e+00 1.905422421348207829e+00 5.623087180377352752e+02
+3.286573146292584902e+00 1.893201420394537093e+00 5.722375055970223912e+02
+3.306613226452905785e+00 1.881054502794775818e+00 5.821372834899317468e+02
+3.326653306613226224e+00 1.868989619856223694e+00 5.920040760510720474e+02
+3.346693386773547108e+00 1.857014696393007203e+00 6.018339208616766882e+02
+3.366733466933867547e+00 1.845137627543546266e+00 6.116228703408767160e+02
+3.386773547094188430e+00 1.833366275599931816e+00 6.213669933310161468e+02
+3.406813627254508869e+00 1.821708466850500807e+00 6.310623766763693538e+02
+3.426853707414829309e+00 1.810171988436861001e+00 6.407051267946321786e+02
+3.446893787575150192e+00 1.798764585226647394e+00 6.502913712405503475e+02
+3.466933867735470631e+00 1.787493956703248177e+00 6.598172602610595732e+02
+3.486973947895791515e+00 1.776367753873757227e+00 6.692789683413144530e+02
+3.507014028056111954e+00 1.765393576196397918e+00 6.786726957409805436e+02
+3.527054108216432837e+00 1.754578968528644589e+00 6.879946700201794556e+02
+3.547094188376753277e+00 1.743931418097274477e+00 6.972411475544654422e+02
+3.567134268537074160e+00 1.733458351491558469e+00 7.064084150382354892e+02
+3.587174348697394599e+00 1.723167131680813480e+00 7.154927909759586555e+02
+3.607214428857715482e+00 1.713065055057490182e+00 7.244906271606341761e+02
+3.627254509018035922e+00 1.703159348507010673e+00 7.333983101388791965e+02
+3.647294589178356361e+00 1.693457166505509370e+00 7.422122626620608798e+02
+3.667334669338677244e+00 1.683965588246658651e+00 7.509289451228887629e+02
+3.687374749498997684e+00 1.674691614798728523e+00 7.595448569768896050e+02
+3.707414829659318567e+00 1.665642166293012316e+00 7.680565381481970917e+02
+3.727454909819639006e+00 1.656824079144766593e+00 7.764605704190873894e+02
+3.747494989979959890e+00 1.648244103307762831e+00 7.847535788027066701e+02
+3.767535070140280329e+00 1.639908899563566447e+00 7.929322328984358137e+02
+3.787575150300601212e+00 1.631825036846622945e+00 8.009932482293520479e+02
+3.807615230460921651e+00 1.623998989606231236e+00 8.089333875612445581e+02
+3.827655310621242535e+00 1.616437135206458375e+00 8.167494622026619027e+02
+3.847695390781562974e+00 1.609145751365050003e+00 8.244383332854611126e+02
+3.867735470941883413e+00 1.602131013632347223e+00 8.319969130253510912e+02
+3.887775551102204297e+00 1.595398992911243319e+00 8.394221659619206548e+02
+3.907815631262524736e+00 1.588955653019160641e+00 8.467111101776515625e+02
+3.927855711422845619e+00 1.582806848293030866e+00 8.538608184954326816e+02
+3.947895791583166059e+00 1.576958321238246530e+00 8.608684196540875746e+02
+3.967935871743486942e+00 1.571415700222517753e+00 8.677310994614492756e+02
+3.987975951903807381e+00 1.566184497215570515e+00 8.744461019245148918e+02
+4.008016032064127820e+00 1.561270105575586431e+00 8.810107303562293737e+02
+4.028056112224448704e+00 1.556677797883275982e+00 8.874223484584509833e+02
+4.048096192384769587e+00 1.552412723824457164e+00 8.936783813806663375e+02
+4.068136272545089582e+00 1.548479908121984883e+00 8.997763167540272207e+02
+4.088176352705410466e+00 1.544884248517864656e+00 9.057137057002989877e+02
+4.108216432865731349e+00 1.541630513806363734e+00 9.114881638153049153e+02
+4.128256513026052232e+00 1.538723341918903031e+00 9.170973721264856522e+02
+4.148296593186372228e+00 1.536167238061506124e+00 9.225390780241765469e+02
+4.168336673346693111e+00 1.533966572905543835e+00 9.278110961662381442e+02
+4.188376753507013994e+00 1.532125580832512046e+00 9.329113093556687772e+02
+4.208416833667334878e+00 1.530648358233542172e+00 9.378376693908538755e+02
+4.228456913827654873e+00 1.529538861864323529e+00 9.425881978881050145e+02
+4.248496993987975756e+00 1.528800907256105734e+00 9.471609870761637922e+02
+4.268537074148296639e+00 1.528438167183412855e+00 9.515542005623437944e+02
+4.288577154308616635e+00 1.528454170189090799e+00 9.557660740700115412e+02
+4.308617234468937518e+00 1.528852299167273276e+00 9.597949161471043453e+02
+4.328657314629258401e+00 1.529635790004841844e+00 9.636391088454030296e+02
+4.348697394789579285e+00 1.530807730281920964e+00 9.672971083702858550e+02
+4.368737474949899280e+00 1.532371058031932520e+00 9.707674457007029787e+02
+4.388777555110220163e+00 1.534328560561707189e+00 9.740487271791230341e+02
+4.408817635270541047e+00 1.536682873332125610e+00 9.771396350712136609e+02
+4.428857715430861930e+00 1.539436478899741445e+00 9.800389280950321336e+02
+4.448897795591181925e+00 1.542591705919805545e+00 9.827454419195138371e+02
+4.468937875751502808e+00 1.546150728211101333e+00 9.852580896320574766e+02
+4.488977955911823692e+00 1.550115563882954017e+00 9.875758621750194379e+02
+4.509018036072143687e+00 1.554488074524779329e+00 9.896978287509432448e+02
+4.529058116232464570e+00 1.559269964458483093e+00 9.916231371963593801e+02
+4.549098196392785454e+00 1.564462780054019841e+00 9.933510143240067691e+02
+4.569138276553106337e+00 1.570067909108384452e+00 9.948807662333381359e+02
+4.589178356713426332e+00 1.576086580288286632e+00 9.962117785891847461e+02
+4.609218436873747216e+00 1.582519862636726060e+00 9.973435168684678729e+02
+4.629258517034068099e+00 1.589368665143676473e+00 9.982755265748584179e+02
+4.649298597194388982e+00 1.596633736381040114e+00 9.990074334212996519e+02
+4.669338677354708977e+00 1.604315664202031311e+00 9.995389434803163340e+02
+4.689378757515029861e+00 1.612414875505097545e+00 9.998698433020541643e+02
+4.709418837675350744e+00 1.620931636062481251e+00 1.000000000000000000e+03
+4.729458917835670739e+00 1.629866050413486533e+00 9.999293613043465712e+02
+4.749498997995991623e+00 1.639218061822500072e+00 9.996579555829848687e+02
+4.769539078156312506e+00 1.648987452301774237e+00 9.991858918301107906e+02
+4.789579158316633389e+00 1.659173842698966617e+00 9.985133596224548000e+02
+4.809619238476953385e+00 1.669776692849408217e+00 9.976406290431494881e+02
+4.829659318637274268e+00 1.680795301793028163e+00 9.965680505732656229e+02
+4.849699398797595151e+00 1.692228808055850298e+00 9.952960549510630699e+02
+4.869739478957916035e+00 1.704076189995956891e+00 9.938251529990096742e+02
+4.889779559118236030e+00 1.716336266213768447e+00 9.921559354186391602e+02
+4.909819639278556913e+00 1.729007696026489072e+00 9.902890725533304703e+02
+4.929859719438877796e+00 1.742088980006505361e+00 9.882253141191039276e+02
+4.949899799599197792e+00 1.755578460583548051e+00 9.859654889035417682e+02
+4.969939879759518675e+00 1.769474322710359537e+00 9.835105044329535531e+02
+4.989979959919839558e+00 1.783774594591596818e+00 9.808613466079225418e+02
+5.010020040080160442e+00 1.798477148475690290e+00 9.780190793073752502e+02
+5.030060120240480437e+00 1.813579701509330233e+00 9.749848439613382425e+02
+5.050100200400801320e+00 1.829079816654240354e+00 9.717598590925483677e+02
+5.070140280561122204e+00 1.844974903665872024e+00 9.683454198271051609e+02
+5.090180360721443087e+00 1.861262220133622414e+00 9.647428973743595861e+02
+5.110220440881763082e+00 1.877938872582164631e+00 9.609537384762481906e+02
+5.130260521042083965e+00 1.895001817633443997e+00 9.569794648262927694e+02
+5.150300601202404849e+00 1.912447863228867728e+00 9.528216724585031443e+02
+5.170340681362724844e+00 1.930273669911211520e+00 9.484820311064232783e+02
+5.190380761523045727e+00 1.948475752165717889e+00 9.439622835325791357e+02
+5.210420841683366611e+00 1.967050479819845377e+00 9.392642448286025001e+02
+5.230460921843687494e+00 1.985994079501115728e+00 9.343898016863045086e+02
+5.250501002004007489e+00 2.005302636152468398e+00 9.293409116399966479e+02
+5.270541082164328373e+00 2.024972094604515771e+00 9.241196022803618462e+02
+5.290581162324649256e+00 2.044998261204058920e+00 9.187279704401921663e+02
+5.310621242484970139e+00 2.065376805498225998e+00 9.131681813523182427e+02
+5.330661322645290134e+00 2.086103261973545120e+00 9.074424677800708423e+02
+5.350701402805611018e+00 2.107173031849256084e+00 9.015531291206212927e+02
+5.370741482965931901e+00 2.128581384924137954e+00 8.955025304815651452e+02
+5.390781563126251896e+00 2.150323461476119746e+00 8.892931017311141204e+02
+5.410821643286572780e+00 2.172394274213905074e+00 8.829273365222821894e+02
+5.430861723446893663e+00 2.194788710279818922e+00 8.764077912914567605e+02
+5.450901803607214546e+00 2.217501533303093186e+00 8.697370842317545794e+02
+5.470941883767534542e+00 2.240527385502743662e+00 8.629178942415799156e+02
+5.490981963927855425e+00 2.263860789839213794e+00 8.559529598487991962e+02
+5.511022044088176308e+00 2.287496152213901457e+00 8.488450781109748959e+02
+5.531062124248497192e+00 2.311427763715702355e+00 8.415971034920893317e+02
+5.551102204408817187e+00 2.335649802913659201e+00 8.342119467162179944e+02
+5.571142284569138070e+00 2.360156338194801862e+00 8.266925735986054633e+02
+5.591182364729458953e+00 2.384941330146225447e+00 8.190420038546226351e+02
+5.611222444889778949e+00 2.409998633980471094e+00 8.112633098870738877e+02
+5.631262525050099832e+00 2.435322002003218689e+00 8.033596155523445077e+02
+5.651302605210420715e+00 2.460905086122306518e+00 7.953340949058906517e+02
+5.671342685370741599e+00 2.486741440397069347e+00 7.871899709275636496e+02
+5.691382765531061594e+00 2.512824523626973505e+00 7.789305142272897911e+02
+5.711422845691382477e+00 2.539147701978509364e+00 7.705590417316205958e+02
+5.731462925851703361e+00 2.565704251649277179e+00 7.620789153516853958e+02
+5.751503006012024244e+00 2.592487361568209359e+00 7.534935406330763499e+02
+5.771543086172344239e+00 2.619490136130837588e+00 7.448063653882098833e+02
+5.791583166332665122e+00 2.646705597968513235e+00 7.360208783117147959e+02
+5.811623246492986006e+00 2.674126690750449509e+00 7.271406075794046728e+02
+5.831663326653306001e+00 2.701746282017488454e+00 7.181691194313910955e+02
+5.851703406813626884e+00 2.729557166046437722e+00 7.091100167399115435e+02
+5.871743486973947768e+00 2.757552066743818919e+00 6.999669375624501981e+02
+5.891783567134268651e+00 2.785723640567889792e+00 6.907435536807222434e+02
+5.911823647294588646e+00 2.814064479477745628e+00 6.814435691261201100e+02
+5.931863727454909530e+00 2.842567113908326615e+00 6.720707186922043093e+02
+5.951903807615230413e+00 2.871224015770126758e+00 6.626287664348450335e+02
+5.971943887775551296e+00 2.900027601472412453e+00 6.531215041606080831e+02
+5.991983967935871291e+00 2.928970234968723663e+00 6.435527499039991426e+02
+6.012024048096192175e+00 2.958044230823453802e+00 6.339263463941722421e+02
+6.032064128256513058e+00 2.987241857298241765e+00 6.242461595117250681e+02
+6.052104208416833053e+00 3.016555339456976181e+00 6.145160767361943499e+02
+6.072144288577153937e+00 3.045976862288150677e+00 6.047400055848752345e+02
+6.092184368737474820e+00 3.075498573843291616e+00 5.949218720435990235e+02
+6.112224448897795703e+00 3.105112588390241068e+00 5.850656189900898880e+02
+6.132264529058115698e+00 3.134810989579997376e+00 5.751752046105395948e+02
+6.152304609218436582e+00 3.164585833625852995e+00 5.652546008100322297e+02
+6.172344689378757465e+00 3.194429152493549307e+00 5.553077916174643178e+02
+6.192384769539078349e+00 3.224332957101171182e+00 5.453387715855913029e+02
+6.212424849699398344e+00 3.254289240527490801e+00 5.353515441868502194e+02
+6.232464929859719227e+00 3.284289981227487498e+00 5.253501202055987278e+02
+6.252505010020040110e+00 3.314327146253717160e+00 5.153385161274204620e+02
+6.272545090180360106e+00 3.344392694482282824e+00 5.053207525261383921e+02
+6.292585170340680989e+00 3.374478579842083992e+00 4.953008524491854700e+02
+6.312625250501001872e+00 3.404576754546040807e+00 4.852828398019860288e+02
+6.332665330661322756e+00 3.434679172323020335e+00 4.752707377319885609e+02
+6.352705410821642751e+00 3.464777791649148231e+00 4.652685670130051676e+02
+6.372745490981963634e+00 3.494864578977221026e+00 4.552803444305018843e+02
+6.392785571142284518e+00 3.524931511962900554e+00 4.453100811684944347e+02
+6.412825651302604513e+00 3.554970582686421299e+00 4.353617811986907782e+02
+6.432865731462925396e+00 3.584973800868508143e+00 4.254394396725285787e+02
+6.452905811623246279e+00 3.614933197079194027e+00 4.155470413167602146e+02
+6.472945891783567163e+00 3.644840825938279849e+00 4.056885588332180532e+02
+6.492985971943887158e+00 3.674688769306128311e+00 3.958679513034139177e+02
+6.513026052104208041e+00 3.704469139463525185e+00 3.860891625986033660e+02
+6.533066132264528925e+00 3.734174082279312135e+00 3.763561197959638776e+02
+6.553106212424849808e+00 3.763795780364542765e+00 3.666727316015129077e+02
+6.573146292585169803e+00 3.793326456211875808e+00 3.570428867804062634e+02
+6.593186372745490686e+00 3.822758375318961566e+00 3.474704525952413405e+02
+6.613226452905811570e+00 3.852083849294539952e+00 3.379592732530011290e+02
+6.633266533066131565e+00 3.881295238946041781e+00 3.285131683612518714e+02
+6.653306613226452448e+00 3.910384957347420976e+00 3.191359313942206768e+02
+6.673346693386773332e+00 3.939345472885993349e+00 3.098313281693717158e+02
+6.693386773547094215e+00 3.968169312287071815e+00 3.006030953350844470e+02
+6.713426853707414210e+00 3.996849063615168340e+00 2.914549388700485792e+02
+6.733466933867735094e+00 4.025377379250564047e+00 2.823905325949738199e+02
+6.753507014028055977e+00 4.053746978840048421e+00 2.734135166972172897e+02
+6.773547094188376860e+00 4.081950652220645459e+00 2.645274962689139784e+02
+6.793587174348696855e+00 4.109981262315153927e+00 2.557360398592040838e+02
+6.813627254509017739e+00 4.137831747998339971e+00 2.470426780411323762e+02
+6.833667334669338622e+00 4.165495126932617254e+00 2.384509019938032282e+02
+6.853707414829658617e+00 4.192964498372094617e+00 2.299641621003518992e+02
+6.873747494989979501e+00 4.220233045933865057e+00 2.215858665622992305e+02
+6.893787575150300384e+00 4.247294040335392928e+00 2.133193800308498282e+02
+6.913827655310621267e+00 4.274140842096944226e+00 2.051680222556753677e+02
+6.933867735470941263e+00 4.300766904207941721e+00 1.971350667517327224e+02
+6.953907815631262146e+00 4.327165774756191574e+00 1.892237394846470409e+02
+6.973947895791583029e+00 4.353331099518909397e+00 1.814372175751938983e+02
+6.993987975951903913e+00 4.379256624514525242e+00 1.737786280233937930e+02
+7.014028056112223908e+00 4.404936198514227463e+00 1.662510464527364036e+02
+7.034068136272544791e+00 4.430363775512244473e+00 1.588574958750354824e+02
+7.054108216432865675e+00 4.455533417153866971e+00 1.516009454764152053e+02
+7.074148296593185670e+00 4.480439295120240750e+00 1.444843094249101227e+02
+7.094188376753506553e+00 4.505075693468969966e+00 1.375104457001587832e+02
+7.114228456913827436e+00 4.529437010929587615e+00 1.306821549456662126e+02
+7.134268537074148320e+00 4.553517763152981068e+00 1.240021793440882476e+02
+7.154308617234468315e+00 4.577312584913854288e+00 1.174732015159950436e+02
+7.174348697394789198e+00 4.600816232265364292e+00 1.110978434425529429e+02
+7.194388777555110082e+00 4.624023584645035712e+00 1.048786654125609346e+02
+7.214428857715430965e+00 4.646929646931139857e+00 9.881816499425976019e+01
+7.234468937875750960e+00 4.669529551448691862e+00 9.291877603233054117e+01
+7.254509018036071843e+00 4.691818559924266552e+00 8.718286767048279273e+01
+7.274549098196392727e+00 4.713792065388847874e+00 8.161274340002822214e+01
+7.294589178356712722e+00 4.735445594027945404e+00 7.621064013481766608e+01
+7.314629258517033605e+00 4.756774806978249615e+00 7.097872731291521120e+01
+7.334669338677354489e+00 4.777775502070065627e+00 6.591910602537187458e+01
+7.354709418837675372e+00 4.798443615514884186e+00 6.103380817244479317e+01
+7.374749498997995367e+00 4.818775223537352659e+00 5.632479564760383539e+01
+7.394789579158316251e+00 4.838766543951037669e+00 5.179395954965144000e+01
+7.414829659318637134e+00 4.858413937677311445e+00 4.744311942327492204e+01
+7.434869739478958017e+00 4.877713910206781023e+00 4.327402252833200436e+01
+7.454909819639278012e+00 4.896663113002647449e+00 3.928834313816695811e+01
+7.474949899799598896e+00 4.915258344845452321e+00 3.548768186723586382e+01
+7.494989979959919779e+00 4.933496553118660088e+00 3.187356502831510241e+01
+7.515030060120239774e+00 4.951374835034558330e+00 2.844744401954644530e+01
+7.535070140280560658e+00 4.968890438800001697e+00 2.521069474156775314e+01
+7.555110220440881541e+00 4.986040764721496821e+00 2.216461704496407137e+01
+7.575150300601202424e+00 5.002823366249223191e+00 1.931043420825829671e+01
+7.595190380761522420e+00 5.019235950959545889e+00 1.664929244665321662e+01
+7.615230460921843303e+00 5.035276381475634722e+00 1.418226045172094807e+01
+7.635270541082164186e+00 5.050942676325811398e+00 1.191032896222642634e+01
+7.655310621242485070e+00 5.066233010739295217e+00 9.834410366254722646e+00
+7.675350701402805065e+00 5.081145717379013327e+00 7.955338334803988332e+00
+7.695390781563125948e+00 5.095679287011193104e+00 6.273867486990178044e+00
+7.715430861723446831e+00 5.109832369111450667e+00 4.790673086998884500e+00
+7.735470941883766827e+00 5.123603772407154366e+00 3.506350772904916813e+00
+7.755511022044087710e+00 5.136992465355831428e+00 2.421416317469038848e+00
+7.775551102204408593e+00 5.149997576559419699e+00 1.536305421008269612e+00
+7.795591182364729477e+00 5.162618395114220604e+00 8.513735364222744240e-01
+7.815631262525049472e+00 5.174854370896386335e+00 3.668957264467385126e-01
+7.835671342685370355e+00 5.186705114782850679e+00 8.306655319023606432e-02
+7.855711422845691239e+00 5.198170398807591575e+00 0.000000000000000000e+00
+7.875751503006012122e+00 5.209250156253183661e+00 1.177294256871248418e-01
+7.895791583166332117e+00 5.219944481677590176e+00 4.362075511299656205e-01
+7.915831663326653000e+00 5.230253630876193327e+00 9.553064782610614092e-01
+7.935871743486973884e+00 5.240178020779059587e+00 1.674817741429812656e+00
+7.955911823647293879e+00 5.249718229283516280e+00 2.594452391120483092e+00
+7.975951903807614762e+00 5.258874995022061682e+00 3.713841109991943057e+00
+7.995991983967935646e+00 5.267649217065747180e+00 5.032534361192301020e+00
+8.016032064128255641e+00 5.276041954563106096e+00 6.550002568888864118e+00
+8.036072144288576524e+00 5.284054426314822805e+00 8.265636330941418919e+00
+8.056112224448897408e+00 5.291688010284259391e+00 1.017874666363291603e+01
+8.076152304609218291e+00 5.298944243044088509e+00 1.228856527835901602e+01
+8.096192384769539174e+00 5.305824819159209227e+00 1.459424489016658200e+01
+8.116232464929860058e+00 5.312331590506231827e+00 1.709485955801583756e+01
+8.136272545090179165e+00 5.318466565529778478e+00 1.978940505663001659e+01
+8.156312625250500048e+00 5.324231908435906213e+00 2.267679927978462828e+01
+8.176352705410820931e+00 5.329629938322985261e+00 2.575588267487045968e+01
+8.196392785571141815e+00 5.334663128250363151e+00 2.902541870856099848e+01
+8.216432865731462698e+00 5.339334104245210710e+00 3.248409436339298395e+01
+8.236472945891783581e+00 5.343645644247928317e+00 3.613052066506330817e+01
+8.256513026052104465e+00 5.347600676996553837e+00 3.996323324022881707e+01
+8.276553106212425348e+00 5.351202280850603010e+00 4.398069290458620628e+01
+8.296593186372744455e+00 5.354453682554823679e+00 4.818128628099457700e+01
+8.316633266533065338e+00 5.357358255943372782e+00 5.256332644739540427e+01
+8.336673346693386222e+00 5.359919520584902841e+00 5.712505361426364914e+01
+8.356713426853707105e+00 5.362141140369139691e+00 6.186463583132555044e+01
+8.376753507014027988e+00 5.364026922035497691e+00 6.678016972325357870e+01
+8.396793587174348872e+00 5.365580813644318603e+00 7.186968125404561647e+01
+8.416833667334669755e+00 5.366806902991370976e+00 7.713112651978079271e+01
+8.436873747494988862e+00 5.367709415966225528e+00 8.256239256943308646e+01
+8.456913827655309746e+00 5.368292714855172676e+00 8.816129825341631943e+01
+8.476953907815630629e+00 5.368561296589365206e+00 9.392559509951207986e+01
+8.496993987975951512e+00 5.368519790938893976e+00 9.985296821583851568e+01
+8.517034068136272396e+00 5.368172958653508076e+00 1.059410372204906849e+02
+8.537074148296593279e+00 5.367525689550741497e+00 1.121873571974812194e+02
+8.557114228456914162e+00 5.366583000552199501e+00 1.185894196785977641e+02
+8.577154308617233269e+00 5.365350033668812024e+00 1.251446536507811516e+02
+8.597194388777554153e+00 5.363832053935846389e+00 1.318504265886247424e+02
+8.617234468937875036e+00 5.362034447298508866e+00 1.387040455115703708e+02
+8.637274549098195919e+00 5.359962718449001073e+00 1.457027580653883660e+02
+8.657314629258516803e+00 5.357622488615882084e+00 1.528437536274986712e+02
+8.677354709418837686e+00 5.355019493306628853e+00 1.601241644356925917e+02
+8.697394789579158569e+00 5.352159580004308026e+00 1.675410667398015221e+02
+8.717434869739479453e+00 5.349048705819276606e+00 1.750914819758495753e+02
+8.737474949899798560e+00 5.345692935096859166e+00 1.827723779622187124e+02
+8.757515030060119443e+00 5.342098436981957299e+00 1.905806701173493138e+02
+8.777555110220440326e+00 5.338271482941573609e+00 1.985132226984773354e+02
+8.797595190380761210e+00 5.334218444246249469e+00 2.065668500609244802e+02
+8.817635270541082093e+00 5.329945789411409507e+00 2.147383179374249096e+02
+8.837675350701402976e+00 5.325460081599669770e+00 2.230243447369789749e+02
+8.857715430861723860e+00 5.320767975985125631e+00 2.314216028627118078e+02
+8.877755511022042967e+00 5.315876217080687027e+00 2.399267200482068745e+02
+8.897795591182363850e+00 5.310791636029545515e+00 2.485362807117820694e+02
+8.917835671342684734e+00 5.305521147861844256e+00 2.572468273281535289e+02
+8.937875751503005617e+00 5.300071748717661180e+00 2.660548618169502788e+02
+8.957915831663326500e+00 5.294450513037422645e+00 2.749568469475133838e+02
+8.977955911823647384e+00 5.288664590720861369e+00 2.839492077594163675e+02
+8.997995991983968267e+00 5.282721204255688363e+00 2.930283329981389784e+02
+9.018036072144287374e+00 5.276627645817097978e+00 3.021905765653149274e+02
+9.038076152304608257e+00 5.270391274339290000e+00 3.114322589829767480e+02
+9.058116232464929141e+00 5.264019512560196290e+00 3.207496688711975139e+02
+9.078156312625250024e+00 5.257519844040566603e+00 3.301390644385522819e+02
+9.098196392785570907e+00 5.250899810158627723e+00 3.395966749847884216e+02
+9.118236472945891791e+00 5.244167007081546927e+00 3.491187024151063270e+02
+9.138276553106212674e+00 5.237329082714865081e+00 3.587013227654414891e+02
+9.158316633266533557e+00 5.230393733631166775e+00 3.683406877381355002e+02
+9.178356713426852664e+00 5.223368701979203443e+00 3.780329262473783842e+02
+9.198396793587173548e+00 5.216261772374713779e+00 3.877741459738065259e+02
+9.218436873747494431e+00 5.209080768774191128e+00 3.975604349276194398e+02
+9.238476953907815314e+00 5.201833551332843975e+00 4.073878630196048221e+02
+9.258517034068136198e+00 5.194528013248028486e+00 4.172524836394272256e+02
+9.278557114228457081e+00 5.187172077589415231e+00 4.271503352405529768e+02
+9.298597194388777964e+00 5.179773694117139726e+00 4.370774429311730955e+02
+9.318637274549097071e+00 5.172340836089261096e+00 4.470298200704844476e+02
+9.338677354709417955e+00 5.164881497059755411e+00 4.570034698696940154e+02
+9.358717434869738838e+00 5.157403687668390191e+00 4.669943869970894639e+02
+9.378757515030059722e+00 5.149915432423705752e+00 4.769985591865493006e+02
+9.398797595190380605e+00 5.142424766480450771e+00 4.870119688488334759e+02
+9.418837675350701488e+00 5.134939732412731495e+00 4.970305946850124315e+02
+9.438877755511022372e+00 5.127468376984182008e+00 5.070504133013864703e+02
+9.458917835671341479e+00 5.120018747916452284e+00 5.170674008252445901e+02
+9.478957915831662362e+00 5.112598890657316097e+00 5.270775345208204499e+02
+9.498997995991983245e+00 5.105216845149687543e+00 5.370767944047840956e+02
+9.519038076152304129e+00 5.097880642602845569e+00 5.470611648606347899e+02
+9.539078156312625012e+00 5.090598302267177466e+00 5.570266362513380045e+02
+9.559118236472945895e+00 5.083377828213707872e+00 5.669692065295602106e+02
+9.579158316633266779e+00 5.076227206119739321e+00 5.768848828448577706e+02
+9.599198396793587662e+00 5.069154400061871790e+00 5.867696831471699852e+02
+9.619238476953906769e+00 5.062167349317696186e+00 5.966196377859761242e+02
+9.639278557114227652e+00 5.055273965177453199e+00 6.064307911044755883e+02
+9.659318637274548536e+00 5.048482127766917849e+00 6.161992030281406869e+02
+9.679358717434869419e+00 5.041799682882824207e+00 6.259209506470201632e+02
+9.699398797595190302e+00 5.035234438842048021e+00 6.355921297911449983e+02
+9.719438877755511186e+00 5.028794163345857271e+00 6.452088565984089428e+02
+9.739478957915832069e+00 5.022486580360477681e+00 6.547672690742948589e+02
+9.759519038076151176e+00 5.016319367015202424e+00 6.642635286428171639e+02
+9.779559118236472059e+00 5.010300150519331197e+00 6.736938216880639629e+02
+9.799599198396792943e+00 5.004436505099149279e+00 6.830543610857074555e+02
+9.819639278557113826e+00 4.998735948956176678e+00 6.923413877238837131e+02
+9.839679358717434710e+00 4.993205941247933488e+00 7.015511720128191655e+02
+9.859719438877755593e+00 4.987853879092396525e+00 7.106800153826006863e+02
+9.879759519038076476e+00 4.982687094597387123e+00 7.197242517684906034e+02
+9.899799599198395583e+00 4.977712851916056280e+00 7.286802490831846626e+02
+9.919839679358716467e+00 4.972938344329665306e+00 7.375444106754310951e+02
+9.939879759519037350e+00 4.968370691358828140e+00 7.463131767744092713e+02
+9.959919839679358233e+00 4.964016935904367323e+00 7.549830259193067832e+02
+9.979959919839679117e+00 4.959884041418952449e+00 7.635504763735062852e+02
+1.000000000000000000e+01 4.955978889110630448e+00 7.720120875228209343e+02
diff --git a/buch/papers/kugel/figures/tikz/curvature-1d.pdf b/buch/papers/kugel/figures/tikz/curvature-1d.pdf
new file mode 100644
index 0000000..6425af6
--- /dev/null
+++ b/buch/papers/kugel/figures/tikz/curvature-1d.pdf
Binary files differ
diff --git a/buch/papers/kugel/figures/tikz/curvature-1d.py b/buch/papers/kugel/figures/tikz/curvature-1d.py
new file mode 100644
index 0000000..4710fc8
--- /dev/null
+++ b/buch/papers/kugel/figures/tikz/curvature-1d.py
@@ -0,0 +1,32 @@
+import numpy as np
+import matplotlib.pyplot as plt
+
+
+@np.vectorize
+def fn(x):
+ return (x ** 2) * 2 / 100 + (1 + x / 4) + np.sin(x)
+
+@np.vectorize
+def ddfn(x):
+ return 2 * 5 / 100 - np.sin(x)
+
+x = np.linspace(0, 10, 500)
+y = fn(x)
+ddy = ddfn(x)
+
+cmap = ddy - np.min(ddy)
+cmap = cmap * 1000 / np.max(cmap)
+
+plt.plot(x, y)
+plt.plot(x, ddy)
+# plt.plot(x, cmap)
+
+plt.show()
+
+fname = "curvature-1d.dat"
+np.savetxt(fname, np.array([x, y, cmap]).T, delimiter=" ")
+
+# with open(fname, "w") as f:
+# # f.write("x y cmap\n")
+# for xv, yv, cv in zip(x, y, cmap):
+# f.write(f"{xv} {yv} {cv}\n")
diff --git a/buch/papers/kugel/figures/tikz/curvature-1d.tex b/buch/papers/kugel/figures/tikz/curvature-1d.tex
new file mode 100644
index 0000000..6983fb0
--- /dev/null
+++ b/buch/papers/kugel/figures/tikz/curvature-1d.tex
@@ -0,0 +1,21 @@
+% vim:ts=2 sw=2 et:
+\documentclass[tikz, border=5mm]{standalone}
+\usepackage{pgfplots}
+
+\begin{document}
+\begin{tikzpicture}
+ \begin{axis}[
+ clip = false,
+ width = 8cm, height = 6cm,
+ xtick = \empty, ytick = \empty,
+ colormap name = viridis,
+ axis lines = middle,
+ axis line style = {ultra thick, -latex}
+ ]
+ \addplot+[
+ smooth, mark=none, line width = 3pt, mesh,
+ point meta=explicit,
+ ] file {curvature-1d.dat};
+ \end{axis}
+\end{tikzpicture}
+\end{document}
diff --git a/buch/papers/kugel/figures/tikz/spherical-coordinates.pdf b/buch/papers/kugel/figures/tikz/spherical-coordinates.pdf
new file mode 100644
index 0000000..1bff016
--- /dev/null
+++ b/buch/papers/kugel/figures/tikz/spherical-coordinates.pdf
Binary files differ
diff --git a/buch/papers/kugel/figures/tikz/spherical-coordinates.tex b/buch/papers/kugel/figures/tikz/spherical-coordinates.tex
new file mode 100644
index 0000000..3a45385
--- /dev/null
+++ b/buch/papers/kugel/figures/tikz/spherical-coordinates.tex
@@ -0,0 +1,99 @@
+\documentclass[tikz]{standalone}
+\usepackage{amsmath}
+\usepackage{amssymb}
+\usepackage{bm}
+\usepackage{lmodern}
+\usepackage{tikz-3dplot}
+
+\usetikzlibrary{arrows}
+\usetikzlibrary{intersections}
+\usetikzlibrary{math}
+\usetikzlibrary{positioning}
+\usetikzlibrary{arrows.meta}
+\usetikzlibrary{shapes.misc}
+\usetikzlibrary{calc}
+
+\begin{document}
+
+\tdplotsetmaincoords{60}{130}
+\pgfmathsetmacro{\l}{2}
+
+\begin{tikzpicture}[
+ >=latex,
+ tdplot_main_coords,
+ dot/.style = {
+ black, fill = black, circle,
+ outer sep = 0, inner sep = 0,
+ minimum size = .8mm
+ },
+ round/.style = {
+ draw = orange, thick, circle,
+ minimum size = 1mm,
+ inner sep = 0pt, outer sep = 0pt,
+ },
+ cross/.style = {
+ cross out, draw = magenta, thick,
+ minimum size = 1mm,
+ inner sep = 0pt, outer sep = 0pt
+ },
+ ]
+
+ % origin
+ \coordinate (O) at (0,0,0);
+
+ % poles
+ \coordinate (NP) at (0,0,\l);
+ \coordinate (SP) at (0,0,-\l);
+
+ % \draw (SP) node[dot, gray] {};
+ % \draw (NP) node[dot, gray] {};
+
+ % gray unit circle
+ \tdplotdrawarc[gray]{(O)}{\l}{0}{360}{}{};
+ \draw[gray, dashed] (-\l, 0, 0) to (\l, 0, 0);
+ \draw[gray, dashed] (0, -\l, 0) to (0, \l, 0);
+
+ % axis
+ \draw[->] (O) -- ++(1.25*\l,0,0) node[left] {\(\mathbf{\hat{x}}\)};
+ \draw[->] (O) -- ++(0,1.25*\l,0) node[right] {\(\mathbf{\hat{y}}\)};
+ \draw[->] (O) -- ++(0,0,1.25*\l) node[above] {\(\mathbf{\hat{z}}\)};
+
+ % meridians
+ \foreach \phi in {0, 30, 60, ..., 150}{
+ \tdplotsetrotatedcoords{\phi}{90}{0};
+ \tdplotdrawarc[lightgray, densely dotted, tdplot_rotated_coords]{(O)}{\l}{0}{360}{}{};
+ }
+
+ % dot above and its projection
+ \pgfmathsetmacro{\phi}{120}
+ \pgfmathsetmacro{\theta}{40}
+
+ \pgfmathsetmacro{\px}{cos(\phi)*sin(\theta)*\l}
+ \pgfmathsetmacro{\py}{sin(\phi)*sin(\theta)*\l}
+ \pgfmathsetmacro{\pz}{cos(\theta)*\l})
+
+ % point A
+ \coordinate (A) at (\px,\py,\pz);
+ \coordinate (Ap) at (\px,\py, 0);
+
+ % lines
+ \draw[red!80!black, ->] (O) -- (A);
+ \draw[red!80!black, densely dashed] (O) -- (Ap) -- (A)
+ node[above right] {\(\mathbf{\hat{r}}\)};
+
+ % arcs
+ \tdplotdrawarc[blue!80!black, ->]{(O)}{.8\l}{0}{\phi}{}{};
+ \node[below right, blue!80!black] at (.8\l,0,0) {\(\bm{\hat{\varphi}}\)};
+
+ \tdplotsetrotatedcoords{\phi-90}{-90}{0};
+ \tdplotdrawarc[blue!80!black, ->, tdplot_rotated_coords]{(O)}{.95\l}{0}{\theta}{}{};
+ \node[above right = 1mm, blue!80!black] at (0,0,.8\l) {\(\bm{\hat{\vartheta}}\)};
+
+
+ % dots
+ \draw (O) node[dot] {};
+ \draw (A) node[dot, fill = red!80!black] {};
+
+\end{tikzpicture}
+\end{document}
+% vim:ts=2 sw=2 et:
diff --git a/buch/papers/kugel/main.tex b/buch/papers/kugel/main.tex
index 98d9cb2..d063f87 100644
--- a/buch/papers/kugel/main.tex
+++ b/buch/papers/kugel/main.tex
@@ -14,6 +14,7 @@
\input{papers/kugel/preliminaries}
\input{papers/kugel/spherical-harmonics}
\input{papers/kugel/applications}
+\input{papers/kugel/proofs}
\printbibliography[heading=subbibliography]
\end{refsection}
diff --git a/buch/papers/kugel/packages.tex b/buch/papers/kugel/packages.tex
index 61f91ad..c02589f 100644
--- a/buch/papers/kugel/packages.tex
+++ b/buch/papers/kugel/packages.tex
@@ -1,3 +1,4 @@
+% vim:ts=2 sw=2 et:
%
% packages.tex -- packages required by the paper kugel
%
@@ -7,4 +8,13 @@
% if your paper needs special packages, add package commands as in the
% following example
%\usepackage{packagename}
+\usepackage{cases}
+\newcommand{\kugeltodo}[1]{\textcolor{red!70!black}{\texttt{[TODO: #1]}}}
+\newcommand{\kugelplaceholderfig}[2]{ \begin{tikzpicture}%
+ \fill[lightgray!20] (0, 0) rectangle (#1, #2);%
+ \node[gray, anchor = center] at ({#1 / 2}, {#2 / 2}) {\Huge \ttfamily \bfseries TODO};
+ \end{tikzpicture}}
+
+\DeclareMathOperator{\sphlaplacian}{\nabla^2_{S}}
+\DeclareMathOperator{\surflaplacian}{\nabla^2_{\partial S}}
diff --git a/buch/papers/kugel/preliminaries.tex b/buch/papers/kugel/preliminaries.tex
index 03cd421..1fa78d7 100644
--- a/buch/papers/kugel/preliminaries.tex
+++ b/buch/papers/kugel/preliminaries.tex
@@ -1,6 +1,6 @@
% vim:ts=2 sw=2 et spell tw=78:
-\section{Preliminaries}
+\section{Preliminaries}\label{kugel:sec:preliminaries}
The purpose of this section is to dust off some concepts that will become
important later on. This will enable us to be able to get a richer and more
@@ -44,23 +44,23 @@ numbers \(\mathbb{R}\).
\)
\end{definition}
-\texttt{TODO: Text here.}
+\kugeltodo{Text here.}
\begin{definition}[Span]
\end{definition}
-\texttt{TODO: Text here.}
+\kugeltodo{Text here.}
\begin{definition}[Linear independence]
\end{definition}
-\texttt{TODO: Text here.}
+\kugeltodo{Text here.}
\begin{definition}[Basis]
\end{definition}
-\texttt{TODO: Text here.}
+\kugeltodo{Text here.}
\begin{definition}[Inner product]
\label{kugel:def:inner-product} \nocite{axler_linear_2014}
@@ -318,11 +318,12 @@ convergence.
\end{definition}
\begin{theorem}[Fourier Theorem]
- \[
+ \label{fourier-theorem-1D}
+ \begin{equation*}
\lim_{N \to \infty} \left \|
f(x) - \sum_{n = -N}^N \hat{f}(n) E_n(x)
\right \|_2 = 0
- \]
+ \end{equation*}
\end{theorem}
\begin{lemma}
diff --git a/buch/papers/kugel/proofs.tex b/buch/papers/kugel/proofs.tex
new file mode 100644
index 0000000..93b3857
--- /dev/null
+++ b/buch/papers/kugel/proofs.tex
@@ -0,0 +1,245 @@
+% vim:ts=2 sw=2 et spell tw=80:
+\section{(long) Proofs}
+
+\subsection{Legendre Functions} \label{kugel:sec:proofs:legendre}
+
+\kugeltodo{Fix theorem numbers to match, review text.}
+
+\begin{lemma}
+ The polynomial function
+ \begin{align*}
+ y_n(x)&=\sum_{k=0}^{\lfloor \frac{n}{2} \rfloor} (-1)^k \frac{(2n-2k)!}{2^n k! (n-k)!(n-2k)!} x^{n-2k}\\
+ &= \frac{1}{n!2^n}\frac{d^n}{dx^n}(1-x^2)^n =: P_n(x),
+ \end{align*}
+ is a solution to the second order differential equation
+ \begin{equation}\label{kugel:eq:sol_leg}
+ (1-x^2)\frac{d^2y}{dx^2}-2x\frac{dy}{dx} + n(n+1)y=0, \quad \forall n>0.
+ \end{equation}
+\end{lemma}
+\begin{proof}
+ In order to find a solution to Eq.\eqref{eq:legendre}, the following Ansatz can be performed:
+ \begin{equation}\label{eq:ansatz}
+ y(x) = \sum_{k=0}^\infty a_k x^k.
+ \end{equation}
+ Given Eq.\eqref{eq:ansatz}, then
+ \begin{align*}
+ \frac{dy}{dx} &= \sum_{k=0}^\infty k a_k x^{k-1}, \\
+ \frac{d^2y}{dx^2} &= \sum_{k=0}^\infty k (k-1) a_k x^{k-2}.
+ \end{align*}
+ Eq.\eqref{eq:legendre} can be therefore written as
+ \begin{align}
+ &(1-x^2)\sum_{k=0}^\infty k (k-1) a_k x^{k-2} - 2x\sum_{k=0}^\infty k a_k x^{k-1} + n(n+1)\sum_{k=0}^\infty a_k x^k=0 \label{eq:ansatz_in_legendre} \\
+ &=\sum_{k=0}^\infty k (k-1) a_k x^{k-2} - \sum_{k=0}^\infty k (k-1) a_k x^{k} - 2x\sum_{k=0}^\infty k a_k x^{k-1} + n(n+1)\sum_{k=0}^\infty a_k x^k=0. \nonumber
+ \end{align}
+ If one consider the term
+ \begin{equation}\label{eq:term}
+ \sum_{k=0}^\infty k (k-1) a_k x^{k-2},
+ \end{equation}
+ the substitution $\tilde{k}=k-2$ yields Eq.\eqref{eq:term} to
+ \begin{equation*}
+ \sum_{\tilde{k}=-2}^\infty (\tilde{k}+2) (\tilde{k}+1) a_{\tilde{k}+2} x^{\tilde{k}}=\sum_{\tilde{k}=0}^\infty (\tilde{k}+2) (\tilde{k}+1) a_{\tilde{k}} x^{\tilde{k}}.
+ \end{equation*}
+ This means that Eq.\eqref{eq:ansatz_in_legendre} becomes
+ \begin{align}
+ &\sum_{k=0}^\infty (k+1)(k+2) a_{k+2} x^{k} - \sum_{k=0}^\infty k (k-1) a_k x^{k} - 2\sum_{k=0}^\infty k a_k x^k + n(n+1)\sum_{k=0}^\infty a_k x^k \nonumber \\
+ = &\sum_{k=0}^\infty \big[ (k+1)(k+2) a_{k+2} - k (k-1) a_k - 2 k a_k + n(n+1) a_k \big] x^k \stackrel{!}{=} 0. \label{eq:condition}
+ \end{align}
+ The condition in Eq.\eqref{eq:condition} is equivalent to
+ \begin{equation}\label{eq:condition_2}
+ (k+1)(k+2) a_{k+2} - k (k-1) a_k - 2 k a_k + n(n+1) a_k = 0.
+ \end{equation}
+ We can derive a recursion formula for $a_{k+2}$ from Eq.\eqref{eq:condition_2}, which can be expressed as
+ \begin{equation}\label{eq:recursion}
+ a_{k+2}= \frac{k (k-1) - 2 k + n(n+1)}{(k+1)(k+2)}a_k = \frac{(k-n)(k+n+1)}{(k+2)(k+1)}a_k.
+ \end{equation}
+ All coefficients can be calculated using the latter.
+
+ Following Eq.\eqref{eq:recursion}, if we want to compute $a_6$ we would have
+ \begin{align*}
+ a_{6}= -\frac{(n-4)(n+5)}{6\cdot 5}a_4 &= -\frac{(n-4)(5+n)}{6 \cdot 5} -\frac{(n-2)(n+3)}{4 \cdot 3} a_2 \\
+ &= -\frac{(n-4)(n+5)}{6 \cdot 5} -\frac{(n-2)(n+3)}{4 \cdot 3} -\frac{n(n+1)}{2 \cdot 1} a_0 \\
+ &= -\frac{(n+5)(n+3)(n+1)n(n-2)(n-4)}{6!} a_0.
+ \end{align*}
+ One can generalize this relation for the $i^\text{th}$ even coefficient as
+ \begin{equation*}
+ a_{2k} = (-1)^k \frac{(n+(2k-1))(n+(2k-1)-2)\hdots (n-(2k-2)+2)(n-(2k-2))}{(2k)!}a_0
+ \end{equation*}
+ where $i=2k$.
+
+ A similar expression can be written for the odd coefficients $a_{2k-1}$. In this case, the equation starts from $a_1$ and to find the pattern we can write the recursion for an odd coefficient, $a_7$ for example
+ \begin{align*}
+ a_{7}= -\frac{(n-5)(n+6)}{7\cdot 6}a_5 &= - \frac{(n-5)(n+6)}{7\cdot 6} -\frac{(n-3)(n+4)}{5 \cdot 4} a_3 \\
+ &= - \frac{(n-5)(n+6)}{7\cdot 6} -\frac{(n-3)(n+4)}{5 \cdot 4} -\frac{(n-1)(n+2)}{3 \cdot 2} a_1 \\
+ &= -\frac{(n+6)(n+4)(n+2)(n-1)(n-3)(n-5)}{7!} a_1.
+ \end{align*}
+ As before, we can generalize this equation for the $i^\text{th}$ odd coefficient
+ \begin{equation*}
+ a_{2k+1} = (-1)^k \frac{(n + 2k)(n+2k-2)\hdots(n-(2k-1)+2)(n-(2k-1))}{(2k+1)!}a_1
+ \end{equation*}
+ where $i=2k+1$.
+
+ Let be
+ \begin{align*}
+ y_\text{e}^K(x) &:= \sum_{k=0}^K(-1)^k \frac{(n+(2k-1))(n+(2k-1)-2)\hdots \color{red}(n-(2k-2)+2)(n-(2k-2))}{(2k)!} x^{2k}, \\
+ y_\text{o}^K(x) &:= \sum_{k=0}^K(-1)^k \frac{(n + 2k)(n+2k-2)\hdots \color{blue} (n-(2k-1)+2)(n-(2k-1))}{(2k+1)!} x^{2k+1}.
+ \end{align*}
+ The solution to the Eq.\eqref{eq:legendre} can be written as
+ \begin{equation}\label{eq:solution}
+ y(x) = \lim_{K \to \infty} \left[ a_0 y_\text{e}^K(x) + a_1 y_\text{o}^K(x) \right].
+ \end{equation}
+
+ The colored parts can be analyzed separately:
+ \begin{itemize}
+ \item[\textcolor{red}{\textbullet}] Suppose that $n=n_0$ is an even number. Then the red part, for a specific value of $k=k_0$, will follow the following relation:
+ \begin{equation*}
+ n_0-(2k_0-2)=0.
+ \end{equation*}
+ From that point on, given the recursive nature of Eq.\eqref{eq:recursion}, all the subsequent coefficients will also be 0, making the sum finite.
+ \begin{equation*}
+ a_{2k}=0 \iff y_{\text{o}}^{2k}(x)=y_{\text{o}}^{2k_0}(x), \quad \forall k>k_0
+ \end{equation*}
+ \item[\textcolor{blue}{\textbullet}] Suppose that $n=n_0$ is an odd number. Then the blue part, for a specific value of $k=k_0$, will follow the following relation
+ \begin{equation*}
+ n_0-(2k_0-1)=0.
+ \end{equation*}
+ From that point on, for the same reason as before, all the subsequent coefficients will also be 0, making the sum finite.
+ \begin{equation*}
+ a_{2k+1}=0 \iff y_{\text{o}}^{2k+1}(x)=y_{\text{o}}^{2k_0+1}(x), \quad \forall k>k_0
+ \end{equation*}
+ \end{itemize}
+
+ There is the possibility of expressing the solution in Eq.\eqref{eq:solution} in a more compact form, combining the two solutions $y_\text{o}^K(x)$ and $y_\text{e}^K(x)$. They are both a polynomial of maximum degree $n$, assuming $n \in \mathbb{N}$. In the case where $n$ is even, the polynomial solution
+ \begin{equation*}
+ \lim_{K\to \infty} y_\text{e}^K(x)
+ \end{equation*}
+ will be a finite sum. If instead $n$ is odd, will be
+ \begin{equation*}
+ \lim_{K\to \infty} y_\text{o}^K(x)
+ \end{equation*}
+ to be a finite sum.
+
+ Depending on the coefficient we start with, $a_1$ or $a_0$, we will obtain the odd or even polynomial respectively. Starting with the last coefficient $a_n$ and, recursively, calculating all the others in descending order, we can express the two parts $y_\text{o}^K(x)$ and $y_\text{e}^K(x)$ with a single sum. Hence, because we start with the last coefficient, the choice concerning $a_1$ and $a_0$ will be at the end of the sum, and not at the beginning. To compact Eq.\eqref{eq:solution}, Eq.\eqref{eq:recursion} can be reconsidered to calculate the coefficient $a_{k-2}$, using $a_k$
+ \begin{equation*}
+ a_{k-2} = -\frac{(k+2)(k+1)}{(k-n)(k+n+1)}a_k
+ \end{equation*}
+ Now the game is to find a pattern, as before. Remember that $n$ is a fixed parameter of Eq.\eqref{eq:legendre}.
+ \begin{align*}
+ a_{n-2} &= -\frac{n(n-1)}{2(2n-1)}a_n, \\
+ a_{n-4} &= -\frac{(n-2)(n-3)}{4(2n-3)}a_{n-2} \\
+ &= -\frac{(n-2)(n-3)}{4(2n-3)}-\frac{n(n-1)}{2(2n-1)}a_n.
+ \end{align*}
+ In general
+ \begin{equation}\label{eq:general_recursion}
+ a_{n-2k} = (-1)^k \frac{n(n-1)(n-2)(n-3) \hdots (n-2k+1)}{2\cdot4\hdots 2k(2n-1)(2n-3)\hdots(2n-2k+1)}a_n
+ \end{equation}
+ The whole solution can now be written as
+ \begin{align}
+ y(x) &= a_n x^n + a_{n-2} x^{n-2} + a_{n-4} x^{n-4} + a_{n-6} x^{n-6} + \hdots + \begin{cases}
+ a_1 x, \quad &\text{if } n \text{ odd} \\
+ a_0, \quad &\text{if } n \text{ even}
+ \end{cases} \nonumber \\
+ &= \sum_{k=0}^{\lfloor \frac{n}{2} \rfloor} a_{n-2k}x^{n-2k} \label{eq:solution_2}
+ \end{align}
+ By considering
+ \begin{align}
+ (2n-1)(2n-3)\hdots (2n-2k+1)&=\frac{2n(2n-1)(2n-2)(2n-3)\hdots(2n-2k+1)}
+ {2n(2n-2)(2n-4)(2n-6)\hdots(2n-2k+2)} \nonumber \\
+ &=\frac{\frac{(2n)!}{(2n-2k)!}}
+ {2^kn(n-1)(n-2)(n-3)\hdots(n-k+1)} \nonumber \\
+ &=\frac{\frac{(2n)!}{(2n-2k)!}}
+ {2^k\frac{n!}{(n-k)!}}=\frac{(n-k)!(2n)!}{n!(2n-2k)!2^k} \label{eq:1_sub_recursion}, \\
+ 2 \cdot 4 \hdots 2k &= 2^r 1\cdot2 \hdots r = 2^r r!\label{eq:2_sub_recursion}, \\
+ n(n-1)(n-2)(n-3) \hdots (n-2k+1) &= \frac{n!}{(n-2k)!}\label{eq:3_sub_recursion}.
+ \end{align}
+ Eq.\eqref{eq:solution_2} can be rewritten as
+ \begin{equation}\label{eq:solution_3}
+ y(x)=a_n \sum_{k=0}^{\lfloor \frac{n}{2} \rfloor} (-1)^k \frac{n!^2(2n-2k)!}{k!(n-2k)!(n-k)!(2n)!} x^{n-2k}.
+ \end{equation}
+ Eq.\eqref{eq:solution_3} is defined for any $a_n$. By letting $a_n$ be declared as
+ \begin{equation*}
+ a_{n} := \frac{(2n)!}{2^n n!^2},
+ \end{equation*}
+ the so called \emph{Legendre polynomial} emerges
+ \begin{equation}\label{eq:leg_poly}
+ P_n(x):=\sum_{k=0}^{\lfloor \frac{n}{2} \rfloor} (-1)^k \frac{(2n-2k)!}{2^n k! (n-k)!(n-2k)!} x^{n-2k}
+ \end{equation}
+\end{proof}
+
+
+\begin{lemma}\label{kugel:lemma:sol_associated_leg_eq}
+ If $Z_n(z)$ is a solution of the Legendre equation \eqref{kugel:eqn:legendre},
+ then
+ \begin{equation*}
+ P^m_n(z) = (1 - z^2)^{m/2} \frac{d^m}{dz^m}Z_n(z)
+ \end{equation*}
+ solves the associated Legendre equation \eqref{kugel:eqn:associated-legendre}.
+\end{lemma}
+% \begin{proof} [TODO: modificare la $m$ (è già usata come costante di separazione) o forse è giusta (?)]
+\begin{proof}
+ To begin, we can start by differentiating $m$ times Eq.\eqref{kugel:eq:leg_eq} (which is staisfied by $y(x)$), obtaining
+ \begin{equation}\label{eq:lagrange_mderiv}
+ \frac{d^m}{dx^m}\left[ (1-x^2)\frac{d^2y}{dx^2} \right] -2 \frac{d^m}{dx^m}\left[ x\frac{dy}{dx} \right] + n(n+1)\frac{d^m}{dx^m}y=0.
+ \end{equation}
+ \emph{Leibniz's theorem} says, that if we want to differentiate $m$ times a multiplication of two functions, we can use the binomial coefficients to build up a sum. This allows us to be more compact, obtaining
+ \begin{equation}\label{eq:leibniz}
+ \frac{d^m}{dx^m}[u(x)v(x)] = \sum_{i=0}^m \binom{n}{i} \frac{d^{m-i}u}{dx^{m-1}} \frac{d^{i}v}{dx^i}.
+ \end{equation}
+ Using Eq.\eqref{eq:leibniz} in Eq.\eqref{eq:lagrange_mderiv}, we have
+ \begin{align}
+ (1-x^2)\frac{d^{m+2}y}{dx^{m+2}} &+ m \frac{d}{dx}(1-x^2)\frac{d^{m+1}y}{dx^{m+1}} + \frac{m(m-1)}{2}\frac{d^{2}}{dx^{2}}(1-x^2)\frac{d^{m}y}{dx^{m}} + n(n+1)\frac{d^m{}y}{dx^{m}} \nonumber \\
+ &-2\left(x\frac{d^{m+1}y}{dx^{m+1}} + m\frac{d}{dx}x\frac{d^{m}y}{dx^{m}} \right) \nonumber \\
+ &= (1-x^2)\frac{d^{m+2}y}{dx^{m+2}} -2x(m+1)\frac{d^{m+1}y}{dx^{m+1}}+(n(n+1)-m(m-1)-2m)\frac{d^{m}y}{dx^{m}}=0. \label{eq:aux_3}
+ \end{align}
+ To make the notation easier to follow, a new function can be defined
+ \begin{equation*}
+ \frac{d^{m}y}{dx^{m}} := y_m.
+ \end{equation*}
+ Eq.\eqref{eq:aux_3} now becomes
+ \begin{equation}\label{eq:1st_subs}
+ (1-x^2)\frac{d^{2}y_m}{dx^{2}} -2x(m+1)\frac{dy_m}{dx}+(n(n+1)-m(m+1))y_m=0
+ \end{equation}
+ A second function can be further defined as
+ \begin{equation*}
+ (1-x^2)^{\frac{m}{2}}\frac{d^{m}y}{dx^{m}} = (1-x^2)^{\frac{m}{2}}y_m := \hat{y}_m,
+ \end{equation*}
+ allowing to write Eq.\eqref{eq:1st_subs} as
+ \begin{equation}\label{eq:2st_subs}
+ (1-x^2)\frac{d^2}{dx^2}[\hat{y}_m(1-x^2)^{-\frac{m}{2}}] -2(m+1)x\frac{d}{dx}[\hat{y}_m(1-x^2)^{-\frac{m}{2}}] + (n(n+1)-m(m+1))\hat{y}_m(1-x^2)^{-\frac{m}{2}}=0.
+ \end{equation}
+ The goal now is to compute the two terms
+ \begin{align*}
+ \frac{d^2}{dx^2}[\hat{y}_m(1-x^2)^{-\frac{m}{2}}] &= \frac{d^2\hat{y}_m}{dx^2} (1-x^2)^{-\frac{m}{2}} + \frac{d\hat{y}_m}{dx}\frac{m}{2}(1-x^2)^{-\frac{m}{2}-1}2x \\
+ &+ m\left( \frac{d\hat{y}_m}{dx} x (1-x^2)^{-\frac{m}{2}-1} + \hat{y}_m (1-x^2)^{-\frac{m}{2}-1} - \hat{y}_m x (-\frac{m}{2}-1)(1-x^2)^{-\frac{m}{2}} 2x\right) \\
+ &= \frac{d^2\hat{y}_m}{dx^2} (1-x^2)^{-\frac{m}{2}} + \frac{d\hat{y}_m}{dx}mx (1-x^2)^{-\frac{m}{2}-1} + m\frac{d\hat{y}_m}{dx}x (1-x^2)^{-\frac{m}{2}-1}\\
+ &+ m\hat{y}_m (1-x^2)^{-\frac{m}{2}-1} + m\hat{y}_m x^2(m+2)(1-x^2)^{-\frac{m}{2}-2}
+ \end{align*}
+ and
+ \begin{align*}
+ \frac{d}{dx}[\hat{y}_m(1-x^2)^{-\frac{m}{2}}] &= \frac{d\hat{y}_m}{dx}(1-x^2)^{-\frac{m}{2}} + \hat{y}_m\frac{m}{2}(1-x^2)^{-\frac{m}{2}-1}2x \\
+ &= \frac{d\hat{y}_m}{dx}(1-x^2)^{-\frac{m}{2}} + \hat{y}_mm(1-x^2)^{-\frac{m}{2}-1}x,
+ \end{align*}
+ to use them in Eq.\eqref{eq:2st_subs}, obtaining
+ \begin{align*}
+ (1-x^2)\biggl[\frac{d^2\hat{y}_m}{dx^2} (1-x^2)^{-\frac{m}{2}} &+ \frac{d\hat{y}_m}{dx}mx (1-x^2)^{-\frac{m}{2}-1} + m\frac{d\hat{y}_m}{dx}x (1-x^2)^{-\frac{m}{2}-1} \\
+ &+ m\hat{y}_m (1-x^2)^{-\frac{m}{2}-1} + m\hat{y}_m x^2(m+2)(1-x^2)^{-\frac{m}{2}-2}\biggr] \\
+ &-2(m+1)x\left[ \frac{d\hat{y}_m}{dx}(1-x^2)^{-\frac{m}{2}} + \hat{y}_mm(1-x^2)^{-\frac{m}{2}-1}x \right] \\
+ &+ (n(n+1)-m(m+1))\hat{y}_m(1-x^2)^{-\frac{m}{2}}=0.\\
+ \end{align*}
+ We can now divide by $(1-x^2)^{-\frac{m}{2}}$, obtaining
+ \begin{align*}
+ (1-x^2)\biggl[\frac{d^2\hat{y}_m}{dx^2} &+ \frac{d\hat{y}_m}{dx}mx (1-x^2)^{-1} + m\frac{d\hat{y}_m}{dx}x (1-x^2)^{-1} + m\hat{y}_m (1-x^2)^{-1} + m\hat{y}_m x^2(m+2)(1-x^2)^{-2}\biggr] \\
+ &-2(m+1)x\left[ \frac{d\hat{y}_m}{dx} + \hat{y}_mm(1-x^2)^{-1}x \right] + (n(n+1)-m(m+1))\hat{y}_m\\
+ &= \frac{d^2\hat{y}_m}{dx^2} + \frac{d\hat{y}_m}{dx}mx + m\frac{d\hat{y}_m}{dx}x + m\hat{y}_m + m\hat{y}_m x^2(m+2)(1-x^2)^{-1} \\
+ &-2(m+1)x\left[ \frac{d\hat{y}_m}{dx} + \hat{y}_mm(1-x^2)^{-1}x \right] + (n(n+1)-m(m+1))\hat{y}_m\\
+ \end{align*}
+ and collecting some terms
+ \begin{equation*}
+ (1-x^2)\frac{d^2\hat{y}_m}{dx^2} - 2x\frac{d\hat{y}_m}{dx} + \left( -x^2 \frac{m^2}{1-x^2} + m+n(n+1)-m(m+1)\right)\hat{y}_m=0.
+ \end{equation*}
+ Showing that
+ \begin{align*}
+ -x^2 \frac{m^2}{1-x^2} + m+n(n+1)-m(m+1) &= n(n+1)- m^2 -x^2 \frac{m^2}{1-x^2} \\
+ &= n(n+1)- \frac{m}{1-x^2}
+ \end{align*}
+ implies $\hat{y}_m(x)$ being a solution of Eq.\eqref{kugel:eq:associated_leg_eq}
+\end{proof}
diff --git a/buch/papers/kugel/references.bib b/buch/papers/kugel/references.bib
index b74c5cd..984d555 100644
--- a/buch/papers/kugel/references.bib
+++ b/buch/papers/kugel/references.bib
@@ -17,6 +17,15 @@
file = {Submitted Version:/Users/npross/Zotero/storage/SN4YUNQC/Carvalhaes and de Barros - 2015 - The surface Laplacian technique in EEG Theory and.pdf:application/pdf},
}
+@article{usecase_recursion_paper,
+ title = {New Implementation of Legendre Polynomials for Solving Partial Differential Equations},
+ issn = {272767969},
+ url = {https://www.researchgate.net/publication/272767969_New_Implementation_of_Legendre_Polynomials_for_Solving_Partial_Differential_Equations},
+ shorttitle = {Implementation og Legendre Polynom},
+ date = {2013-12},
+ author = {Ali Davari, Abozar Ahmadi}
+}
+
@video{minutephysics_better_2021,
title = {A Better Way To Picture Atoms},
url = {https://www.youtube.com/watch?v=W2Xb2GFK2yc},
@@ -192,4 +201,15 @@ Created by Henry Reich},
urldate = {2022-08-01},
date = {2022},
file = {Metric Spaces\: Completeness:/Users/npross/Zotero/storage/5JYEE8NF/completeness.html:text/html},
+}
+
+@book{bell_special_2004,
+ location = {Mineola, {NY}},
+ title = {Special functions for scientists and engineers},
+ isbn = {978-0-486-43521-3},
+ series = {Dover books on mathematics},
+ pagetotal = {247},
+ publisher = {Dover Publ},
+ author = {Bell, William Wallace},
+ date = {2004},
} \ No newline at end of file
diff --git a/buch/papers/kugel/sections/Introduction.tex b/buch/papers/kugel/sections/Introduction.tex
new file mode 100644
index 0000000..cdefea7
--- /dev/null
+++ b/buch/papers/kugel/sections/Introduction.tex
@@ -0,0 +1,318 @@
+
+\section{Introduction \label{kugel:section:intro}}
+This is the part of the book devoted to the set of functions called spherical harmonics.
+However, before we dive into the topic, we want to make a few preliminary remarks that will avoid ``upsetting'' certain types of readers. \newline
+Since this is a purely mathematical topic, we felt it was appropriate to specify the mathematical style with which we will approach the various topics covered.\newline
+While writing we decided to try giving demonstrations for every theorem and statement we make. However, we would like to specify that the authors of this chapter are not mathematicians and our aim is not to prove as rigorously as possible everything we say. \newline
+A demonstration, to be rigorous, should consist of several simple steps using fundamental axioms. In our case, demonstrations are often not performed in this way, but rather we try to convince the reader that what we are saying stays well within the boundaries of a logical reasoning.\newline
+Sometimes we might also come across more handy demonstrations based on intuitive arguments, which can serve as intuition for the reader but would never be accepted in a mathematical context.\newline
+That being said, we can get on with the interesting topics.\newline
+When talking about Spherical Harmonics, one could start by describing the name. The latter could cause some confusion because of the various misleading translations into other languages, which do not fully reflect the meaning implied by the English name.\newline
+As an example, the German name for this function set is ``Kugelfunktionen'', which might imply functions defined in a spherical context, since ``Kugel'' is the german name for sphere.\newline
+In contrast, the English name contains the concept of ``harmonic,'' which fits well in this context.\newline
+In fact, harmonic analysis is the branch of mathematics that deals with the representation of functions using other fundamental ones, which are often easier to consider. These are called harmonics, and during the course of this chapter, you will learn that spherical harmonics belong to this class of functions, as indeed the name suggests.\newline
+The structure of this chapter is organized in such a way that some mathematical concepts introduced at the beginning, will later help the reader to understand the big picture of the subject discussed.\newline
+We could have performed the whole derivation without writing the chapter \ref{kugel:ssection:preleminary}. But we thought it might enhance the theory with interesting insights.\newline
+The first introductory sub-chapter is devoted to the topic of vector space.\newline
+In this section, vectors of finite dimensions. In addition, various mathematical operations defined in this space, including linear transformations, will be considered.\newline
+We will then try to extend the concept of vectors to functions. It may sound strange that we call a function a vector, but in this context it should not be understood only in terms of its geometric sense, as we will try to explain.\newline
+Having established these theoretical foundations, we may go on to the sub-chapter devoted to a well-known problem, namely, the calculation of the Eigenfunctions of the Laplace operator. This will in fact be the mathematical derivation of the spherical harmonics.\newline
+This derivation will allow us to understand in a deeper way some concepts underlying the Fourier theorem, a beloved and extensively used theorem in engineering.\newline
+In the third chapter we will study in more detail these special functions, defined in the previous chapter as spherical harmonics.\newline
+Some of the properties we found most beautiful, interesting and useful will be thoroughly presented.\newline
+To conclude this journey we decided to include some real-world applications of these functions, since being an engineer, as we are, usually means loving to make bridges between theory and practice.
+
+\subsection{Preleminary \label{kugel:ssection:preleminary}}
+The purpose of this chapter is to give a dusting off of some of the basic themes that underlie what you will read in the following subchapters.\newline
+This will enable the reader to be able to get a richer view on the topic that is presented in this chapter of the book. By not limiting it to the specific example we will cover.
+
+\subsubsection{Vector space \label{kugel:ssection:vector_space}}
+A vector space, is a mathematical space in which there are entities, which we will call vectors, and some very simple rules that govern life in this world. These rules are called axioms.
+
+Moreover, in this space, some mathematical operations are also defined, namely, addition, subtraction and linear transformations in general.\newline
+The basic axioms, listed below, are responsible for ruling the behavior and interaction of these vectors.\newline
+A vector space is a non-empty set $\mathcal{V}$ with a special element $\mathbf{0}$. The objects contained in this set are called vector.\newline
+We can define mathematical operations as well
+\begin{enumerate}
+ \item \textbf{Addition}\newline
+ Given two vectors $v_1, v_2 \in \mathcal{V}$, then
+ \begin{equation*}
+ v_3 = v_2 + v_1 \implies v_3 \in \mathcal{V}
+ \end{equation*}
+
+ \item \textbf{Scalar multiplication}\newline
+ Given a vector $v_1 \in \mathcal{V}$ and a scalar $\alpha \in \mathbb{R}$, then
+ \begin{equation*}
+ v_2 = \alpha v_1 \implies v_2 \in \mathcal{V}
+ \end{equation*}
+\end{enumerate}
+
+These operations have to satisfy the following axioms, for every $v_1,v_2,v_3 \in \mathcal{V}$ and $\alpha, \beta \in \mathbb{R}$
+\begin{enumerate}
+ \item \textbf{Additive axioms}
+ \begin{itemize}
+ \item $v_1 + v_2 = v_2 + v_1$
+ \item $(v_1+v_2)+v_3 = v_1+(v_2+v_3)$
+ \item $v_1 + \mathbf{0} = v_1$
+ \item $v_1 + (-v_1) = \mathbf{0}$
+ \end{itemize}
+
+ \item \textbf{Multiplicative axioms}
+ \begin{itemize}
+ \item $\mathbf{0}v_1= v_1$
+ \item $\mathbf{1}v_1 = v_1$
+ \item $(\alpha \beta) v_1 = \alpha (\beta v_1)$
+ \end{itemize}
+
+ \item \textbf{Distributive axioms}
+ \begin{itemize}
+ \item $\alpha (v_1 + v_2) = \alpha v_1 + \alpha v_2$
+ \item $(\alpha + \beta)v_1 = \alpha v_1 + \beta v_1$
+ \end{itemize}
+\end{enumerate}
+Therefore any mathematical environment in which these rules are met can be called a vector space.
+
+For this sub-chapter we will use vectors in the sense of geoemetric vectors but, as written earlier this concept is not limited to geometry and can be easily extended. In the next two points we want to define two fundamental concepts present in this world, namely span and independence.
+
+\paragraph{Span}
+The span of a vector space can be seen as the set of vectors that we can build using a linear combination of the basis vectors $v_1, v_2, \hdots, v_N$.
+\begin{figure}[!h]
+\centering
+\begin{tikzpicture}
+ \draw[thin,gray!40] (-1,-1) grid (4,4);
+ \draw[->] (-1,0)--(4,0);
+ \draw[->] (0,-1)--(0,4);
+ \draw[line width=1pt,-stealth](0,0)--(0,1) node[anchor=north west]{$\hat{\mathbf{x}}$};
+ \draw[line width=1pt,-stealth](0,0)--(1,0) node[anchor=north east]{$\hat{\mathbf{y}}$};
+ \draw[line width=1pt, gray,-stealth](0,0)--(1,1) node[anchor=north west]{$\hat{\mathbf{x}}'$};
+ \draw[line width=1pt, gray,-stealth](0,0)--(-1,1) node[anchor=north east]{$\hat{\mathbf{y}}'$};
+ \draw[line width=2pt,-stealth, blue](0,0)--(2,3) node[anchor=south east]{$\mathbf{P}$};
+ \draw [blue, decorate,decoration={brace, amplitude=5pt,mirror,raise=4ex}] (0,0) -- (2,0) node[midway,yshift=-3em]{2};
+ \draw [blue, decorate,decoration={brace, amplitude=5pt,raise=4ex}] (0,0) -- (0,3) node[midway,xshift=-3em]{3};
+\end{tikzpicture}
+\caption{Example of the two basis $\{\hat{\mathbf{x}}, \hat{\mathbf{x}}\}$ and $\{\hat{\mathbf{x}}', \hat{\mathbf{y}}'\}$ with a generic vector $\mathbf{P}$. \label{fig:span}}
+\end{figure}
+If we consider Fig.\ref{fig:span}, an example in $\mathbb{R}^2$ can be seen. In this case, the vector $\mathbf{P}$, can in fact be constructed using a linear combination of $\hat{\mathbf{x}}$ and $\hat{\mathbf{y}}$. One can write
+\begin{equation*}
+ \mathbf{P} = 2\hat{\mathbf{x}} + 3\hat{\mathbf{y}}
+\end{equation*}
+Potentially, the vector $\mathbf{P}$, can also be represented by a combination vectors of the $\hat{\mathbf{x}}'$ and $\hat{\mathbf{y}}'$.
+We can further extend this reasoning, because any point described using $\{\hat{\mathbf{x}},\hat{\mathbf{y}}\}$, can be described using $\{\hat{\mathbf{x}}',\hat{\mathbf{y}}'\}$ as well.
+More generally, every point in $\mathbb{R}^2$ can be reached using both basis. We can therefore state that
+\begin{equation*}
+ \text{span}\{\hat{\mathbf{x}},\hat{\mathbf{y}}\} = \text{span}\{\hat{\mathbf{x}}',\hat{\mathbf{y}}'\}.
+\end{equation*}
+This means that the span does not uniquely determine the base, but multiple bases can lead to the same span.\newline
+To summarize, we can say that any vector $v_p$, belongs to a span if it can be constructed using a linear combination of its basis vectors. In mathematical terms:
+\begin{equation}
+ v_P \in \text{span}\{v_1,v_2, \hdots, v_N\} \iff v_P = \sum_{i=1}^N \alpha_i v_i.
+\end{equation}\label{eq:def:span}
+Thus, we can say that a span is the set of all the vectors that satisfy the summation in Eq.(\ref{eq:def:span}).\newline
+An interesting remark is that, according to Eq.(\ref{eq:def:span}), a span always contains the $\mathbf{0}$ vector. That is beacuse by setting $\alpha_i = 0$, $\forall i$, we get $v_p=\mathbf{0}$.
+
+\paragraph{Independence}
+If we define a span of $N$ dimensions, consisting of $\{v_1,v_2, \hdots,v_{N}\}$, and the vector $v_N$ can be constructed using the other vectors of the span, i.e., if the vector $v_N$ does not provide any extra degrees of freedom, we can say that $v_N$ is linearly dependent, and it can be proved that
+\begin{equation*}
+ \text{span}\{v_1,v_2,..,v_{N-1}, v_{N}\} = \text{span}\{v_1,v_2,..,v_{N-1}\}.
+\end{equation*}
+Furthermore:
+\begin{equation*}
+ \#\text{dimensions of a span} = \#\text{linearly independent vectors}.
+\end{equation*}
+
+\paragraph{Inner product}
+This operation was already introduced in the chapter \ref{}. However, in this sub-section, we wanted to recall some fundamental concepts.\newline
+So far we have only considered the operations of addition and multiplication within a vector space. However, we can now introduce a third operation, namely the inner product.\newline
+In this case we will no longer speak of a simple vector space but of an \emph{inner product space}.
+This new operation is simply a function that receives two vectors as input and maps them to a scalar. This mathematical operation is represented as follows
+\begin{equation*}
+ \langle v_1,v_2 \rangle = k, \quad k \in \mathbb{R}
+\end{equation*}
+The scalar product allows us to introduce some new concepts
+\begin{itemize}
+\item \textbf{The norm}\newline
+The norm is a way to calculate the length of a vector. It can be indeed seen as a general measure for the length, that is defined as
+\begin{equation*}
+ ||v_p|| := \sqrt{\langle v_p,v_p \rangle}
+\end{equation*}
+\item \textbf{Orthogonality}\newline
+This is a concept that will be very important in the next sections.\newline
+Two vectors, $v_1$ and $v_2$, are said to be orthogonal if and only if the inner product of them is equal to zero. More formally:
+\begin{equation*}
+ \text{$v_1$ is orthogonal to $v_2$} \iff \langle v_1,v_2 \rangle = 0
+\end{equation*}
+\end{itemize}
+From the concept of orthogonality, it follows that an orthogonal basis can be defined as a set of vectors, whereby
+\begin{equation*}
+\{v_1,v_2,..., v_N\} \text{ is an orthogonal basis } \iff <v_n, v_m> = 0, \quad \text{if } m \neq n.
+\end{equation*}
+We can also consider a more restrictive case. For example, if we are dealing with a set of orthogonal \emph{unit} vectors, we can speak of an \emph{ortonormal} basis. The conditions will then become
+\begin{equation*}
+\{v_1,v_2,..., v_N\} \text{ is an orthonormal basis } \iff
+\begin{cases}
+ <v_n, v_m>=0, &\text{if } m \neq n \\
+ <v_n, v_m>=1, &\text{if } m = n
+\end{cases}.
+\end{equation*}
+
+\paragraph{Projection of a space into a subspace}
+A subspace is simply a vector space that is a subset of a larger (higher-dimensional) vector space, which is thus contained in it.\newline
+For example, all vectors that are on a line passing through the origin form a subspace of $\mathbb{R}^2$. The same holds for all vectors defined on a plane passing through the origin, which itself forms a subspace of $\mathbb{R}^3$.\newline
+It can be shown that a subspace is also a vector space, which can consequently be represented with an orthonormal vector span.\newline
+Suppose now that we have a vector $\mathbf{P}$ in three dimensions (we still remain in the geometric context to give examples) and suppose further that we want to compute its projection in a subspace of two dimensions.\newline
+Suppose now that we have a vector P in three dimensions (we still remain in the geometric context
+to give examples) and that we want to compute its projection in a subspace of two
+dimensions.
+In a nutshell we want to take a vector, represented with the basis vectors $\{\hat{\mathbf{x}}', \hat{\mathbf{y}}', \hat{\mathbf{z}}'\}$, and project it into the plane spanned by $\{\hat{\mathbf{x}}, \hat{\mathbf{y}}\}$.\newline
+It can easily be seen that $\{\hat{\mathbf{x}}', \hat{\mathbf{y}}', \hat{\mathbf{z}}'\}$ spans $\mathbb{R}^3$. Thus we want to go from a span in three dimensions to one in two.
+\begin{figure}[!h]
+\centering
+\begin{tikzpicture}[scale=3]
+ \filldraw[
+ draw=gray,%
+ fill=gray!20,%
+ ] (0,0,0)
+ -- (1.5,0,0)
+ -- (1.5,0,1.5)
+ -- (0,0,1.5)
+ -- cycle;
+ \draw[thick,->] (0,0,0) -- (1.7,0,0) node[anchor=north east]{$y$};
+ \draw[thick,->] (0,0,0) -- (0,1,0) node[anchor=north west]{$z$};
+ \draw[thick,->] (0,0,0) -- (0,0,1.7) node[anchor=south, xshift=-0.5em]{$x$};
+ \draw[line width=1.6pt, -stealth] (0,0,0)--(1,1,1) node[anchor=south]{$\mathbf{P}$};
+ \draw[line width=0.8pt, -stealth] (0,0,0)--(1,0,1) node[anchor=north west, yshift=0.5em]{$\tilde{\mathbf{P}}$};
+ \draw[line width=1.1pt, -stealth] (0,0,0)--(0,0,1) node[anchor=south east]{$\alpha_1 \hat{\mathbf{x}}$};
+ \draw[line width=1.1pt, -stealth] (0,0,0)--(1,0,0) node[anchor=south]{$\alpha_2 \hat{\mathbf{y}}$};
+ \draw[dashed, -] (1,0,1)--(0,0,1);
+ \draw[dashed, -] (1,0,1)--(1,0,0);
+ \draw[dashed, -] (1,0,1)--(1,1,1);
+
+ \draw[line width=1.1pt, -stealth, blue] (0,0,0)--(2*0.15,0.15,0) node[anchor=west]{$\hat{\mathbf{y}}'$};
+ \draw[line width=1.1pt, -stealth, blue] (0,0,0)--(0,0.15,2*0.15) node[anchor=east]{$\hat{\mathbf{x}}'$};
+ \draw[line width=1.1pt, -stealth, blue] (0,0,0)--(0.15,2*0.15,0) node[anchor=south]{$\hat{\mathbf{z}}'$};
+\end{tikzpicture}
+\caption{ \label{fig:projection_example}}
+\end{figure}
+If we consider Fig.(\ref{fig:projection_example}), we can visualize the problem by asking ourself: having $\mathbf{P}, \hat{\mathbf{x}}$ and $\hat{\mathbf{y}}$, how do we calculate $\alpha_1$ and $\alpha_2$?\newline
+Let's say the vector $\mathbf{P}$ in $\mathbb{R}^3$ is defined as follows:
+\begin{equation*}
+\mathbf{P} = \alpha_1' \hat{\mathbf{x}}' + \alpha_2' \hat{\mathbf{y}}' + \alpha_3' \hat{\mathbf{z}}',
+\end{equation*}
+with
+\begin{align*}
+ \hat{\mathbf{x}}' &= \frac{\hat{\mathbf{x}}+\hat{\mathbf{z}}}{\sqrt{2}},\\
+ \hat{\mathbf{y}}' &= \frac{2\hat{\mathbf{y}}+\hat{\mathbf{z}}}{\sqrt{3}},\\
+ \hat{\mathbf{z}}' &= \frac{\hat{\mathbf{y}}+2\hat{\mathbf{z}}}{\sqrt{3}}.
+\end{align*}
+Then, a way to project the vector $\mathbf{P}$ without knowing the coefficients of its basis vectors a priori (in this case the coefficients $\alpha_i'$) must be find.\newline
+This can be done using the inner product defined above.\newline
+The idea is to take $\mathbf{P}$, and project it onto the various axes we have available. Assuming that the basis we want to use in $\mathbb{R}^2$ is also orthonormal, we can write
+\begin{align*}
+\tilde{\mathbf{P}} &= \langle \mathbf{P}, \hat{\mathbf{x}} \rangle \hat{\mathbf{x}} + \langle \mathbf{P}, \hat{\mathbf{y}} \rangle \hat{\mathbf{y}}\\
+&= \alpha_1 \hat{\mathbf{x}} + \alpha_2 \hat{\mathbf{y}}
+\end{align*}
+In an unformal way we might say that we want to know ``how much of each axis'' is contained in $\mathbf{P}$. That is, how much information contained in $\mathbf{P}$, we can describe, using $\hat{\mathbf{x}}$ and $\hat{\mathbf{y}}$, respectively.\newline
+It can be shown that the projection we obtain is the representation in fewer dimensions, which is closest to the original vector $\mathbf{P}$, meaning
+\begin{equation*}
+\text{min} \big\{ ||\mathbf{P}-v|| \big\} = ||\mathbf{P}-\tilde{\mathbf{P}}||,\quad v \in \text{span}\{ \hat{\mathbf{x}},\hat{\mathbf{y}} \}.
+\end{equation*}
+
+The theory just expla
+ined applies to any projection of a space into its subspace. As long as the vectors of both bases are orthonormal.\newline
+In the case they were orthogonal with minor adjustments the same result can be obtained.
+In the most general case we can say that:\newline
+a vector $\mathbf{v}$, can be represented in any orthogonal basis $\{v_1,v_2,\hdots,v_N\}$ as follows:
+\begin{equation}
+\mathbf{v} = \sum_{i=1}^N \alpha_i v_i
+\label{eq:projection}
+\end{equation}
+To calculate the coefficient $\alpha_i$, we can apply a scalar product on both sides of Eq.(\ref{eq:projection}), obtaining
+\begin{align*}
+\langle \mathbf{v}, v_j \rangle &= \left\langle \sum_{i=1}^N \alpha_i v_i, v_j \right\rangle \\
+&= \sum_{i=1}^N \langle \alpha_i v_i, v_j \rangle \\
+&= \alpha_j \langle v_j, v_j \rangle \implies \alpha_i = \frac{\langle \mathbf{v}, v_j \rangle}{\langle v_i, v_i \rangle}
+\end{align*}
+We then have a way to represent a vector in $n$ dimensions, using fewer dimensions, in the closest possible way.
+
+Up to this point we have not yet defined the specific operation of inner product, that is, how it is practically calculated.\newline
+As written earlier the inner product is an operation that maps two vectors to a real number. It is additionally defined according to these axioms
+\begin{enumerate}
+\item \textbf{Linearity}
+\begin{align*}
+\langle \alpha v_1 + \beta v_2, v_3 \rangle &= \alpha \langle v_1, v_3 \rangle + \beta \langle v_2, v_3 \rangle \\
+\langle v_1, \alpha v_2 + \beta v_3 \rangle &= \overline{\alpha} \langle v_1, v_2 \rangle + \overline{\beta} \langle v_1, v_3 \rangle
+\end{align*}
+\item \textbf{Conjugate Symmetry}
+\begin{equation*}
+\langle v_1, v_2 \rangle = \overline{ \langle v_2, v_1 \rangle}
+\end{equation*}
+\item \textbf{Positive-definiteness}
+\begin{align*}
+\langle v_1, v_1 \rangle &\geq 0 \\
+\langle v_1, v_1 \rangle &= 0 \iff v_1= \mathbf{0}
+\end{align*}
+\end{enumerate}
+These axioms do not imply a uniqueness of the inner product. We can therefore define it as we think best.\newline
+One possible definition, which meets all the axioms, in the case of vectors of finite size is the vector product, i.e.
+\begin{equation*}
+\langle v_1,v_2 \rangle := v_1 \cdot \overline{v_2}
+\end{equation*}
+We might note that when we talk about functions this operation will have to be redefined.
+
+\subsubsection{Eigenvector \label{kugel:ssection:eigenvector}}
+We do not want to spend much time on this concept, since at the bachelor's level we assume it has been explained and much used in almost all engineering fields.
+In a nutshell, an eigenvecotor of a linear transformation $\mathcal{T}\{\cdot\}$, in the context of linear algebra, is a nonzero vector that, when the linear transformation $\mathcal{T}\{\cdot\}$ is applied on it, satisfies the following equation
+\begin{equation}
+\mathcal{T}\{v_1\} = \lambda v_1
+\label{eq:eigvec}
+\end{equation}
+Where $\lambda$ is called eigenvalue.\newline
+Linear transformations can be viewed in general as a mapping between two vector spaces. This mapping preserves the operation of scalar multiplication and satisfies the distributive property.\newline
+Recall that, if we consider a finite dimensional vector space, a linear transformation can be represented using a projection matrix, let's say $\mathbf{A}$.
+Thus, finding a vector $\mathbf{v}$, which satisfies Eq.(\ref{eq:eigvec}) is equivalent to solving the following matrix equation
+\begin{equation*}
+\text{det}(\mathbf{A} - \lambda \mathbf{I} ) = 0
+\end{equation*}
+This concept will then be extended to vector spaces of infinite dimensions in the next subsection.
+
+\subsubsection{Function space \label{kugel:ssection:function_space}}
+Up to this point, for each example, we have considered vectors in a geometric context. However, if we consider each axiom defined above, it is very general and not at all specific, as mathematicians like.\newline
+We can see that not only geometric vectors satisfy these axioms. In fact, another mathematical entity that does are functions.\newline
+So we can say that the set of all mathematical functions is a vector space.\newline
+We can at least check whether this statement makes sense.\newline
+Let us consider two functions $f_1(x), f_2(x)$, both with support on $\mathbb{R}$, then $f(x) = f_1(x) + f_2(x)$, still a function defined in $\mathbb{R}$.\newline
+The same is true if we multiply $f(x)$ by a constant, we remain in the space of functions defined in $\mathbb{R}$.\newline
+With these two statements we have verified that the operations of sum and scalar multiplication still have the closure property. The addition, multiplication and distributive axioms can also be verified. However, we will not do that here.\newline
+Therefore, the power of linear algebra allows us to consider functions as vectors. It follows that all the concepts defined earlier in \ref{kugel:ssection:vector_space} can be extended to functions.\newline
+We can then have a set of basis functions, we can project functions into subspaces, have the concept of orthogonality, etc.\newline
+The most famous application of this generalization of vector spaces into function spaces is probably \emph{Fourier} (at least for engineers).\newline
+What is done with \emph{Fourier} is to take a function, defined in a function space with specific basis functions and project it to another basis, where the basis functions are sines and cosines. Fourier is thus a simple change of basis.
+
+\subsubsection{Eigenfunction \label{kugel:ssection:eigenfuntion}}
+As in the case of vector spaces we have the possibility of defining linear operators.\newline
+Suppose we have two vector spaces $\mathcal{A}$ and $\mathcal{B}$ (complex or real). A mapping between $\mathcal{A}$ and $\mathcal{B}$, defined as $\mathcal{T}\{\cdot\}$, is called linear if
+\begin{itemize}
+\item it is homogeneous, i.e:
+\begin{equation*}
+ \mathcal{T}\{\lambda x\} = \lambda \mathcal{T}\{x\},
+\end{equation*}
+\item it is additive, i.e:
+\begin{equation*}
+ \mathcal{T}\{x+y\} = \mathcal{T}\{x\}+\mathcal{T}\{y\}.
+\end{equation*}
+\end{itemize}
+In the case of finite-dimensional vector spaces, as written earlier, we can consider these linear transformations as matrices, in fact we can map, for example, a vector space $\mathbb{R}^n$ onto $\mathbb{R}^m$, using a matrix of dimension $n \times m$.\newline
+However, we can define operators for vector spaces of infinite dimensions (in this case, function spaces) too.\newline
+For example, the derivative is an operator that maps functions from $C^1\to C$, where $C^1$ is the set of all once differentiable functions and $C$ denotes the set of continuous and real functions.\newline
+In the case of operators defined in finite-dimensional vector spaces, we can compute eigenvectors. In function spaces we have mathematical objects with the same properties, we will refer to them as \emph{eigenfunctions}.\newline
+An eigenfunction of an operator $\mathcal{T}\{\cdot\}$, analogous to the eigenvector, is a function that satisfies the following equation:
+\begin{equation*}
+\mathcal{T}\{f(x)\} = \lambda f(x).
+\end{equation*}
+A couple of examples are
+\begin{itemize}
+\item For the differential operator $\dfrac{d}{dx}\{\cdot\}$, the function $e^{ax}$ is an eigenfunction.
+\item For the fourier operator $\mathcal{F}\{\cdot\}$, the \emph{Gaussian function} $e^{-\frac{(x-\mu)^2}{2\sigma^2}}$.
+\item $\hdots$
+\end{itemize}
+Another example of a linear operator is the \emph{Laplace operator} $\nabla^2$, which is very important in engineering and mathematics. Its eigenfunctions will not be discussed in this subsection because the next section is devoted entirely to them. \ No newline at end of file
diff --git a/buch/papers/kugel/spherical-harmonics.tex b/buch/papers/kugel/spherical-harmonics.tex
index 6b23ce5..9349b61 100644
--- a/buch/papers/kugel/spherical-harmonics.tex
+++ b/buch/papers/kugel/spherical-harmonics.tex
@@ -1,13 +1,977 @@
-% vim:ts=2 sw=2 et spell:
+% vim:ts=2 sw=2 et spell tw=80:
-\section{Spherical Harmonics}
+\section{Construction of the Spherical Harmonics}
-\subsection{Eigenvalue Problem in Spherical Coordinates}
+\kugeltodo{Review text, or rewrite if preliminaries becomes an addendum}
-\subsection{Properties}
+We finally arrived at the main section, which gives our chapter its name. The
+idea is to discuss spherical harmonics, their mathematical derivation and some
+of their properties and applications.
-\subsection{Recurrence Relations}
+The subsection \ref{} \kugeltodo{Fix references} will be devoted to the
+Eigenvalue problem of the Laplace operator. Through the latter we will derive
+the set of Eigenfunctions that obey the equation presented in \ref{}
+\kugeltodo{reference to eigenvalue equation}, which will be defined as
+\emph{Spherical Harmonics}. In fact, this subsection will present their
+mathematical derivation.
-\section{Series Expansions in \(C(S^2)\)}
+In the subsection \ref{}, on the other hand, some interesting properties
+related to them will be discussed. Some of these will come back to help us
+understand in more detail why they are useful in various real-world
+applications, which will be presented in the section \ref{}.
+One specific property will be studied in more detail in the subsection \ref{},
+namely the recursive property. The last subsection is devoted to one of the
+most beautiful applications (In our humble opinion), namely the derivation of a
+Fourier-style series expansion but defined on the sphere instead of a plane.
+More importantly, this subsection will allow us to connect all the dots we have
+created with the previous sections, concluding that Fourier is just a specific
+case of the application of the concept of orthogonality. Our hope is that after
+reading this section you will appreciate the beauty and power of generalization
+that mathematics offers us.
+
+\subsection{Eigenvalue Problem}
+\label{kugel:sec:construction:eigenvalue}
+
+\begin{figure}
+ \centering
+ \includegraphics{papers/kugel/figures/tikz/spherical-coordinates}
+ \caption{
+ Spherical coordinate system. Space is described with the free variables $r
+ \in \mathbb{R}_0^+$, $\vartheta \in [0; \pi]$ and $\varphi \in [0; 2\pi)$.
+ \label{kugel:fig:spherical-coordinates}
+ }
+\end{figure}
+
+From Section \ref{buch:pde:section:kugel}, we know that the spherical Laplacian
+in the spherical coordinate system (shown in Figure
+\ref{kugel:fig:spherical-coordinates}) is is defined as
+\begin{equation*}
+ \sphlaplacian :=
+ \frac{1}{r^2} \frac{\partial}{\partial r} \left(
+ r^2 \frac{\partial}{\partial r}
+ \right)
+ + \frac{1}{r^2} \left[
+ \frac{1}{\sin\vartheta} \frac{\partial}{\partial \vartheta} \left(
+ \sin\vartheta \frac{\partial}{\partial\vartheta}
+ \right)
+ + \frac{1}{\sin^2 \vartheta} \frac{\partial^2}{\partial\varphi^2}
+ \right].
+\end{equation*}
+But we will not consider this algebraic monstrosity in its entirety. As the
+title suggests, we will only care about the \emph{surface} of the sphere. This
+is for many reasons, but mainly to simplify reduce the already broad scope of
+this text. Concretely, we will always work on the unit sphere, which just means
+that we set $r = 1$ and keep only $\vartheta$ and $\varphi$ as free variables.
+Now, since the variable $r$ became a constant, we can leave out all derivatives
+with respect to $r$ and substitute all $r$'s with 1's to obtain a new operator
+that deserves its own name.
+
+\begin{definition}[Surface spherical Laplacian]
+ \label{kugel:def:surface-laplacian}
+ The operator
+ \begin{equation*}
+ \surflaplacian :=
+ \frac{1}{\sin\vartheta} \frac{\partial}{\partial \vartheta} \left(
+ \sin\vartheta \frac{\partial}{\partial\vartheta}
+ \right)
+ + \frac{1}{\sin^2 \vartheta} \frac{\partial^2}{\partial\varphi^2},
+ \end{equation*}
+ is called the surface spherical Laplacian.
+\end{definition}
+
+In the definition, the subscript ``$\partial S$'' was used to emphasize the
+fact that we are on the spherical surface, which can be understood as being the
+boundary of the sphere. But what does it actually do? To get an intuition,
+first of all, notice the fact that $\surflaplacian$ have second derivatives,
+which means that this a measure of \emph{curvature}; But curvature of what? To
+get an even stronger intuition we will go into geometry, were curvature can be
+grasped very well visually. Consider figure \ref{kugel:fig:curvature} where the
+curvature is shown using colors. First we have the curvature of a curve in 1D,
+then the curvature of a surface (2D), and finally the curvature of a function on
+the surface of the unit sphere.
+
+\begin{figure}
+ \centering
+ \includegraphics[width=.3\linewidth]{papers/kugel/figures/tikz/curvature-1d}
+ \hskip 5mm
+ \includegraphics[width=.3\linewidth]{papers/kugel/figures/povray/curvature}
+ \hskip 5mm
+ \includegraphics[width=.3\linewidth]{papers/kugel/figures/povray/spherecurve}
+ \caption{
+ \kugeltodo{Fix alignment / size, add caption. Would be nice to match colors.}
+ \label{kugel:fig:curvature}
+ }
+\end{figure}
+
+Now that we have defined an operator, we can go and study its eigenfunctions,
+which means that we would like to find the functions $f(\vartheta, \varphi)$
+that satisfy the equation
+\begin{equation} \label{kugel:eqn:eigen}
+ \surflaplacian f = -\lambda f.
+\end{equation}
+Perhaps it may not be obvious at first glance, but we are in fact dealing with a
+partial differential equation (PDE)\footnote{
+ Considering the fact that we are dealing with a PDE,
+ you may be wondering what are the boundary conditions. Well, since this eigenvalue problem is been developed on
+ the spherical surface (boundary of a sphere), the boundary in this case are empty, i.e no boundary condition has to be considered.}.
+unpack the notation of the operator $\nabla^2_{\partial S}$ according to
+definition
+\ref{kugel:def:surface-laplacian}, we get:
+\begin{equation} \label{kugel:eqn:eigen-pde}
+ \frac{1}{\sin\vartheta} \frac{\partial}{\partial \vartheta} \left(
+ \sin\vartheta \frac{\partial f}{\partial\vartheta}
+ \right)
+ + \frac{1}{\sin^2 \vartheta} \frac{\partial^2 f}{\partial\varphi^2}
+ + \lambda f = 0.
+\end{equation}
+Since all functions satisfying \eqref{kugel:eqn:eigen-pde} are the
+\emph{eigenfunctions} of $\surflaplacian$, our new goal is to solve this PDE.
+The task may seem very difficult but we can simplify it with a well-known
+technique: \emph{the separation Ansatz}. It consists in assuming that the
+function $f(\vartheta, \varphi)$ can be factorized in the following form:
+\begin{equation}
+ f(\vartheta, \varphi) = \Theta(\vartheta)\Phi(\varphi).
+\end{equation}
+In other words, we are saying that the effect of the two independent variables
+can be described using the multiplication of two functions that describe their
+effect separately. This separation process was already presented in section
+\ref{buch:pde:section:kugel}, but we will briefly rehearse it here for
+convenience. If we substitute this assumption in
+\eqref{kugel:eqn:eigen-pde}, we have:
+\begin{equation*}
+ \frac{1}{\sin\vartheta} \frac{\partial}{\partial \vartheta} \left(
+ \sin\vartheta \frac{\partial \Theta(\vartheta)}{\partial\vartheta}
+ \right) \Phi(\varphi)
+ + \frac{1}{\sin^2 \vartheta}
+ \frac{\partial^2 \Phi(\varphi)}{\partial\varphi^2}
+ \Theta(\vartheta)
+ + \lambda \Theta(\vartheta)\Phi(\varphi) = 0.
+\end{equation*}
+Dividing by $\Theta(\vartheta)\Phi(\varphi)$ and introducing an auxiliary
+variable $m^2$, the separation constant, yields:
+\begin{equation*}
+ \frac{1}{\Theta(\vartheta)}\sin \vartheta \frac{d}{d \vartheta} \left(
+ \sin \vartheta \frac{d \Theta}{d \vartheta}
+ \right)
+ + \lambda \sin^2 \vartheta
+ = -\frac{1}{\Phi(\varphi)} \frac{d^2\Phi(\varphi)}{d\varphi^2}
+ = m^2,
+\end{equation*}
+which is equivalent to the following system of 2 first order differential
+equations (ODEs):
+\begin{subequations}
+ \begin{gather}
+ \frac{d^2\Phi(\varphi)}{d\varphi^2} = -m^2 \Phi(\varphi),
+ \label{kugel:eqn:ode-phi} \\
+ \sin \vartheta \frac{d}{d \vartheta} \left(
+ \sin \vartheta \frac{d \Theta}{d \vartheta}
+ \right)
+ + \left( \lambda - \frac{m^2}{\sin^2 \vartheta} \right)
+ \Theta(\vartheta) = 0
+ \label{kugel:eqn:ode-theta}.
+ \end{gather}
+\end{subequations}
+The solution of \eqref{kugel:eqn:ode-phi} is easy to find: The complex
+exponential is obviously the function we are looking for. So we can directly
+write the solutions
+\begin{equation} \label{kugel:eqn:ode-phi-sol}
+ \Phi(\varphi) = e^{i m \varphi}, \quad m \in \mathbb{Z}.
+\end{equation}
+The restriction that the separation constant $m$ needs to be an integer arises
+from the fact that we require a $2\pi$-periodicity in $\varphi$ since the
+coordinate systems requires that $\Phi(\varphi + 2\pi) = \Phi(\varphi)$.
+Unfortunately, solving \eqref{kugel:eqn:ode-theta} is not as straightforward,
+actually, it is quite difficult, and the process is so involved that it will
+require a dedicated section of its own.
+
+\subsection{Legendre Functions}
+
+\begin{figure}
+ \centering
+ \kugelplaceholderfig{.8\textwidth}{5cm}
+ \caption{
+ \kugeltodo{Why $z = \cos \vartheta$.}
+ }
+\end{figure}
+
+To solve \eqref{kugel:eqn:ode-theta} we start with the substitution $z = \cos
+\vartheta$ \kugeltodo{Explain geometric origin with picture}. The operator
+$\frac{d}{d \vartheta}$ becomes
+\begin{equation*}
+ \frac{d}{d \vartheta}
+ = \frac{dz}{d \vartheta}\frac{d}{dz}
+ = -\sin \vartheta \frac{d}{dz}
+ = -\sqrt{1-z^2} \frac{d}{dz},
+\end{equation*}
+since $\sin \vartheta = \sqrt{1 - \cos^2 \vartheta} = \sqrt{1 - z^2}$, and
+then \eqref{kugel:eqn:ode-theta} becomes
+\begin{align*}
+ \frac{-\sqrt{1-z^2}}{\sqrt{1-z^2}} \frac{d}{dz} \left[
+ \left(\sqrt{1-z^2}\right) \left(-\sqrt{1-z^2}\right) \frac{d \Theta}{dz}
+ \right]
+ + \left( \lambda - \frac{m^2}{1 - z^2} \right)\Theta(\vartheta) &= 0,
+ \\
+ \frac{d}{dz} \left[ (1-z^2) \frac{d \Theta}{dz} \right]
+ + \left( \lambda - \frac{m^2}{1 - z^2} \right)\Theta(\vartheta) &= 0,
+ \\
+ (1-z^2)\frac{d^2 \Theta}{dz} - 2z\frac{d \Theta}{dz}
+ + \left( \lambda - \frac{m^2}{1 - z^2} \right)\Theta(\vartheta) &= 0.
+\end{align*}
+By making two final cosmetic substitutions, namely $Z(z) = \Theta(\cos^{-1}z)$
+and $\lambda = n(n+1)$, we obtain what is known in the literature as the
+\emph{associated Legendre equation of order $m$}:
\nocite{olver_introduction_2013}
+\begin{equation} \label{kugel:eqn:associated-legendre}
+ (1 - z^2)\frac{d^2 Z}{dz^2}
+ - 2z\frac{d Z}{dz}
+ + \left( n(n + 1) - \frac{m^2}{1 - z^2} \right) Z(z) = 0,
+ \quad
+ z \in [-1; 1], m \in \mathbb{Z}.
+\end{equation}
+
+Our new goal has therefore become to solve
+\eqref{kugel:eqn:associated-legendre}, since if we find a solution for $Z(z)$ we
+can perform the substitution backwards and get back to our eigenvalue problem.
+However, the associated Legendre equation is not any easier, so to attack the
+problem we will look for the solutions in the easier special case when $m = 0$.
+This reduces the problem because it removes the double pole, which is always
+tricky to deal with. In fact, the reduced problem when $m = 0$ is known as the
+\emph{Legendre equation}:
+\begin{equation} \label{kugel:eqn:legendre}
+ (1 - z^2)\frac{d^2 Z}{dz^2}
+ - 2z\frac{d Z}{dz}
+ + n(n + 1) Z(z) = 0,
+ \quad
+ z \in [-1; 1].
+\end{equation}
+
+The Legendre equation is a second order differential equation, and therefore it
+has 2 independent solutions, which are known as \emph{Legendre functions} of the
+first and second kind. For the scope of this text we will only derive a special
+case of the former that is known known as the \emph{Legendre polynomials}, since
+we only need a solution between $-1$ and $1$.
+
+\begin{lemma}[Legendre polynomials]
+ \label{kugel:thm:legendre-poly}
+ The polynomial function
+ \[
+ P_n(z) = \sum^{\lfloor n/2 \rfloor}_{k=0}
+ \frac{(-1)^k}{2^n s^k!} \frac{(2n - 2k)!}{(n - k)! (n-2k)!} z^{n - 2k}
+ \]
+ is the only finite solution of the Legendre equation
+ \eqref{kugel:eqn:legendre} when $n \in \mathbb{Z}$ and $z \in [-1; 1]$.
+\end{lemma}
+\begin{proof}
+ This results is derived in section \ref{kugel:sec:proofs:legendre}.
+\end{proof}
+
+Since the Legendre \emph{polynomials} are indeed polynomials, they can also be
+expressed using the hypergeometric functions described in section
+\ref{buch:rekursion:section:hypergeometrische-funktion}, so in fact
+\begin{equation}
+ P_n(z) = {}_2F_1 \left( \begin{matrix}
+ n + 1, & -n \\ \multicolumn{2}{c}{1}
+ \end{matrix} ; \frac{1 - z}{2} \right).
+\end{equation}
+Further, there are a few more interesting but not very relevant forms to write
+$P_n(z)$ such as \emph{Rodrigues' formula} and \emph{Laplace's integral
+representation} which are
+\begin{equation*}
+ P_n(z) = \frac{1}{2^n n!} \frac{d^n}{dz^n} (z^2 - 1)^n,
+ \qquad \text{and} \qquad
+ P_n(z) = \frac{1}{\pi} \int_0^\pi \left(
+ z + \cos\vartheta \sqrt{z^2 - 1}
+ \right) \, d\vartheta
+\end{equation*}
+respectively, both of which we will not prove (see chapter 3 of
+\cite{bell_special_2004} for a proof). Now that we have a solution for the
+Legendre equation, we can make use of the following lemma to patch the solutions
+such that they also become solutions of the associated Legendre equation
+\eqref{kugel:eqn:associated-legendre}.
+
+\begin{lemma} \label{kugel:thm:extend-legendre}
+ If $Z_n(z)$ is a solution of the Legendre equation \eqref{kugel:eqn:legendre},
+ then
+ \begin{equation*}
+ Z^m_n(z) = (1 - z^2)^{m/2} \frac{d^m}{dz^m}Z_n(z)
+ \end{equation*}
+ solves the associated Legendre equation \eqref{kugel:eqn:associated-legendre}.
+ \nocite{bell_special_2004}
+\end{lemma}
+\begin{proof}
+ See section \ref{kugel:sec:proofs:legendre}.
+\end{proof}
+
+What is happening in lemma \ref{kugel:thm:extend-legendre}, is that we are
+essentially inserting a square root function in the solution in order to be able
+to reach the parts of the domain near the poles at $\pm 1$ of the associated
+Legendre equation, which is not possible only using power series
+\kugeltodo{Reference book theory on extended power series method.}. Now, since
+we have a solution in our domain, namely $P_n(z)$, we can insert it in the lemma
+obtain the \emph{associated Legendre functions}.
+
+\begin{definition}[Ferrers or associated Legendre functions]
+ \label{kugel:def:ferrers-functions}
+ The functions
+ \begin{equation}
+ P^m_n (z) = (1-z^2)^{\frac{m}{2}}\frac{d^{m}}{dz^{m}} P_n(z)
+ = \frac{1}{2^n n!}(1-z^2)^{\frac{m}{2}}\frac{d^{m+n}}{dz^{m+n}}(1-z^2)^n, \quad |m|<n
+ \end{equation}
+ are known as Ferrers or associated Legendre functions.
+\end{definition}
+The constraint $|m|<n$, can be justified by considering eq.\eqref{kugel:eq:associated_leg_func}, where we differentiate $m+n$ times. We all know that a differentiation, to be well defined, must have an order that is greater than zero \kugeltodo{is that always true?}. Furthermore, it can be seen that this derivative is applied on a polynomial of degree $2n$. As is known from Calculus 1, if you derive a polynomial of degree $2n$ more than $2n$ times, you get zero, that would be a trivial solution. This is the power of zero: It is almost always a (boring) solution.
+
+We can thus summarize these two conditions by writing:
+\begin{equation*}
+ \begin{rcases}
+ m+n \leq 2n &\implies m \leq n \\
+ m+n \geq 0 &\implies m \geq -n
+ \end{rcases} \; |m| \leq n.
+\end{equation*}
+
+\subsection{Spherical Harmonics}
+
+Finally, we can go back to solving our boundary value problem we started in
+section \ref{kugel:sec:construction:eigenvalue}. We had left off in the middle
+of the separation, were we had used the Ansatz $f(\vartheta, \varphi) =
+\Theta(\vartheta) \Phi(\varphi)$ to find that $\Phi(\varphi) = e^{im\varphi}$,
+and we were solving for $\Theta(\vartheta)$. As you may recall, previously we
+performed the substitution $z = \cos \vartheta$. Now we can finally bring back the
+solution to the associated Legendre equation $P^m_n(z)$ into the $\vartheta$
+domain and combine it with $\Phi(\varphi)$ to get the full result:
+\begin{equation*}
+ f(\vartheta, \varphi)
+ = \Theta(\vartheta)\Phi(\varphi)
+ = P^m_n (\cos \vartheta) e^{im\varphi}, \quad |m|<n.
+\end{equation*}
+This family of functions, which recall are the solutions of the eigenvalue
+problem of the surface spherical Laplacian, are the long anticipated
+\emph{complex spherical harmonics}, and they are usually denoted with
+$Y^m_n(\vartheta, \varphi)$.
+
+\begin{definition}[Spherical harmonics]
+ \label{kugel:def:spherical-harmonics}
+ The functions
+ \begin{equation*}
+ Y^m_n (\vartheta, \varphi) = P^m_n(\cos \vartheta) e^{im\varphi}, \quad |m|<n
+ \end{equation*}
+ where $m, n \in \mathbb{Z}$ are called (unnormalized) spherical
+ harmonics.
+\end{definition}
+
+\begin{figure}
+ \centering
+ \kugelplaceholderfig{\textwidth}{.8\paperheight}
+ \caption{
+ \kugeltodo{Big picture with the first few spherical harmonics.}
+ \label{kugel:fig:spherical-harmonics}
+ }
+\end{figure}
+
+\kugeltodo{Describe how they look like with fig.
+\ref{kugel:fig:spherical-harmonics}}
+
+\subsection{Orthogonality of $P_n$, $P^m_n$ and $Y^m_n$}
+
+We shall now discuss an important property of the spherical harmonics: they form
+an orthogonal system. And since the spherical harmonics contain the Ferrers or
+associated Legendre functions, we need to discuss their orthogonality first.
+But the Ferrers functions themselves depend on the Legendre polynomials, so that
+will be our starting point.
+
+\begin{lemma} For the Legendre polynomials $P_n(z)$ and $P_k(z)$ it holds that
+ \label{kugel:thm:legendre-poly-ortho}
+ \begin{equation*}
+ \int_{-1}^1 P_n(z) P_k(z) \, dz
+ = \frac{2}{2n + 1} \delta_{nk}
+ = \begin{cases}
+ \frac{2}{2n + 1} & \text{if } n = k, \\
+ 0 & \text{otherwise}.
+ \end{cases}
+ \end{equation*}
+\end{lemma}
+\begin{proof}
+ To start, consider the fact that the Legendre equation
+ \eqref{kugel:eqn:legendre}, of which two distinct Legendre polynomials
+ $P_n(z)$ and $P_k(z)$ are a solution ($n \neq k$), can be rewritten in the
+ following form:
+ \begin{equation}
+ \frac{d}{dz} \left[
+ \left( 1 - z^2 \right) \frac{dZ}{dz}
+ \right] + n(n+1) Z(z) = 0.
+ \end{equation}
+ So we rewrite the Legendre equations for $P_n(z)$ and $P_k(z)$:
+ \begin{align*}
+ \frac{d}{dz} \left[
+ \left( 1 - z^2 \right) \frac{dP_n}{dz}
+ \right] + n(n+1) P_n(z) &= 0,
+ &
+ \frac{d}{dz} \left[
+ \left( 1 - z^2 \right) \frac{dP_k}{dz}
+ \right] + k(k+1) P_k(z) &= 0,
+ \end{align*}
+ then we multiply the former by $P_k(z)$ and the latter by $P_n(z)$ and
+ subtract the two to get
+ \begin{equation*}
+ \frac{d}{dz} \left[
+ \left( 1 - z^2 \right) \frac{dP_n}{dz}
+ \right] P_k(z) + n(n+1) P_n(z) P_k(z)
+ -
+ \frac{d}{dz} \left[
+ \left( 1 - z^2 \right) \frac{dP_k}{dz}
+ \right] P_n(z) - k(k+1) P_k(z) P_n(z) = 0.
+ \end{equation*}
+ By grouping terms, making order and integrating with respect to $z$ from $-1$
+ to 1 we obtain
+ \begin{gather}
+ \int_{-1}^1 \left\{
+ \frac{d}{dz} \left[
+ \left( 1 - z^2 \right) \frac{dP_n}{dz}
+ \right] P_k(z)
+ -
+ \frac{d}{dz} \left[
+ \left( 1 - z^2 \right) \frac{dP_k}{dz}
+ \right] P_n(z) - k(k+1) P_k(z) P_n(z)
+ \right\} \,dz \nonumber \\
+ + \left[ n(n+1) - k(k+1) \right] \int_{-1}^1 P_k(z) P_n(z) \, dz = 0.
+ \label{kugel:thm:legendre-poly-ortho:proof:1}
+ \end{gather}
+ Since by the product rule
+ \begin{equation*}
+ \frac{d}{dz} \left[ (1 - z^2) \frac{dP_k}{dz} P_n(z) \right]
+ =
+ \frac{d}{dz} \left[ (1 - z^2) \frac{dP_n}{dz} \right] P_k(z)
+ + (1 - z^2) \frac{dP_n}{dz} \frac{dP_k}{dz},
+ \end{equation*}
+ we can simplify the first term in
+ \eqref{kugel:thm:legendre-poly-ortho:proof:1} to get
+ \begin{gather*}
+ \int_{-1}^1 \left\{
+ \frac{d}{dz} \left[ (1 - z^2) \frac{dP_k}{dz} P_n(z) \right]
+ - \cancel{(1 - z^2) \frac{dP_n}{dz} \frac{dP_k}{dz}}
+ - \frac{d}{dz} \left[ (1 - z^2) \frac{dP_n}{dz} P_k(z) \right]
+ + \cancel{(1 - z^2) \frac{dP_k}{dz} \frac{dP_n}{dz}}
+ \right\} \, dz \\
+ = \int_{-1}^1 \frac{d}{dz} \left\{ (1 - z^2) \left[
+ \frac{dP_k}{dz} P_n(z) - \frac{dP_n}{dz} P_k(z)
+ \right] \right\} \, dz
+ = (1 - z^2) \left[
+ \frac{dP_k}{dz} P_n(z) - \frac{dP_n}{dz} P_k(z)
+ \right] \Bigg|_{-1}^1,
+ \end{gather*}
+ which always equals 0 because the product contains $1 - z^2$ and the bounds
+ are at $\pm 1$. Thus, of \eqref{kugel:thm:legendre-poly-ortho:proof:1} only
+ the second term remains and the equation becomes
+ \begin{equation*}
+ \left[ n(n+1) - k(k+1) \right] \int_{-1}^1 P_k(z) P_n(z) \, dz = 0.
+ \end{equation*}
+ By dividing by the constant in front of the integral we have our first result.
+ Now we need to show that when $n = k$ the integral equals $2 / (2n + 1)$.
+ % \begin{equation*}
+ % \end{equation*}
+ \kugeltodo{Finish proof. Can we do it without the generating function of
+ $P_n$?}
+\end{proof}
+
+In a similarly algebraically tedious fashion, we can also continue to check for
+orthogonality for the Ferrers functions $P^m_n(z)$, since they are related to
+$P_n(z)$ by a $m$-th derivative, and obtain the following result.
+
+\begin{lemma} For the associated Legendre functions
+ \label{kugel:thm:associated-legendre-ortho}
+ \begin{equation*}
+ \int_{-1}^1 P^m_n(z) P^{m}_{n'}(z) \, dz
+ = \frac{2(m + n)!}{(2n + 1)(n - m)!} \delta_{nn'}
+ = \begin{cases}
+ \frac{2(m + n)!}{(2n + 1)(n - m)!}
+ & \text{if } n = n', \\
+ 0 & \text{otherwise}.
+ \end{cases}
+ \end{equation*}
+\end{lemma}
+\begin{proof}
+ To show that the expression equals zero when $n \neq n'$ we can perform
+ exactly the same steps as in the proof of lemma
+ \ref{kugel:thm:legendre-poly-ortho}, so we will not repeat them here and prove
+ instead only the case when $n = n'$.
+ \kugeltodo{Finish proof, or not? I have to look and decide if it is
+ interesting enough.}
+\end{proof}
+
+By having the orthogonality relations of the Legendre functions we can finally
+show that spherical harmonics are also orthogonal under the following inner
+product:
+
+\begin{definition}[Inner product in $S^2$]
+ \label{kugel:def:inner-product-s2}
+ For two complex valued functions $f(\vartheta, \varphi)$ and $g(\vartheta,
+ \varphi)$ on the surface of the sphere the inner product is defined to be
+ \begin{equation*}
+ \langle f, g \rangle
+ = \int_{0}^\pi \int_0^{2\pi}
+ f(\vartheta, \varphi) \overline{g(\vartheta, \varphi)}
+ \sin \vartheta \, d\varphi \, d\vartheta.
+ \end{equation*}
+\end{definition}
+
+
+\begin{theorem} For the (unnormalized) spherical harmonics
+ \label{kugel:thm:spherical-harmonics-ortho}
+ \begin{align}
+ \langle Y^m_n, Y^{m'}_{n'} \rangle
+ &= \int_{0}^\pi \int_0^{2\pi}
+ Y^m_n(\vartheta, \varphi) \overline{Y^{m'}_{n'}(\vartheta, \varphi)}
+ \sin \vartheta \, d\varphi \, d\vartheta
+ \label{kugel:eq:spherical-harmonics-inner-prod} \\
+ &= \frac{4\pi}{2n + 1} \frac{(m + n)!}{(n - m)!} \delta_{nn'} \delta_{mm'}
+ = \begin{cases}
+ \frac{4\pi}{2n + 1} \frac{(m + n)!}{(n - m)!}
+ & \text{if } n = n' \text{ and } m = m', \nonumber \\
+ 0 & \text{otherwise}.
+ \end{cases}
+ \end{align}
+\end{theorem}
+\begin{proof}
+ We will begin by doing a bit of algebraic maipulaiton:
+ \begin{align*}
+ \int_{0}^\pi \int_0^{2\pi}
+ Y^m_n(\vartheta, \varphi) \overline{Y^{m'}_{n'}(\vartheta, \varphi)}
+ \sin \vartheta \, d\varphi \, d\vartheta
+ &= \int_{0}^\pi \int_0^{2\pi}
+ e^{im\varphi} P^m_n(\cos \vartheta)
+ e^{-im'\varphi} P^{m'}_{n'}(\cos \vartheta)
+ \, d\varphi \sin \vartheta \, d\vartheta
+ \\
+ &= \int_{0}^\pi
+ P^m_n(\cos \vartheta) P^{m'}_{n'}(\cos \vartheta) \sin \vartheta \, d\vartheta
+ \int_0^{2\pi} e^{i(m - m')\varphi}
+ \, d\varphi.
+ \end{align*}
+ First, notice that the associated Legendre polynomials are assumed to be real,
+ and are thus unaffected by the complex conjugation. Then, we can see that when
+ $m = m'$ the inner integral simplifies to $\int_0^{2\pi} 1 \, d\varphi$ which
+ equals $2\pi$, so in this case the expression becomes
+ \begin{equation*}
+ 2\pi \int_{0}^\pi
+ P^m_n(\cos \vartheta) P^{m'}_{n'}(\cos \vartheta)
+ \sin \vartheta \, d\vartheta
+ = -2\pi \int_{1}^{-1} P^m_n(z) P^{m'}_{n'}(z) \, dz
+ = \frac{4\pi(m + n)!}{(2n + 1)(n - m)!} \delta_{nn'},
+ \end{equation*}
+ where in the second step we performed the substitution $z = \cos\vartheta$;
+ $d\vartheta = \frac{d\vartheta}{dz} dz= - dz / \sin \vartheta$, and then we
+ used lemma \ref{kugel:thm:associated-legendre-ortho}.
+ We are allowed to use
+ the lemma because $m = m'$. After the just mentioned substitution we can write eq.\eqref{kugel:eq:spherical-harmonics-inner-prod} in this form
+ \begin{equation*}
+ \langle Y^m_n, Y^{m'}_{n'} \rangle_{\partial S} = \langle P^m_n, P^{m'}_{n'} \rangle_z \; \langle e^{im\varphi}, e^{-im'\varphi} \rangle_\varphi.
+ \end{equation*}
+ Now we just need look at the case when $m \neq m'$. Fortunately this is
+ easier: the inner integral is $\int_0^{2\pi} e^{i(m - m')\varphi} d\varphi$,
+ or in other words we are integrating a complex exponential over the entire
+ period, which always results in zero. Thus, we do not need to do anything and
+ the proof is complete.
+\end{proof}
+
+These proofs for the various orthogonality relations were quite long and
+algebraically tedious, mainly because they are ``low level'', by which we mean
+that they (arguably) do not rely on very abstract theory. However, if we allow
+ourselves to use the more abstract Sturm Liouville theory discussed in chapters
+\ref{buch:integrale:subsection:sturm-liouville-problem} and \kugeltodo{reference
+to chapter 17 of haddouche and Löffler} the proofs can become ridiculously
+short. Let's do for example lemma \ref{kugel:thm:associated-legendre-ortho}.
+
+\begin{proof}[
+ Shorter proof of lemma \ref{kugel:thm:associated-legendre-ortho}
+ ]
+ The associated Legendre polynomials, of which we would like to prove an
+ orthogonality relation, are the solution to the associated Legendre equation,
+ which we can write as $LZ(z) = 0$, where
+ \begin{equation*}
+ L = \frac{d}{dz} (1 - z^2) \frac{d}{dz}
+ + n(n+1) - \frac{m^2}{1 - z^2}.
+ \end{equation*}
+ Notice that $L$ is in fact a Sturm-Liouville operator of the form
+ \begin{equation*}
+ L = \frac{1}{w(z)} \left[
+ \frac{d}{dz} p(z) \frac{d}{dz} - \lambda + q(z)
+ \right],
+ \end{equation*}
+ if we let $w(z) = 1$, $p(z) = (1 - z^2 )$, $q(z) = -m^2 / (1 - z^2)$, and
+ $\lambda = -n(n+1)$. By the theory of Sturm-Liouville operators, we know that
+ the each solution of the problem $LZ(z) = 0$, namely $P^m_n(z)$, is orthogonal
+ to every other solution that has a different $\lambda$. In our case $\lambda$
+ varies with $n$, so $P^m_n(z)$ with different $n$'s are orthogonal to each
+ other.
+\end{proof}
+
+But that was still rather informative and had a bit of explanation, which is
+terrible. Real snobs, such as Wikipedia contributors, some authors and
+regrettably sometimes even ourselves, would write instead:
+
+\begin{proof}[
+ Infuriatingly short proof of lemma \ref{kugel:thm:associated-legendre-ortho}
+ ]
+ The associated Legendre polynomials are solutions of the associated Legendre
+ equation which is a Sturm-Liouville problem and are thus orthogonal to each
+ other. The factor in front Kronecker delta is left as an exercise to the
+ reader.
+\end{proof}
+
+Lemma \ref{kugel:thm:legendre-poly-ortho} has a very similar proof, while the theorem \ref{kugel:thm:spherical-harmonics-ortho} for the spherical harmonics is proved by the following argument.
+The spherical harmonics are the solutions to the eigenvalue problem $\surflaplacian f = -\lambda f$,
+which as discussed in the previous section is solved using the separation Ansatz. So to
+prove their orthogonality using the Sturm-Liouville theory we argue that
+\begin{equation*}
+ \surflaplacian = L_\vartheta L_\varphi \iff
+ \surflaplacian f(\vartheta, \varphi)
+ = L_\vartheta \Theta(\vartheta) L_\varphi \Phi(\varphi),
+\end{equation*}
+then we show that both $L_\vartheta$ and $L_\varphi$ are both Sturm-Liouville
+operators (we just did the former in the shorter proof above). Since both are
+Sturm-Liouville operators their combination, the surface spherical Laplacian, is
+also a Sturm-Liouville operator, which then implies orthogonality.
+
+\subsection{Normalization and the Phase Factor}
+
+At this point we have shown that the spherical harmonics form an orthogonal
+system, but in many applications we usually also want a normalization of some
+kind. For example the most obvious desirable property could be for the spherical
+harmonics to be ortho\emph{normal}, by which we mean that $\langle Y^m_n,
+Y^{m'}_{n'} \rangle = \delta_{nn'}$. To obtain orthonormality, we simply add an
+ugly normalization factor in front of the previous definition
+\ref{kugel:def:spherical-harmonics} as follows.
+
+\begin{definition}[Orthonormal spherical harmonics]
+ \label{kugel:def:spherical-harmonics-orthonormal}
+ The functions
+ \begin{equation*}
+ Y^m_n(\vartheta, \varphi)
+ = \sqrt{\frac{2n + 1}{4\pi} \frac{(n-m)!}{(m+n)!}}
+ P^m_n(\cos \vartheta) e^{im\varphi}
+ \end{equation*}
+ where $m, n \in \mathbb{Z}$ and $|m| < n$ are the orthonormal spherical
+ harmonics.
+\end{definition}
+
+Orthornomality is very useful, but it is not the only common normalization that
+is found in the literature. In physics, geomagnetism to be more specific, it is
+common to use the so called Schmidt semi-normalization (or sometimes also called
+quasi-normalization).
+
+\begin{definition}[Schmidt semi-normalized spherical harmonics]
+ \label{kugel:def:spherical-harmonics-schmidt}
+ The Schmidt semi-normalized spherical harmonics are
+ \begin{equation*}
+ Y^m_n(\vartheta, \varphi)
+ = \sqrt{2 \frac{(n - m)!}{(n + m)!}}
+ P^m_n(\cos \vartheta) e^{im\varphi}
+ \end{equation*}
+ where $m, n \in \mathbb{Z}$ and $|m| < n$.
+\end{definition}
+
+Additionally, there is another quirk in the literature that should be mentioned.
+In some other branches of physics such as seismology and quantum mechanics there
+is a so called Condon-Shortley phase factor $(-1)^m$ in front of the square root
+in the definition of the normalized spherical harmonics. It is yet another
+normalization that is added for physical reasons that are not very relevant to
+our discussion, but we mention this potential source of confusion since many
+numerical packages (such as \texttt{SHTOOLS} \kugeltodo{Reference}) offer an
+option to add or remove it from the computation.
+
+Though, for our purposes we will mostly only need the orthonormal spherical
+harmonics, so from now on, unless specified otherwise when we say spherical
+harmonics or write $Y^m_n$, we mean the orthonormal spherical harmonics of
+definition \ref{kugel:def:spherical-harmonics-orthonormal}.
+
+\subsection{Recurrence Relations}\kugeltodo{replace x with z}
+The idea of this subsection is to introduce first some recursive relations regarding the Associated Legendre Functions, defined in eq.\eqref{kugel:def:ferrers-functions}. Subsequently we will extend them, in order to derive recurrence formulas for the case of Spherical Harmonic functions as well.
+\subsubsection{Associated Legendre Functions}
+To start this journey, we can first write the following equations, which relate the Associated Legendre functions of different indeces $m$ and $n$ recursively:
+\begin{subequations}
+ \begin{align}
+ P^m_n(z) &= \dfrac{1}{(2n+1)x} \left[ (m+n) P^m_{n-1}(z) + (n-m+1) P^m_{n+1}(z) \right] \label{kugel:eq:rec-leg-1} \\
+ P^m_n(z) &= \dfrac{\sqrt{1-z^2}}{2mz} \left[ P^{m+1}_n(z) + [n(n+1)-m(m-1)] P^{m-1}_n(z) \right] \label{kugel:eq:rec-leg-2} \\
+ P^m_n(z) &= \dfrac{1}{(2n+1)\sqrt{1-z^2}} \left[ P^{m+1}_{n+1}(z) - P^{m+1}_{n-1}(z) \right] \label{kugel:eq:rec-leg-3} \\
+ P^m_n(z) &= \dfrac{1}{(2n+1)\sqrt{1-z^2}} \left[ (n+m)(n+m-1)P^{m-1}_{n-1}(z) - (n-m+1)(n-m+2)P^{m-1}_{n+1}(z) \right] \label{kugel:eq:rec-leg-4}
+ \end{align}
+\end{subequations}
+Much of the effort will be proving this bunch of equalities. Then, in the second part, where we will derive the recursion equations for $Y^m_n(\vartheta,\varphi)$, we will basically reuse the ones presented above.
+
+Maybe it is worth mentioning at least one use case for these relations: In some software implementations (that include lighting computations in computer graphics, antenna modelling softwares, 3-D modelling in medical applications, etc.)
+they are widely used, as they lead to better numerical accuracy and computational cost lower by a factor of six\cite{usecase_recursion_paper}.
+\begin{enumerate}[(i)]
+ \item
+ \begin{proof}
+ This is the relation that links the associated Legendre functions with the same $m$ index but different $n$. Using \ref{} \kugeltodo{search the general equation of recursion for orthogonal polynomials (is somewhere in the book)}, we have
+ \begin{equation*}
+ (n+1)P_{n+1}(z)-(2n+1)xP_n(z)+nP_{n-1}(z)=0,
+ \end{equation*}
+ that can be differentiated $m$ times, obtaining
+ \begin{equation}\label{kugel:eq:rec_1}
+ (n+1)\frac{d^mP_{n+1}}{dz^m}-(2n+1) \left[z \frac{d^m P_n}{dz^m}+ m\frac{d^{m-1}P_{n-1}}{dz^{m-1}} \right] + n\frac{d^m P_{n-1}}{dz^m}=0.
+ \end{equation}
+ To continue this derivation, we need the following relation:
+ \begin{equation}\label{kugel:eq:rec_2}
+ \frac{dP_{n+1}}{dz} - \frac{dP_{n-1}}{dz} = (2n+1)P_n.
+ \end{equation}
+ The latter will not be derived, because it suffices to use the definition of the Legendre Polynomials $P_n(x)$ to check it.
+
+ We can now differentiate the just presented eq.\eqref{kugel:eq:rec_2} $m-1$ times, that will become
+ \begin{equation}\label{kugel:eq:rec_3}
+ \frac{d^mP_{n+1}}{dx^m} - \frac{d^mP_{n-1}}{dx^m} = (2n+1)\frac{d^{m-1}P_n}{dx^{m-1}}.
+ \end{equation}
+ Then, using eq.\eqref{kugel:eq:rec_3} in eq.\eqref{kugel:eq:rec_1}, we will have
+ \begin{equation}\label{kugel:eq:rec_4}
+ (n+1)\frac{d^mP_{n+1}}{dx^m}- (2n+1)\frac{d^mP_{n+1}}{dx^m} -m\left[\frac{d^m P_{n+1}}{dx^m}+ \frac{d^{m}P_{n-1}}{dx^m}\right] + n\frac{d^m P_{n-1}}{dx^m}=0.
+ \end{equation}
+ Finally, multiplying both sides by $(1-x^2)^{\frac{m}{2}}$ and simplifying the expression, we can rewrite eq.\eqref{kugel:eq:rec_4} in terms of $P^m_n(x)$, namely
+ \begin{equation*}
+ (n+1-m)P^m_{n+1}(x)-(2n+1)xP^m_n(x)+(m+n)P^m_{n-1}(x)=0,
+ \end{equation*}
+ that rearranged, will be
+ \begin{equation*}
+ (2n+1) x P^m_n(x)= (m+n) P^m_{n-1}(x) + (n-m+1) P^m_{n+1}(x).
+ \end{equation*}
+ \end{proof}
+
+ \item
+ \begin{proof}
+ This relation, unlike the previous one, link three expression with the same $n$ index but different $m$.
+
+ In the proof of Lemma \ref{kugel:lemma:sol_associated_leg_eq}, at some point we ran into this expression.
+ \begin{equation*}
+ (1-x^2)\frac{d^{m+2}P_n}{dx^{m+2}} - 2(m+1)x \frac{d^{m+1}P_n}{dx^{m+1}} + [n(n+1)-m(m+1)]\frac{d^mP_n}{dx^m} = 0,
+ \end{equation*}
+ that, if multiplied by $(1-x^2)^{\frac{m}{2}}$, will be
+ \begin{equation*}
+ (1-x^2)^{\frac{m}{2}+1}\frac{d^{m+2}P_n}{dx^{m+2}} - 2(m+1)x (1-x^2)^{\frac{m}{2}}\frac{d^{m+1}P_n}{dx^{m+1}} + [n(n+1)-m(m+1)](1-x^2)^{\frac{m}{2}}\frac{d^mP_n}{dx^m} = 0.
+ \end{equation*}
+ Therefore, as before, expressing it in terms of $P^m_n(x)$:
+ \begin{equation*}
+ P^{m+2}_n(x) - \frac{2(m+1)x}{\sqrt{1-x^2}}P^{m+1}_n(x) + [n(n+1)-m(m+1)]P^m_n(x)=0.
+ \end{equation*}
+ Further, we can adjust the indeces and terms, obtaining
+ \begin{equation*}
+ \frac{2mx}{\sqrt{(1-x^2)}} P^m_n(x) = P^{m+1}_n(x) + [n(n+1)-m(m-1)] P^{m-1}_n(x).
+ \end{equation*}
+
+ \end{proof}
+
+ \item
+ \begin{proof}
+ To derive this expression, we can multiply eq.\eqref{kugel:eq:rec_3} by $(1-x^2)^{\frac{m}{2}}$ and, as always, we could express it in terms of $P^m_n(x)$:
+ \begin{equation*}
+ P^m_{n+1}(x) - P^m_{n-1}(x) = (2n+1)\sqrt{1-x^2}P^{m-1}_n(x).
+ \end{equation*}
+ Afer that we can divide by $2n+1$ resulting in
+ \begin{equation}\label{kugel:eq:helper}
+ \frac{1}{2n+1}[P^m_{n+1}(x) - P^m_{n-1}(x)] = \sqrt{1-x^2}P^{m-1}_n(x).
+ \end{equation}
+ To conclude, we arrange the indeces differently:
+ \begin{equation*}
+ \sqrt{1-x^2}P^{m}_n(x)=\frac{1}{2n+1}[P^{m+1}_{n+1}(x) - P^{m+1}_{n-1}(x)].
+ \end{equation*}
+ \end{proof}
+
+ \item
+ \begin{proof}
+ For this proof we can rely on eq.\eqref{kugel:eq:rec-leg-1}, and therefore rewrite eq.\eqref{kugel:eq:rec-leg-2} as
+ \begin{equation*}
+ \frac{2m}{(2n+1)\sqrt{1-x^2}} \left[ (m+n)P^m_{n-1}(x) + (n-m+1)P^m_{n+1}(x) \right] = P^{m+1}_n(x) + [ n(n+1)-m(m-1) ]P^{m-1}_n(x).
+ \end{equation*}
+ Rewriting then $P^{m-1}_n(x)$ using eq.\eqref{kugel:eq:helper}, we will have
+ \begin{align*}
+ \frac{2m}{(2n+1)\sqrt{1-x^2}} &\left[ (m+n)P^m_{n-1}(x) + (n-m+1)P^m_{n+1}(x) \right] = P^{m+1}_n(x) \\
+ &+ \frac{n(n+1)-m(m-1)}{(2n+1)\sqrt{1-x^2}} \left[ P^m_{n+1}(x)-P^m_{n-1}(x) \right].
+ \end{align*}
+ The last equation, after some algebric rearrangements, it is easy to show that it is equivalent to
+ \begin{equation*}
+ \sqrt{1-x^2} P^m_n(x) = \dfrac{1}{2n+1} \left[ (n+m)(n+m-1)P^{m-1}_{n-1}(x) - (n-m+1)(n-m+2)P^{m-1}_{n+1}(x) \right]
+ \end{equation*}
+ \end{proof}
+
+\end{enumerate}
+
+\subsubsection{Spherical Harmonics}
+The goal of this subsection's part is to apply the recurrence relations of the $P^m_n(z)$ functions to the Spherical Harmonics.
+With some little adjustments we will be able to have recursion equations for them too. As previously written the most of the work is already done. Now it is only a matter of minor mathematical operations/rearrangements.
+
+We can start by listing all of them:
+\begin{subequations}
+ \begin{align}
+ Y^m_n(\vartheta, \varphi) &= \dfrac{1}{(2n+1)\cos \vartheta} \left[ (m+n)Y^m_{n-1}(\vartheta, \varphi) + (m-n+1)Y^m_{n+1}(\vartheta, \varphi) \right] \label{kugel:eq:rec-sph_harm-1} \\
+ Y^m_n(\vartheta, \varphi) &= \dfrac{\tan \vartheta}{2m}\left[ Y^{m+1}_n(\vartheta, \varphi)e^{-i\varphi} + [n(n+1)-m(m-1)]Y^{m-1}_n(\vartheta, \varphi)e^{i\varphi} \right] \label{kugel:eq:rec-sph_harm-2} \\
+ Y^m_n(\vartheta, \varphi) &= \dfrac{e^{-i\varphi}}{ (2n+1)\sin \vartheta } \left[ Y^{m+1}_{n+1}(\vartheta, \varphi) - Y^{m+1}_{n-1}(\vartheta, \varphi) \right] \label{kugel:eq:rec-sph_harm-3} \\
+ Y^m_n(\vartheta, \varphi) &= \dfrac{e^{i\varphi}}{(2n+1)\sin \vartheta} \left[ (n+m)(n+m-1)Y^{m-1}_{n-1}(\vartheta, \varphi) - (n-m+1)(n-m+2)Y^{m-1}_{n+1}(\vartheta, \varphi) \right] \label{kugel:eq:rec-sph_harm-4}
+ \end{align}
+\end{subequations}
+
+\begin{enumerate}[(i)]
+ \item
+ \begin{proof}
+ We can multiply both sides of equality in eq.\eqref{kugel:eq:rec-leg-1} by $e^{im \varphi}$ and perform the substitution $z=\cos \vartheta$. After a few simple algebraic steps, we will obtain the relation we are looking for
+ \end{proof}
+ \item
+ \begin{proof}
+ In this proof, as before, we can perform the substitution $z=\cos \vartheta$, and notice that $\sqrt{1-z^2}=\sin \vartheta$, hence, the relation in eq.\eqref{kugel:eq:rec-leg-2} will be
+ \begin{equation*}
+ \frac{2m \cos \vartheta}{\sin \vartheta} P^m_n(\cos \vartheta) = P^{m+1}_n(\cos \vartheta) + [n(n+1)-m(m-1)]P^{m-1}_n P^m_n(\cos \vartheta).
+ \end{equation*}
+ The latter, multiplied by $e^{im\varphi}$, becomes
+ \begin{align*}
+ \frac{2m \cos \vartheta}{\sin \vartheta} P^m_n(\cos \vartheta)e^{im\varphi} &= P^{m+1}_n(\cos \vartheta)e^{im\varphi} + [n(n+1)-m(m-1)]P^{m-1}_n P^m_n(\cos \vartheta)e^{im\varphi} \\
+ &= P^{m+1}_n(\cos \vartheta)e^{i(m+1)\varphi}e^{-i\varphi} + [n(n+1)-m(m-1)]P^{m-1}_n (\cos \vartheta)e^{i(m-1)\varphi}e^{i\varphi} \\
+ &= Y^{m+1}_n(\vartheta, \varphi)e^{-i\varphi} + [n(n+1)-m(m-1)]Y^{m-1}_n(\vartheta, \varphi)e^{i\varphi}.
+ \end{align*}
+ Finally, after some ``cleaning''
+ \begin{equation*}
+ Y^m_n(\vartheta, \varphi) = \frac{\tan \vartheta}{2m} \left[ Y^{m+1}_n(\vartheta, \varphi)e^{-i\varphi} + [n(n+1)-m(m-1)]Y^{m-1}_n(\vartheta, \varphi)e^{i\varphi} \right]
+ \end{equation*}
+ \end{proof}
+ \item
+ \begin{proof}
+ Now we can consider eq.\eqref{kugel:eq:rec-leg-3}, and multiply it by $e^{im\varphi}$. After the usual substitution $z=\cos \vartheta$, we have
+ \begin{align*}
+ \sin \vartheta P^m_n(\cos \vartheta)e^{im\varphi} &= \dfrac{e^{im\varphi}}{2n+1}\left[ P^{m+1}_{n+1}(\cos \vartheta) - P^{m+1}_{n-1}(\cos \vartheta)\right] \\
+ &= \dfrac{e^{-i\varphi}}{2n+1}\left[ P^{m+1}_{n+1}(\cos \vartheta)e^{i(m+1)\varphi} - P^{m+1}_{n-1}(\cos \vartheta)e^{i(m+1)\varphi}\right].
+ \end{align*}
+ A few manipulations later, we will obtain
+ \begin{equation*}
+ Y^m_n(\vartheta, \varphi) = \frac{e^{-i\varphi}}{(2n+1)\sin \vartheta} \left[ Y^{m+1}_{n+1}(\vartheta, \varphi)-Y^{m+1}_{n-1}(\vartheta, \varphi) \right].
+ \end{equation*}
+ \end{proof}
+ \item
+ \begin{proof}
+ This proof is very similar to the previous one. We just have to perform the substitution $z = \cos \vartheta$, as always. Secondly we can multiply the right side by $e^{im\varphi}$ and the left one too but in a different form, namely $e^{im\varphi}=e^{i(m-1)\varphi}e^{i\varphi}$. Then it is only a question of recalling the definition of $Y^m_n(\vartheta, \varphi)$.
+ \end{proof}
+\end{enumerate}
+
+\section{Series Expansions in $L^2(S^2)$}
+We have now reach a point where we have all the tools that are necessary to build something truly amazing: a general series expansion formula for
+function on the surface of the sphere.
+Before starting we want to recall the definition of the inner product on the spherical surface of definition \ref{kugel:def:inner-product-s2}
+\begin{equation*}
+ \langle f, g \rangle
+ = \int_{0}^\pi \int_0^{2\pi}
+ f(\vartheta, \varphi) \overline{g(\vartheta, \varphi)}
+ \sin \vartheta \, d\varphi \, d\vartheta.
+\end{equation*}
+To be a bit technical we can say that the set of spherical harmonic functions, toghether with the inner product just showed,
+form something that we call Hilbert Space\footnote{For more details about Hilber space you can take a look in section \ref{kugel:sec:preliminaries}}.
+This function space is defined over the space of ``well-behaved'' \footnote{The definitions of ``well-behaved'' is pretty ambigous, even for mathematicians.
+It depends basically on the context.
+You can sumarize it by saying: functions for which the theory we are considering (Fourier theorem) is always true. In our case we can say that well-behaved functions
+are functions that follow some convergence contraints (pointwise, uniform, absolute, ...) that we don't want to consider further anyway.} functions.
+We can say that the theory we are about to show can be applied on all twice differentiable complex valued functions,
+to be more concise: complex valued $L^2$ functions $S^2 \to \mathbb{C}$.
+
+All these jargons are not really necessary for the practical applications of us mere mortals, namely physicists and engineers.
+From now on we will therefore assume that the functions we will dealing with fulfill these ``minor'' conditions.
+
+The insiders could turn up their nose, but we don't want to dwell too much on the concept of Hilbert space, convergence, metric, well-behaved functions etc.
+We simply think that this rigorousness could be at the expense of the possibility to appreciate the beauty and elegance of this theory.
+Furthermore, the risk of writing 300+ pages to prove that $1+1=2$\cite{principia-mathematica} is just around the corner (we apologize in advance to Mr. Whitehead and Mr. Russel for using their effort with a negative connotation).
+
+Despite all, if you desire having definitions a bit more rigorous (as rigorous as two engineers can be), you could take a look at the chapter \ref{}.
+
+\subsection{Spherical Harmonics Series}
+
+To talk about a \emph{series expansion} we first need a series, so we shall
+build one using the spherical harmonics.
+
+\begin{definition}[Spherical harmonic series]
+ \label{kugel:definition:spherical-harmonics-series}
+ \begin{equation}
+ f(\vartheta, \varphi)
+ = \sum_{n=0}^\infty \sum_{m =-n}^n
+ c_{m,n} Y^m_n(\vartheta, \varphi). \label{kugel:definition:spherical-harmonics-series}
+ \end{equation}
+\end{definition}
+
+With this definition we are basically saying that any function defined on the spherical surface can be represented as a linear combination of spherical harmonics.
+Does eq.\eqref{kugel:definition:spherical-harmonics-series} sound familiar? Well that is prefectly normal, since this is analog to the classical Fourier theory.
+In the latter is stated that ``any'' $T$-periodic function $f(x)$, on any interval $[x_0-T/2,x_0+T/2]$, can be represented as a linear combination of complex exponentials. More compactly:
+\begin{equation*}
+ f(x) = \sum_{n \in \mathbb{Z}} c_n e^{i \omega_0 x}, \quad \omega_0=\frac{2\pi}{T}
+\end{equation*}
+In the case of definition \ref{kugel:definition:spherical-harmonics-series} the kernels, instead of $e^{i\omega_0x}$, have become $Y^m_n$. In addition, the sum is now over the two indices $m$ and $n$.
+
+\begin{lemma}[Spherical harmonic coefficients]
+ \label{kugel:lemma:spherical-harmonic-coefficient}
+ \begin{align*}
+ c_{m,n}
+ &= \langle f, Y^m_n \rangle_{\partial S} \\
+ &= \int_0^\pi \int_0^{2\pi} f(\vartheta,\varphi) \overline{Y^m_n(\vartheta,\varphi)} \sin\vartheta \,d\varphi\,d\vartheta
+ \end{align*}
+\end{lemma}
+\begin{proof}
+ To develop this proof we will take advantage of the orthogonality property of the Spherical Harmonics. We can start and finish by applying the inner product on both sides of eq.\eqref{kugel:definition:spherical-harmonics-series}:
+ \begin{align*}
+ \langle f, Y^{m}_{n} \rangle_{\partial S}
+ &= \left\langle \sum_{n'=0}^\infty \sum_{m' =-n'}^{n'}
+ c_{m',n'} Y^{m'}_{n'}(\vartheta, \varphi) \right\rangle_{\partial S} \\
+ &= \sum_{n'=0}^\infty \sum_{m' =-n'}^{n'}
+ \langle c_{m',n'} Y^{m'}_{n'}, Y^{m}_{n} \rangle_{\partial S} \\
+ &= \sum_{n'=0}^\infty \sum_{m' =-n'}^{n'} c_{m',n'} \langle Y^{m'}_{n'}, Y^{m}_{n} \rangle_{\partial S} = c_{m,n}
+ \end{align*}
+ We omitted the $\vartheta, \varphi$ dependency to avoid overloading the notation.
+\end{proof}
+Thanks to Lemma \ref{kugel:lemma:spherical-harmonic-coefficient} we can now calculate the series expansion defined in \ref{kugel:definition:spherical-harmonics-series}.
+
+It can be shown that, for the famous ``well-behaved functions'' $f(\vartheta, \varphi)$ mentioned before, theorem \ref{fourier-theorem-spherical-surface} is true
+\begin{theorem}[Fourier Theorem on $\partial S$]
+ \label{fourier-theorem-spherical-surface}
+ \begin{equation*}
+ \lim_{N \to \infty}
+ \int_0^\pi \int_0^{2\pi} \left\| f(\vartheta,\varphi) - \sum_{n=0}^N\sum_{m=-n}^n c_{m,n} Y^m_n(\vartheta,\varphi)
+ \right\|_2 \sin\vartheta \,d\varphi\,d\vartheta = 0
+ \end{equation*}
+\end{theorem}
+The connection to Theorem \ref{fourier-theorem-1D} is pretty obvious.
+
+\subsection{Spectrum}
+
+\begin{figure}
+ \centering
+ \kugelplaceholderfig{.8\textwidth}{5cm}
+ \caption{\kugeltodo{Rectangular signal and his spectrum.}}
+ \label{kugel:fig:1d-fourier}
+\end{figure}
+
+In the case of the classical one-dimensional Fourier theory, we call \emph{Spectrum} the relation between the fourier coefficients $c_n$ and the multiple
+of the fundamental frequency $2\pi/T$, namely $n 2\pi/T$. In the most general case $c_n$ are complex numbers, so we divide the concept of spectrum in
+\emph{Amplitude Spectrum} and \emph{Phase Spectrum}. In fig.\ref{kugel:fig:1d-fourier} a function $f(x)$ is presented along with the amplitude spectrum.
+
+\begin{figure}
+ \centering
+ \kugelplaceholderfig{.8\textwidth}{7cm}
+ \caption{\kugeltodo{Confront between image reconstructed only with phase and one only with amplitued}}
+ \label{kugel:fig:phase&amplitude-2d-fourier}
+\end{figure}
+
+The thing that is easiest for us humans to visualize and understand is often the Amplitude Spectrum.
+This is a huge limitation, since for example in Image Processing can be showed in a nice way that much more information is contained in the phase part (see fig.\ref{kugel:fig:phase-2d-fourier}).
+
+\begin{figure}
+ \centering
+ \kugelplaceholderfig{.8\textwidth}{9cm}
+ \caption{\kugeltodo{fig that show fourier style reconstruction on sphere (with increasing index)}}
+ \label{kugel:fig:fourier-on-sphere-increasing-index}
+\end{figure}
+
+The same logic can be extended to the spherical harmonic coefficients $c_{m,n}$. In fig.\ref{kugel:fig:fourier-on-sphere-increasing-index} you can see the same concept as in fig.\ref{kugel:fig:1d-fourier}
+but with a spherical function $f(\vartheta, \varphi)$.
+
+\subsection{Energy of a function $f(\vartheta, \varpi)$}
+
+\begin{lemma}[Energy of a spherical function (\emph{Parseval's theorem})]
+ \begin{equation*}
+ \int_0^{2\pi}\int_0^\pi |f(\vartheta, \varphi)|^2 \sin\vartheta \, d\varphi \, d\varphi = \sum_{n=0}^\infty \frac{1}{2n+1} \sum_{m=-n}^n |c_{m,n}|^2.
+ \end{equation*}
+\end{lemma}
+\begin{proof}
+\end{proof}
+
+\subsection{Visualization} \ No newline at end of file