From 5d1cd4306966a5433bcc8375d627989aade53a3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Sat, 21 May 2022 07:21:47 +0200 Subject: add new script for risch part --- buch/chapters/060-integral/experiments/rxy.maxima | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 buch/chapters/060-integral/experiments/rxy.maxima diff --git a/buch/chapters/060-integral/experiments/rxy.maxima b/buch/chapters/060-integral/experiments/rxy.maxima new file mode 100644 index 0000000..0d5a56d --- /dev/null +++ b/buch/chapters/060-integral/experiments/rxy.maxima @@ -0,0 +1,9 @@ +y: sqrt(a*x^2+b*x+c); + +F: log(x + b/(2 * a) + y/sqrt(a))/sqrt(a); + +f: diff(F, x); + +ratsimp(f); + +ratsimp(y*f); -- cgit v1.2.1 From eceae67b3a13bc28acc446288429a90be2efa99d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Sat, 21 May 2022 12:45:42 +0200 Subject: curvature graph --- buch/papers/kugel/images/Makefile | 13 ++++++ buch/papers/kugel/images/curvature.pov | 72 +++++++++++++++++++++++++++++ buch/papers/kugel/images/curvgraph.m | 83 ++++++++++++++++++++++++++++++++++ 3 files changed, 168 insertions(+) create mode 100644 buch/papers/kugel/images/Makefile create mode 100644 buch/papers/kugel/images/curvature.pov create mode 100644 buch/papers/kugel/images/curvgraph.m diff --git a/buch/papers/kugel/images/Makefile b/buch/papers/kugel/images/Makefile new file mode 100644 index 0000000..8efa228 --- /dev/null +++ b/buch/papers/kugel/images/Makefile @@ -0,0 +1,13 @@ +# +# Makefile -- build images +# +# (c) 2022 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +# +all: curvature.png + +curvature.inc: curvgraph.m + octave curvgraph.m + +curvature.png: curvature.pov curvature.inc + povray +A0.1 +W1920 +H1080 +Ocurvature.png curvature.pov + diff --git a/buch/papers/kugel/images/curvature.pov b/buch/papers/kugel/images/curvature.pov new file mode 100644 index 0000000..3535488 --- /dev/null +++ b/buch/papers/kugel/images/curvature.pov @@ -0,0 +1,72 @@ +// +// curvature.pov +// +// (c) 2022 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +// + +#version 3.7; +#include "colors.inc" + +global_settings { + assumed_gamma 1 +} + +#declare imagescale = 0.1; + +camera { + location <40, 10, -20> + look_at <0, 0, 0> + right 16/9 * x * imagescale + up y * imagescale +} + +light_source { + <10, 10, -40> color White + area_light <1,0,0> <0,0,1>, 10, 10 + adaptive 1 + jitter +} + +sky_sphere { + pigment { + color rgb<1,1,1> + } +} + +// +// draw an arrow from to with thickness with +// color +// +#macro arrow(from, to, arrowthickness, c) +#declare arrowdirection = vnormalize(to - from); +#declare arrowlength = vlength(to - from); +union { + sphere { + from, 1.1 * arrowthickness + } + cylinder { + from, + from + (arrowlength - 5 * arrowthickness) * arrowdirection, + arrowthickness + } + cone { + from + (arrowlength - 5 * arrowthickness) * arrowdirection, + 2 * arrowthickness, + to, + 0 + } + pigment { + color c + } + finish { + specular 0.9 + metallic + } +} +#end + +arrow(<-3.1,0,0>, <3.1,0,0>, 0.01, White) +arrow(<0,-1,0>, <0,1,0>, 0.01, White) +arrow(<0,0,-2.1>, <0,0,2.1>, 0.01, White) + +#include "curvature.inc" diff --git a/buch/papers/kugel/images/curvgraph.m b/buch/papers/kugel/images/curvgraph.m new file mode 100644 index 0000000..96ca4b1 --- /dev/null +++ b/buch/papers/kugel/images/curvgraph.m @@ -0,0 +1,83 @@ +# +# curvature.m +# +# (c) 2022 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +# + +global N; +N = 10; + +global sigma2; +sigma2 = 1; + +global s; +s = 1; + +xmin = -3; +xmax = 3; +xsteps = 1000; +hx = (xmax - xmin) / xsteps; + +ymin = -2; +ymax = 2; +ysteps = 1000; +hy = (ymax - ymin) / ysteps; + +function retval = f0(r) + global sigma2; + retval = exp(-r^2/sigma2)/sigma2 - exp(-r^2/(2*sigma2))/(sqrt(2)*sigma2); +end + +global N0; +N0 = f0(0); + +function retval = f1(x,y) + global N0; + retval = f0(hypot(x, y)) / N0; +endfunction + +function retval = f(x, y) + global s; + retval = f1(x+s, y) - f1(x-s, y); +endfunction + +function retval = curvature0(r) + global sigma2; + retval = ( + (2*sigma2-r^2)*exp(-r^2/(2*sigma2)) + + + 4*(r^2-sigma2)*exp(-r^2/sigma2) + ) / (sigma2^2); +endfunction + +function retval = curvature1(x, y) + retval = curvature0(hypot(x, y)); +endfunction + +function retval = curvature(x, y) + global s; + retval = curvature1(x+s, y) + curvature1(x-s, y); +endfunction + +function retval = farbe(x, y) + c = curvature(x, y); + retval = c * ones(1,3); +endfunction + +fn = fopen("curvature.inc", "w"); + +for ix = (0:xsteps) + x = xmin + ix * hx; + for iy = (0:ysteps) + y = ymin + iy * hy; + fprintf(fn, "sphere { <%.4f, %.4f, %.4f>, 0.01\n", + x, f(x, y), y); + color = farbe(x, y); + fprintf(fn, "pigment { color rgb<%.4f,%.4f,%.4f> }\n", + color(1,1), color(1,2), color(1,3)); + fprintf(fn, "finish { metallic specular 0.5 }\n"); + fprintf(fn, "}\n"); + end +end + +fclose(fn); -- cgit v1.2.1 From ab62c3937cc111ce1d61d76f0bdf396a4a5a9297 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Sat, 21 May 2022 20:36:01 +0200 Subject: add image code --- buch/papers/kugel/images/Makefile | 4 +- buch/papers/kugel/images/curvature.maxima | 6 ++ buch/papers/kugel/images/curvature.pov | 72 +++++++++++++++++++++++- buch/papers/kugel/images/curvgraph.m | 93 +++++++++++++++++++++++++------ 4 files changed, 153 insertions(+), 22 deletions(-) create mode 100644 buch/papers/kugel/images/curvature.maxima diff --git a/buch/papers/kugel/images/Makefile b/buch/papers/kugel/images/Makefile index 8efa228..e8bf919 100644 --- a/buch/papers/kugel/images/Makefile +++ b/buch/papers/kugel/images/Makefile @@ -3,7 +3,7 @@ # # (c) 2022 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule # -all: curvature.png +all: curvature.jpg curvature.inc: curvgraph.m octave curvgraph.m @@ -11,3 +11,5 @@ curvature.inc: curvgraph.m curvature.png: curvature.pov curvature.inc povray +A0.1 +W1920 +H1080 +Ocurvature.png curvature.pov +curvature.jpg: curvature.png + convert curvature.png -density 300 -units PixelsPerInch curvature.jpg diff --git a/buch/papers/kugel/images/curvature.maxima b/buch/papers/kugel/images/curvature.maxima new file mode 100644 index 0000000..6313642 --- /dev/null +++ b/buch/papers/kugel/images/curvature.maxima @@ -0,0 +1,6 @@ + +f: exp(-r^2/sigma^2)/sigma; +laplacef: ratsimp(diff(r * diff(f,r), r) / r); +f: exp(-r^2/(2*sigma^2))/(sqrt(2)*sigma); +laplacef: ratsimp(diff(r * diff(f,r), r) / r); + diff --git a/buch/papers/kugel/images/curvature.pov b/buch/papers/kugel/images/curvature.pov index 3535488..9dbaa86 100644 --- a/buch/papers/kugel/images/curvature.pov +++ b/buch/papers/kugel/images/curvature.pov @@ -11,17 +11,17 @@ global_settings { assumed_gamma 1 } -#declare imagescale = 0.1; +#declare imagescale = 0.09; camera { - location <40, 10, -20> + location <10, 10, -40> look_at <0, 0, 0> right 16/9 * x * imagescale up y * imagescale } light_source { - <10, 10, -40> color White + <-10, 10, -40> color White area_light <1,0,0> <0,0,1>, 10, 10 adaptive 1 jitter @@ -70,3 +70,69 @@ arrow(<0,-1,0>, <0,1,0>, 0.01, White) arrow(<0,0,-2.1>, <0,0,2.1>, 0.01, White) #include "curvature.inc" + +#declare sigma = 1; +#declare N0 = 0.5; +#declare funktion = function(r) { + (exp(-r*r/(sigma*sigma)) / sigma + - + exp(-r*r/(2*sigma*sigma)) / (sqrt(2)*sigma)) / N0 +}; +#declare hypot = function(xx, yy) { sqrt(xx*xx+yy*yy) }; + +#declare Funktion = function(x,y) { funktion(hypot(x+1,y)) - funktion(hypot(x-1,y)) }; +#macro punkt(xx,yy) + +#end + +#declare griddiameter = 0.006; +union { + #declare xmin = -3; + #declare xmax = 3; + #declare ymin = -2; + #declare ymax = 2; + + + #declare xstep = 0.2; + #declare ystep = 0.02; + #declare xx = xmin; + #while (xx < xmax + xstep/2) + #declare yy = ymin; + #declare P = punkt(xx, yy); + #while (yy < ymax - ystep/2) + #declare yy = yy + ystep; + #declare Q = punkt(xx, yy); + sphere { P, griddiameter } + cylinder { P, Q, griddiameter } + #declare P = Q; + #end + sphere { P, griddiameter } + #declare xx = xx + xstep; + #end + + #declare xstep = 0.02; + #declare ystep = 0.2; + #declare yy = ymin; + #while (yy < ymax + ystep/2) + #declare xx = xmin; + #declare P = punkt(xx, yy); + #while (xx < xmax - xstep/2) + #declare xx = xx + xstep; + #declare Q = punkt(xx, yy); + sphere { P, griddiameter } + cylinder { P, Q, griddiameter } + #declare P = Q; + #end + sphere { P, griddiameter } + #declare yy = yy + ystep; + #end + + pigment { + color rgb<0.8,0.8,0.8> + } + finish { + metallic + specular 0.8 + } +} + diff --git a/buch/papers/kugel/images/curvgraph.m b/buch/papers/kugel/images/curvgraph.m index 96ca4b1..b83c877 100644 --- a/buch/papers/kugel/images/curvgraph.m +++ b/buch/papers/kugel/images/curvgraph.m @@ -13,23 +13,34 @@ sigma2 = 1; global s; s = 1; +global cmax; +cmax = 0.9; +global cmin; +cmin = -0.9; + +global Cmax; +global Cmin; +Cmax = 0; +Cmin = 0; + xmin = -3; xmax = 3; -xsteps = 1000; +xsteps = 200; hx = (xmax - xmin) / xsteps; ymin = -2; ymax = 2; -ysteps = 1000; +ysteps = 200; hy = (ymax - ymin) / ysteps; function retval = f0(r) global sigma2; - retval = exp(-r^2/sigma2)/sigma2 - exp(-r^2/(2*sigma2))/(sqrt(2)*sigma2); + retval = exp(-r^2/sigma2)/sqrt(sigma2) - exp(-r^2/(2*sigma2))/(sqrt(2*sigma2)); end global N0; -N0 = f0(0); +N0 = f0(0) +N0 = 0.5; function retval = f1(x,y) global N0; @@ -44,10 +55,10 @@ endfunction function retval = curvature0(r) global sigma2; retval = ( - (2*sigma2-r^2)*exp(-r^2/(2*sigma2)) + -4*(sigma2-r^2)*exp(-r^2/sigma2) + - 4*(r^2-sigma2)*exp(-r^2/sigma2) - ) / (sigma2^2); + (2*sigma2-r^2)*exp(-r^2/(2*sigma2)) + ) / (sigma2^(5/2)); endfunction function retval = curvature1(x, y) @@ -56,28 +67,74 @@ endfunction function retval = curvature(x, y) global s; - retval = curvature1(x+s, y) + curvature1(x-s, y); + retval = curvature1(x+s, y) - curvature1(x-s, y); endfunction function retval = farbe(x, y) + global Cmax; + global Cmin; + global cmax; + global cmin; c = curvature(x, y); - retval = c * ones(1,3); + if (c < Cmin) + Cmin = c + endif + if (c > Cmax) + Cmax = c + endif + u = (c - cmin) / (cmax - cmin); + if (u > 1) + u = 1; + endif + if (u < 0) + u = 0; + endif + color = [ u, 0.5, 1-u ]; + color = color/max(color); + color(1,4) = c/2; + retval = color; endfunction -fn = fopen("curvature.inc", "w"); +function dreieck(fn, A, B, C) + fprintf(fn, "\ttriangle {\n"); + fprintf(fn, "\t <%.4f,%.4f,%.4f>,\n", A(1,1), A(1,3), A(1,2)); + fprintf(fn, "\t <%.4f,%.4f,%.4f>,\n", B(1,1), B(1,3), B(1,2)); + fprintf(fn, "\t <%.4f,%.4f,%.4f>\n", C(1,1), C(1,3), C(1,2)); + fprintf(fn, "\t}\n"); +endfunction +function viereck(fn, punkte) + color = farbe(mean(punkte(:,1)), mean(punkte(:,2))); + fprintf(fn, " mesh {\n"); + dreieck(fn, punkte(1,:), punkte(2,:), punkte(3,:)); + dreieck(fn, punkte(2,:), punkte(3,:), punkte(4,:)); + fprintf(fn, "\tpigment { color rgb<%.4f,%.4f,%.4f> } // %.4f\n", + color(1,1), color(1,2), color(1,3), color(1,4)); + fprintf(fn, " }\n"); +endfunction + +fn = fopen("curvature.inc", "w"); +punkte = zeros(4,3); for ix = (0:xsteps) x = xmin + ix * hx; + punkte(1,1) = x; + punkte(2,1) = x; + punkte(3,1) = x + hx; + punkte(4,1) = x + hx; for iy = (0:ysteps) y = ymin + iy * hy; - fprintf(fn, "sphere { <%.4f, %.4f, %.4f>, 0.01\n", - x, f(x, y), y); - color = farbe(x, y); - fprintf(fn, "pigment { color rgb<%.4f,%.4f,%.4f> }\n", - color(1,1), color(1,2), color(1,3)); - fprintf(fn, "finish { metallic specular 0.5 }\n"); - fprintf(fn, "}\n"); + punkte(1,2) = y; + punkte(2,2) = y + hy; + punkte(3,2) = y; + punkte(4,2) = y + hy; + for i = (1:4) + punkte(i,3) = f(punkte(i,1), punkte(i,2)); + endfor + viereck(fn, punkte); end end - +#fprintf(fn, " finish { metallic specular 0.5 }\n"); fclose(fn); + +printf("Cmax = %.4f\n", Cmax); +printf("Cmin = %.4f\n", Cmin); -- cgit v1.2.1 From d8d6a61a2ab45d9171a93e4a72d254a3ed5ef87f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Sat, 21 May 2022 20:42:47 +0200 Subject: fix some bugs --- buch/papers/kugel/images/curvature.pov | 5 +++-- buch/papers/kugel/images/curvgraph.m | 8 ++++---- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/buch/papers/kugel/images/curvature.pov b/buch/papers/kugel/images/curvature.pov index 9dbaa86..3b15d77 100644 --- a/buch/papers/kugel/images/curvature.pov +++ b/buch/papers/kugel/images/curvature.pov @@ -72,7 +72,8 @@ arrow(<0,0,-2.1>, <0,0,2.1>, 0.01, White) #include "curvature.inc" #declare sigma = 1; -#declare N0 = 0.5; +#declare s = 1.4; +#declare N0 = 0.4; #declare funktion = function(r) { (exp(-r*r/(sigma*sigma)) / sigma - @@ -80,7 +81,7 @@ arrow(<0,0,-2.1>, <0,0,2.1>, 0.01, White) }; #declare hypot = function(xx, yy) { sqrt(xx*xx+yy*yy) }; -#declare Funktion = function(x,y) { funktion(hypot(x+1,y)) - funktion(hypot(x-1,y)) }; +#declare Funktion = function(x,y) { funktion(hypot(x+s,y)) - funktion(hypot(x-s,y)) }; #macro punkt(xx,yy) #end diff --git a/buch/papers/kugel/images/curvgraph.m b/buch/papers/kugel/images/curvgraph.m index b83c877..75effd6 100644 --- a/buch/papers/kugel/images/curvgraph.m +++ b/buch/papers/kugel/images/curvgraph.m @@ -11,7 +11,7 @@ global sigma2; sigma2 = 1; global s; -s = 1; +s = 1.4; global cmax; cmax = 0.9; @@ -40,7 +40,7 @@ end global N0; N0 = f0(0) -N0 = 0.5; +N0 = 0.4; function retval = f1(x,y) global N0; @@ -115,13 +115,13 @@ endfunction fn = fopen("curvature.inc", "w"); punkte = zeros(4,3); -for ix = (0:xsteps) +for ix = (0:xsteps-1) x = xmin + ix * hx; punkte(1,1) = x; punkte(2,1) = x; punkte(3,1) = x + hx; punkte(4,1) = x + hx; - for iy = (0:ysteps) + for iy = (0:ysteps-1) y = ymin + iy * hy; punkte(1,2) = y; punkte(2,2) = y + hy; -- cgit v1.2.1 From f144be56b0c7ec03f74c46928b1354a959a59246 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Sun, 22 May 2022 13:36:59 +0200 Subject: add hermite application presentation --- vorlesungen/18_hermiteintegrierbar/Makefile | 33 ++++++++ .../MathSem-18-hermiteintegrierbar.tex | 14 ++++ vorlesungen/18_hermiteintegrierbar/common.tex | 17 +++++ .../hermiteintegrierbar-handout.tex | 11 +++ vorlesungen/18_hermiteintegrierbar/slides.tex | 11 +++ vorlesungen/slides/hermite/Makefile.inc | 5 ++ vorlesungen/slides/hermite/hermiteentwicklung.tex | 69 +++++++++++++++++ vorlesungen/slides/hermite/loesung.tex | 56 ++++++++++++++ vorlesungen/slides/hermite/normalhermite.tex | 88 ++++++++++++++++++++++ vorlesungen/slides/hermite/normalintegrale.tex | 54 +++++++++++++ vorlesungen/slides/hermite/skalarprodukt.tex | 72 ++++++++++++++++++ vorlesungen/slides/test.tex | 6 +- 12 files changed, 435 insertions(+), 1 deletion(-) create mode 100644 vorlesungen/18_hermiteintegrierbar/Makefile create mode 100644 vorlesungen/18_hermiteintegrierbar/MathSem-18-hermiteintegrierbar.tex create mode 100644 vorlesungen/18_hermiteintegrierbar/common.tex create mode 100644 vorlesungen/18_hermiteintegrierbar/hermiteintegrierbar-handout.tex create mode 100644 vorlesungen/18_hermiteintegrierbar/slides.tex create mode 100644 vorlesungen/slides/hermite/hermiteentwicklung.tex create mode 100644 vorlesungen/slides/hermite/loesung.tex create mode 100644 vorlesungen/slides/hermite/normalhermite.tex create mode 100644 vorlesungen/slides/hermite/normalintegrale.tex create mode 100644 vorlesungen/slides/hermite/skalarprodukt.tex diff --git a/vorlesungen/18_hermiteintegrierbar/Makefile b/vorlesungen/18_hermiteintegrierbar/Makefile new file mode 100644 index 0000000..a2dfb87 --- /dev/null +++ b/vorlesungen/18_hermiteintegrierbar/Makefile @@ -0,0 +1,33 @@ +# +# Makefile -- hermiteintegrierbar +# +# (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil +# +all: hermiteintegrierbar-handout.pdf MathSem-18-hermiteintegrierbar.pdf + +include ../slides/Makefile.inc + +SOURCES = common.tex slides.tex $(slides) + +MathSem-18-hermiteintegrierbar.pdf: MathSem-18-hermiteintegrierbar.tex $(SOURCES) + pdflatex MathSem-18-hermiteintegrierbar.tex + +hermiteintegrierbar-handout.pdf: hermiteintegrierbar-handout.tex $(SOURCES) + pdflatex hermiteintegrierbar-handout.tex + +thumbnail: thumbnail.jpg # fix1.jpg + +thumbnail.pdf: MathSem-18-hermiteintegrierbar.pdf + pdfjam --outfile thumbnail.pdf --papersize '{16cm,9cm}' \ + MathSem-18-hermiteintegrierbar.pdf 1 +thumbnail.jpg: thumbnail.pdf + convert -density 300 thumbnail.pdf \ + -resize 1920x1080 -units PixelsPerInch thumbnail.jpg + +fix1.pdf: MathSem-18-hermiteintegrierbar.pdf + pdfjam --outfile fix1.pdf --papersize '{16cm,9cm}' \ + MathSem-18-hermiteintegrierbar.pdf 1 +fix1.jpg: fix1.pdf + convert -density 300 fix1.pdf \ + -resize 1920x1080 -units PixelsPerInch fix1.jpg + diff --git a/vorlesungen/18_hermiteintegrierbar/MathSem-18-hermiteintegrierbar.tex b/vorlesungen/18_hermiteintegrierbar/MathSem-18-hermiteintegrierbar.tex new file mode 100644 index 0000000..7a3a647 --- /dev/null +++ b/vorlesungen/18_hermiteintegrierbar/MathSem-18-hermiteintegrierbar.tex @@ -0,0 +1,14 @@ +% +% MathSem-18-hermiteintegrierbar.tex -- Präsentation +% +% (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\documentclass[aspectratio=169]{beamer} +\input{common.tex} +\setboolean{presentation}{true} +\begin{document} +\begin{frame} +\titlepage +\end{frame} +\input{slides.tex} +\end{document} diff --git a/vorlesungen/18_hermiteintegrierbar/common.tex b/vorlesungen/18_hermiteintegrierbar/common.tex new file mode 100644 index 0000000..8b1c71f --- /dev/null +++ b/vorlesungen/18_hermiteintegrierbar/common.tex @@ -0,0 +1,17 @@ +% +% common.tex -- gemeinsame definition +% +% (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\input{../common/packages.tex} +\input{../common/common.tex} +\mode{% +\usetheme[hideothersubsections,hidetitle]{Hannover} +} +\beamertemplatenavigationsymbolsempty +\title[$\int P(t)e^{-t^2}\,dt$]{Elementare Stammfunktion für +$\displaystyle\int P(t)e^{-t^2}\,dt$?} +\author[A.~Müller]{Prof. Dr. Andreas Müller} +\date[]{} +\newboolean{presentation} + diff --git a/vorlesungen/18_hermiteintegrierbar/hermiteintegrierbar-handout.tex b/vorlesungen/18_hermiteintegrierbar/hermiteintegrierbar-handout.tex new file mode 100644 index 0000000..a466024 --- /dev/null +++ b/vorlesungen/18_hermiteintegrierbar/hermiteintegrierbar-handout.tex @@ -0,0 +1,11 @@ +% +% hermiteintegrierbar-handout.tex -- Handout XXX +% +% (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\documentclass[handout,aspectratio=169]{beamer} +\input{common.tex} +\setboolean{presentation}{false} +\begin{document} +\input{slides.tex} +\end{document} diff --git a/vorlesungen/18_hermiteintegrierbar/slides.tex b/vorlesungen/18_hermiteintegrierbar/slides.tex new file mode 100644 index 0000000..cb3bbea --- /dev/null +++ b/vorlesungen/18_hermiteintegrierbar/slides.tex @@ -0,0 +1,11 @@ +% +% slides.tex -- XXX +% +% (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\folie{hermite/normalintegrale.tex} +\folie{hermite/normalhermite.tex} +\folie{hermite/hermiteentwicklung.tex} +\folie{hermite/loesung.tex} +\folie{hermite/skalarprodukt.tex} + diff --git a/vorlesungen/slides/hermite/Makefile.inc b/vorlesungen/slides/hermite/Makefile.inc index 5c55467..58c21f2 100644 --- a/vorlesungen/slides/hermite/Makefile.inc +++ b/vorlesungen/slides/hermite/Makefile.inc @@ -4,4 +4,9 @@ # (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule # chapterhermite = \ + ../slides/hermite/normalintegrale.tex \ + ../slides/hermite/normalhermite.tex \ + ../slides/hermite/hermiteentwicklung.tex \ + ../slides/hermite/loesung.tex \ + ../slides/hermite/skalarprodukt.tex \ ../slides/hermite/test.tex diff --git a/vorlesungen/slides/hermite/hermiteentwicklung.tex b/vorlesungen/slides/hermite/hermiteentwicklung.tex new file mode 100644 index 0000000..e1ced30 --- /dev/null +++ b/vorlesungen/slides/hermite/hermiteentwicklung.tex @@ -0,0 +1,69 @@ +% +% hermiteentwicklung.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Beliebige Polynome} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Polynom} +\[ +P(x) += +p_0 + p_1x + p_2x^2 + \dots + p_nx^n +\] +als Linearkombination von Hermite-Polynome schreiben: +\begin{align*} +P(x) +&= +a_0H_0(x)% + a_1H_1(x) ++ \dots + a_nH_n(x) +\\ +&= +a_0\cdot 1 +\\ +&\quad + a_1\cdot 2x +\\ +&\quad + a_2\cdot(4x^2-2) +\\ +&\quad + a_3\cdot(8x^3-12x) +\\ +&\quad + a_4\cdot(16x^4-48x^2+12) +\\ +&\quad\;\;\vdots +\\ +&\quad + a_n(2^nx^n + \dots) +\end{align*} +\end{block} +\end{column} +\begin{column}{0.48\textwidth} +\begin{block}{Koeffizientenvergleich} +führt auf ein Gleichungssystem +\begin{center} +\begin{tabular}{|>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}r<{$}>{$}c<{$}|>{$}c<{$}|} +\hline +a_0&a_1&a_2&a_3&a_4&\dots&\\ +\hline + 1& 0& 0& 0& 0&\dots&p_0\\ + 0& 2& 0& 0& 0&\dots&p_1\\ +-2& 0& 4& 0& 0&\dots&p_2\\ + 0&-12& 0& 8& 0&\dots&p_3\\ +12& 0&-48& 0& 16&\dots&p_4\\ +\vdots&\vdots&\vdots&\vdots&\vdots&\ddots&\vdots\\ +\hline +\end{tabular} +\end{center} +Dreiecksmatrix, Diagonalelement +$\ne 0$ +$\Rightarrow$ +$\exists$ eindeutige Lösung +\end{block} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/hermite/loesung.tex b/vorlesungen/slides/hermite/loesung.tex new file mode 100644 index 0000000..7d4741f --- /dev/null +++ b/vorlesungen/slides/hermite/loesung.tex @@ -0,0 +1,56 @@ +% +% loesung.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Lösung} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Frage} +Für welche Polynome $P(t)$ kann man eine Stammfunktion +\[ +\int +P(t)e^{-\frac{t^2}2} +\,dt +\] +in geschlossener Form angeben? +\end{block} +\begin{block}{``Hermite-Antwort''} +\[ +\int H_n(x)e^{-x^2}\,dx +\] +kann genau für $n>0$ in geschlossener Form angegeben werden. +\end{block} +\end{column} +\begin{column}{0.48\textwidth} +\begin{block}{Allgemein} +\begin{align*} +\int P(x)e^{-x^2}\,dx +&= +\int \sum_{k=0}^n a_kH_k(x)e^{-x^2}\,dx +\\ +&= +\sum_{k=0}^n +a_k +\int +H_k(x)e^{-x^2}\,dx +\\ +&= +a_0\operatorname{erf}(x) + C +\\ +&\hspace*{2mm} + \sum_{k=1}^n a_k\int H_k(x)e^{-x^2}\,dx +\end{align*} +\end{block} +\begin{theorem} +Das Integral von $P(x)e^{-x^2}$ ist genau dann elementar darstellbar, wenn +$a_0=0$ +\end{theorem} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/hermite/normalhermite.tex b/vorlesungen/slides/hermite/normalhermite.tex new file mode 100644 index 0000000..bcd30f2 --- /dev/null +++ b/vorlesungen/slides/hermite/normalhermite.tex @@ -0,0 +1,88 @@ +% +% normalhermite.tex -- integrability of hermite polynomials +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Hermite-Polynome} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Definition (Rodrigues-Formel)} +\[ +H_n(x) += +(-1)^n e^{x^2} \frac{d^n}{dx^n} e^{-x^2} +\] +\end{block} +\vspace{-10pt} +\begin{block}{Orthogonalität} +$H_n(x)$ sind orthogonale Polynome bezüglich $w(x)=e^{-x^2}$, d.~h. +\begin{align*} +\langle H_n,H_m\rangle_w +&= +\int H_n(x)H_m(x)e^{-x^2}\,dx +\\ +&= +\biggl\{ +\renewcommand{\arraycolsep}{1pt} +\begin{array}{l@{\quad}l} +1&\text{falls $n=m$}\\ +0&\text{sonst} +\end{array} +\biggr\} += +\delta_{mn} +\end{align*} +\end{block} +\vspace{-10pt} +\begin{block}{Rekursion: Auf-/Absteigeoperatoren} +Rekursionsformel: +\[ +H_n(x) += +2x\cdot H_{n-1}(x) - H_{n-1}'(x) +\] +\end{block} +\end{column} +\begin{column}{0.48\textwidth} +\begin{block}{Stammfunktion} +\begin{align*} +\int H_n(x) e^{-x^2}\,dx +&= +\int \bigl({\color{red}2x}H_{n-1}(x) +\\ +&\qquad -H_{n-1}'(x)\bigr) e^{-x^2}\,dx +\\ +{\color{gray}(e^{-x^2}=-2x)} +&= +{\color{red}-}\int {\color{red}(e^{-x^2})'} H_{n-1}(x)\,dx +\\ +&\qquad +- +\int H_{n-1}'(x) e^{-x^2}\,dx +\\ +\text{\color{gray}(Produktregel)} +&= +\int (e^{-x^2}H_{n-1}(x))'\,dx +\\ +\text{\color{gray}(Ableitung)} +&= +e^{-x^2}H_{n-1}(x) +\end{align*} +ausser für $n=0$: +\[ +\int +H_0(x)e^{-x^2}\,dx += +\int +e^{-x^2}\,dx +\] +\end{block} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/hermite/normalintegrale.tex b/vorlesungen/slides/hermite/normalintegrale.tex new file mode 100644 index 0000000..88abbe8 --- /dev/null +++ b/vorlesungen/slides/hermite/normalintegrale.tex @@ -0,0 +1,54 @@ +% +% normalintegrale.tex -- +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Integranden $P(t)e^{-t^2}$} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Frage} +Für welche Polynome $P(t)$ kann man eine Stammfunktion +\[ +\int +P(t)e^{-t^2} +\,dt +\] +in geschlossener Form angeben? +\end{block} +\begin{block}{Allgemeine Antwort} +Satz von Liouville und +Risch- Algorithmus können entscheiden, ob es eine elementare Stammfunktion gibt +\end{block} +\end{column} +\begin{column}{0.48\textwidth} +\begin{block}{Negativbeispiel} +$P(t) = 1$, das Normalverteilungsintegral +\[ +F(x) += +\frac{1}{\sqrt{2\pi}} \int_{-\infty}^x e^{-t^2}\,dt +\] +ist nicht elementar darstellbar. +\end{block} +\begin{block}{Positivbeispiel} +$P(t)=t$. Wegen +\begin{align*} +\frac{d}{dx}e^{-x^2} +&= +-xe^{-x^2} +\intertext{ist} +\int te^{-t^2}\,dt +&= +-e^{-x^2}+C +\end{align*} +elementar darstellbar. +\end{block} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/hermite/skalarprodukt.tex b/vorlesungen/slides/hermite/skalarprodukt.tex new file mode 100644 index 0000000..32b933f --- /dev/null +++ b/vorlesungen/slides/hermite/skalarprodukt.tex @@ -0,0 +1,72 @@ +% +% skalarprodukt.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Skalarprodukt} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Orthogonale Zerlegung} +Orthogonale $H_k$ normalisieren: +\[ +\tilde{H}_k(x) = \frac{1}{\|H_k\|_w} H_k(x) +\] +mit Gewichtsfunktion $w(x)=e^{-x^2}$ +\end{block} +\begin{block}{``Hermite''-Analyse} +\begin{align*} +P(x) +&= +\sum_{k=1}^\infty a_k H_k(x) += +\sum_{k=1}^\infty \tilde{a}_k \tilde{H}_k(x) +\\ +\tilde{a}_k +&= +\| H_k\|_w\, a_k +\\ +a_k +&= +\frac{1}{\|H_k\|} +\langle \tilde{H}_k, P\rangle_w += +\frac{1}{\|H_k\|^2} +\langle H_k, P\rangle_w +\end{align*} +\end{block} +\end{column} +\begin{column}{0.48\textwidth} +\begin{block}{Integrationsproblem} +Bedingung: +\begin{align*} +a_0=0 +\qquad\Leftrightarrow\qquad +\langle H_0,P\rangle_w +&= +0 +\\ +\int_{-\infty}^\infty +P(t) w(t) \,dt += +\int_{-\infty}^\infty +P(t) e^{-t^2} \,dt +&= +0 +\end{align*} +\end{block} +\begin{theorem} +Das Integral von $P(t)e^{-t^2}$ ist in geschlossener Form darstellbar +genau dann, wenn +\[ +\int_{-\infty}^\infty P(t)e^{-t^2}\,dt = 0 +\] +\end{theorem} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/test.tex b/vorlesungen/slides/test.tex index 6aa09f8..ca4ccc9 100644 --- a/vorlesungen/slides/test.tex +++ b/vorlesungen/slides/test.tex @@ -3,4 +3,8 @@ % % (c) 2019 Prof Dr Andreas Müller, Hochschule Rapperswil % -\folie{0/intro.tex} +\folie{hermite/normalintegrale.tex} +\folie{hermite/normalhermite.tex} +\folie{hermite/hermiteentwicklung.tex} +\folie{hermite/loesung.tex} +\folie{hermite/skalarprodukt.tex} -- cgit v1.2.1