diff options
author | Lukaszogg <82384106+Lukaszogg@users.noreply.github.com> | 2021-07-08 20:10:11 +0200 |
---|---|---|
committer | Lukaszogg <82384106+Lukaszogg@users.noreply.github.com> | 2021-07-08 20:10:11 +0200 |
commit | 14033ca595b5c933caea3b214d2246529e6845b8 (patch) | |
tree | 0d6d2b2eb34e5ef5df3c517be5c1c9d803fa066c /vorlesungen | |
parent | Update teil1.tex (diff) | |
parent | Only include buch.ind if it exists. (diff) | |
download | SeminarMatrizen-14033ca595b5c933caea3b214d2246529e6845b8.tar.gz SeminarMatrizen-14033ca595b5c933caea3b214d2246529e6845b8.zip |
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'vorlesungen')
114 files changed, 7957 insertions, 20 deletions
diff --git a/vorlesungen/10_mseliealgebra/slides.tex b/vorlesungen/10_mseliealgebra/slides.tex index 0fceaff..936139a 100644 --- a/vorlesungen/10_mseliealgebra/slides.tex +++ b/vorlesungen/10_mseliealgebra/slides.tex @@ -9,13 +9,27 @@ \folie{7/einparameter.tex} \folie{7/ableitung.tex} \folie{7/liealgebra.tex} +% XXX Beispiele von Lie-Algebren +\folie{7/liealgbeispiel.tex} +% XXX Vektorprodukt als Lie-Algebra +\folie{7/vektorlie.tex} \folie{7/kommutator.tex} +% XXX kommutator rechnerisch +\folie{7/bch.tex} \section{Exponentialabbildung} \folie{7/dg.tex} +\folie{7/logarithmus.tex} +% Interpolation +\folie{7/interpolation.tex} + +\section{Integration} +\folie{7/haar.tex} +\ifthenelse{\boolean{presentation}}{ +\folie{7/mannigfaltigkeit.tex} +}{} +\folie{7/integration.tex} % LOG Reihe -% Interpolation % Mittelung auf einer Lie-Gruppe -% Vektorprodukt als Lie-Gruppe diff --git a/vorlesungen/11_msegraphen/Makefile b/vorlesungen/11_msegraphen/Makefile new file mode 100644 index 0000000..36f1877 --- /dev/null +++ b/vorlesungen/11_msegraphen/Makefile @@ -0,0 +1,33 @@ +# +# Makefile -- graphen +# +# (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil +# +all: graphen-handout.pdf MathSemMSE-11-graphen.pdf + +include ../slides/Makefile.inc + +SOURCES = common.tex slides.tex $(slides) + +MathSemMSE-11-graphen.pdf: MathSemMSE-11-graphen.tex $(SOURCES) + pdflatex MathSemMSE-11-graphen.tex + +graphen-handout.pdf: graphen-handout.tex $(SOURCES) + pdflatex graphen-handout.tex + +thumbnail: thumbnail.jpg # fix1.jpg + +thumbnail.pdf: MathSemMSE-11-graphen.pdf + pdfjam --outfile thumbnail.pdf --papersize '{16cm,9cm}' \ + MathSemMSE-11-graphen.pdf 1 +thumbnail.jpg: thumbnail.pdf + convert -density 300 thumbnail.pdf \ + -resize 1920x1080 -units PixelsPerInch thumbnail.jpg + +fix1.pdf: MathSemMSE-11-graphen.pdf + pdfjam --outfile fix1.pdf --papersize '{16cm,9cm}' \ + MathSemMSE-11-graphen.pdf 1 +fix1.jpg: fix1.pdf + convert -density 300 fix1.pdf \ + -resize 1920x1080 -units PixelsPerInch fix1.jpg + diff --git a/vorlesungen/11_msegraphen/MathSemMSE-11-graphen.tex b/vorlesungen/11_msegraphen/MathSemMSE-11-graphen.tex new file mode 100644 index 0000000..6d4ff2d --- /dev/null +++ b/vorlesungen/11_msegraphen/MathSemMSE-11-graphen.tex @@ -0,0 +1,14 @@ +% +% MathSem-11-msegraphen.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/11_msegraphen/common.tex b/vorlesungen/11_msegraphen/common.tex new file mode 100644 index 0000000..67cf5e5 --- /dev/null +++ b/vorlesungen/11_msegraphen/common.tex @@ -0,0 +1,16 @@ +% +% common.tex -- gemeinsame definition +% +% (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\input{../common/packages.tex} +\input{../common/common.tex} +\mode<beamer>{% +\usetheme[hideothersubsections,hidetitle]{Hannover} +} +\beamertemplatenavigationsymbolsempty +\title[Graphen]{Spektrale Graphentheorie} +\author[A.~Müller]{Prof. Dr. Andreas Müller} +\date[]{} +\newboolean{presentation} + diff --git a/vorlesungen/11_msegraphen/graphen-handout.tex b/vorlesungen/11_msegraphen/graphen-handout.tex new file mode 100644 index 0000000..58d0aff --- /dev/null +++ b/vorlesungen/11_msegraphen/graphen-handout.tex @@ -0,0 +1,11 @@ +% +% msegraphen-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/11_msegraphen/slides.tex b/vorlesungen/11_msegraphen/slides.tex new file mode 100644 index 0000000..b3d1519 --- /dev/null +++ b/vorlesungen/11_msegraphen/slides.tex @@ -0,0 +1,35 @@ +% +% slides.tex -- XXX +% +% (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil +% + +\folie{8/graph.tex} +\folie{8/dgraph.tex} +\folie{8/grad.tex} +\folie{8/inzidenz.tex} +\folie{8/inzidenzd.tex} +\folie{8/diffusion.tex} +\folie{8/laplace.tex} +\folie{8/produkt.tex} +\folie{8/fourier.tex} +\folie{8/spanningtree.tex} + +\folie{8/pfade/adjazenz.tex} +\folie{8/pfade/langepfade.tex} +\folie{8/pfade/beispiel.tex} +\folie{8/pfade/gf.tex} + +%\folie{8/floyd-warshall/problem.tex} +%\folie{8/floyd-warshall/rekursion.tex} +%\folie{8/floyd-warshall/iteration.tex} +%\folie{8/floyd-warshall/wegiteration.tex} +%\folie{8/floyd-warshall/wege.tex} + +\folie{8/chrind.tex} +\folie{8/chrindprop.tex} +\folie{8/chroma1.tex} +\folie{8/amax.tex} +\folie{8/subgraph.tex} +\folie{8/chrwilf.tex} +\folie{8/weitere.tex} diff --git a/vorlesungen/12_msewkeitsmatrizen/Makefile b/vorlesungen/12_msewkeitsmatrizen/Makefile new file mode 100644 index 0000000..ec420cd --- /dev/null +++ b/vorlesungen/12_msewkeitsmatrizen/Makefile @@ -0,0 +1,42 @@ +# +# Makefile -- wkeitsmatrizen +# +# (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil +# +all: wkeitsmatrizen-handout.pdf MathSemMSE-12-wkeitsmatrizen.pdf + +include ../slides/Makefile.inc + +SOURCES = common.tex slides.tex $(slides) + +MathSemMSE-12-wkeitsmatrizen.pdf: MathSemMSE-12-wkeitsmatrizen.tex $(SOURCES) + pdflatex MathSemMSE-12-wkeitsmatrizen.tex + +wkeitsmatrizen-handout.pdf: wkeitsmatrizen-handout.tex $(SOURCES) + pdflatex wkeitsmatrizen-handout.tex + +thumbnail: thumbnail.jpg # fix1.jpg + +thumbnail.pdf: MathSemMSE-12-wkeitsmatrizen.pdf + pdfjam --outfile thumbnail.pdf --papersize '{16cm,9cm}' \ + MathSemMSE-12-wkeitsmatrizen.pdf 1 +thumbnail.jpg: thumbnail.pdf + convert -density 300 thumbnail.pdf \ + -resize 1920x1080 -units PixelsPerInch thumbnail.jpg + +fix1.pdf: MathSemMSE-12-wkeitsmatrizen.pdf + pdfjam --outfile fix1.pdf --papersize '{16cm,9cm}' \ + MathSemMSE-12-wkeitsmatrizen.pdf 1 +fix1.jpg: fix1.pdf + convert -density 300 fix1.pdf \ + -resize 1920x1080 -units PixelsPerInch fix1.jpg + +parts: part1.pdf part2.pdf + +part1.pdf: MathSemMSE-12-wkeitsmatrizen.pdf + pdfjam --outfile part1.pdf --papersize '{16cm,9cm}' \ + MathSemMSE-12-wkeitsmatrizen.pdf 1-160 + +part2.pdf: MathSemMSE-12-wkeitsmatrizen.pdf + pdfjam --outfile part2.pdf --papersize '{16cm,9cm}' \ + MathSemMSE-12-wkeitsmatrizen.pdf 161-211 diff --git a/vorlesungen/12_msewkeitsmatrizen/MathSemMSE-12-wkeitsmatrizen.tex b/vorlesungen/12_msewkeitsmatrizen/MathSemMSE-12-wkeitsmatrizen.tex new file mode 100644 index 0000000..e526731 --- /dev/null +++ b/vorlesungen/12_msewkeitsmatrizen/MathSemMSE-12-wkeitsmatrizen.tex @@ -0,0 +1,14 @@ +% +% MathSem-12-msewkeitsmatrizen.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/12_msewkeitsmatrizen/common.tex b/vorlesungen/12_msewkeitsmatrizen/common.tex new file mode 100644 index 0000000..2de59e8 --- /dev/null +++ b/vorlesungen/12_msewkeitsmatrizen/common.tex @@ -0,0 +1,16 @@ +% +% common.tex -- gemeinsame definition +% +% (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\input{../common/packages.tex} +\input{../common/common.tex} +\mode<beamer>{% +\usetheme[hideothersubsections,hidetitle]{Hannover} +} +\beamertemplatenavigationsymbolsempty +\title[W'keitsmatrizen]{Wahrscheinlichkeitsmatrizen} +\author[A.~Müller]{Prof. Dr. Andreas Müller} +\date[]{} +\newboolean{presentation} + diff --git a/vorlesungen/12_msewkeitsmatrizen/slides.tex b/vorlesungen/12_msewkeitsmatrizen/slides.tex new file mode 100644 index 0000000..e0f8e9c --- /dev/null +++ b/vorlesungen/12_msewkeitsmatrizen/slides.tex @@ -0,0 +1,35 @@ +% +% slides.tex -- XXX +% +% (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\section{Google} +\folie{9/google.tex} + + + +\section{Markov-Ketten} +\folie{9/markov.tex} +\folie{9/stationaer.tex} +\folie{9/irreduzibel.tex} + +\section{Perron-Frobenius} +\folie{9/pf/positiv.tex} +\folie{9/pf/primitiv.tex} +\folie{9/pf/trennung.tex} +\folie{9/pf/vergleich.tex} +\folie{9/pf/vergleich3d.tex} +\folie{9/pf/dreieck.tex} +\folie{9/pf/folgerungen.tex} +\folie{9/pf.tex} +\folie{9/potenz.tex} + +\section{Parrondo} +\folie{9/parrondo/uebersicht.tex} +\folie{9/parrondo/erwartung.tex} +\folie{9/parrondo/spiela.tex} +\folie{9/parrondo/spielb.tex} +\folie{9/parrondo/spielbmod.tex} +\folie{9/parrondo/kombiniert.tex} +\folie{9/parrondo/deformation.tex} + diff --git a/vorlesungen/12_msewkeitsmatrizen/wkeitsmatrizen-handout.tex b/vorlesungen/12_msewkeitsmatrizen/wkeitsmatrizen-handout.tex new file mode 100644 index 0000000..ae577c3 --- /dev/null +++ b/vorlesungen/12_msewkeitsmatrizen/wkeitsmatrizen-handout.tex @@ -0,0 +1,11 @@ +% +% msewkeitsmatrizen-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/13_msegraphwavelets/Makefile b/vorlesungen/13_msegraphwavelets/Makefile new file mode 100644 index 0000000..6dba66c --- /dev/null +++ b/vorlesungen/13_msegraphwavelets/Makefile @@ -0,0 +1,33 @@ +# +# Makefile -- graphwavelets +# +# (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil +# +all: graphwavelets-handout.pdf MathSemMSE-13-graphwavelets.pdf + +include ../slides/Makefile.inc + +SOURCES = common.tex slides.tex $(slides) + +MathSemMSE-13-graphwavelets.pdf: MathSemMSE-13-graphwavelets.tex $(SOURCES) + pdflatex MathSemMSE-13-graphwavelets.tex + +graphwavelets-handout.pdf: graphwavelets-handout.tex $(SOURCES) + pdflatex graphwavelets-handout.tex + +thumbnail: thumbnail.jpg # fix1.jpg + +thumbnail.pdf: MathSemMSE-13-graphwavelets.pdf + pdfjam --outfile thumbnail.pdf --papersize '{16cm,9cm}' \ + MathSemMSE-13-graphwavelets.pdf 1 +thumbnail.jpg: thumbnail.pdf + convert -density 300 thumbnail.pdf \ + -resize 1920x1080 -units PixelsPerInch thumbnail.jpg + +fix1.pdf: MathSemMSE-13-graphwavelets.pdf + pdfjam --outfile fix1.pdf --papersize '{16cm,9cm}' \ + MathSemMSE-13-graphwavelets.pdf 1 +fix1.jpg: fix1.pdf + convert -density 300 fix1.pdf \ + -resize 1920x1080 -units PixelsPerInch fix1.jpg + diff --git a/vorlesungen/13_msegraphwavelets/MathSemMSE-13-graphwavelets.tex b/vorlesungen/13_msegraphwavelets/MathSemMSE-13-graphwavelets.tex new file mode 100644 index 0000000..112d952 --- /dev/null +++ b/vorlesungen/13_msegraphwavelets/MathSemMSE-13-graphwavelets.tex @@ -0,0 +1,14 @@ +% +% MathSem-13-msegraphwavelets.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/13_msegraphwavelets/common.tex b/vorlesungen/13_msegraphwavelets/common.tex new file mode 100644 index 0000000..b9799f0 --- /dev/null +++ b/vorlesungen/13_msegraphwavelets/common.tex @@ -0,0 +1,16 @@ +% +% common.tex -- gemeinsame definition +% +% (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\input{../common/packages.tex} +\input{../common/common.tex} +\mode<beamer>{% +\usetheme[hideothersubsections,hidetitle]{Hannover} +} +\beamertemplatenavigationsymbolsempty +\title[SGWT]{Wavelets auf Graphen} +\author[A.~Müller]{Prof. Dr. Andreas Müller} +\date[]{} +\newboolean{presentation} + diff --git a/vorlesungen/13_msegraphwavelets/graphwavelets-handout.tex b/vorlesungen/13_msegraphwavelets/graphwavelets-handout.tex new file mode 100644 index 0000000..98789e5 --- /dev/null +++ b/vorlesungen/13_msegraphwavelets/graphwavelets-handout.tex @@ -0,0 +1,11 @@ +% +% msegraphwavelets-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/13_msegraphwavelets/slides.tex b/vorlesungen/13_msegraphwavelets/slides.tex new file mode 100644 index 0000000..3fd38f2 --- /dev/null +++ b/vorlesungen/13_msegraphwavelets/slides.tex @@ -0,0 +1,44 @@ +% +% slides.tex -- XXX +% +% (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil +% + +% Funktionen auf einem Graphen +\folie{8/wavelets/funktionen.tex} + +% Laplace-Basis auf dem Graphen +\folie{8/wavelets/laplacebasis.tex} + +% Fourier-Transformation auf einem Graphen +\folie{8/wavelets/fourier.tex} + +% Lokalisierung in Standardbasis und Fourier-Basis +\folie{8/wavelets/lokalisierungsvergleich.tex} + +% Lokalisierung im Frequenzraum +\folie{8/wavelets/frequenzlokalisierung.tex} + +% Dilatation im Frequenzraum +\folie{8/wavelets/dilatation.tex} + +% Dilatation in Matrixform +\folie{8/wavelets/matrixdilatation.tex} + +% Funktionen g und h +\folie{8/wavelets/gundh.tex} +\ifthenelse{\boolean{presentation}}{ +\folie{8/wavelets/dilbei.tex} +}{} + +% Wavelet Frame +\folie{8/wavelets/frame.tex} + +% Framekonstante +\folie{8/wavelets/framekonstanten.tex} + +% Kugel-Beispiel +\ifthenelse{\boolean{presentation}}{ +\folie{8/wavelets/beispiel.tex} +}{} + diff --git a/vorlesungen/14_msehilbertraum/Makefile b/vorlesungen/14_msehilbertraum/Makefile new file mode 100644 index 0000000..e5de69c --- /dev/null +++ b/vorlesungen/14_msehilbertraum/Makefile @@ -0,0 +1,33 @@ +# +# Makefile -- hilbertraum +# +# (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil +# +all: hilbertraum-handout.pdf MathSemMSE-14-hilbertraum.pdf + +include ../slides/Makefile.inc + +SOURCES = common.tex slides.tex $(slides) + +MathSemMSE-14-hilbertraum.pdf: MathSemMSE-14-hilbertraum.tex $(SOURCES) + pdflatex MathSemMSE-14-hilbertraum.tex + +hilbertraum-handout.pdf: hilbertraum-handout.tex $(SOURCES) + pdflatex hilbertraum-handout.tex + +thumbnail: thumbnail.jpg # fix1.jpg + +thumbnail.pdf: MathSemMSE-14-hilbertraum.pdf + pdfjam --outfile thumbnail.pdf --papersize '{16cm,9cm}' \ + MathSemMSE-14-hilbertraum.pdf 1 +thumbnail.jpg: thumbnail.pdf + convert -density 300 thumbnail.pdf \ + -resize 1920x1080 -units PixelsPerInch thumbnail.jpg + +fix1.pdf: MathSemMSE-14-hilbertraum.pdf + pdfjam --outfile fix1.pdf --papersize '{16cm,9cm}' \ + MathSemMSE-14-hilbertraum.pdf 1 +fix1.jpg: fix1.pdf + convert -density 300 fix1.pdf \ + -resize 1920x1080 -units PixelsPerInch fix1.jpg + diff --git a/vorlesungen/14_msehilbertraum/MathSemMSE-14-hilbertraum.tex b/vorlesungen/14_msehilbertraum/MathSemMSE-14-hilbertraum.tex new file mode 100644 index 0000000..b06500c --- /dev/null +++ b/vorlesungen/14_msehilbertraum/MathSemMSE-14-hilbertraum.tex @@ -0,0 +1,14 @@ +% +% MathSem-14-msehilbertraum.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/14_msehilbertraum/common.tex b/vorlesungen/14_msehilbertraum/common.tex new file mode 100644 index 0000000..a9089bf --- /dev/null +++ b/vorlesungen/14_msehilbertraum/common.tex @@ -0,0 +1,16 @@ +% +% common.tex -- gemeinsame definition +% +% (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\input{../common/packages.tex} +\input{../common/common.tex} +\mode<beamer>{% +\usetheme[hideothersubsections,hidetitle]{Hannover} +} +\beamertemplatenavigationsymbolsempty +\title[Hilbertraum]{Hilbertraum} +\author[A.~Müller]{Prof.~Dr.~Andreas Müller} +\date[]{} +\newboolean{presentation} + diff --git a/vorlesungen/14_msehilbertraum/hilbertraum-handout.tex b/vorlesungen/14_msehilbertraum/hilbertraum-handout.tex new file mode 100644 index 0000000..3dc7abf --- /dev/null +++ b/vorlesungen/14_msehilbertraum/hilbertraum-handout.tex @@ -0,0 +1,11 @@ +% +% msehilbertraum-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/14_msehilbertraum/slides.tex b/vorlesungen/14_msehilbertraum/slides.tex new file mode 100644 index 0000000..19925db --- /dev/null +++ b/vorlesungen/14_msehilbertraum/slides.tex @@ -0,0 +1,31 @@ +% +% slides.tex -- XXX +% +% (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil +% + +\section{Hilbertraum} +\folie{2/hilbertraum/definition.tex} +\folie{2/hilbertraum/l2beispiel.tex} +\folie{2/hilbertraum/basis.tex} +\folie{2/hilbertraum/plancherel.tex} + +\section{Beispiele} +\folie{2/hilbertraum/l2.tex} + +\section{Riesz-Darstellungssatz} +\folie{2/hilbertraum/riesz.tex} +\folie{2/hilbertraum/rieszbeispiel.tex} + +\section{$A^*$} +\folie{2/hilbertraum/adjungiert.tex} +\folie{2/hilbertraum/spektral.tex} + +\section{PDE und Hilbertraum} +\folie{2/hilbertraum/sturm.tex} +\folie{2/hilbertraum/laplace.tex} +\folie{2/hilbertraum/qm.tex} +\folie{2/hilbertraum/energie.tex} +\folie{2/hilbertraum/sobolev.tex} + + diff --git a/vorlesungen/99_vortraege/Makefile b/vorlesungen/99_vortraege/Makefile index 8a5751c..69ec665 100644 --- a/vorlesungen/99_vortraege/Makefile +++ b/vorlesungen/99_vortraege/Makefile @@ -15,7 +15,8 @@ MathSem-99-vortraege.pdf: MathSem-99-vortraege.tex $(SOURCES) vortraege-handout.pdf: vortraege-handout.tex $(SOURCES) pdflatex vortraege-handout.tex -thumbnail: thumbnail1.jpg thumbnail2.jpg thumbnail3.jpg thumbnail4.jpg +thumbnail: thumbnail1.jpg thumbnail2.jpg thumbnail3.jpg thumbnail4.jpg \ + thumbnail5.jpg thumbnail1.pdf: MathSem-99-vortraege.pdf pdfjam --outfile thumbnail1.pdf --papersize '{16cm,9cm}' \ @@ -45,6 +46,13 @@ thumbnail4.jpg: thumbnail4.pdf convert -density 300 thumbnail4.pdf \ -resize 1920x1080 -units PixelsPerInch thumbnail4.jpg +thumbnail5.pdf: MathSem-99-vortraege.pdf + pdfjam --outfile thumbnail5.pdf --papersize '{16cm,9cm}' \ + MathSem-99-vortraege.pdf 5 +thumbnail5.jpg: thumbnail5.pdf + convert -density 300 thumbnail5.pdf \ + -resize 1920x1080 -units PixelsPerInch thumbnail5.jpg + fix1.pdf: MathSem-99-vortraege.pdf pdfjam --outfile fix1.pdf --papersize '{16cm,9cm}' \ MathSem-99-vortraege.pdf 1 diff --git a/vorlesungen/99_vortraege/MathSem-99-vortraege.tex b/vorlesungen/99_vortraege/MathSem-99-vortraege.tex index c962e90..ddcfcf8 100644 --- a/vorlesungen/99_vortraege/MathSem-99-vortraege.tex +++ b/vorlesungen/99_vortraege/MathSem-99-vortraege.tex @@ -61,5 +61,18 @@ Fabio Viecelli, Lukas Zogg: Erdbebenmessung \end{center} \end{frame} +\title[Vorträge]{31. Mai: Vorträge} +\begin{frame} +\titlepage +\vspace{-2cm} +\begin{center} +Marc Kühne: Munkres-Algorithmus +\phantom{blubb} \\ +\phantom{blubb} \\ +\phantom{blubb} \\ +Michael Schmid: Schnelle Matrixmultiplikation +\end{center} +\end{frame} + \input{slides.tex} \end{document} diff --git a/vorlesungen/punktgruppen/.gitignore b/vorlesungen/punktgruppen/.gitignore new file mode 100644 index 0000000..3633a3d --- /dev/null +++ b/vorlesungen/punktgruppen/.gitignore @@ -0,0 +1,20 @@ +# directories +__pycache__ +media/Tex + +media/images/crystal +media/images/freezeframes + +media/videos +media/audio + +media/Punktgruppen +media/Punktgruppen.mp4 + +build + +# files +script.log +slides.log +slides.vrb +missfont.log diff --git a/vorlesungen/punktgruppen/Makefile b/vorlesungen/punktgruppen/Makefile new file mode 100644 index 0000000..302e976 --- /dev/null +++ b/vorlesungen/punktgruppen/Makefile @@ -0,0 +1,18 @@ +TEX=xelatex +TEXARGS=--output-directory=build --halt-on-error --shell-escape + +all: slides.pdf script.pdf media + +.PHONY: clean +clean: + @rm -rfv build + +%.pdf: %.tex + mkdir -p build + $(TEX) $(TEXARGS) $< + $(TEX) $(TEXARGS) $< + cp build/$@ . + +media: + poetry install + poetry run manim -ql crystals.py diff --git a/vorlesungen/punktgruppen/crystals.py b/vorlesungen/punktgruppen/crystals.py new file mode 100644 index 0000000..4a9836a --- /dev/null +++ b/vorlesungen/punktgruppen/crystals.py @@ -0,0 +1,611 @@ +from manim import * + +import math as m +import numpy as np +import itertools as it + +# configure style +config.background_color = '#202020' +config.tex_template.add_to_preamble( + r"\usepackage[p,osf]{scholax}" + r"\usepackage{amsmath}" + r"\usepackage[scaled=1.075,ncf,vvarbb]{newtxmath}" +) + +# scenes +class Geometric2DSymmetries(Scene): + def construct(self): + self.wait(5) + + self.intro() + self.cyclic() + self.dihedral() + self.circle() + + def intro(self): + # create square + square = Square() + square.set_fill(PINK, opacity=.5) + self.play(SpinInFromNothing(square)) + self.wait() + + # the action of doing nothing + action = MathTex(r"\mathbb{1}") + self.play(Write(action)) + self.play(ApplyMethod(square.scale, 1.2)) + self.play(ApplyMethod(square.scale, 1/1.2)) + self.play(FadeOut(action)) + self.wait() + + # show some reflections + axis = DashedLine(2 * LEFT, 2 * RIGHT) + sigma = MathTex(r"\sigma") + sigma.next_to(axis, RIGHT) + + self.play(Create(axis)) + self.play(Write(sigma)) + self.play(ApplyMethod(square.flip, RIGHT)) + + for d in [UP + RIGHT, UP]: + self.play( + Rotate(axis, PI/4), + Rotate(sigma, PI/4, about_point=ORIGIN)) + + self.play(Rotate(sigma, -PI/4), run_time=.5) + self.play(ApplyMethod(square.flip, d)) + + self.play(FadeOutAndShift(sigma), Uncreate(axis)) + + # show some rotations + dot = Dot(UP + RIGHT) + figure = VGroup(square, dot) + + rot = MathTex(r"r") + self.play(Write(rot), Create(dot)) + + last = rot + for newrot in map(MathTex, [r"r", r"r^2", r"r^3"]): + self.play( + ReplacementTransform(last, newrot), + Rotate(figure, PI/2, about_point=ORIGIN)) + self.wait(.5) + last = newrot + + self.play(Uncreate(dot), FadeOut(square), FadeOut(last)) + + + def cyclic(self): + # create symmetric figure + figure = VGroup() + prev = [1.5, 0, 0] + for i in range(1,6): + pos = [ + 1.5*m.cos(2 * PI/5 * i), + 1.5*m.sin(2 * PI/5 * i), + 0 + ] + + if prev: + line = Line(prev, pos) + figure.add(line) + + dot = Dot(pos, radius=.1) + if i == 5: + dot.set_fill(RED) + + prev = pos + figure.add(dot) + + group = MathTex(r"G = \langle r \rangle") + self.play(Write(group), run_time = 2) + self.wait(3) + + self.play(ApplyMethod(group.to_edge, UP)) + + actions = map(MathTex, [ + r"\mathbb{1}", r"r", r"r^2", + r"r^3", r"r^4", r"\mathbb{1}", r"r"]) + + action = next(actions, MathTex(r"r")) + + self.play(Create(figure)) + self.play(Write(action)) + self.wait() + + for i in range(5): + newaction = next(actions, MathTex(r"r")) + self.play( + ReplacementTransform(action, newaction), + Rotate(figure, 2*PI/5, about_point=ORIGIN)) + action = newaction + + self.wait() + newaction = next(actions, MathTex(r"r")) + self.play( + ReplacementTransform(action, newaction), + Rotate(figure, 2*PI/5, about_point=ORIGIN)) + action = newaction + self.wait(2) + + self.play(Uncreate(figure), FadeOut(action)) + + whole_group = MathTex( + r"G = \langle r \rangle" + r"= \left\{\mathbb{1}, r, r^2, r^3, r^4 \right\}") + + self.play(ApplyMethod(group.move_to, ORIGIN)) + self.play(ReplacementTransform(group, whole_group)) + self.wait(5) + + cyclic = MathTex( + r"C_n = \langle r \rangle" + r"= \left\{\mathbb{1}, r, r^2, \dots, r^{n-1} \right\}") + + cyclic_title = Tex(r"Zyklische Gruppe") + cyclic_title.next_to(cyclic, UP * 2) + + cyclic.scale(1.2) + cyclic_title.scale(1.2) + + self.play(ReplacementTransform(whole_group, cyclic)) + self.play(FadeInFrom(cyclic_title, UP)) + + self.wait(5) + self.play(FadeOut(cyclic), FadeOut(cyclic_title)) + + def dihedral(self): + # create square + square = Square() + square.set_fill(PINK, opacity=.5) + + # generator equation + group = MathTex( + r"G = \langle \sigma, r \,|\,", + r"\sigma^2 = \mathbb{1},", + r"r^4 = \mathbb{1},", + r"(\sigma r)^2 = \mathbb{1} \rangle") + + self.play(Write(group), run_time = 2) + self.wait(5) + + self.play(ApplyMethod(group.to_edge, UP)) + self.play(FadeIn(square)) + self.wait() + + # flips + axis = DashedLine(2 * LEFT, 2 * RIGHT) + sigma = MathTex(r"\sigma^2 = \mathbb{1}") + sigma.next_to(axis, RIGHT) + self.play(Create(axis), Write(sigma)) + self.play(ApplyMethod(square.flip, RIGHT)) + self.play(ApplyMethod(square.flip, RIGHT)) + self.play(Uncreate(axis), FadeOut(sigma)) + + # rotations + dot = Dot(UP + RIGHT) + rot = MathTex(r"r^4 = \mathbb{1}") + rot.next_to(square, DOWN * 3) + + figure = VGroup(dot, square) + + self.play(Write(rot), Create(dot)) + for i in range(4): + self.play(Rotate(figure, PI/2)) + self.play(FadeOut(rot), Uncreate(dot)) + + # rotation and flip + action = MathTex(r"(\sigma r)^2 = \mathbb{1}") + action.next_to(square, DOWN * 5) + + dot = Dot(UP + RIGHT) + axis = DashedLine(2 * LEFT, 2 * RIGHT) + self.play(Create(dot), Create(axis), Write(action)) + + figure = VGroup(dot, square) + + for i in range(2): + self.play(Rotate(figure, PI/2)) + self.play(ApplyMethod(figure.flip, RIGHT)) + self.wait() + + self.play(Uncreate(dot), Uncreate(axis), FadeOut(action)) + self.play(FadeOut(square)) + + # equation for the whole + whole_group = MathTex( + r"G &= \langle \sigma, r \,|\," + r"\sigma^2 = r^4 = (\sigma r)^2 = \mathbb{1} \rangle \\" + r"&= \left\{" + r"\mathbb{1}, r, r^2, r^3, \sigma, \sigma r, \sigma r^2, \sigma r^3" + r"\right\}") + + self.play(ApplyMethod(group.move_to, ORIGIN)) + self.play(ReplacementTransform(group, whole_group)) + self.wait(2) + + dihedral = MathTex( + r"D_n &= \langle \sigma, r \,|\," + r"\sigma^2 = r^n = (\sigma r)^2 = \mathbb{1} \rangle \\" + r"&= \left\{" + r"\mathbb{1}, r, r^2, \dots, \sigma, \sigma r, \sigma r^2, \dots" + r"\right\}") + + dihedral_title = Tex(r"Diedergruppe: Symmetrien eines \(n\)-gons") + dihedral_title.next_to(dihedral, UP * 2) + + dihedral.scale(1.2) + dihedral_title.scale(1.2) + + self.play(ReplacementTransform(whole_group, dihedral)) + self.play(FadeInFrom(dihedral_title, UP)) + + self.wait(5) + self.play(FadeOut(dihedral), FadeOut(dihedral_title)) + + def circle(self): + circle = Circle(radius=2) + dot = Dot() + dot.move_to(2 * RIGHT) + + figure = VGroup(circle, dot) + group_name = MathTex(r"C_\infty") + + # create circle + self.play(Create(circle)) + self.play(Create(dot)) + + # move it around + self.play(Rotate(figure, PI/3)) + self.play(Rotate(figure, PI/6)) + self.play(Rotate(figure, -PI/3)) + + # show name + self.play(Rotate(figure, PI/4), Write(group_name)) + self.wait() + self.play(Uncreate(figure)) + + nsphere = MathTex(r"C_\infty \cong S^1 = \left\{z \in \mathbb{C} : |z| = 1\right\}") + nsphere_title = Tex(r"Kreisgruppe") + nsphere_title.next_to(nsphere, 2 * UP) + + nsphere.scale(1.2) + nsphere_title.scale(1.2) + + self.play(ReplacementTransform(group_name, nsphere)) + self.play(FadeInFrom(nsphere_title, UP)) + + self.wait(5) + self.play(FadeOut(nsphere_title), FadeOut(nsphere)) + self.wait(2) + + +class Geometric3DSymmetries(ThreeDScene): + def construct(self): + self.improper_rotation() + self.tetrahedron() + + def improper_rotation(self): + # changes the source of the light and camera + self.renderer.camera.light_source.move_to(3*IN) + self.set_camera_orientation(phi=0, theta=0) + + # initial square + square = Square() + square.set_fill(PINK, opacity=.5) + + self.play(SpinInFromNothing(square)) + self.wait(2) + + for i in range(4): + self.play(Rotate(square, PI/2)) + self.wait(.5) + + self.move_camera(phi= 75 * DEGREES, theta = -80 * DEGREES) + + # create rotation axis + axis = Line3D(start=[0,0,-2.5], end=[0,0,2.5]) + + axis_name = MathTex(r"r \in C_4") + # move to yz plane + axis_name.rotate(PI/2, axis = RIGHT) + axis_name.next_to(axis, OUT) + + self.play(Create(axis)) + self.play(Write(axis_name)) + self.wait() + + # create sphere from slices + cyclic_slices = [] + for i in range(4): + colors = [PINK, RED] if i % 2 == 0 else [BLUE_D, BLUE_E] + cyclic_slices.append(ParametricSurface( + lambda u, v: np.array([ + np.sqrt(2) * np.cos(u) * np.cos(v), + np.sqrt(2) * np.cos(u) * np.sin(v), + np.sqrt(2) * np.sin(u) + ]), + v_min=PI/4 + PI/2 * i, + v_max=PI/4 + PI/2 * (i + 1), + u_min=-PI/2, u_max=PI/2, + checkerboard_colors=colors, resolution=(10,5))) + + self.play(FadeOut(square), *map(Create, cyclic_slices)) + + cyclic_sphere = VGroup(*cyclic_slices) + for i in range(4): + self.play(Rotate(cyclic_sphere, PI/2)) + self.wait() + + new_axis_name = MathTex(r"r \in D_4") + # move to yz plane + new_axis_name.rotate(PI/2, axis = RIGHT) + new_axis_name.next_to(axis, OUT) + self.play(ReplacementTransform(axis_name, new_axis_name)) + + # reflection plane + self.play(FadeOut(cyclic_sphere), FadeIn(square)) + plane = ParametricSurface( + lambda u, v: np.array([u, 0, v]), + u_min = -2, u_max = 2, + v_min = -2, v_max = 2, + fill_opacity=.3, resolution=(1,1)) + + plane_name = MathTex(r"\sigma \in D_4") + # move to yz plane + plane_name.rotate(PI/2, axis = RIGHT) + plane_name.next_to(plane, OUT + RIGHT) + + self.play(Create(plane)) + self.play(Write(plane_name)) + self.wait() + + self.move_camera(phi = 25 * DEGREES, theta = -75 * DEGREES) + self.wait() + + condition = MathTex(r"(\sigma r)^2 = \mathbb{1}") + condition.next_to(square, DOWN); + + self.play(Write(condition)) + self.play(Rotate(square, PI/2)) + self.play(Rotate(square, PI, RIGHT)) + + self.play(Rotate(square, PI/2)) + self.play(Rotate(square, PI, RIGHT)) + self.play(FadeOut(condition)) + + self.move_camera(phi = 75 * DEGREES, theta = -80 * DEGREES) + + # create sphere from slices + dihedral_slices = [] + for i in range(4): + for j in range(2): + colors = [PINK, RED] if i % 2 == 0 else [BLUE_D, BLUE_E] + dihedral_slices.append(ParametricSurface( + lambda u, v: np.array([ + np.sqrt(2) * np.cos(u) * np.cos(v), + np.sqrt(2) * np.cos(u) * np.sin(v), + np.sqrt(2) * np.sin(u) + ]), + v_min=PI/2 * j + PI/4 + PI/2 * i, + v_max=PI/2 * j + PI/4 + PI/2 * (i + 1), + u_min=-PI/2 if j == 0 else 0, + u_max=0 if j == 0 else PI/2, + checkerboard_colors=colors, resolution=(10,5))) + + dihedral_sphere = VGroup(*dihedral_slices) + + self.play(FadeOut(square), Create(dihedral_sphere)) + + for i in range(2): + self.play(Rotate(dihedral_sphere, PI/2)) + self.play(Rotate(dihedral_sphere, PI, RIGHT)) + self.wait() + + self.wait(2) + self.play(*map(FadeOut, [dihedral_sphere, plane, plane_name, new_axis_name]), FadeIn(square)) + self.wait(3) + self.play(*map(FadeOut, [square, axis])) + self.wait(3) + + def tetrahedron(self): + tet = Tetrahedron(edge_length=2) + self.play(FadeIn(tet)) + + self.move_camera(phi = 75 * DEGREES, theta = -100 * DEGREES) + self.begin_ambient_camera_rotation(rate=.1) + + axes = [] + for coord in tet.vertex_coords: + axes.append((-2 * coord, 2 * coord)) + + lines = [ + Line3D(start=s, end=e) for s, e in axes + ] + + self.play(*map(Create, lines)) + self.wait() + + for axis in axes: + self.play(Rotate(tet, 2*PI/3, axis=axis[1])) + self.play(Rotate(tet, 2*PI/3, axis=axis[1])) + + self.wait(5) + self.stop_ambient_camera_rotation() + self.wait() + self.play(*map(Uncreate, lines)) + self.play(FadeOut(tet)) + self.wait(5) + + +class AlgebraicSymmetries(Scene): + def construct(self): + self.wait(5) + self.cyclic() + # self.matrices() + + def cyclic(self): + # show the i product + product = MathTex( + r"1", r"\cdot i &= i \\", + r"i \cdot i &= -1 \\", + r"-1 \cdot i &= -i \\", + r"-i \cdot i &= 1") + product.scale(1.5) + + for part in product: + self.play(Write(part)) + self.wait() + + self.play(ApplyMethod(product.scale, 1/1.5)) + + # gather in group + group = MathTex(r"G = \left\{ 1, i, -1, -i \right\}") + self.play(ReplacementTransform(product, group)) + self.wait(2) + + # show C4 + grouppow = MathTex( + r"G &= \left\{ 1, i, i^2, i^3 \right\} \\", + r"C_4 &= \left\{ \mathbb{1}, r, r^2, r^3 \right\}") + self.play(ReplacementTransform(group, grouppow[0])) + self.wait(2) + + self.play(Write(grouppow[1])) + self.wait(4) + + self.play(ApplyMethod(grouppow.to_edge, UP)) + + # define morphisms + morphism = MathTex(r"\phi: C_4 \to G \\") + morphism.shift(UP) + self.play(Write(morphism)) + self.wait() + + # show an example + mappings = MathTex( + r"\phi(\mathbb{1}) &= 1 \\", + r"\phi(r) &= i \\", + r"\phi(r^2) &= i^2 \\", + r"\phi(r^3) &= i^3 \\") + mappings.next_to(morphism, 2 * DOWN) + + self.play(Write(mappings)) + self.wait(3) + self.play(FadeOutAndShift(mappings, DOWN)) + + # more general definition + homomorphism = MathTex( + r"\phi(r\circ \mathbb{1}) &= \phi(r)\cdot\phi(\mathbb{1}) \\", + r"&= i\cdot 1") + homomorphism.next_to(morphism, DOWN).align_to(morphism, LEFT) + for part in homomorphism: + self.play(Write(part)) + self.wait() + + hom_bracegrp = VGroup(morphism, homomorphism) + + self.play( + ApplyMethod(grouppow.shift, 3 * LEFT), + ApplyMethod(hom_bracegrp.shift, 3 * LEFT)) + + hom_brace = Brace(hom_bracegrp, direction=RIGHT) + hom_text = Tex("Homomorphismus").next_to(hom_brace.get_tip(), RIGHT) + hom_text_short = MathTex(r"\mathrm{Hom}(C_4, G)").next_to(hom_brace.get_tip(), RIGHT) + + self.play(Create(hom_brace)) + self.play(Write(hom_text)) + self.wait() + self.play(ReplacementTransform(hom_text, hom_text_short)) + self.wait() + + # add the isomorphism part + isomorphism = Tex(r"\(\phi\) ist bijektiv") + isomorphism.next_to(homomorphism, DOWN).align_to(homomorphism, LEFT) + self.play(Write(isomorphism)) + + iso_bracegrp = VGroup(hom_bracegrp, isomorphism) + + iso_brace = Brace(iso_bracegrp, RIGHT) + iso_text = Tex("Isomorphismus").next_to(iso_brace.get_tip(), RIGHT) + iso_text_short = MathTex("C_4 \cong G").next_to(iso_brace.get_tip(), RIGHT) + + self.play( + ReplacementTransform(hom_brace, iso_brace), + ReplacementTransform(hom_text_short, iso_text)) + self.wait() + + self.play(ReplacementTransform(iso_text, iso_text_short)) + self.wait() + + # create a group for the whole + morphgrp = VGroup(iso_bracegrp, iso_brace, iso_text_short) + + self.play( + ApplyMethod(grouppow.to_edge, LEFT), + ApplyMethod(morphgrp.to_edge, LEFT)) + + # draw a complex plane + plane = ComplexPlane(x_range = [-2.5, 2.5]) + coordinates = plane.get_coordinate_labels(1, -1, 1j, -1j) + + roots = list(map(lambda p: Dot(p, fill_color=PINK), ( + [1, 0, 0], [0, 1, 0], [-1, 0, 0], [0, -1, 0] + ))) + + arrow = CurvedArrow( + 1.5 * np.array([m.cos(10 * DEGREES), m.sin(10 * DEGREES), 0]), + 1.5 * np.array([m.cos(80 * DEGREES), m.sin(80 * DEGREES), 0])) + arrowtext = MathTex("\cdot i") + arrowtext.move_to(2 / m.sqrt(2) * (UP + RIGHT)) + + square = Square().rotate(PI/4).scale(1/m.sqrt(2)) + square.set_fill(PINK).set_opacity(.4) + + figuregrp = VGroup(plane, square, arrow, arrowtext, *coordinates, *roots) + figuregrp.to_edge(RIGHT) + + self.play(Create(plane)) + self.play( + *map(Create, roots), + *map(Write, coordinates)) + self.wait() + self.play(FadeIn(square), Create(arrow), Write(arrowtext)) + + for _ in range(4): + self.play(Rotate(square, PI/2)) + self.wait(.5) + + self.play( + *map(FadeOut, (square, arrow, arrowtext)), + *map(FadeOut, coordinates), + *map(FadeOut, roots)) + self.play(Uncreate(plane)) + self.play( + FadeOutAndShift(grouppow, RIGHT), + FadeOutAndShift(morphgrp, RIGHT)) + + modulo = MathTex( + r"\phi: C_4 &\to (\mathbb{Z}/4\mathbb{Z}, +) \\" + r"\phi(\mathbb{1} \circ r^2) &= 0 + 2 \pmod 4").scale(1.5) + self.play(Write(modulo)) + self.wait(2) + + self.play(FadeOut(modulo)) + self.wait(3) + + def matrices(self): + question = MathTex( + r"D_n &\cong \,? \\" + r"S_n &\cong \,? \\" + r"A_n &\cong \,?").scale(1.5) + + answer = MathTex( + r"D_n &\cong \,?\\" + r"S_4 &\cong \mathrm{Aut}(Q_8) \\" + r"A_5 &\cong \mathrm{PSL}_2 (5)").scale(1.5) + + self.play(Write(question)) + self.wait() + self.play(ReplacementTransform(question, answer)) + + self.wait(3) diff --git a/vorlesungen/punktgruppen/media/images/nosignal.jpg b/vorlesungen/punktgruppen/media/images/nosignal.jpg Binary files differnew file mode 100644 index 0000000..2beeb8b --- /dev/null +++ b/vorlesungen/punktgruppen/media/images/nosignal.jpg diff --git a/vorlesungen/punktgruppen/poetry.lock b/vorlesungen/punktgruppen/poetry.lock new file mode 100644 index 0000000..069d270 --- /dev/null +++ b/vorlesungen/punktgruppen/poetry.lock @@ -0,0 +1,743 @@ +[[package]] +name = "certifi" +version = "2020.12.5" +description = "Python package for providing Mozilla's CA Bundle." +category = "main" +optional = false +python-versions = "*" + +[[package]] +name = "chardet" +version = "4.0.0" +description = "Universal encoding detector for Python 2 and 3" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + +[[package]] +name = "click" +version = "7.1.2" +description = "Composable command line interface toolkit" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + +[[package]] +name = "click-default-group" +version = "1.2.2" +description = "Extends click.Group to invoke a command without explicit subcommand name" +category = "main" +optional = false +python-versions = "*" + +[package.dependencies] +click = "*" + +[[package]] +name = "cloup" +version = "0.7.1" +description = "Option groups and subcommand help sections for pallets/click" +category = "main" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +click = ">=7.0,<9.0" + +[[package]] +name = "colorama" +version = "0.4.4" +description = "Cross-platform colored terminal text." +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + +[[package]] +name = "colour" +version = "0.1.5" +description = "converts and manipulates various color representation (HSL, RVB, web, X11, ...)" +category = "main" +optional = false +python-versions = "*" + +[package.extras] +test = ["nose"] + +[[package]] +name = "commonmark" +version = "0.9.1" +description = "Python parser for the CommonMark Markdown spec" +category = "main" +optional = false +python-versions = "*" + +[package.extras] +test = ["flake8 (==3.7.8)", "hypothesis (==3.55.3)"] + +[[package]] +name = "decorator" +version = "4.4.2" +description = "Decorators for Humans" +category = "main" +optional = false +python-versions = ">=2.6, !=3.0.*, !=3.1.*" + +[[package]] +name = "glcontext" +version = "2.3.3" +description = "Portable OpenGL Context" +category = "main" +optional = false +python-versions = "*" + +[[package]] +name = "idna" +version = "2.10" +description = "Internationalized Domain Names in Applications (IDNA)" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[[package]] +name = "importlib-metadata" +version = "4.0.1" +description = "Read metadata from Python packages" +category = "main" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +typing-extensions = {version = ">=3.6.4", markers = "python_version < \"3.8\""} +zipp = ">=0.5" + +[package.extras] +docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"] +testing = ["pytest (>=4.6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.0.1)", "packaging", "pep517", "pyfakefs", "flufl.flake8", "pytest-black (>=0.3.7)", "pytest-mypy", "importlib-resources (>=1.3)"] + +[[package]] +name = "manim" +version = "0.6.0" +description = "Animation engine for explanatory math videos." +category = "main" +optional = false +python-versions = ">=3.6.2,<4.0.0" + +[package.dependencies] +click = ">=7.1,<8.0" +click-default-group = "*" +cloup = ">=0.7.0,<0.8.0" +colour = "*" +decorator = "<5.0.0" +importlib-metadata = {version = "*", markers = "python_version < \"3.8\""} +manimpango = ">=0.2.4,<0.3.0" +mapbox-earcut = ">=0.12.10,<0.13.0" +moderngl = ">=5.6.3,<6.0.0" +moderngl-window = ">=2.3.0,<3.0.0" +networkx = ">=2.5,<3.0" +numpy = ">=1.9,<2.0" +Pillow = "*" +pycairo = ">=1.19,<2.0" +pydub = "*" +pygments = "*" +requests = "*" +rich = ">=6.0,<7.0" +scipy = "*" +tqdm = "*" +watchdog = "*" + +[package.extras] +webgl_renderer = ["grpcio (>=1.33.0,<1.34.0)", "grpcio-tools (>=1.33.0,<1.34.0)"] +jupyterlab = ["jupyterlab (>=3.0,<4.0)"] + +[[package]] +name = "manimpango" +version = "0.2.6" +description = "Bindings for Pango for using with Manim." +category = "main" +optional = false +python-versions = ">=3.6" + +[[package]] +name = "mapbox-earcut" +version = "0.12.10" +description = "Python bindings for the mapbox earcut C++ polygon triangulation library." +category = "main" +optional = false +python-versions = "*" + +[package.dependencies] +numpy = "*" + +[[package]] +name = "moderngl" +version = "5.6.4" +description = "ModernGL: High performance rendering for Python 3" +category = "main" +optional = false +python-versions = "*" + +[package.dependencies] +glcontext = ">=2,<3" + +[[package]] +name = "moderngl-window" +version = "2.3.0" +description = "A cross platform helper library for ModernGL making window creation and resource loading simple" +category = "main" +optional = false +python-versions = ">=3.5" + +[package.dependencies] +moderngl = "<6" +numpy = ">=1.16,<2" +Pillow = ">=5" +pyglet = ">=1.5.8,<2" +pyrr = ">=0.10.3,<1" + +[package.extras] +pysdl2 = ["pysdl2"] +pyside2 = ["PySide2 (<6)"] +glfw = ["glfw"] +pygame = ["pygame (==2.0.0.dev10)"] +pyqt5 = ["pyqt5"] +pywavefront = ["pywavefront (>=1.2.0,<2)"] +tk = ["pyopengltk (>=0.0.3)"] +trimesh = ["trimesh (>=3.2.6,<4)", "scipy (>=1.3.2)"] + +[[package]] +name = "multipledispatch" +version = "0.6.0" +description = "Multiple dispatch" +category = "main" +optional = false +python-versions = "*" + +[package.dependencies] +six = "*" + +[[package]] +name = "networkx" +version = "2.5.1" +description = "Python package for creating and manipulating graphs and networks" +category = "main" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +decorator = ">=4.3,<5" + +[package.extras] +all = ["numpy", "scipy", "pandas", "matplotlib", "pygraphviz", "pydot", "pyyaml", "lxml", "pytest"] +gdal = ["gdal"] +lxml = ["lxml"] +matplotlib = ["matplotlib"] +numpy = ["numpy"] +pandas = ["pandas"] +pydot = ["pydot"] +pygraphviz = ["pygraphviz"] +pytest = ["pytest"] +pyyaml = ["pyyaml"] +scipy = ["scipy"] + +[[package]] +name = "numpy" +version = "1.20.2" +description = "NumPy is the fundamental package for array computing with Python." +category = "main" +optional = false +python-versions = ">=3.7" + +[[package]] +name = "pillow" +version = "8.2.0" +description = "Python Imaging Library (Fork)" +category = "main" +optional = false +python-versions = ">=3.6" + +[[package]] +name = "pycairo" +version = "1.20.0" +description = "Python interface for cairo" +category = "main" +optional = false +python-versions = ">=3.6, <4" + +[[package]] +name = "pydub" +version = "0.25.1" +description = "Manipulate audio with an simple and easy high level interface" +category = "main" +optional = false +python-versions = "*" + +[[package]] +name = "pyglet" +version = "1.5.16" +description = "Cross-platform windowing and multimedia library" +category = "main" +optional = false +python-versions = "*" + +[[package]] +name = "pygments" +version = "2.9.0" +description = "Pygments is a syntax highlighting package written in Python." +category = "main" +optional = false +python-versions = ">=3.5" + +[[package]] +name = "pyrr" +version = "0.10.3" +description = "3D mathematical functions using NumPy" +category = "main" +optional = false +python-versions = "*" + +[package.dependencies] +multipledispatch = "*" +numpy = "*" + +[[package]] +name = "requests" +version = "2.25.1" +description = "Python HTTP for Humans." +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + +[package.dependencies] +certifi = ">=2017.4.17" +chardet = ">=3.0.2,<5" +idna = ">=2.5,<3" +urllib3 = ">=1.21.1,<1.27" + +[package.extras] +security = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)"] +socks = ["PySocks (>=1.5.6,!=1.5.7)", "win-inet-pton"] + +[[package]] +name = "rich" +version = "6.2.0" +description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" +category = "main" +optional = false +python-versions = ">=3.6,<4.0" + +[package.dependencies] +colorama = ">=0.4.0,<0.5.0" +commonmark = ">=0.9.0,<0.10.0" +pygments = ">=2.6.0,<3.0.0" +typing-extensions = ">=3.7.4,<4.0.0" + +[package.extras] +jupyter = ["ipywidgets (>=7.5.1,<8.0.0)"] + +[[package]] +name = "scipy" +version = "1.6.1" +description = "SciPy: Scientific Library for Python" +category = "main" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +numpy = ">=1.16.5" + +[[package]] +name = "six" +version = "1.16.0" +description = "Python 2 and 3 compatibility utilities" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" + +[[package]] +name = "tqdm" +version = "4.60.0" +description = "Fast, Extensible Progress Meter" +category = "main" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7" + +[package.extras] +dev = ["py-make (>=0.1.0)", "twine", "wheel"] +notebook = ["ipywidgets (>=6)"] +telegram = ["requests"] + +[[package]] +name = "typing-extensions" +version = "3.10.0.0" +description = "Backported and Experimental Type Hints for Python 3.5+" +category = "main" +optional = false +python-versions = "*" + +[[package]] +name = "urllib3" +version = "1.26.4" +description = "HTTP library with thread-safe connection pooling, file post, and more." +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4" + +[package.extras] +secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "ipaddress"] +socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] +brotli = ["brotlipy (>=0.6.0)"] + +[[package]] +name = "watchdog" +version = "2.1.0" +description = "Filesystem events monitoring" +category = "main" +optional = false +python-versions = ">=3.6" + +[package.extras] +watchmedo = ["PyYAML (>=3.10)", "argh (>=0.24.1)"] + +[[package]] +name = "zipp" +version = "3.4.1" +description = "Backport of pathlib-compatible object wrapper for zip files" +category = "main" +optional = false +python-versions = ">=3.6" + +[package.extras] +docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"] +testing = ["pytest (>=4.6)", "pytest-checkdocs (>=1.2.3)", "pytest-flake8", "pytest-cov", "pytest-enabler", "jaraco.itertools", "func-timeout", "pytest-black (>=0.3.7)", "pytest-mypy"] + +[metadata] +lock-version = "1.1" +python-versions = "^3.7" +content-hash = "2d2a6db16cffc7cb06ce7290ad490f9555d4d7172f11fd77783e7a1f4fd933ed" + +[metadata.files] +certifi = [ + {file = "certifi-2020.12.5-py2.py3-none-any.whl", hash = "sha256:719a74fb9e33b9bd44cc7f3a8d94bc35e4049deebe19ba7d8e108280cfd59830"}, + {file = "certifi-2020.12.5.tar.gz", hash = "sha256:1a4995114262bffbc2413b159f2a1a480c969de6e6eb13ee966d470af86af59c"}, +] +chardet = [ + {file = "chardet-4.0.0-py2.py3-none-any.whl", hash = "sha256:f864054d66fd9118f2e67044ac8981a54775ec5b67aed0441892edb553d21da5"}, + {file = "chardet-4.0.0.tar.gz", hash = "sha256:0d6f53a15db4120f2b08c94f11e7d93d2c911ee118b6b30a04ec3ee8310179fa"}, +] +click = [ + {file = "click-7.1.2-py2.py3-none-any.whl", hash = "sha256:dacca89f4bfadd5de3d7489b7c8a566eee0d3676333fbb50030263894c38c0dc"}, + {file = "click-7.1.2.tar.gz", hash = "sha256:d2b5255c7c6349bc1bd1e59e08cd12acbbd63ce649f2588755783aa94dfb6b1a"}, +] +click-default-group = [ + {file = "click-default-group-1.2.2.tar.gz", hash = "sha256:d9560e8e8dfa44b3562fbc9425042a0fd6d21956fcc2db0077f63f34253ab904"}, +] +cloup = [ + {file = "cloup-0.7.1-py2.py3-none-any.whl", hash = "sha256:947c881ada77ea2f7b2876f7b5bb2fc7e5406daac5a045342acf8de35bcce5d7"}, + {file = "cloup-0.7.1.tar.gz", hash = "sha256:f26cc500dda4e4c9444ac1008b82376df8d72ecfa43a6310a9b3d54ef98add7b"}, +] +colorama = [ + {file = "colorama-0.4.4-py2.py3-none-any.whl", hash = "sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2"}, + {file = "colorama-0.4.4.tar.gz", hash = "sha256:5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b"}, +] +colour = [ + {file = "colour-0.1.5-py2.py3-none-any.whl", hash = "sha256:33f6db9d564fadc16e59921a56999b79571160ce09916303d35346dddc17978c"}, + {file = "colour-0.1.5.tar.gz", hash = "sha256:af20120fefd2afede8b001fbef2ea9da70ad7d49fafdb6489025dae8745c3aee"}, +] +commonmark = [ + {file = "commonmark-0.9.1-py2.py3-none-any.whl", hash = "sha256:da2f38c92590f83de410ba1a3cbceafbc74fee9def35f9251ba9a971d6d66fd9"}, + {file = "commonmark-0.9.1.tar.gz", hash = "sha256:452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60"}, +] +decorator = [ + {file = "decorator-4.4.2-py2.py3-none-any.whl", hash = "sha256:41fa54c2a0cc4ba648be4fd43cff00aedf5b9465c9bf18d64325bc225f08f760"}, + {file = "decorator-4.4.2.tar.gz", hash = "sha256:e3a62f0520172440ca0dcc823749319382e377f37f140a0b99ef45fecb84bfe7"}, +] +glcontext = [ + {file = "glcontext-2.3.3-cp35-cp35m-macosx_10_9_x86_64.whl", hash = "sha256:f518379551a2b60d45c1eec23759cb1ee85517d4b943fc31530b6ab13e304fe4"}, + {file = "glcontext-2.3.3-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:d3a8fbc27f43766d168bae02474790459f4050adeb25832ff0a227cc5006c933"}, + {file = "glcontext-2.3.3-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:aa1d9e4f9bd6eda3d195f39c47c849b3721caf65813a4ad1e006a20fa02d33e4"}, + {file = "glcontext-2.3.3-cp35-cp35m-win32.whl", hash = "sha256:8b4ee9cb5573e2ae313e1681fdfe2c5ac5b8780b20e857daf8f95e318c36aa2f"}, + {file = "glcontext-2.3.3-cp35-cp35m-win_amd64.whl", hash = "sha256:b92ca447a04c3a05afb3974a6e94f584e60f55444c3e55ecd31fbfacad6ee07a"}, + {file = "glcontext-2.3.3-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:b102a00e7bbce03a5e8bb02692197f96fcb77c51dbe133859b70afa361eef5b7"}, + {file = "glcontext-2.3.3-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:ea3975a9d86a97b49f9524713c8e3f0df92044715cfbe5a24102e10762673b23"}, + {file = "glcontext-2.3.3-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:5f2e7fb61ea1f69c44db0799f8929ea66ad207619c18063ae60cfb26ad0f447f"}, + {file = "glcontext-2.3.3-cp36-cp36m-win32.whl", hash = "sha256:bf8c3fa5f3a8962c9bcc03a869a0bb178bd1681619225b9f0a070a65ff3f766d"}, + {file = "glcontext-2.3.3-cp36-cp36m-win_amd64.whl", hash = "sha256:e0b637f2ac1c2dd1e0dbfcbad6d7be2dae75290f9af8f82aa67aa55b977766e1"}, + {file = "glcontext-2.3.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2002d29dee90e9ba800c8699e13e1ff8b0fa1292a7c5bb0a98ef50b5f6cd3f14"}, + {file = "glcontext-2.3.3-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:941be8972ad64e70080ad4702c037c64c09d1378ddd9b1b4576b957bc2d7f1c2"}, + {file = "glcontext-2.3.3-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:0eb69c4add7f724017169bcefc2a8ef8ce053183e9384cc4770162e934090592"}, + {file = "glcontext-2.3.3-cp37-cp37m-win32.whl", hash = "sha256:f63aed2116907225f7392921df790a391fd1a843cd1af0756dcd533e9d3ecf2b"}, + {file = "glcontext-2.3.3-cp37-cp37m-win_amd64.whl", hash = "sha256:2fa9b939c15f5f7e63110a1021e8d20341c03921b8d3aebbb4bb191f11414d86"}, + {file = "glcontext-2.3.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:44f95953bbd6a26caa9489b4f838b106470ede432c5ef837cd3e0d3657ca2a06"}, + {file = "glcontext-2.3.3-cp38-cp38-manylinux1_i686.whl", hash = "sha256:843d3361bf46aec487f268bb7f680700166640995a82424fa86e53f428dc43ae"}, + {file = "glcontext-2.3.3-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:be3e25a8595976699b6d30a2619ca4faf7bd5e60ff38dcd4445fa38a8f3b2cf9"}, + {file = "glcontext-2.3.3-cp38-cp38-win32.whl", hash = "sha256:7abbd227bf9e4e62ec196360fa0f440143a66b7aae3d3deb7960b87aac654043"}, + {file = "glcontext-2.3.3-cp38-cp38-win_amd64.whl", hash = "sha256:b91010d033789d1f876789e4aa4e6498e87cd284b4d0cb7a4aa1b7e620caaf57"}, + {file = "glcontext-2.3.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:0a851f569f165a13f8fedf60dd4f2831f7c2ffbb9bc9f867d6e0e3fdd1846c8d"}, + {file = "glcontext-2.3.3-cp39-cp39-win32.whl", hash = "sha256:f36935ba84e8c52ed22bb9f683875bdf1690abd318ae704f40511f1afca5f71a"}, + {file = "glcontext-2.3.3-cp39-cp39-win_amd64.whl", hash = "sha256:69e3a04c677e4925c0b6daf5efc5469a86d0982b05bb1d0ca29bce57f4aaf7d1"}, + {file = "glcontext-2.3.3.tar.gz", hash = "sha256:f86a6c4ad99f941623911f964da74c443dc3f833fac7eb03cd485fae82acb80c"}, +] +idna = [ + {file = "idna-2.10-py2.py3-none-any.whl", hash = "sha256:b97d804b1e9b523befed77c48dacec60e6dcb0b5391d57af6a65a312a90648c0"}, + {file = "idna-2.10.tar.gz", hash = "sha256:b307872f855b18632ce0c21c5e45be78c0ea7ae4c15c828c20788b26921eb3f6"}, +] +importlib-metadata = [ + {file = "importlib_metadata-4.0.1-py3-none-any.whl", hash = "sha256:d7eb1dea6d6a6086f8be21784cc9e3bcfa55872b52309bc5fad53a8ea444465d"}, + {file = "importlib_metadata-4.0.1.tar.gz", hash = "sha256:8c501196e49fb9df5df43833bdb1e4328f64847763ec8a50703148b73784d581"}, +] +manim = [ + {file = "manim-0.6.0-py3-none-any.whl", hash = "sha256:402cb91b5a472204491086ca079163dcefdc491acb0559c098156b08f4e62d8b"}, + {file = "manim-0.6.0.tar.gz", hash = "sha256:08bd27389f58312ab6d994e3a2910e77fa668c867c06da67135efe637f81c4a1"}, +] +manimpango = [ + {file = "ManimPango-0.2.6-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:2a2d0ba8ca06e761650076a0e0050743acb2f1fb163f9b7db52decf95d91ced8"}, + {file = "ManimPango-0.2.6-cp36-cp36m-win32.whl", hash = "sha256:05c1d1af85d2016819f4ce40758d0ef6564baa121238ef6a88240ad96220a7a8"}, + {file = "ManimPango-0.2.6-cp36-cp36m-win_amd64.whl", hash = "sha256:ed9cc957df9513d31b450acdb8f9bc76885ed5eae1a71d71e939c3133c14eb09"}, + {file = "ManimPango-0.2.6-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e094d1f136f99408bb10bf4748ee6b51efba68e54e310096e75a8d38bb7ef111"}, + {file = "ManimPango-0.2.6-cp37-cp37m-win32.whl", hash = "sha256:b2062fac21e968930cb91945a8bfcf4593a3152f8bea5d6950c6aa304eb831a7"}, + {file = "ManimPango-0.2.6-cp37-cp37m-win_amd64.whl", hash = "sha256:76d1ab6c131389e91cc84e0d3c4f746978cd301237ddd1e463f9463ff872d17f"}, + {file = "ManimPango-0.2.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:88bdd9c2714b94ee85da28002fd28122e4b26cb7ef74a48fe93d50cb06e8a35b"}, + {file = "ManimPango-0.2.6-cp38-cp38-win32.whl", hash = "sha256:28165fd23d8cfe7e260affa8d240d63bf66808f96154507ba534548b47834208"}, + {file = "ManimPango-0.2.6-cp38-cp38-win_amd64.whl", hash = "sha256:e74690f948c5fe2cc5e13f22683c1875155fee4a4a75c4e24ce1dc6e4f9f9883"}, + {file = "ManimPango-0.2.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2297b1c829cfff6d91f5d32a7a8e903e30d0b28be8006e9f61fd653981ce7827"}, + {file = "ManimPango-0.2.6-cp39-cp39-win32.whl", hash = "sha256:de974e2435d445b1244a713b7b6ce4383bc6c574e0a1b59a6f33b8a16d1a147e"}, + {file = "ManimPango-0.2.6-cp39-cp39-win_amd64.whl", hash = "sha256:59a575fb28183fe68f3d8f5e93c98b7afa8e495eb0124ec09c660eef15adfcbb"}, + {file = "ManimPango-0.2.6.tar.gz", hash = "sha256:64028b62b151bc80b047cc1757b27943498416dc4a85f073892a524b4d90ab41"}, +] +mapbox-earcut = [ + {file = "mapbox_earcut-0.12.10-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:2aaf7bdb002d36d38d1412088329a9176de3fcadc24a53951b76e49a27e34d78"}, + {file = "mapbox_earcut-0.12.10-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:ddda755c63cf5f9bff338cd375e4e937035898827fef960102e2f4c8984cb068"}, + {file = "mapbox_earcut-0.12.10-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:3475382dd573986d0dfe3f6b6fd3b1f576e74af7fd7d95066d2506ce8f4b38e5"}, + {file = "mapbox_earcut-0.12.10-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:f2b9079df53258766c3108a1c46a7942963c26f216f9bc2d216f93eeed1da76c"}, + {file = "mapbox_earcut-0.12.10-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:124cc27486d0e9c9b185a6d80e551e736e2bc81d28e077e297ac39980c14e588"}, + {file = "mapbox_earcut-0.12.10-cp35-cp35m-macosx_10_9_x86_64.whl", hash = "sha256:04228ff704d5edc49d71ba3fd07c4a8621a4f416d2ad5c2504a80d0cabd51c18"}, + {file = "mapbox_earcut-0.12.10-cp35-cp35m-manylinux2010_i686.whl", hash = "sha256:9a15cb52f3f6d5980e41b6ca31976cc2048acf290f2e5159d7527e16e5c5d748"}, + {file = "mapbox_earcut-0.12.10-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:6b083a065afd40961cc311b425c54275f531d91a27bdd34a2049993a68d8a651"}, + {file = "mapbox_earcut-0.12.10-cp35-cp35m-win32.whl", hash = "sha256:fa3355248d3beaab67438373315e55a37ecc2694a4a4b1965e9d8f582a210479"}, + {file = "mapbox_earcut-0.12.10-cp35-cp35m-win_amd64.whl", hash = "sha256:90b2977a9eda2a1873e44d7821ecf3b18062aa0878e957cb306e6018aba105c9"}, + {file = "mapbox_earcut-0.12.10-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:553688de45e73fa7d192fd6c29b87a4c5ea60a728b3c7b4c5f1715a89e6a8e54"}, + {file = "mapbox_earcut-0.12.10-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:498b7f35c6a7c5c25829bcf1a79015ae64e94e8e36b84bd06e93131352b409f0"}, + {file = "mapbox_earcut-0.12.10-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:8b9c6147249edf5049ccf7a7bca5bb29c9d512b3a5b62510659cfc51f1b8f806"}, + {file = "mapbox_earcut-0.12.10-cp36-cp36m-win32.whl", hash = "sha256:4eaf2a9e86bbf808bf045eb587ec93a393e9d75ab87e7c1c9c8a5d9e122e30ac"}, + {file = "mapbox_earcut-0.12.10-cp36-cp36m-win_amd64.whl", hash = "sha256:cb82e4ea9a67a9cdd46c9fc39bcb24e11f49569010368f9c5d376489bb2d0317"}, + {file = "mapbox_earcut-0.12.10-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:619a31a4d9748a30fbea82fd45beec6ab9e7f8a7ae7818be46f09d03ea0d9185"}, + {file = "mapbox_earcut-0.12.10-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:054cd56cf8adf179d0aa0e8a061774e5afa767aaf6507851f4d2731b58f03d43"}, + {file = "mapbox_earcut-0.12.10-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:ebeef32d504bf7e1ba986f86d87a8d3c96a54b6e03b0535ccdf0ce8f2f56e563"}, + {file = "mapbox_earcut-0.12.10-cp37-cp37m-win32.whl", hash = "sha256:62a8787e30f7bbc6e1ebe8b11591119ed85aa5044b2cf3f6afb058e6fffeb8a3"}, + {file = "mapbox_earcut-0.12.10-cp37-cp37m-win_amd64.whl", hash = "sha256:5f854a887f854bdea62c4b58785b82cf70056d53dc3bf23146ce68c125ceed96"}, + {file = "mapbox_earcut-0.12.10-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:19f16be13a40d20419362f8ce27cf2dca8f0b8f4c7caa24caaff8351bcdf853e"}, + {file = "mapbox_earcut-0.12.10-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:cac7c8c332d1e802f478b5b79166ab38005b6d1bd908fb96857a8941e702f70d"}, + {file = "mapbox_earcut-0.12.10-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:24cc595987932b5d47b93ddb733c6bd084d91ff0af66ff2205aa717f0a5a13b8"}, + {file = "mapbox_earcut-0.12.10-cp38-cp38-win32.whl", hash = "sha256:fe4b4e1c53fe0fde8e5fee86d868344f47d4d9fd89d9599548ea4b98349f10d6"}, + {file = "mapbox_earcut-0.12.10-cp38-cp38-win_amd64.whl", hash = "sha256:6f4601b949ab43cf21dca86ffb6b4e2b30974ab3112f089d16b5f365e8b446f4"}, + {file = "mapbox_earcut-0.12.10-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ca00bdcb162b6a543f3061f49e2dcde42d6b780a545b5054da437e4ff5e33905"}, + {file = "mapbox_earcut-0.12.10-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:031132cdfa4d20e640f24d6817b65a91e3292c34ed527b4309617c9992284133"}, + {file = "mapbox_earcut-0.12.10-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:f284c0fc7f3c84664e9dddabae4eae729e6458e96ec5f30c9d7000c9b0dadca7"}, + {file = "mapbox_earcut-0.12.10-cp39-cp39-win32.whl", hash = "sha256:c94a263767a841a5f7e8f03c725bdf41c87b8936c1a5fe18a5a77f3b9344d68f"}, + {file = "mapbox_earcut-0.12.10-cp39-cp39-win_amd64.whl", hash = "sha256:742bd1f94113f44f1adcb5f3e2dca6e288695645b7eeab5d94f589dacda092af"}, + {file = "mapbox_earcut-0.12.10-pp27-pypy_73-macosx_10_9_x86_64.whl", hash = "sha256:ad76defd6188e71023e43e5aed32ab5d540c0452a74918fc5de9bcccdee6c053"}, + {file = "mapbox_earcut-0.12.10-pp27-pypy_73-manylinux2010_x86_64.whl", hash = "sha256:a3a9a81f696627f3c331f16c8d628b494949fa68067a42d2f1a6a56ee115eb0d"}, + {file = "mapbox_earcut-0.12.10-pp27-pypy_73-win32.whl", hash = "sha256:044f70ed230bdb94f08356ec84f4bd30e4ea493d63700c3cc6fa86c5cf57623e"}, + {file = "mapbox_earcut-0.12.10-pp36-pypy36_pp73-macosx_10_9_x86_64.whl", hash = "sha256:e352482e6022cc113dd008886012f0966bd2511933f888805fa87f070423d5b1"}, + {file = "mapbox_earcut-0.12.10-pp36-pypy36_pp73-manylinux2010_x86_64.whl", hash = "sha256:41a282c485e96135ff15c01e0e1eb334cf1a05235edde8154b7b6e30187e54f4"}, + {file = "mapbox_earcut-0.12.10-pp36-pypy36_pp73-win32.whl", hash = "sha256:5e1e3cf5a881eafeba7a7e5c4b1b9e7376710c48513513894e2a082ebf870326"}, + {file = "mapbox_earcut-0.12.10-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:7b6c2bfc28dc82a27071079885ffbe0836c0ad5dbd4ab47a5edaa24a86218daf"}, + {file = "mapbox_earcut-0.12.10-pp37-pypy37_pp73-manylinux2010_x86_64.whl", hash = "sha256:6e6614f7b437b4b0a69ab642cf35569079408ac25c193013d5ad26e82c71fc01"}, + {file = "mapbox_earcut-0.12.10-pp37-pypy37_pp73-win32.whl", hash = "sha256:d016823e863309b9cc542bb1d3bcdc274ec65fb23f2566de298188dcd4a75c0e"}, + {file = "mapbox_earcut-0.12.10.tar.gz", hash = "sha256:50d995673ac9ce8cb9abb7ab64b709d611c1d27557907e00b631b5272345c453"}, +] +moderngl = [ + {file = "moderngl-5.6.4-cp35-cp35m-macosx_10_9_x86_64.whl", hash = "sha256:bc3764d67f037b67051871345a1d0b7a3d2c19cb5c0c0af0a84c532e802d6642"}, + {file = "moderngl-5.6.4-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:90006d9dfd5333da604a7d26b2a5e70e1a570f291cd745b8bf80e4833d8821b6"}, + {file = "moderngl-5.6.4-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:af44437545380a840dafd09658eb56592831dbd4fb481d320249d0d42c591bae"}, + {file = "moderngl-5.6.4-cp35-cp35m-win32.whl", hash = "sha256:b5023633bcbfbab90be6a6f4edcde75f9c1e244d9acbda94678f3e3fb238b363"}, + {file = "moderngl-5.6.4-cp35-cp35m-win_amd64.whl", hash = "sha256:ffc48fc4deeb525ed33a828d13ca4c12c5af8e5cb0449011f1802e18b5fc3c25"}, + {file = "moderngl-5.6.4-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:331fd4bce60b10a08eed81a3ed4c70b7c297c38f981fdf3968d03a1c892af247"}, + {file = "moderngl-5.6.4-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:1bd864b5cc2fc1255785e33575cec98fa5ded698503c4f8f3fa9230abeaa3a04"}, + {file = "moderngl-5.6.4-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:b22534529f5bc52c1fe43336787c06d51123ae978fb56e74e47cabd85056c934"}, + {file = "moderngl-5.6.4-cp36-cp36m-win32.whl", hash = "sha256:ee5b1eced39d7f6dc68782c2abf01c1130a40b6d83d333d175ee71adbea7c721"}, + {file = "moderngl-5.6.4-cp36-cp36m-win_amd64.whl", hash = "sha256:52ee915a559762f0e992344961b35e0d241be32f8aa7464494e958f777e0534c"}, + {file = "moderngl-5.6.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:f83f6ab1fafdba2d9c06a7a1c8a4e460689ea1d514146606acc74f14e0831d93"}, + {file = "moderngl-5.6.4-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:c350e06affea9fabc636b2350cf6e58d83ee2e7264527eee0f5d142c167f5463"}, + {file = "moderngl-5.6.4-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:3eb65afc8ec4a1d4a4c48696fb0f4f6cf7a7ada6bef97818d717dbca73c57b11"}, + {file = "moderngl-5.6.4-cp37-cp37m-win32.whl", hash = "sha256:4fd721eb83e73d34c3f7b5a11aec656fef461b51bbe7503b07ea27370c593cbd"}, + {file = "moderngl-5.6.4-cp37-cp37m-win_amd64.whl", hash = "sha256:01c71d94dbd59b5d37ead463991e2998c0924426cffa393b9da2b8334551c998"}, + {file = "moderngl-5.6.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d2ec6ecd845f21ba44a08c11521cb71f2a9c2ea2ec189b7ed30d17837d392d70"}, + {file = "moderngl-5.6.4-cp38-cp38-manylinux1_i686.whl", hash = "sha256:40f74a2246e5302f93f2d46f76c0d2a26cbed1eb29731674c4052476f1e9c9ea"}, + {file = "moderngl-5.6.4-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:5e158e6881034c7e1d0c583d7c82ff608439606f2359dc6098e4be4fd93cef9d"}, + {file = "moderngl-5.6.4-cp38-cp38-win32.whl", hash = "sha256:a28dc741469eeb69549ee85b4ddbf8e9cfca6a2b19ce0406df9fde20f78082c8"}, + {file = "moderngl-5.6.4-cp38-cp38-win_amd64.whl", hash = "sha256:ce87962b91635d857cac4a753c5d5f647d94dc66dcb0f090bb8d758fd226c3e8"}, + {file = "moderngl-5.6.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3fb139bcdd25eae2c546e5788e9d8719f6c4b18a2ba68a9df31699b4ac57d62d"}, + {file = "moderngl-5.6.4-cp39-cp39-win32.whl", hash = "sha256:fc5cc1601a3df8f45f1901c6b9960731e0619d1781b0d036e12341fbf2ef55d3"}, + {file = "moderngl-5.6.4-cp39-cp39-win_amd64.whl", hash = "sha256:1c74b71c9acee9f0e69807a086d76e92f37c1960c3bb1d6a6e2472fd03f7be5b"}, + {file = "moderngl-5.6.4.tar.gz", hash = "sha256:8c6d04559f5e3bf75a18525cd46d213c0f3a8409363718978e6de691bdb551fb"}, +] +moderngl-window = [ + {file = "moderngl_window-2.3.0-py3-none-any.whl", hash = "sha256:79056e6b6a1e8c540031166d2ec308a40806baf461e5d492730966c3cf372a31"}, +] +multipledispatch = [ + {file = "multipledispatch-0.6.0-py2-none-any.whl", hash = "sha256:407e6d8c5fa27075968ba07c4db3ef5f02bea4e871e959570eeb69ee39a6565b"}, + {file = "multipledispatch-0.6.0-py3-none-any.whl", hash = "sha256:a55c512128fb3f7c2efd2533f2550accb93c35f1045242ef74645fc92a2c3cba"}, + {file = "multipledispatch-0.6.0.tar.gz", hash = "sha256:a7ab1451fd0bf9b92cab3edbd7b205622fb767aeefb4fb536c2e3de9e0a38bea"}, +] +networkx = [ + {file = "networkx-2.5.1-py3-none-any.whl", hash = "sha256:0635858ed7e989f4c574c2328380b452df892ae85084144c73d8cd819f0c4e06"}, + {file = "networkx-2.5.1.tar.gz", hash = "sha256:109cd585cac41297f71103c3c42ac6ef7379f29788eb54cb751be5a663bb235a"}, +] +numpy = [ + {file = "numpy-1.20.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e9459f40244bb02b2f14f6af0cd0732791d72232bbb0dc4bab57ef88e75f6935"}, + {file = "numpy-1.20.2-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:a8e6859913ec8eeef3dbe9aed3bf475347642d1cdd6217c30f28dee8903528e6"}, + {file = "numpy-1.20.2-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:9cab23439eb1ebfed1aaec9cd42b7dc50fc96d5cd3147da348d9161f0501ada5"}, + {file = "numpy-1.20.2-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:9c0fab855ae790ca74b27e55240fe4f2a36a364a3f1ebcfd1fb5ac4088f1cec3"}, + {file = "numpy-1.20.2-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:61d5b4cf73622e4d0c6b83408a16631b670fc045afd6540679aa35591a17fe6d"}, + {file = "numpy-1.20.2-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:d15007f857d6995db15195217afdbddfcd203dfaa0ba6878a2f580eaf810ecd6"}, + {file = "numpy-1.20.2-cp37-cp37m-win32.whl", hash = "sha256:d76061ae5cab49b83a8cf3feacefc2053fac672728802ac137dd8c4123397677"}, + {file = "numpy-1.20.2-cp37-cp37m-win_amd64.whl", hash = "sha256:bad70051de2c50b1a6259a6df1daaafe8c480ca98132da98976d8591c412e737"}, + {file = "numpy-1.20.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:719656636c48be22c23641859ff2419b27b6bdf844b36a2447cb39caceb00935"}, + {file = "numpy-1.20.2-cp38-cp38-manylinux1_i686.whl", hash = "sha256:aa046527c04688af680217fffac61eec2350ef3f3d7320c07fd33f5c6e7b4d5f"}, + {file = "numpy-1.20.2-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:2428b109306075d89d21135bdd6b785f132a1f5a3260c371cee1fae427e12727"}, + {file = "numpy-1.20.2-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:e8e4fbbb7e7634f263c5b0150a629342cc19b47c5eba8d1cd4363ab3455ab576"}, + {file = "numpy-1.20.2-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:edb1f041a9146dcf02cd7df7187db46ab524b9af2515f392f337c7cbbf5b52cd"}, + {file = "numpy-1.20.2-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:c73a7975d77f15f7f68dacfb2bca3d3f479f158313642e8ea9058eea06637931"}, + {file = "numpy-1.20.2-cp38-cp38-win32.whl", hash = "sha256:6c915ee7dba1071554e70a3664a839fbc033e1d6528199d4621eeaaa5487ccd2"}, + {file = "numpy-1.20.2-cp38-cp38-win_amd64.whl", hash = "sha256:471c0571d0895c68da309dacee4e95a0811d0a9f9f532a48dc1bea5f3b7ad2b7"}, + {file = "numpy-1.20.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4703b9e937df83f5b6b7447ca5912b5f5f297aba45f91dbbbc63ff9278c7aa98"}, + {file = "numpy-1.20.2-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:abc81829c4039e7e4c30f7897938fa5d4916a09c2c7eb9b244b7a35ddc9656f4"}, + {file = "numpy-1.20.2-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:377751954da04d4a6950191b20539066b4e19e3b559d4695399c5e8e3e683bf6"}, + {file = "numpy-1.20.2-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:6e51e417d9ae2e7848314994e6fc3832c9d426abce9328cf7571eefceb43e6c9"}, + {file = "numpy-1.20.2-cp39-cp39-win32.whl", hash = "sha256:780ae5284cb770ade51d4b4a7dce4faa554eb1d88a56d0e8b9f35fca9b0270ff"}, + {file = "numpy-1.20.2-cp39-cp39-win_amd64.whl", hash = "sha256:924dc3f83de20437de95a73516f36e09918e9c9c18d5eac520062c49191025fb"}, + {file = "numpy-1.20.2-pp37-pypy37_pp73-manylinux2010_x86_64.whl", hash = "sha256:97ce8b8ace7d3b9288d88177e66ee75480fb79b9cf745e91ecfe65d91a856042"}, + {file = "numpy-1.20.2.zip", hash = "sha256:878922bf5ad7550aa044aa9301d417e2d3ae50f0f577de92051d739ac6096cee"}, +] +pillow = [ + {file = "Pillow-8.2.0-cp36-cp36m-macosx_10_10_x86_64.whl", hash = "sha256:dc38f57d8f20f06dd7c3161c59ca2c86893632623f33a42d592f097b00f720a9"}, + {file = "Pillow-8.2.0-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:a013cbe25d20c2e0c4e85a9daf438f85121a4d0344ddc76e33fd7e3965d9af4b"}, + {file = "Pillow-8.2.0-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:8bb1e155a74e1bfbacd84555ea62fa21c58e0b4e7e6b20e4447b8d07990ac78b"}, + {file = "Pillow-8.2.0-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:c5236606e8570542ed424849f7852a0ff0bce2c4c8d0ba05cc202a5a9c97dee9"}, + {file = "Pillow-8.2.0-cp36-cp36m-win32.whl", hash = "sha256:12e5e7471f9b637762453da74e390e56cc43e486a88289995c1f4c1dc0bfe727"}, + {file = "Pillow-8.2.0-cp36-cp36m-win_amd64.whl", hash = "sha256:5afe6b237a0b81bd54b53f835a153770802f164c5570bab5e005aad693dab87f"}, + {file = "Pillow-8.2.0-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:cb7a09e173903541fa888ba010c345893cd9fc1b5891aaf060f6ca77b6a3722d"}, + {file = "Pillow-8.2.0-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:0d19d70ee7c2ba97631bae1e7d4725cdb2ecf238178096e8c82ee481e189168a"}, + {file = "Pillow-8.2.0-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:083781abd261bdabf090ad07bb69f8f5599943ddb539d64497ed021b2a67e5a9"}, + {file = "Pillow-8.2.0-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:c6b39294464b03457f9064e98c124e09008b35a62e3189d3513e5148611c9388"}, + {file = "Pillow-8.2.0-cp37-cp37m-win32.whl", hash = "sha256:01425106e4e8cee195a411f729cff2a7d61813b0b11737c12bd5991f5f14bcd5"}, + {file = "Pillow-8.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:3b570f84a6161cf8865c4e08adf629441f56e32f180f7aa4ccbd2e0a5a02cba2"}, + {file = "Pillow-8.2.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:031a6c88c77d08aab84fecc05c3cde8414cd6f8406f4d2b16fed1e97634cc8a4"}, + {file = "Pillow-8.2.0-cp38-cp38-manylinux1_i686.whl", hash = "sha256:66cc56579fd91f517290ab02c51e3a80f581aba45fd924fcdee01fa06e635812"}, + {file = "Pillow-8.2.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:6c32cc3145928c4305d142ebec682419a6c0a8ce9e33db900027ddca1ec39178"}, + {file = "Pillow-8.2.0-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:624b977355cde8b065f6d51b98497d6cd5fbdd4f36405f7a8790e3376125e2bb"}, + {file = "Pillow-8.2.0-cp38-cp38-win32.whl", hash = "sha256:5cbf3e3b1014dddc45496e8cf38b9f099c95a326275885199f427825c6522232"}, + {file = "Pillow-8.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:463822e2f0d81459e113372a168f2ff59723e78528f91f0bd25680ac185cf797"}, + {file = "Pillow-8.2.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:95d5ef984eff897850f3a83883363da64aae1000e79cb3c321915468e8c6add5"}, + {file = "Pillow-8.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b91c36492a4bbb1ee855b7d16fe51379e5f96b85692dc8210831fbb24c43e484"}, + {file = "Pillow-8.2.0-cp39-cp39-manylinux1_i686.whl", hash = "sha256:d68cb92c408261f806b15923834203f024110a2e2872ecb0bd2a110f89d3c602"}, + {file = "Pillow-8.2.0-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:f217c3954ce5fd88303fc0c317af55d5e0204106d86dea17eb8205700d47dec2"}, + {file = "Pillow-8.2.0-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:5b70110acb39f3aff6b74cf09bb4169b167e2660dabc304c1e25b6555fa781ef"}, + {file = "Pillow-8.2.0-cp39-cp39-win32.whl", hash = "sha256:a7d5e9fad90eff8f6f6106d3b98b553a88b6f976e51fce287192a5d2d5363713"}, + {file = "Pillow-8.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:238c197fc275b475e87c1453b05b467d2d02c2915fdfdd4af126145ff2e4610c"}, + {file = "Pillow-8.2.0-pp36-pypy36_pp73-macosx_10_10_x86_64.whl", hash = "sha256:0e04d61f0064b545b989126197930807c86bcbd4534d39168f4aa5fda39bb8f9"}, + {file = "Pillow-8.2.0-pp36-pypy36_pp73-manylinux2010_i686.whl", hash = "sha256:63728564c1410d99e6d1ae8e3b810fe012bc440952168af0a2877e8ff5ab96b9"}, + {file = "Pillow-8.2.0-pp36-pypy36_pp73-manylinux2010_x86_64.whl", hash = "sha256:c03c07ed32c5324939b19e36ae5f75c660c81461e312a41aea30acdd46f93a7c"}, + {file = "Pillow-8.2.0-pp37-pypy37_pp73-macosx_10_10_x86_64.whl", hash = "sha256:4d98abdd6b1e3bf1a1cbb14c3895226816e666749ac040c4e2554231068c639b"}, + {file = "Pillow-8.2.0-pp37-pypy37_pp73-manylinux2010_i686.whl", hash = "sha256:aac00e4bc94d1b7813fe882c28990c1bc2f9d0e1aa765a5f2b516e8a6a16a9e4"}, + {file = "Pillow-8.2.0-pp37-pypy37_pp73-manylinux2010_x86_64.whl", hash = "sha256:22fd0f42ad15dfdde6c581347eaa4adb9a6fc4b865f90b23378aa7914895e120"}, + {file = "Pillow-8.2.0-pp37-pypy37_pp73-win32.whl", hash = "sha256:e98eca29a05913e82177b3ba3d198b1728e164869c613d76d0de4bde6768a50e"}, + {file = "Pillow-8.2.0.tar.gz", hash = "sha256:a787ab10d7bb5494e5f76536ac460741788f1fbce851068d73a87ca7c35fc3e1"}, +] +pycairo = [ + {file = "pycairo-1.20.0-cp36-cp36m-win32.whl", hash = "sha256:e5a3433690c473e073a9917dc8f1fc7dc8b9af7b201bf372894b8ad70d960c6d"}, + {file = "pycairo-1.20.0-cp36-cp36m-win_amd64.whl", hash = "sha256:a942614923b88ae75c794506d5c426fba9c46a055d3fdd3b8db7046b75c079cc"}, + {file = "pycairo-1.20.0-cp37-cp37m-win32.whl", hash = "sha256:8cfa9578b745fb9cf2915ec580c2c50ebc2da00eac2cf4c4b54b63aa19da4b77"}, + {file = "pycairo-1.20.0-cp37-cp37m-win_amd64.whl", hash = "sha256:273a33c56aba724ec42fe1d8f94c86c2e2660c1277470be9b04e5113d7c5b72d"}, + {file = "pycairo-1.20.0-cp38-cp38-win32.whl", hash = "sha256:2088100a099c09c5e90bf247409ce6c98f51766b53bd13f96d6aac7addaa3e66"}, + {file = "pycairo-1.20.0-cp38-cp38-win_amd64.whl", hash = "sha256:ceb1edcbeb48dabd5fbbdff2e4b429aa88ddc493d6ebafe78d94b050ac0749e2"}, + {file = "pycairo-1.20.0-cp39-cp39-win32.whl", hash = "sha256:57a768f4edc8a9890d98070dd473a812ac3d046cef4bc1c817d68024dab9a9b4"}, + {file = "pycairo-1.20.0-cp39-cp39-win_amd64.whl", hash = "sha256:57166119e424d71eccdba6b318bd731bdabd17188e2ba10d4f315f7bf16ace3f"}, + {file = "pycairo-1.20.0.tar.gz", hash = "sha256:5695a10cb7f9ae0d01f665b56602a845b0a8cb17e2123bfece10c2e58552468c"}, +] +pydub = [ + {file = "pydub-0.25.1-py2.py3-none-any.whl", hash = "sha256:65617e33033874b59d87db603aa1ed450633288aefead953b30bded59cb599a6"}, + {file = "pydub-0.25.1.tar.gz", hash = "sha256:980a33ce9949cab2a569606b65674d748ecbca4f0796887fd6f46173a7b0d30f"}, +] +pyglet = [ + {file = "pyglet-1.5.16-py3-none-any.whl", hash = "sha256:37cced6f4f7e30e7ace73779d068c86b3dc26f1a28b602016d37113ae830d7f8"}, + {file = "pyglet-1.5.16.zip", hash = "sha256:ad4a02d6fbebdaa748f8af6d2d388d64d446b6ccdfb9c0d7dfd49d7164913400"}, +] +pygments = [ + {file = "Pygments-2.9.0-py3-none-any.whl", hash = "sha256:d66e804411278594d764fc69ec36ec13d9ae9147193a1740cd34d272ca383b8e"}, + {file = "Pygments-2.9.0.tar.gz", hash = "sha256:a18f47b506a429f6f4b9df81bb02beab9ca21d0a5fee38ed15aef65f0545519f"}, +] +pyrr = [ + {file = "pyrr-0.10.3-py3-none-any.whl", hash = "sha256:d8af23fb9bb29262405845e1c98f7339fbba5e49323b98528bd01160a75c65ac"}, + {file = "pyrr-0.10.3.tar.gz", hash = "sha256:3c0f7b20326e71f706a610d58f2190fff73af01eef60c19cb188b186f0ec7e1d"}, +] +requests = [ + {file = "requests-2.25.1-py2.py3-none-any.whl", hash = "sha256:c210084e36a42ae6b9219e00e48287def368a26d03a048ddad7bfee44f75871e"}, + {file = "requests-2.25.1.tar.gz", hash = "sha256:27973dd4a904a4f13b263a19c866c13b92a39ed1c964655f025f3f8d3d75b804"}, +] +rich = [ + {file = "rich-6.2.0-py3-none-any.whl", hash = "sha256:fa55d5d6ba9a0df1f1c95518891b57b13f1d45548a9a198a87b093fceee513ec"}, + {file = "rich-6.2.0.tar.gz", hash = "sha256:f99c877277906e1ff83b135c564920590ba31188f424dcdb5d1cae652a519b4b"}, +] +scipy = [ + {file = "scipy-1.6.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a15a1f3fc0abff33e792d6049161b7795909b40b97c6cc2934ed54384017ab76"}, + {file = "scipy-1.6.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:e79570979ccdc3d165456dd62041d9556fb9733b86b4b6d818af7a0afc15f092"}, + {file = "scipy-1.6.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:a423533c55fec61456dedee7b6ee7dce0bb6bfa395424ea374d25afa262be261"}, + {file = "scipy-1.6.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:33d6b7df40d197bdd3049d64e8e680227151673465e5d85723b3b8f6b15a6ced"}, + {file = "scipy-1.6.1-cp37-cp37m-win32.whl", hash = "sha256:6725e3fbb47da428794f243864f2297462e9ee448297c93ed1dcbc44335feb78"}, + {file = "scipy-1.6.1-cp37-cp37m-win_amd64.whl", hash = "sha256:5fa9c6530b1661f1370bcd332a1e62ca7881785cc0f80c0d559b636567fab63c"}, + {file = "scipy-1.6.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:bd50daf727f7c195e26f27467c85ce653d41df4358a25b32434a50d8870fc519"}, + {file = "scipy-1.6.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:f46dd15335e8a320b0fb4685f58b7471702234cba8bb3442b69a3e1dc329c345"}, + {file = "scipy-1.6.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:0e5b0ccf63155d90da576edd2768b66fb276446c371b73841e3503be1d63fb5d"}, + {file = "scipy-1.6.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:2481efbb3740977e3c831edfd0bd9867be26387cacf24eb5e366a6a374d3d00d"}, + {file = "scipy-1.6.1-cp38-cp38-win32.whl", hash = "sha256:68cb4c424112cd4be886b4d979c5497fba190714085f46b8ae67a5e4416c32b4"}, + {file = "scipy-1.6.1-cp38-cp38-win_amd64.whl", hash = "sha256:5f331eeed0297232d2e6eea51b54e8278ed8bb10b099f69c44e2558c090d06bf"}, + {file = "scipy-1.6.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:0c8a51d33556bf70367452d4d601d1742c0e806cd0194785914daf19775f0e67"}, + {file = "scipy-1.6.1-cp39-cp39-manylinux1_i686.whl", hash = "sha256:83bf7c16245c15bc58ee76c5418e46ea1811edcc2e2b03041b804e46084ab627"}, + {file = "scipy-1.6.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:794e768cc5f779736593046c9714e0f3a5940bc6dcc1dba885ad64cbfb28e9f0"}, + {file = "scipy-1.6.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:5da5471aed911fe7e52b86bf9ea32fb55ae93e2f0fac66c32e58897cfb02fa07"}, + {file = "scipy-1.6.1-cp39-cp39-win32.whl", hash = "sha256:8e403a337749ed40af60e537cc4d4c03febddcc56cd26e774c9b1b600a70d3e4"}, + {file = "scipy-1.6.1-cp39-cp39-win_amd64.whl", hash = "sha256:a5193a098ae9f29af283dcf0041f762601faf2e595c0db1da929875b7570353f"}, + {file = "scipy-1.6.1.tar.gz", hash = "sha256:c4fceb864890b6168e79b0e714c585dbe2fd4222768ee90bc1aa0f8218691b11"}, +] +six = [ + {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, + {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, +] +tqdm = [ + {file = "tqdm-4.60.0-py2.py3-none-any.whl", hash = "sha256:daec693491c52e9498632dfbe9ccfc4882a557f5fa08982db1b4d3adbe0887c3"}, + {file = "tqdm-4.60.0.tar.gz", hash = "sha256:ebdebdb95e3477ceea267decfc0784859aa3df3e27e22d23b83e9b272bf157ae"}, +] +typing-extensions = [ + {file = "typing_extensions-3.10.0.0-py2-none-any.whl", hash = "sha256:0ac0f89795dd19de6b97debb0c6af1c70987fd80a2d62d1958f7e56fcc31b497"}, + {file = "typing_extensions-3.10.0.0-py3-none-any.whl", hash = "sha256:779383f6086d90c99ae41cf0ff39aac8a7937a9283ce0a414e5dd782f4c94a84"}, + {file = "typing_extensions-3.10.0.0.tar.gz", hash = "sha256:50b6f157849174217d0656f99dc82fe932884fb250826c18350e159ec6cdf342"}, +] +urllib3 = [ + {file = "urllib3-1.26.4-py2.py3-none-any.whl", hash = "sha256:2f4da4594db7e1e110a944bb1b551fdf4e6c136ad42e4234131391e21eb5b0df"}, + {file = "urllib3-1.26.4.tar.gz", hash = "sha256:e7b021f7241115872f92f43c6508082facffbd1c048e3c6e2bb9c2a157e28937"}, +] +watchdog = [ + {file = "watchdog-2.1.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:af1d42ac65bf3f851d787e723a950d9c878c4ef0ff3381a2196d36b0c4b6d39c"}, + {file = "watchdog-2.1.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8a75022cacbd0ad66ab8a9059322a76a43164ea020b373cbc28ddbacf9410b14"}, + {file = "watchdog-2.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:37bf90ef22b666fb0b5c1ea4375c9cbf43f1ff72489a91bf6f0370ba13e09b2a"}, + {file = "watchdog-2.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:66193c811498ff539d0312091bdcbd98cce03b5425b8fa918c80f21a278e8358"}, + {file = "watchdog-2.1.0-pp36-pypy36_pp73-macosx_10_9_x86_64.whl", hash = "sha256:5472ee2d23eaedf16c4b5088897cd9f50cd502074f508011180466d678cdf62a"}, + {file = "watchdog-2.1.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a079aceede99b83a4cf4089f6e2243c864f368b60f4cce7bf46286f3cfcc8947"}, + {file = "watchdog-2.1.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:da1ca0845bbc92606b08a08988d8dbcba514a16c209be29d211b13cf0d5be2fd"}, + {file = "watchdog-2.1.0-py3-none-manylinux2014_armv7l.whl", hash = "sha256:5a62491c035646130c290a4cb773d7de103ac0202ac8305404bdb7db17ab5c3f"}, + {file = "watchdog-2.1.0-py3-none-manylinux2014_i686.whl", hash = "sha256:8c8ff287308a2ba5148aa450d742198d838636b65de52edd3eccfa4c86bf8004"}, + {file = "watchdog-2.1.0-py3-none-manylinux2014_ppc64.whl", hash = "sha256:05544fdd1cdc00b5231fb564f17428c5d502756419008cb8045be5b297eac21c"}, + {file = "watchdog-2.1.0-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:8ab111b71fba4f8f77baa39d42bf923d085f64869396497518c43297fe1ec4e7"}, + {file = "watchdog-2.1.0-py3-none-manylinux2014_s390x.whl", hash = "sha256:06ee7b77a8169f9828f8d24fc3d3d99b2216e1d2f7085b5913022a55161da758"}, + {file = "watchdog-2.1.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:c2d37a9df96d8f9ea560c0824f179168d8501f3e614b5e9f2168b38fe6ef3c12"}, + {file = "watchdog-2.1.0-py3-none-win32.whl", hash = "sha256:6c6fa079abddea664f7ecda0a02636ca276f095bd26f474c23b3f968f1e938ec"}, + {file = "watchdog-2.1.0-py3-none-win_amd64.whl", hash = "sha256:80afa2b32aac3abc7fb6ced508fc612997a0c8fb0f497217d54c524ff52e9e3a"}, + {file = "watchdog-2.1.0-py3-none-win_ia64.whl", hash = "sha256:b8fb08629f52d3e0a060b93d711824f2b06fb8e0d09ad453f2a93d0c97d6b1ec"}, + {file = "watchdog-2.1.0.tar.gz", hash = "sha256:55316efab52f659b8b7b59730680bfb27ac003522f24c44f6bcd60c4e3736ccd"}, +] +zipp = [ + {file = "zipp-3.4.1-py3-none-any.whl", hash = "sha256:51cb66cc54621609dd593d1787f286ee42a5c0adbb4b29abea5a63edc3e03098"}, + {file = "zipp-3.4.1.tar.gz", hash = "sha256:3607921face881ba3e026887d8150cca609d517579abe052ac81fc5aeffdbd76"}, +] diff --git a/vorlesungen/punktgruppen/pyproject.toml b/vorlesungen/punktgruppen/pyproject.toml new file mode 100644 index 0000000..527eb57 --- /dev/null +++ b/vorlesungen/punktgruppen/pyproject.toml @@ -0,0 +1,15 @@ +[tool.poetry] +name = "presentation" +version = "0.1.0" +description = "" +authors = ["Nao Pross <np@0hm.ch>"] + +[tool.poetry.dependencies] +python = "^3.7" +manim = "^0.6.0" + +[tool.poetry.dev-dependencies] + +[build-system] +requires = ["poetry-core>=1.0.0"] +build-backend = "poetry.core.masonry.api" diff --git a/vorlesungen/punktgruppen/script.pdf b/vorlesungen/punktgruppen/script.pdf Binary files differnew file mode 100644 index 0000000..91993fb --- /dev/null +++ b/vorlesungen/punktgruppen/script.pdf diff --git a/vorlesungen/punktgruppen/script.tex b/vorlesungen/punktgruppen/script.tex new file mode 100644 index 0000000..bc50e21 --- /dev/null +++ b/vorlesungen/punktgruppen/script.tex @@ -0,0 +1,214 @@ +\documentclass[a4paper]{article} + +\usepackage{amsmath} +\usepackage{amssymb} + +\usepackage[cm]{manuscript} +\usepackage{xcolor} + +\newcommand{\scene}[1]{\par\noindent[ #1 ]\par} +\newenvironment{totranslate}{\color{blue!70!black}}{} + +\begin{document} +\section{Das sind wir} +\scene{Camera} + +\section{Ablauf} +Zuerst werden wir Symmetrien in 2 Dimensionen anschauen, dann \"uberlegen wir +kurz was es heisst f\"ur eine Symmetrie ``algebraisch'' zu sein. Von da aus +kommt die dritte Dimension hinzu, die man besser mit Matrizen verstehen kann. +Mit der aufgebauten Theorie werden wir versuchen Kristalle zu klassifizieren. +Und zum Schluss kommen wir zu Anwendungen, welche f\"ur Ingenieure von +Interesse sind. + +\section{intro} +\scene{Spontan} + +\section{2D Geometrie} +\scene{Intro} +Wir fangen mit den 2 dimensionalen Symmetrien an, da man sie sich am +einfachsten vorstellen kann. Eine Symmetrie eines Objektes beschreibt eine +Aktion, welche nachdem sie auf das Objekt wirkt, das Objekt wieder gleich +aussehen l\"asst. + +\scene{Viereck} +Die einfachste Aktion, ist das Viereck zu nehmen, und wieder hinzulegen. +Eine andere Aktion k\"onnte sein, das Objekt um eine Achse zu spiegeln, +oder eine Rotation um 90 Grad. + +\scene{Zyklische Gruppe} +Fokussieren wir uns auf die einfachste Klassen von Symmetrien: diejenigen die +von einer reinen Drehung generiert werden. Wir sammeln diese in einer Gruppe +\(G\), und notieren das sie von eine Rotation \(r\) generiert worden sind, mit +diesen spitzen Klammern. + +Nehmen wir als Beispiel dieses Pentagon. Wenn wir \(r\) 5-mal anwenden, ist es +dasselbe als wenn wir nichts gemacht h\"atten. Wenn wir es noch ein 6. mal +drehen, entspricht dies dasselbe wie \(r\) nur 1 mal zu nutzen. + +\scene{Notation} +So, die Gruppe setzt sich zusammen aus dem neutralen Element, und den Potenzen +1 bis 4 von \(r\). Oder im allgemein Gruppen mit dieser Struktur, in welcher die +Aktion \(n-1\) mal angewendet werden kann, heissen ``Zyklische Gruppe''. + +\scene{Diedergruppe} +Nehmen wir nun auch noch die Spiegeloperation \(\sigma\) dazu. Weil wir jetzt 2 +Operationen haben, m\"ussen wir auch im Generator schreiben wie sie +zusammenh\"angen. Schauen wir dann uns genauer diesen Ausdr\"uck an. Zweimal +Spielegeln ist \"aquivalent zum neutralen Element, sowie 4 mal um 90 Grad +drehen und 2 Drehspiegelungen, welche man auch Inversion nennt. + +\scene{Notation} +Daraus k\"onnen wir wieder die ganze Gruppe erzeugen, die im allgemeinen den +Symmetrien eines \(n\)-gons entsprechen. + +\scene{Kreisgruppe} +Bis jetzt hatten wir nur diskrete Symmetrien, was nicht zwingend der Fall sein +muss. Ein Ring kann man kontinuierlich drehen, und sieht dabei immer gleich +aus. + +Diese Symmetrie ist auch als Kreisgruppe bekannt, die man sch\"on mit dem +komplexen Einheitskreis definieren kann. + +\section{Algebra} +\scene{Produkt mit \(i\)} +\"Uberlegen wir uns eine spezielle algebraische Operation: Multiplikation mit +der imagin\"aren Einheit. \(1\) mal \(i\) ist gleich \(i\). Wieder mal \(i\) +ist \(-1\), dann \(-i\) und schliesslich kommen wir z\"uruck auf \(1\). Diese +fassen wir in eine Gruppe \(G\) zusammen. Oder sch\"oner geschrieben:. Sieht das +bekannt aus? + +\scene{Morphismen} +Das Gefühl, dass es sich um dasselbe handelt, kann wie folgt formalisiert +werden. Sei \(\phi\) eine Funktion von \(C_4\) zu \(G\) und ordnen wir zu +jeder Symmetrieoperation ein Element aus \(G\). Wenn man die Zuordnung richtig +definiert, dann sieht man die folgende Eigenschaft: Eine Operation nach eine +andere zu nutzen, und dann die Funktion des Resultats zu nehmen, ist gleich wie +die Funktion der einzelnen Operazionen zu nehmen und die Resultate zu +multiplizieren. Dieses Ergebnis ist so bemerkenswert, dass es in der Mathematik +einen Namen bekommen hat: Homorphismus, von griechisch "homos" dasselbe und +"morphe" Form. Manchmal auch so geschrieben. Ausserdem, wenn \(\phi\) eins zu +eins ist, heisst es \emph{Iso}morphismus: "iso" gleiche Form. Was man +typischerweise mit diesem Symbol schreibt. + +\scene{Animation} +Sie haben wahrscheinlich schon gesehen, worauf das hinausläuft. Dass die +zyklische Gruppe \(C_4\) und \(G\) isomorph sind ist nicht nur Fachjargon der +mathematik, sondern sie haben wirklich die selbe Struktur. + +\scene{Modulo} +Das Beispiel mit der komplexen Einheit, war wahrscheinlich nicht so +\"uberraschend. Aber was merkw\"urdig ist, ist das Beziehungen zwischen +Symmetrien und Algebra auch in Bereichen gefunden werden, welche auf den ersten +Blick, nicht geomerisch erscheinen. Ein R\"atsel für die Neugierigen: die Summe +in der Modulo-Arithmetik. Als Hinweis: Um die Geometrie zu finden denken Sie +an einer Uhr. + +\section{3D Geometrie} +2 Dimensionen sind einfacher zu zeichnen, aber leider leben wir im 3 +dimensionalen Raum. + +\scene{Zyklische Gruppe} +Wenn wir unser bekanntes Viereck mit seiner zyklischer Symmetrie in 3 +Dimensionen betrachten, k\"onnen wir seine Drehachse sehen. + +\scene{Diedergruppe} +Um auch noch die andere Symmetrie des Rechteckes zu sehen, ben\"otigen wir eine +Spiegelachse \(\sigma\), die hier eine Spiegelebene ist. + +\scene{Transition} +Um die Punktsymmetrien zu klassifizieren orientiert man sich an einer Achse, um +welche sich die meisten Symmetrien drehen. Das geht aber nicht immer, wie beim +Tetraeder. + +\scene{Tetraedergruppe} +Diese Geometrie hat 4 gleichwertige Symmetrieachsen, die eben eine +Symmetriegruppe aufbauen, welche kreativer weise Tetraedergruppe genannt wird. +Vielleicht fallen Ihnnen weitere Polygone ein mit dieser Eigenschaft, bevor wir +zum n\"achsten Thema weitergehen. + +\section{Matrizen} +\scene{Titelseite} +Nun gehen wir kurz auf den Thema unseres Seminars ein: Matrizen. Das man mit +Matrizen Dinge darstellen kann, ist keine Neuigkeit mehr, nach einem +Semester MatheSeminar. Also überrascht es wohl auch keinen, das man alle +punktsymmetrischen Operationen auch mit Matrizen Formulieren kann. + +\scene{Matrizen} + +Sei dann \(G\) unsere Symmetrie Gruppe, die unsere abstrakte Drehungen und +Spiegelungen enth\"ahlt. Die Matrix Darstellung dieser Gruppe, ist eine +Funktion gross \(\Phi\), von \(G\) zur orthogonalen Gruppe \(O(3)\), die zu +jeder Symmetrie Operation klein \(g\) eine Matrix gross \(\Phi_g\) zuordnet. + +Zur Erinnerung, die Orthogonale Gruppe ist definiert als die Matrizen, deren +transponierte auch die inverse ist. Da diese Volumen und Distanzen erhalten, +natuerlich nur bis zu einer Vorzeichenumkehrung, macht es Sinn, dass diese +Punksymmetrien genau beschreiben. + +Nehmen wir die folgende Operationen als Beispiele. Die Matrix der trivialen +Operation, dass heisst nichts zu machen, ist die Einheitsmatrix. Eine +Spiegelung ist dasselbe aber mit einem Minus, und Drehungen sind uns schon +dank Herrn M\"uller bekannt. + +\section{Kristalle} +\scene{Spontan} + +\section{Piezo} +\scene{Spontan} + +\section{Licht} +Als Finale, haben wir ein schwieriges Problem aus der Physik. Das Ziel dieser +Folie ist nicht jedes Zeichen zu versehen, sondern zu zeigen wie man von hier +weiter gehen kann. Wir mochten sehen wie sich Licht in einem Kristall verhaltet. +Genauer, wir m\"ochten die Amplitude einer +elektromagnetischer Welle in einem Kristall beschreiben. + +Das Beispiel richtet sich mehr an Elektrotechnik Studenten, aber die Theorie +ist die gleiche bei mechanischen Wellen in Materialien mit einer +Spannungstensor wie dem, den wir letzte Woche gesehen haben. +% Ganz grob gesagt, ersetzt man E durch Xi und epsilon durch das Sigma. + +Um eine Welle zu beschreiben, verwenden wir die Helmholtz-Gleichung, die einige +von uns bereits in anderen Kursen gel\"ost haben. Schwierig wird aber dieses +Problem, wenn der Term vor der Zeitableitung ein Tensor ist (f\"ur uns eine Matrix). + +Zur Vereinfachung werden wir eine ebene Welle verwenden. Setzt man dieses E in +die Helmholtz-Gleichung ein, erhält man folgendes zurück: ein Eigenwertproblem. + +Physikalisch bedeutet dies, dass die Welle in diesem Material ihre Amplitude in +Abhängigkeit von der Ausbreitungsrichtung ändert. Und die Eigenwerte sagen +aus, wie stark die Amplitude der Welle in jeder Richtung skaliert wird. + +Ich sagte, in jede Richtung skaliert, aber welche Richtungen genau? +Physikalisch hängt das von der kristallinen Struktur des Materials ab, aber +mathematisch können wir sagen: in Richtung der Eigenvektoren! Aber diesen +Eigenraum zu finden, in dem die Eigenvektoren wohnen, ist beliebig schwierig. + +Hier kommt unsere Gruppentheorie zu Hilfe. Wir können die Symmetrien unseres +Kristalls zur Hilfe nehmen. Zu jeder dieser Symmetrien lässt sich bekanntlich eine +einfache Matrix finden, deren Eigenraum ebenfalls relativ leicht zu finden ist. +Zum Beispiel ist der Eigenraum der Rotation \(r\), die Rotationsachse, für die +Reflexion \(\sigma\) eine Ebene, und so weiter. + +Nun ist die Frage, ob man diese Eingenraume der Symmetrienoperationen +kombinieren kann um den Eigenraum des physikalisches Problems zu finden. + +Aber leider ist meine Zeit abgelaufen in der Recherche, also müssen Sie mir 2 +Dingen einfach glauben, erstens dass es einen Weg gibt, und zweitens dass eher +nicht so schlimm ist, wenn man die Notation einmal gelernt hat. + +Nachdem wir an, wir haben den Eigenraum U gefunden, dann können wir einen +(Eigen)Vektor E daraus nehmen und in ihm direkt lambda ablesen. Das sagt uns, +wie die Amplitude der Welle, in diese Richtung gedämpft wurde. + +Diese Methode ist nicht spezifisch für dieses Problem, im Gegenteil, ich habe +gesehen, dass sie in vielen Bereichen eingesetzt wird, wie z.B.: +Kristallographie, Festkörperphysik, Molekülschwingungen in der Quantenchemie +und numerische Simulationen von Membranen. + +\section{Outro} +\scene{Camera} + +\end{document} +% vim:et ts=2 sw=2: diff --git a/vorlesungen/punktgruppen/slides.pdf b/vorlesungen/punktgruppen/slides.pdf Binary files differnew file mode 100644 index 0000000..e1769f8 --- /dev/null +++ b/vorlesungen/punktgruppen/slides.pdf diff --git a/vorlesungen/punktgruppen/slides.tex b/vorlesungen/punktgruppen/slides.tex new file mode 100644 index 0000000..cd3d7d7 --- /dev/null +++ b/vorlesungen/punktgruppen/slides.tex @@ -0,0 +1,895 @@ +\documentclass[12pt, xcolor, aspectratio=169, handout]{beamer} + +% language +\usepackage{polyglossia} +\setmainlanguage{german} + +% pretty drawings +\usepackage{tikz} +\usepackage{tikz-3dplot} + +\usetikzlibrary{positioning} +\usetikzlibrary{arrows.meta} +\usetikzlibrary{shapes.misc} +\usetikzlibrary{calc} + +\usetikzlibrary{external} +\tikzexternalize[ + mode = graphics if exists, + figure list = true, + prefix=build/ +] + +% Theme +\beamertemplatenavigationsymbolsempty + +% set look +\usetheme{default} +\usecolortheme{fly} +\usefonttheme{serif} + +%% Set font +\usepackage[p,osf]{scholax} +\usepackage{amsmath} +\usepackage[scaled=1.075,ncf,vvarbb]{newtxmath} + +% set colors +\definecolor{background}{HTML}{202020} + +\setbeamercolor{normal text}{fg=white, bg=background} +\setbeamercolor{structure}{fg=white} + +\setbeamercolor{item projected}{use=item,fg=background,bg=item.fg!35} + +\setbeamercolor*{palette primary}{use=structure,fg=white,bg=structure.fg} +\setbeamercolor*{palette secondary}{use=structure,fg=white,bg=structure.fg!75} +\setbeamercolor*{palette tertiary}{use=structure,fg=white,bg=structure.fg!50} +\setbeamercolor*{palette quaternary}{fg=white,bg=background} + +\setbeamercolor*{block title}{parent=structure} +\setbeamercolor*{block body}{fg=background, bg=} + +\setbeamercolor*{framesubtitle}{fg=white} + +\setbeamertemplate{section page} +{ + \begin{center} + \Huge + \insertsection + \end{center} +} +\AtBeginSection{\frame{\sectionpage}} + +% Macros +\newcommand{\ten}[1]{#1} + +% Metadata +\title{\LARGE \scshape Punktgruppen und Kristalle} +\author[N. Pross, T. T\"onz]{Naoki Pross, Tim T\"onz} +\institute{Hochschule f\"ur Technik OST, Rapperswil} +\date{10. Mai 2021} + +% Slides +\begin{document} +\frame{ + \titlepage + \vfill + \begin{center} + \small \color{gray} + Slides: \texttt{s.0hm.ch/ctBsD} + \end{center} +} +\frame{\tableofcontents} + +\frame{ + \begin{itemize} + \item Was heisst \emph{Symmetrie} in der Mathematik? \pause + \item Wie kann ein Kristall modelliert werden? \pause + \item Aus der Physik: Licht, Piezoelektrizit\"at \pause + \end{itemize} + \begin{center} + \begin{tikzpicture} + \begin{scope}[ + node distance = 0cm + ] + \node[ + rectangle, fill = gray!40!background, + minimum width = 3cm, minimum height = 2cm, + ] (body) {\(\vec{E}_p = \vec{0}\)}; + + \node[ + draw, rectangle, thick, white, fill = red!50, + minimum width = 3cm, minimum height = 1mm, + above = of body + ] (pos) {}; + + \node[ + draw, rectangle, thick, white, fill = blue!50, + minimum width = 3cm, minimum height = 1mm, + below = of body + ] (neg) {}; + + \draw[white, very thick, -Circle] (pos.east) to ++ (1,0) node (p) {}; + \draw[white, very thick, -Circle] (neg.east) to ++ (1,0) node (n) {}; + + \draw[white, thick, ->] (p) to[out = -70, in = 70] node[midway, right] {\(U = 0\)} (n); + \end{scope} + \begin{scope}[ + node distance = 0cm, + xshift = 7cm + ] + \node[ + rectangle, fill = gray!40!background, + minimum width = 3cm, minimum height = 1.5cm, + ] (body) {\(\vec{E}_p = \vec{0}\)}; + + \node[ + draw, rectangle, thick, white, fill = red!50, + minimum width = 3cm, minimum height = 1mm, + above = of body + ] (pos) {}; + + \node[ + draw, rectangle, thick, white, fill = blue!50, + minimum width = 3cm, minimum height = 1mm, + below = of body + ] (neg) {}; + + \draw[orange, very thick, <-] (pos.north) to node[near end, right] {\(\vec{F}\)} ++(0,1); + \draw[orange, very thick, <-] (neg.south) to node[near end, right] {\(\vec{F}\)} ++(0,-1); + + \draw[white, very thick, -Circle] (pos.east) to ++ (1,0) node (p) {}; + \draw[white, very thick, -Circle] (neg.east) to ++ (1,0) node (n) {}; + + \draw[white, thick, ->] (p) to[out = -70, in = 70] node[midway, right] {\(U > 0\)} (n); + \end{scope} + \end{tikzpicture} + \end{center} +} + +\section{2D Symmetrien} +%% Made in video +{ + \usebackgroundtemplate{ + \includegraphics[height=\paperheight]{media/images/nosignal}} + \frame{} +} + +\section{Algebraische Symmetrien} +%% Made in video +\frame{ + \begin{columns}[T] + \begin{column}{.5\textwidth} + Produkt mit \(i\) + \begin{align*} + 1 \cdot i &= i \\ + i \cdot i &= -1 \\ + -1 \cdot i &= -i \\ + -i \cdot i &= 1 + \end{align*} + \pause + % + Gruppe + \begin{align*} + G &= \left\{ + 1, i, -1, -i + \right\} \\ + &= \left\{ + 1, i, i^2, i^3 + \right\} \\ + C_4 &= \left\{ + \mathbb{1}, r, r^2, r^3 + \right\} + \end{align*} + \pause + \end{column} + \begin{column}{.5\textwidth} + Darstellung \(\phi : C_4 \to G\) + \begin{align*} + \phi(\mathbb{1}) &= 1 & \phi(r^2) &= i^2 \\ + \phi(r) &= i & \phi(r^3) &= i^3 + \end{align*} + \pause + % + Homomorphismus + \begin{align*} + \phi(r \circ \mathbb{1}) &= \phi(r) \cdot \phi(\mathbb{1}) \\ + &= i \cdot 1 + \end{align*} + \pause + % + \(\phi\) ist bijektiv \(\implies C_4 \cong G\) + \pause + % + \begin{align*} + \psi : C_4 &\to (\mathbb{Z}/4\mathbb{Z}, +) \\ + \psi(\mathbb{1}\circ r^2) &= 0 + 2 \pmod{4} + \end{align*} + \end{column} + \end{columns} +} + +\section{3D Symmetrien} +%% Made in video +{ + \usebackgroundtemplate{ + \includegraphics[height=\paperheight]{media/images/nosignal}} + \frame{} +} + +\section{Matrizen} +\frame{ + \begin{columns}[T] + \begin{column}{.5\textwidth} + Symmetriegruppe + \[ + G = \left\{\mathbb{1}, r, \sigma, \dots \right\} + \] + \pause + Matrixdarstellung + \begin{align*} + \Phi : G &\to O(3) \\ + g &\mapsto \Phi_g + \end{align*} + \pause + Orthogonale Gruppe + \[ + O(n) = \left\{ Q : QQ^t = Q^tQ = I \right\} + \] + \end{column} + \pause + \begin{column}{.5\textwidth} + \begin{align*} + \Phi_\mathbb{1} &= \begin{pmatrix} + 1 & 0 & 0 \\ + 0 & 1 & 0 \\ + 0 & 0 & 1 + \end{pmatrix} = I \\[1em] + \Phi_\sigma &= \begin{pmatrix} + 1 & 0 & 0 \\ + 0 & -1 & 0 \\ + 0 & 0 & 1 + \end{pmatrix} \\[1em] + \Phi_r &= \begin{pmatrix} + \cos \alpha & -\sin \alpha & 0 \\ + \sin \alpha & \cos \alpha & 0 \\ + 0 & 0 & 1 + \end{pmatrix} + \end{align*} + \end{column} + \end{columns} +} + +\section{Kristalle} +\begin{frame}[fragile]{} + \begin{columns} + \onslide<1->{ + \begin{column}{.5\textwidth} + \begin{center} + \begin{tikzpicture}[ + dot/.style = { + draw, circle, thick, white, fill = gray!40!background, + minimum size = 2mm, + inner sep = 0pt, + outer sep = 1mm, + }, + ] + + \begin{scope} + \clip (-2,-2) rectangle (3,4); + \foreach \y in {-7,-6,...,7} { + \foreach \x in {-7,-6,...,7} { + \node[dot, xshift=3mm*\y] (N\x\y) at (\x, \y) {}; + } + } + \end{scope} + \draw[white, thick] (-2, -2) rectangle (3,4); + + \draw[red!80!background, thick, ->] + (N00) to node[midway, below] {\(\vec{a}_1\)} (N10); + \draw[cyan!80!background, thick, ->] + (N00) to node[midway, left] {\(\vec{a}_2\)} (N01); + \end{tikzpicture} + \end{center} + \end{column} + } + \begin{column}{.5\textwidth} + \onslide<2->{ + Kristallgitter: + \(n_i \in \mathbb{Z}\), + } + \onslide<3->{ + \(\vec{a}_i \in \mathbb{R}^3\) + } + \onslide<2->{ + \[ + \vec{r} = n_1 \vec{a}_1 + n_2 \vec{a}_2 \onslide<3->{+ n_3 \vec{a}_3} + \] + } + \vspace{1cm} + + \onslide<4->{ + Invariant unter Translation + \[ + Q_i(\vec{r}) = \vec{r} + \vec{a}_i + \] + } + \end{column} + \end{columns} +\end{frame} + +\begin{frame}[fragile]{} + \begin{columns}[T] + \begin{column}{.5\textwidth} + \onslide<1->{ + Wie kombiniert sich \(Q_i\) mit der anderen Symmetrien? + } + \begin{center} + \begin{tikzpicture}[ + dot/.style = { + draw, circle, thick, white, fill = gray!40!background, + minimum size = 2mm, + inner sep = 0pt, + outer sep = 1mm, + }, + ] + + \onslide<2->{ + \node[dot] (A1) at (0,0) {}; + \node[below left] at (A1) {\(A\)}; + } + + \onslide<3->{ + \node[dot] (A2) at (2.5,0) {}; + \node[below right] at (A2) {\(A'\)}; + + \draw[red!80!background, thick, ->] + (A1) to node[midway, below] {\(\vec{Q}\)} (A2); + } + + \onslide<4->{ + \node[dot] (B1) at (120:2.5) {}; + \node[above left] at (B1) {\(B\)}; + + \draw[green!70!background, thick, ->] + (A1) ++(.5,0) arc (0:120:.5) + node[midway, above, xshift=1mm] {\(C_n\)}; + \draw[red!80!background, dashed, thick, ->] (A1) to (B1); + } + + \onslide<5->{ + \node[dot] (B2) at ($(A2)+(60:2.5)$) {}; + \node[above right] at (B2) {\(B'\)}; + + \draw[green!70!background, thick, dashed, ->] + (A2) ++(-.5,0) arc (180:60:.5); + \draw[red!80!background, dashed, thick, ->] (A2) to (B2); + } + + \onslide<6->{ + \draw[yellow!80!background, thick, ->] + (B1) to node[above, midway] {\(\vec{Q}'\)} (B2); + } + + \onslide<10->{ + \draw[gray, dashed, thick] (A1) to (A1 |- B1) node (Xl) {}; + \draw[gray, dashed, thick] (A2) to (A2 |- B2) node (Xr) {}; + \node[above left, xshift=-2mm] at (Xl) {\(x\)}; + \node[above right, xshift= 2mm] at (Xr) {\(x\)}; + } + \end{tikzpicture} + \end{center} + \end{column} + \begin{column}{.5\textwidth} + \onslide<7->{ + Sei \(q = |\vec{Q}|\), \(\alpha = 2\pi/n\) und \(n \in \mathbb{N}\) + } + \begin{align*} + \onslide<9->{q' = n q \onslide<10->{&= q + 2x \\}} + \onslide<11->{nq &= q + 2q\sin(\alpha - \pi/2) \\} + \onslide<12->{n &= 1 - 2\cos\alpha} + \end{align*} + \onslide<13->{ + Somit muss + \begin{align*} + \alpha &= \cos^{-1}\left(\frac{1-n}{2}\right) \\[1em] + \alpha &\in \left\{ 0, 60^\circ, 90^\circ, 120^\circ, 180^\circ \right\} \\ + n &\in \left\{ 1, 2, 3, 4, 6 \right\} + \end{align*} + } + \end{column} + \end{columns} +\end{frame} + +\begin{frame}[fragile]{M\"ogliche Kristallstrukturen} + \begin{center} + \begin{tikzpicture}[] + \node[circle, dashed, draw = gray, + thick, fill = background, + minimum size = 4cm] {}; + \node[gray] at (.9,-1.2) {674}; + + \node[circle, draw = white, thick, + fill = orange!40!background, + xshift = -3mm, yshift = 2mm, + minimum size = 2.75cm, + outer sep = 1mm] (A) {}; + \node[white, yshift = 2mm] at (A) {230}; + \node[white, font=\large, above right = of A] (Al) {Raumgruppe}; + \draw[white, thick, ->] (Al.west) to[out=180, in=60] (A); + + \node[circle, draw = white, thick, + fill = red!20!background, + xshift = -5mm, yshift = -5mm, + minimum size = 1cm, + outer sep = 1mm] (B) {32}; + \node[white, font=\large, below left = of B, xshift=-4mm] (Bl) {Kristallklassen}; + \draw[white, thick, ->] (Bl.east) to[out = 0, in = 180] (B); + \end{tikzpicture} + \end{center} +\end{frame} + +{ + \usebackgroundtemplate[fragile]{ + \begin{tikzpicture}[ + overlay, + xshift = .45\paperwidth, + yshift = .47\paperheight, + classcirc/.style = { + draw = gray, thick, circle, + minimum size = 12mm, + inner sep = 0pt, outer sep = 0pt, + }, + classlabel/.style = { + below right = 5mm + }, + round/.style = { + draw = yellow, 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 + }, + ] + \matrix [row sep = 3mm, column sep = 0mm] { + \node[classcirc] (C1) {} node[classlabel] {\(C_{1}\)}; & + \node[classcirc] (C2) {} node[classlabel] {\(C_{2}\)}; & + \node[classcirc] (C3) {} node[classlabel] {\(C_{3}\)}; & + \node[classcirc] (Ci) {} node[classlabel] {\(C_{i}\)}; & + + \node[classcirc] (Cs) {} node[classlabel] {\(C_{s}\)}; & + \node[classcirc] (C3i) {} node[classlabel] {\(C_{3i}\)}; & + \node[classcirc] (C2h) {} node[classlabel] {\(C_{2h}\)}; & + \node[classcirc] (D2) {} node[classlabel] {\(D_{2}\)}; \\ + + \node[classcirc] (D3d) {} node[classlabel] {\(D_{3d}\)}; & + \node[classcirc] (C2v) {} node[classlabel] {\(C_{2v}\)}; & + \node[classcirc] (D2h) {} node[classlabel] {\(D_{2h}\)}; & + \node[classcirc] (D3) {} node[classlabel] {\(D_{3}\)}; & + + \node[classcirc] (C4) {} node[classlabel] {\(C_{4}\)}; & + \node[classcirc] (C6) {} node[classlabel] {\(C_{6}\)}; & + \node[classcirc] (D3dP) {} node[classlabel] {\(D_{3d}\)}; & + \node[classcirc] (S4) {} node[classlabel] {\(S_{4}\)}; \\ + + \node[classcirc] (S3) {} node[classlabel] {\(S_{3}\)}; & + \node[classcirc, dashed] (T) {} node[classlabel] {\(T_{}\)}; & + \node[classcirc] (C4h) {} node[classlabel] {\(C_{4h}\)}; & + \node[classcirc] (C6h) {} node[classlabel] {\(C_{6h}\)}; & + + \node[classcirc, dashed] (Th) {} node[classlabel] {\(T_{h}\)}; & + \node[classcirc] (C4v) {} node[classlabel] {\(C_{4v}\)}; & + \node[classcirc] (C6v) {} node[classlabel] {\(C_{6v}\)}; & + \node[classcirc, dashed] (Td) {} node[classlabel] {\(T_{d}\)}; \\ + + \node[classcirc] (D2d) {} node[classlabel] {\(D_{2d}\)}; & + \node[classcirc] (D3h) {} node[classlabel] {\(D_{3h}\)}; & + \node[classcirc, dashed] (O) {} node[classlabel] {\(O_{}\)}; & + \node[classcirc] (D4) {} node[classlabel] {\(D_{4}\)}; & + + \node[classcirc] (D6) {} node[classlabel] {\(D_{6}\)}; & + \node[classcirc, dashed] (Oh) {} node[classlabel] {\(O_{h}\)}; & + \node[classcirc] (D4h) {} node[classlabel] {\(D_{4h}\)}; & + \node[classcirc] (D6h) {} node[classlabel] {\(D_{6h}\)}; \\ + }; + + + \node[cross] at ($(C1)+(4mm,0)$) {}; + + + \node[cross] at ($(C2)+(4mm,0)$) {}; + \node[cross] at ($(C2)-(4mm,0)$) {}; + + + \node[cross] at ($(C3)+( 0:4mm)$) {}; + \node[cross] at ($(C3)+(120:4mm)$) {}; + \node[cross] at ($(C3)+(240:4mm)$) {}; + + + \node[cross] at ($(Ci)+(4mm,0)$) {}; + \node[round] at ($(Ci)-(4mm,0)$) {}; + + + \node[cross] at ($(Cs)+(4mm,0)$) {}; + \node[round] at ($(Cs)+(4mm,0)$) {}; + + + \node[cross] at ($(C3i)+( 0:4mm)$) {}; + \node[cross] at ($(C3i)+(120:4mm)$) {}; + \node[cross] at ($(C3i)+(240:4mm)$) {}; + \node[round] at ($(C3i)+( 60:4mm)$) {}; + \node[round] at ($(C3i)+(180:4mm)$) {}; + \node[round] at ($(C3i)+(300:4mm)$) {}; + + + \node[cross] at ($(C2h)+(4mm,0)$) {}; + \node[cross] at ($(C2h)-(4mm,0)$) {}; + \node[round] at ($(C2h)+(4mm,0)$) {}; + \node[round] at ($(C2h)-(4mm,0)$) {}; + + + \node[cross] at ($(D2)+( 20:4mm)$) {}; + \node[cross] at ($(D2)+(200:4mm)$) {}; + \node[round] at ($(D2)+(160:4mm)$) {}; + \node[round] at ($(D2)+(340:4mm)$) {}; + + + \foreach \x in {0, 120, 240} { + \node[cross] at ($(D3d)+({\x+15}:4mm)$) {}; + \node[cross] at ($(D3d)+({\x-15}:4mm)$) {}; + } + + + \foreach \x in {0, 180} { + \node[cross] at ($(C2v)+({\x+15}:4mm)$) {}; + \node[cross] at ($(C2v)+({\x-15}:4mm)$) {}; + } + + + \foreach \x in {0, 180} { + \node[cross] at ($(D2h)+({\x+15}:4mm)$) {}; + \node[cross] at ($(D2h)+({\x-15}:4mm)$) {}; + \node[round] at ($(D2h)+({\x+15}:4mm)$) {}; + \node[round] at ($(D2h)+({\x-15}:4mm)$) {}; + } + + + \foreach \x in {0, 120, 240} { + \node[cross] at ($(D3)+({\x+15}:4mm)$) {}; + \node[round] at ($(D3)+({\x-15}:4mm)$) {}; + } + + + \foreach \x in {0, 90, 180, 270} { + \node[cross] at ($(C4)+(\x:4mm)$) {}; + } + + + \foreach \x in {0, 60, 120, 180, 240, 300} { + \node[cross] at ($(C6)+(\x:4mm)$) {}; + } + + + \foreach \x in {0, 120, 240} { + \node[cross] at ($(D3dP)+({\x+15}:4mm)$) {}; + \node[cross] at ($(D3dP)+({\x-15}:4mm)$) {}; + \node[round] at ($(D3dP)+({\x+15+60}:4mm)$) {}; + \node[round] at ($(D3dP)+({\x-15+60}:4mm)$) {}; + } + + + \node[cross] at ($(S4)+(4mm,0)$) {}; + \node[cross] at ($(S4)-(4mm,0)$) {}; + \node[round] at ($(S4)+(0,4mm)$) {}; + \node[round] at ($(S4)-(0,4mm)$) {}; + + + \foreach \x in {0, 120, 240} { + \node[cross] at ($(S3)+(\x:4mm)$) {}; + \node[round] at ($(S3)+(\x:4mm)$) {}; + } + + + %% TODO: T + + + \foreach \x in {0, 90, 180, 270} { + \node[cross] at ($(C4h)+(\x:4mm)$) {}; + \node[round] at ($(C4h)+(\x:4mm)$) {}; + } + + + \foreach \x in {0, 60, 120, 180, 240, 300} { + \node[cross] at ($(C6h)+(\x:4mm)$) {}; + \node[round] at ($(C6h)+(\x:4mm)$) {}; + } + + + %% TODO: Th + + + \foreach \x in {0, 90, 180, 270} { + \node[cross] at ($(C4v)+(\x+15:4mm)$) {}; + \node[cross] at ($(C4v)+(\x-15:4mm)$) {}; + } + + + + \foreach \x in {0, 60, 120, 180, 240, 300} { + \node[cross] at ($(C6v)+(\x+10:4mm)$) {}; + \node[cross] at ($(C6v)+(\x-10:4mm)$) {}; + } + + + %% TODO: Td + + + \foreach \x in {0, 180} { + \node[cross] at ($(D2d)+({\x+15}:4mm)$) {}; + \node[round] at ($(D2d)+({\x-15}:4mm)$) {}; + + \node[round] at ($(D2d)+({\x+15+90}:4mm)$) {}; + \node[cross] at ($(D2d)+({\x-15+90}:4mm)$) {}; + } + + + \foreach \x in {0, 120, 240} { + \node[cross] at ($(D3h)+({\x+15}:4mm)$) {}; + \node[cross] at ($(D3h)+({\x-15}:4mm)$) {}; + \node[round] at ($(D3h)+({\x+15}:4mm)$) {}; + \node[round] at ($(D3h)+({\x-15}:4mm)$) {}; + } + + + %% TODO: O + + + \foreach \x in {0, 90, 180, 270} { + \node[cross] at ($(D4)+({\x+15}:4mm)$) {}; + \node[round] at ($(D4)+({\x-15}:4mm)$) {}; + } + + \foreach \x in {0, 60, 120, 180, 240, 300} { + \node[cross] at ($(D6)+({\x+10}:4mm)$) {}; + \node[round] at ($(D6)+({\x-10}:4mm)$) {}; + } + + + % TODO Oh + + + \foreach \x in {0, 90, 180, 270} { + \node[cross] at ($(D4h)+(\x+15:4mm)$) {}; + \node[cross] at ($(D4h)+(\x-15:4mm)$) {}; + \node[round] at ($(D4h)+(\x+15:4mm)$) {}; + \node[round] at ($(D4h)+(\x-15:4mm)$) {}; + } + + + \foreach \x in {0, 60, 120, 180, 240, 300} { + \node[cross] at ($(D6h)+({\x+10}:4mm)$) {}; + \node[cross] at ($(D6h)+({\x-10}:4mm)$) {}; + \node[round] at ($(D6h)+({\x+10}:4mm)$) {}; + \node[round] at ($(D6h)+({\x-10}:4mm)$) {}; + } + \end{tikzpicture} + } + \begin{frame}[fragile]{} + \end{frame} +} + +\section{Anwendungen} +\begin{frame}[fragile]{} + \centering + \begin{tikzpicture}[ + box/.style = { + rectangle, thick, draw = white, fill = darkgray!50!background, + minimum height = 1cm, outer sep = 2mm, + }, + ] + + \matrix [nodes = {box, align = center}, column sep = 1cm, row sep = 1.5cm] { + & \node (A) {32 Kristallklassen}; \\ + \node (B) {11 Mit\\ Inversionszentrum}; & \node (C) {21 Ohne\\ Inversionszentrum}; \\ + & \node[fill=red!20!background] (D) {20 Piezoelektrisch}; & \node (E) {1 Nicht\\ piezoelektrisch}; \\ + }; + + \draw[thick, ->] (A.west) to[out=180, in=90] (B.north); + \draw[thick, ->] (A.south) to (C); + \draw[thick, ->] (C.south) to (D.north); + \draw[thick, ->] (C.east) to[out=0, in=90] (E.north); + \end{tikzpicture} +\end{frame} + +\begin{frame}[fragile]{} + \begin{tikzpicture}[ + overlay, xshift = 1.5cm, yshift = 1.5cm, + node distance = 2mm, + charge/.style = { + circle, draw = white, thick, + minimum size = 5mm + }, + positive/.style = { fill = red!50 }, + negative/.style = { fill = blue!50 }, + ] + + \node[font = {\large\bfseries}, align = center] (title) at (5.5,0) {Mit und Ohne\\ Symmetriezentrum}; + \pause + + \begin{scope} + \matrix[nodes = { charge }, row sep = 8mm, column sep = 8mm] { + \node[positive] {}; & \node[negative] (N) {}; & \node [positive] {}; \\ + \node[negative] (W) {}; & \node[positive] {}; & \node [negative] (E) {}; \\ + \node[positive] {}; & \node[negative] (S) {}; & \node [positive] {}; \\ + }; + \draw[gray, dashed] (W) to (N) to (E) to (S) to (W); + \end{scope} + \pause + + \begin{scope}[xshift=11cm] + \foreach \x/\t [count=\i] in {60/positive, 120/negative, 180/positive, 240/negative, 300/positive, 360/negative} { + \node[charge, \t] (C\i) at (\x:1.5cm) {}; + } + + \draw[white] (C1) to (C2) to (C3) to (C4) to (C5) to (C6) to (C1); + \node[circle, draw=gray, fill=gray, outer sep = 0, inner sep = 0, minimum size = 3mm] {}; + % \draw[gray, dashed] (C2) to (C4) to (C6) to (C2); + \end{scope} + \pause + + %% + \node[below = of title] {Polarisation Feld \(\vec{E}_p\)}; + + %% hex with vertical pressure + \begin{scope}[xshift=11cm, yshift=-4.5cm] + \node[charge, positive, yshift=-2.5mm] (C1) at ( 60:1.5cm) {}; + \node[charge, negative, yshift=-2.5mm] (C2) at (120:1.5cm) {}; + \node[charge, positive, xshift=-2.5mm] (C3) at (180:1.5cm) {}; + \node[charge, negative, yshift= 2.5mm] (C4) at (240:1.5cm) {}; + \node[charge, positive, yshift= 2.5mm] (C5) at (300:1.5cm) {}; + \node[charge, negative, xshift= 2.5mm] (C6) at (360:1.5cm) {}; + + \draw[white] (C1) to (C2) to (C3) to (C4) to (C5) to (C6) to (C1); + % \draw[gray, dashed] (C2) to (C4) to (C6) to (C2); + + \foreach \d in {C1, C2} { + \draw[orange, very thick, <-] (\d) to ++(0,.7); + } + + \foreach \d in {C4, C5} { + \draw[orange, very thick, <-] (\d) to ++(0,-.7); + } + + \node[white] (E) {\(\vec{E}_p\)}; + \begin{scope}[node distance = .5mm] + \node[red!50, right = of E] {\(+\)}; + \node[blue!50, left = of E] {\(-\)}; + \end{scope} + % \draw[gray, thick, dotted] (E) to ++(0,2); + % \draw[gray, thick, dotted] (E) to ++(0,-2); + \end{scope} + \pause + + %% square with vertical pressure + \begin{scope}[yshift=-4.5cm] + \matrix[nodes = { charge }, row sep = 5mm, column sep = 1cm] { + \node[positive] (NW) {}; & \node[negative] (N) {}; & \node [positive] (NE) {}; \\ + \node[negative] (W) {}; & \node[positive] {}; & \node [negative] (E) {}; \\ + \node[positive] (SW) {}; & \node[negative] (S) {}; & \node [positive] (SE) {}; \\ + }; + + \foreach \d in {NW, N, NE} { + \draw[orange, very thick, <-] (\d) to ++(0,.7); + } + + \foreach \d in {SW, S, SE} { + \draw[orange, very thick, <-] (\d) to ++(0,-.7); + } + + \draw[gray, dashed] (W) to (N) to (E) to (S) to (W); + \end{scope} + \pause + + %% hex with horizontal pressure + \begin{scope}[xshift=5.5cm, yshift=-4.5cm] + \node[charge, positive, yshift= 2.5mm] (C1) at ( 60:1.5cm) {}; + \node[charge, negative, yshift= 2.5mm] (C2) at (120:1.5cm) {}; + \node[charge, positive, xshift= 2.5mm] (C3) at (180:1.5cm) {}; + \node[charge, negative, yshift=-2.5mm] (C4) at (240:1.5cm) {}; + \node[charge, positive, yshift=-2.5mm] (C5) at (300:1.5cm) {}; + \node[charge, negative, xshift=-2.5mm] (C6) at (360:1.5cm) {}; + + \draw[white] (C1) to (C2) to (C3) to (C4) to (C5) to (C6) to (C1); + % \draw[gray, dashed] (C2) to (C4) to (C6) to (C2); + + \draw[orange, very thick, <-] (C6) to ++(.7,0); + \draw[orange, very thick, <-] (C3) to ++(-.7,0); + + \node[white] (E) {\(\vec{E}_p\)}; + \begin{scope}[node distance = .5mm] + \node[blue!50, right = of E] {\(-\)}; + \node[red!50, left = of E] {\(+\)}; + \end{scope} + % \draw[gray, thick, dotted] (E) to ++(0,2); + % \draw[gray, thick, dotted] (E) to ++(0,-2); + \end{scope} + \pause + + + \end{tikzpicture} +\end{frame} + +\frame{ + \frametitle{Licht in Kristallen} + \begin{columns}[T] + \begin{column}{.45\textwidth} + \onslide<2->{ + Helmholtz Wellengleichung + \[ + \nabla^2 \vec{E} = \ten{\varepsilon}\mu + \frac{\partial^2}{\partial t^2} \vec{E} + \] + } + \onslide<3->{ + Ebene Welle + \[ + \vec{E} = \vec{E}_0 \exp\left[i + \left(\vec{k}\cdot\vec{r} - \omega t \right)\right] + \] + } + \onslide<4->{ + Anisotropisch Dielektrikum + \[ + (\ten{K}\ten{\varepsilon})\vec{E} + = \frac{k^2}{\mu \omega^2} \vec{E} + \implies + \Phi \vec{E} = \lambda \vec{E} + \] + } + \end{column} + \begin{column}{.55\textwidth} + \onslide<5->{ + Eingenraum + \begin{align*} + U_\lambda &= \left\{ v : \Phi v = \lambda v \right\} + = \mathrm{null}\left(\Phi - \lambda I\right) + \end{align*} + }\onslide<6->{ + Symmetriegruppe und Darstellung + \begin{align*} + G &= \left\{\mathbb{1}, r, \sigma, \dots \right\} \\ + &\Phi : G \to O(n) + \end{align*} + }\onslide<7->{ + Kann man \(U_\lambda\) von \(G\) herauslesen? + \only<7>{ + \[ + U_\lambda \stackrel{?}{=} f\left(\bigoplus_{g \in G} \Phi_g\right) + \] + }\only<8>{ + \begin{align*} + \mathrm{Tr}\left[\Phi_r(g)\right] + &= \sum_i n_i \mathrm{Tr}\left[\Psi_i(g)\right] \\ + |G| &= \sum_i\mathrm{Tr}\left[\Psi_i(\mathbb{1})\right] + \end{align*} + } + } + \end{column} + \end{columns} +} + +% \begin{frame}[fragile] +% \centering +% \tdplotsetmaincoords{70}{110} +% \begin{tikzpicture}[scale=2, tdplot_main_coords] +% \node[draw=white, thick, minimum size = 3cm, circle] {}; +% % \foreach \x in {0, 120, 240} { +% % } +% \end{tikzpicture} +% \end{frame} + + +\end{document} diff --git a/vorlesungen/slides/2/Makefile.inc b/vorlesungen/slides/2/Makefile.inc index c857fec..cbd4dfe 100644 --- a/vorlesungen/slides/2/Makefile.inc +++ b/vorlesungen/slides/2/Makefile.inc @@ -17,5 +17,19 @@ chapter2 = \ ../slides/2/frobeniusanwendung.tex \ ../slides/2/quotient.tex \ ../slides/2/quotientv.tex \ + ../slides/2/hilbertraum/definition.tex \ + ../slides/2/hilbertraum/l2beispiel.tex \ + ../slides/2/hilbertraum/basis.tex \ + ../slides/2/hilbertraum/plancherel.tex \ + ../slides/2/hilbertraum/l2.tex \ + ../slides/2/hilbertraum/riesz.tex \ + ../slides/2/hilbertraum/rieszbeispiel.tex \ + ../slides/2/hilbertraum/adjungiert.tex \ + ../slides/2/hilbertraum/spektral.tex \ + ../slides/2/hilbertraum/sturm.tex \ + ../slides/2/hilbertraum/laplace.tex \ + ../slides/2/hilbertraum/qm.tex \ + ../slides/2/hilbertraum/energie.tex \ + ../slides/2/hilbertraum/sobolev.tex \ ../slides/2/chapter.tex diff --git a/vorlesungen/slides/2/chapter.tex b/vorlesungen/slides/2/chapter.tex index 49e656a..d3714c3 100644 --- a/vorlesungen/slides/2/chapter.tex +++ b/vorlesungen/slides/2/chapter.tex @@ -15,3 +15,17 @@ \folie{2/frobeniusanwendung.tex} \folie{2/quotient.tex} \folie{2/quotientv.tex} +\folie{2/hilbertraum/definition.tex} +\folie{2/hilbertraum/l2beispiel.tex} +\folie{2/hilbertraum/basis.tex} +\folie{2/hilbertraum/plancherel.tex} +\folie{2/hilbertraum/l2.tex} +\folie{2/hilbertraum/riesz.tex} +\folie{2/hilbertraum/rieszbeispiel.tex} +\folie{2/hilbertraum/adjungiert.tex} +\folie{2/hilbertraum/spektral.tex} +\folie{2/hilbertraum/sturm.tex} +\folie{2/hilbertraum/laplace.tex} +\folie{2/hilbertraum/qm.tex} +\folie{2/hilbertraum/energie.tex} +\folie{2/hilbertraum/sobolev.tex} diff --git a/vorlesungen/slides/2/hilbertraum/adjungiert.tex b/vorlesungen/slides/2/hilbertraum/adjungiert.tex new file mode 100644 index 0000000..da41576 --- /dev/null +++ b/vorlesungen/slides/2/hilbertraum/adjungiert.tex @@ -0,0 +1,83 @@ +% +% adjungiert.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Adjungierter Operator} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Definition} +\begin{itemize} +\item<2-> +$A\colon H\to L$ lineare Abbildung zwischen Hilberträumen, $y\in L$ +\item<3-> +\[ +H\to\mathbb{C} +: +x\mapsto \langle y, Ax\rangle_L +\] +ist eine lineare Abbildung $H\to\mathbb{C}$ +\item<4-> +Nach dem Darstellungssatz gibt es $v\in H$ mit +\[ +\langle y,Ax\rangle_L = \langle v,x\rangle_H +\quad +\forall x\in H +\] +\end{itemize} +\uncover<5->{% +Die Abbildung +\[ +L\to H +: +y\mapsto v =: A^*y +\] +heisst {\em adjungierte Abbildung}} +\end{block} +\end{column} +\begin{column}{0.48\textwidth} +\uncover<6->{% +\begin{block}{Endlichdimensional (Matrizen)} +\[ +A^* = \overline{A}^t +\] +\end{block}} +\vspace{-8pt} +\uncover<7->{% +\begin{block}{Selbstabbildungen} +Für Operatoren $A\colon H\to H$ ist $A^*\colon H\to H$ +\[ +\langle x,Ay\rangle += +\langle A^*x, y\rangle +\quad +\forall x,y\in H +\] +\end{block}} +\vspace{-8pt} +\uncover<9->{% +\begin{block}{Selbstadjungierte Operatoren} +\[ +A=A^* +\uncover<10->{\;\Leftrightarrow\; +\langle x,Ay \rangle += +\langle A^*x,y \rangle} +\uncover<11->{= +\langle Ax,y \rangle} +\] +\uncover<12->{Matrizen: +\begin{itemize} +\item<13-> hermitesch +\item<14-> für reelle Hilberträume: symmetrisch +\end{itemize}} +\end{block}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/2/hilbertraum/basis.tex b/vorlesungen/slides/2/hilbertraum/basis.tex new file mode 100644 index 0000000..022fa07 --- /dev/null +++ b/vorlesungen/slides/2/hilbertraum/basis.tex @@ -0,0 +1,65 @@ +% +% basis.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Hilbert-Basis} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Definition} +Eine Menge $\mathcal{B}=\{b_k|k>0\}$ ist eine Hilbertbasis, wenn +\begin{itemize} +\item<2-> $\mathcal{B}$ ist orthonormiert: $\langle b_k,b_l\rangle=\delta_{kl}$ +\item<3-> Der Unterraum $\langle b_k|k>0\rangle\subset H$ ist +dicht: +Jeder Vektor von $H$ kann beliebig genau durch Linearkombinationen von $b_k$ +approximiert werden. +\end{itemize} +\uncover<4->{% +Ein Hilbertraum mit einer Hilbertbasis heisst {\em separabel}} +\end{block} +\uncover<5->{% +\begin{block}{Endlichdimensional} +Der Algorithmus bricht nach endlich vielen Schritten ab. +\end{block}} +\end{column} +\begin{column}{0.48\textwidth} +\uncover<6->{% +\begin{block}{Konstruktion} +Iterativ: $\mathcal{B}_0=\emptyset$ +\begin{enumerate} +\item<7-> $V_k = \langle \mathcal{B}_k \rangle$ +\item<8-> Wenn $V_k\ne H$, wähle einen Vektor +\begin{align*} +x\in V_k^{\perp} +&= +\{ +x\in H\;|\; x\perp V_k +\} +\\ +&= +\{x\in H\;|\; +x\perp y\;\forall y\in V_k +\} +\end{align*} +\item<9-> $b_{k+1} = x/\|x\|$ +\[ +\mathcal{B}_{k+1} = \mathcal{B}_k\cup \{b_{k+1}\} +\] +\end{enumerate} +\uncover<10->{% +Wenn $H$ separabel ist, dann ist +\[ +\mathcal{B} = \bigcup_{k} \mathcal{B}_k +\] +eine Hilbertbasis für $H$} +\end{block}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/2/hilbertraum/definition.tex b/vorlesungen/slides/2/hilbertraum/definition.tex new file mode 100644 index 0000000..d101637 --- /dev/null +++ b/vorlesungen/slides/2/hilbertraum/definition.tex @@ -0,0 +1,63 @@ +% +% definition.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Hilbertraum --- Definition} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{$\mathbb{C}$-Hilbertraum $H$} +\begin{enumerate} +\item<2-> $\mathbb{C}$-Vektorraum, muss nicht endlichdimensional sein +\item<3-> Sesquilineares Skalarprodukt +\[ +\langle \cdot,\cdot\rangle +\colon H \to \mathbb{C}: (x,y) \mapsto \langle x,y\rangle +\] +Dazugehörige Norm: +\[ +\|x\| = \sqrt{\langle x,x\rangle} +\] +\item<4-> Vollständigkeit: jede Cauchy-Folge konvergiert +\end{enumerate} +\uncover<5->{% +Ohne Vollständigkeit: {\em Prähilbertraum}} +\end{block} +\uncover<6->{% +\begin{block}{$\mathbb{R}$-Hilbertraum} +Vollständiger $\mathbb{R}$-Vektorraum mit bilinearem Skalarprodukt +\end{block}} +\end{column} +\begin{column}{0.48\textwidth} +\uncover<7->{% +\begin{block}{Vollständigkeit} +\begin{itemize} +\item<8-> $(x_n)_{n\in\mathbb{N}}$ ist eine Cauchy-Folge: +Für alle $\varepsilon>0$ gibt es $N>0$ derart, dass +\[ +\| x_n-x_m\| < \varepsilon\quad\forall n,m>N +\] +\item<9-> Grenzwert existiert: $\exists x\in H$ derart, dass es für alle +$\varepsilon >0$ ein $N>0$ gibt derart, dass +\[ +\|x_n-x\|<\varepsilon\quad\forall n>N +\] +\end{itemize} +\end{block}} +\uncover<10->{% +\begin{block}{Cauchy-Schwarz-Ungleichung} +\[ +|\langle x,y\rangle| +\le \|x\| \cdot \|y\| +\] +Gleichheit für linear abhängige $x$ und $y$ +\end{block}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/2/hilbertraum/energie.tex b/vorlesungen/slides/2/hilbertraum/energie.tex new file mode 100644 index 0000000..202a7c5 --- /dev/null +++ b/vorlesungen/slides/2/hilbertraum/energie.tex @@ -0,0 +1,67 @@ +% +% energie.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Energie --- Zeitentwicklung --- Schrödinger} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.30\textwidth} +\uncover<2->{% +\begin{block}{Totale Energie} +Hamilton-Funktion +\begin{align*} +H +&= +\frac12mv^2 + V(x) +\\ +&= +\frac{p^2}{2m} + V(x) +\end{align*} +\end{block}} +\uncover<3->{% +\begin{block}{Quantisierungsregel} +\begin{align*} +\text{Variable}&\to \text{Operator} +\\ +x_k & \to x_k +\\ +p_k & \to \frac{\hbar}{i} \frac{\partial}{\partial x_k} +\end{align*} +\end{block}} +\end{column} +\begin{column}{0.66\textwidth} +\uncover<4->{% +\begin{block}{Energie-Operator} +\[ +H += +-\frac{\hbar^2}{2m}\Delta + V(x) +\] +\end{block}} +\uncover<5->{% +\begin{block}{Eigenwertgleichung} +\[ +-\frac{\hbar^2}{2m}\Delta\psi(x,t) + V(x)\psi(x,t) = E\psi(x,t) +\] +Zeitunabhängige Schrödingergleichung +\end{block}} +\uncover<6->{% +\begin{block}{Zeitabhängigkeit = Schrödingergleichung} +\[ +-\frac{\hbar}{i} +\frac{\partial}{\partial t} +\psi(x,t) += +-\frac{\hbar^2}{2m}\Delta\psi(x,t) + V(x)\psi(x,t) +\] +\uncover<7->{Eigenwertgleichung durch Separation von $t$} +\end{block}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/2/hilbertraum/l2.tex b/vorlesungen/slides/2/hilbertraum/l2.tex new file mode 100644 index 0000000..bd744ab --- /dev/null +++ b/vorlesungen/slides/2/hilbertraum/l2.tex @@ -0,0 +1,61 @@ +% +% l2.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^2$-Hilbertraum} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Definition} +\begin{itemize} +\item<2-> +Vektorraum: Funktionen +\[ +f\colon [a,b] \to \mathbb{C} +\] +\item<3-> +Sesquilineares Skalarprodukt +\[ +\langle f,g\rangle += +\int_a^b \overline{f(x)}\, g(x) \,dx +\] +\item<4-> +Norm: +\[ +\|f\|^2 = \int_a^b |f(x)|^2\,dx +\] +\item<5-> +Vollständigkeit? +\uncover<6->{$\rightarrow$ +Lebesgue Konvergenz-Satz} +\end{itemize} +\end{block} +\end{column} +\begin{column}{0.48\textwidth} +\uncover<7->{% +\begin{block}{Vollständigkeit} +\begin{itemize} +\item +Funktioniert nicht für Riemann-Integral +\item<8-> +Erweiterung des Integrals auf das sogenannte Lebesgue-Integral (nach +Henri Lebesgue) +\item<9-> +Abzählbare Mengen spielen keine Rolle $\rightarrow$ Nullmengen +\item<10-> +Funktionen $\rightarrow$ Klassen von Funktionen, die sich auf einer Nullmenge +unterscheiden +\item<11-> +Konvergenz-Satz von Lebesgue $\rightarrow$ es funktioniert +\end{itemize} +\end{block}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/2/hilbertraum/l2beispiel.tex b/vorlesungen/slides/2/hilbertraum/l2beispiel.tex new file mode 100644 index 0000000..3ae44af --- /dev/null +++ b/vorlesungen/slides/2/hilbertraum/l2beispiel.tex @@ -0,0 +1,82 @@ +% +% l2beispiel.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Beispiele: $\mathbb{R},\mathbb{R}^2,\dots,\mathbb{R}^n,\dots,l^2$} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Definition} +\begin{itemize} +\item<2-> Quadratsummierbare Folgen von komplexen Zahlen +\[ +l^2 += +\biggl\{ +(x_k)_{k\in\mathbb{N}}\,\bigg|\, \sum_{k=0}^\infty |x_k|^2 < \infty +\biggr\} +\] +\item<3-> Skalarprodukt: +\begin{align*} +\langle x,y\rangle +&= +\sum_{k=0}^\infty \overline{x}_ky_k, +& +\uncover<4->{\|x\|^2 = \sum_{k=0}^\infty |x_k|^2} +\end{align*} +\item<5-> Vollständigkeit, +Konvergenz: Cauchy-Schwarz-Ungleichung +\[ +\biggl| +\sum_{k=0}^\infty \overline{x}_ky_k +\biggr| +\le +\sum_{k=0}^\infty |x_k|^2 +\sum_{l=0}^\infty |y_l|^2 +\] +\end{itemize} +\end{block} +\end{column} +\begin{column}{0.48\textwidth} +\uncover<6->{% +\begin{block}{Standardbasisvektoren} +\begin{align*} +e_i +&= +(0,\dots,0,\underset{\underset{\textstyle i}{\textstyle\uparrow}}{1},0,\dots) +\\ +\uncover<7->{(e_i)_k &= \delta_{ik}} +\end{align*} +\uncover<8->{sind orthonormiert: +\begin{align*} +\langle e_i,e_j\rangle +&= +\sum_k \overline{\delta}_{ik}\delta_{jk} +\uncover<9->{= +\delta_{ij}} +\end{align*}} +\end{block}} +\vspace{-16pt} +\uncover<10->{% +\begin{block}{Analyse} +$x_k$ kann mit Skalarprodukten gefunden werden: +\begin{align*} +\hat{x}_i += +\langle e_i,x\rangle +&\uncover<11->{= +\sum_{k=0}^\infty \overline{\delta}_{ik} x_k} +\uncover<12->{= +x_i} +\end{align*} +\uncover<13->{(Fourier-Koeffizienten)} +\end{block}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/2/hilbertraum/laplace.tex b/vorlesungen/slides/2/hilbertraum/laplace.tex new file mode 100644 index 0000000..8f6b196 --- /dev/null +++ b/vorlesungen/slides/2/hilbertraum/laplace.tex @@ -0,0 +1,66 @@ +% +% laplace.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Höhere Dimension} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.44\textwidth} +\begin{block}{Problem} +Gegeben: $\Omega\subset\mathbb{R}^n$ ein Gebiet +\\ +Gesucht: Lösungen von $\Delta u=0$ mit $u_{|\partial\Omega}=0$ +\end{block} +\uncover<2->{% +\begin{block}{Funktionen} +Hilbertraum $H$ der Funktionen $f:\overline{\Omega}\to\mathbb{C}$ +mit $f_{|\partial\Omega}=0$ +\end{block}} +\uncover<3->{% +\begin{block}{Skalarprodukt} +\[ +\langle f,g\rangle += +\int_{\Omega} \overline{f}(x) g(x)\,d\mu(x) +\] +\end{block}} +\uncover<4->{% +\begin{block}{Laplace-Operator} +\[ +\Delta \psi = \operatorname{div}\operatorname{grad}\psi +\] +\end{block}} +\end{column} +\begin{column}{0.52\textwidth} +\uncover<5->{% +\begin{block}{Selbstadjungiert} +\begin{align*} +\langle f,\Delta g\rangle +&\uncover<6->{= +\int_{\Omega} \overline{f}(x)\operatorname{div}\operatorname{grad}g(x)\,d\mu(x)} +\\ +&\uncover<7->{= +\int_{\partial\Omega} +\underbrace{\overline{f}(x)}_{\displaystyle=0}\operatorname{grad}g(x)\,d\nu(x)} +\\ +&\uncover<7->{\qquad +- +\int_{\Omega} +\operatorname{grad}\overline{f}(x)\cdot \operatorname{grad}g(x) +\,d\mu(x)} +\\ +&\uncover<8->{=\int_{\Omega}\operatorname{div}\operatorname{grad}\overline{f}(x)g(x)\,d\mu(x)} +\\ +&\uncover<9->{= +\langle \Delta f,g\rangle} +\end{align*} +\end{block}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/2/hilbertraum/plancherel.tex b/vorlesungen/slides/2/hilbertraum/plancherel.tex new file mode 100644 index 0000000..73dd46b --- /dev/null +++ b/vorlesungen/slides/2/hilbertraum/plancherel.tex @@ -0,0 +1,102 @@ +% +% plancherel.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Plancherel-Gleichung} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Hilbertraum mit Hilbert-Basis} +$H$ Hilbertraum mit Hilbert-Basis +$\mathcal{B}=\{b_k\;|\; k>0\}$, $x\in H$ +\end{block} +\uncover<2->{% +\begin{block}{Analyse: Fourier-Koeffizienten} +\begin{align*} +a_k = \hat{x}_k &=\langle b_k, x\rangle +\\ +\uncover<3->{\hat{x}&=\mathcal{F}x} +\end{align*} +\end{block}} +\vspace{-10pt} +\uncover<4->{% +\begin{block}{Synthese: Fourier-Reihe} +\begin{align*} +\tilde{x} +&= +\sum_k a_k b_k +\uncover<5->{= +\sum_k \langle x,b_k\rangle b_k} +\end{align*} +\end{block}} +\vspace{-6pt} +\uncover<6->{% +\begin{block}{Analyse von $\tilde{x}$} +\begin{align*} +\langle b_l,\tilde{x}\rangle +&= +\biggl\langle +b_l,\sum_{k}\langle b_k,x\rangle b_k +\biggr\rangle +\uncover<7->{= +\sum_k \langle b_k,x\rangle\langle b_l,b_k\rangle} +\uncover<8->{= +\sum_k \langle b_k,x\rangle\delta_{kl}} +\uncover<9->{= +\langle b_l,x\rangle} +\uncover<10->{= +\hat{x}_l} +\end{align*} +\end{block}} +\end{column} +\begin{column}{0.48\textwidth} +\uncover<11->{% +\begin{block}{Plancherel-Gleichung} +\begin{align*} +\|\tilde{x}\|^2 +&= +\langle \tilde{x},\tilde{x}\rangle += +\biggl\langle +\sum_k \hat{x}_kb_k, +\sum_l \hat{x}_lb_l +\biggr\rangle +\\ +&\uncover<12->{= +\sum_{k,l} \overline{\hat{x}}_k\hat{x}_l\langle b_k,b_l\rangle} +\uncover<13->{= +\sum_{k,l} \overline{\hat{x}}_k\hat{x}_l\delta_{kl}} +\\ +\uncover<14->{ +\|\tilde{x}\|^2 +&= +\sum_k |\hat{x}_k|^2} +\uncover<15->{= +\|\hat{x}\|_{l^2}^2} +\uncover<16->{= +\|\mathcal{F}x\|_{l^2}^2} +\end{align*} +\end{block}} +\vspace{-12pt} +\uncover<17->{% +\begin{block}{Isometrie} +\begin{align*} +\mathcal{F} +\colon +H \to l^2 +\colon +x\mapsto \hat{x} +\end{align*} +\uncover<18->{Alle separablen Hilberträume sind isometrisch zu $l^2$ via +%Fourier-Transformation +$\mathcal{F}$} +\end{block}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/2/hilbertraum/qm.tex b/vorlesungen/slides/2/hilbertraum/qm.tex new file mode 100644 index 0000000..a108121 --- /dev/null +++ b/vorlesungen/slides/2/hilbertraum/qm.tex @@ -0,0 +1,90 @@ +% +% qm.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Anwendung: Quantenmechanik} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Zustände (Wellenfunktion)} +$L^2$-Funktionen auf $\mathbb{R}^3$ +\[ +\psi\colon\mathbb{R}^3\to\mathbb{C} +\] +\end{block} +\vspace{-6pt} +\uncover<2->{% +\begin{block}{Wahrscheinlichkeitsinterpretation} +\[ +|\psi(x)|^2 = \left\{ +\begin{minipage}{4.6cm}\raggedright +Wahrscheinlichkeitsdichte für Position $x$ des Teilchens +\end{minipage}\right. +\] +\end{block}} +\vspace{-6pt} +\uncover<3->{% +\begin{block}{Skalarprodukt} +\[ +\langle\psi,\psi\rangle += +\int_{\mathbb{R}^3} |\psi(x)|^2\,dx = 1 +\] +\end{block}} +\vspace{-6pt} +\uncover<4->{% +\begin{block}{Messgrösse $A$} +Selbstadjungierter Operator $A$ +\\ +\uncover<5->{$\rightarrow$ +Hilbertbasis $|i\rangle$ von EV von $A$} +\end{block}} +\end{column} +\begin{column}{0.48\textwidth} +\uncover<6->{% +\begin{block}{Überlagerung} +\begin{align*} +|\psi\rangle +&= +\sum_i +w_i|i\rangle +\\ +\uncover<7->{\langle \psi|\psi\rangle +&= +\sum_i |w_i|^2 \qquad\text{(Plancherel)}} +\end{align*} +\uncover<8->{% +$|w_i|^2=|\langle \psi|i\rangle|^2$ Wahrscheinlichkeit für Zustand $|i\rangle$ +} +\end{block}} +\uncover<9->{% +\begin{block}{Erwartungswert} +\begin{align*} +E(A) +&\uncover<10->{= +\sum_i |w_i|^2 \alpha_i} +\uncover<11->{= +\sum_i \overline{w}_i\alpha_i w_i } +\hspace{5cm} +\\ +&\only<12>{= +\sum_{i,j} \overline{w}_j\alpha_i w_i \langle j|i\rangle} +\uncover<13->{= +\sum_{i} \overline{w}_j\langle j| \sum_i \alpha_i w_i |i\rangle} +\\ +&\uncover<14->{= +\sum_{i,j} \overline{w}_j w_i \langle j| +A|i\rangle} +\uncover<15->{= +\langle \psi| A |\psi\rangle} +\end{align*} +\end{block}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/2/hilbertraum/riesz.tex b/vorlesungen/slides/2/hilbertraum/riesz.tex new file mode 100644 index 0000000..437fb3c --- /dev/null +++ b/vorlesungen/slides/2/hilbertraum/riesz.tex @@ -0,0 +1,76 @@ +% +% riesz.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Darstellungssatz von Riesz} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Dualraum} +$V$ ein Vektorraum, $V^*$ der Raum aller Linearformen +\[ +f\colon V\to \mathbb{C} +\] +\end{block} +\uncover<3->{% +\begin{block}{Beispiel: $l^\infty$} +$l^\infty=\text{beschränkte Folgen in $\mathbb{C}$}$, +Linearformen: +\begin{align*} +\uncover<4->{ +f(x) +&= +\sum_{i=0}^\infty f_ix_i} +\\ +\uncover<5->{ +\|f\| +&= +\sup_{\|x\|_{\infty}\le 1} +|f(x)|} +\uncover<6->{= +\sum_{k\in\mathbb{N}} |f_k|} +\\ +\uncover<7->{ +\Rightarrow +l^{\infty*} +&= +l^1} +\uncover<9->{\qquad(\ne l^2)} +\\ +\uncover<8->{ +&=\{\text{summierbare Folgen in $\mathbb{C}$}\} +} +\end{align*} + +\end{block}} +\end{column} +\begin{column}{0.48\textwidth} +\uncover<2->{% +\begin{block}{Beispiel: $\mathbb{C}^n$} +${\mathbb{C}^n}^* = \mathbb{C}^n$ +\end{block}} +\uncover<10->{% +\begin{theorem}[Riesz] +Zu einer stetigen Linearform $f\colon H\to\mathbb{C}$ gibt es $v\in H$ mit +\[ +f(x) = \langle v,x\rangle +\quad\forall x\in H +\] +und $\|f\| = \|v\|$ +\end{theorem}} +\uncover<11->{% +\begin{block}{Dualraum von $H$} +$H^*=H$ +\end{block}}% +\uncover<12->{% +Der Hilbertraum ist die ``intuitiv richtige, unendlichdimensionale'' +Verallgemeinerung von $\mathbb{C}^n$} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/2/hilbertraum/rieszbeispiel.tex b/vorlesungen/slides/2/hilbertraum/rieszbeispiel.tex new file mode 100644 index 0000000..de9383f --- /dev/null +++ b/vorlesungen/slides/2/hilbertraum/rieszbeispiel.tex @@ -0,0 +1,107 @@ +% +% rieszbeispiel.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Linearform auf $L^2$-Funktionen} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Linearform auf $\mathbb{C}^n$} +\begin{align*} +{\color{blue}x}&=\begin{pmatrix}x_1\\x_2\\\vdots\\x_n\end{pmatrix}, +& +f({\color{blue}x}) +&= +\begin{pmatrix}f_1&f_2&\dots&f_n\end{pmatrix} {\color{blue}x} +\\ +\uncover<2->{ +{\color{red}v}&= +\rlap{$ +\begin{pmatrix} +\overline{f}_1&\overline{f}_2&\dots&\overline{f}_n +\end{pmatrix}^t +\uncover<3->{\;\Rightarrow\; +f({\color{blue}x})=\langle {\color{red}v},{\color{blue}x}\rangle} +$}} +\end{align*} +\end{block} +\end{column} +\begin{column}{0.48\textwidth} +\uncover<4->{% +\begin{block}{Linearform auf $L^2([a,b])$} +\begin{align*} +{\color{red}x}&\in L^2([a,b]) +\\ +\uncover<5->{ +f&\colon L^2([a,b]) \to \mathbb{C} +: {\color{red}x} \mapsto f({\color{red}x})} +\intertext{\uncover<6->{Riesz-Darstellungssatz: $\exists {\color{blue}v}\in L^2([a,b])$}} +\uncover<7->{f({\color{red}x}) +&= +\int_a^b {\color{blue}\overline{v}(t)}{\color{red}x(t)}\,dt} +\end{align*} +\end{block}} +\end{column} +\end{columns} +\begin{center} +\begin{tikzpicture}[>=latex,thick] +\begin{scope}[xshift=-3.5cm] +\def\s{0.058} +\foreach \n in {0,...,5}{ +\uncover<3->{ + \draw[color=red,line width=3pt] + ({\n+\s},{1/(\n+0.5)}) -- ({\n+\s},0); + \node[color=red] at ({\n},{-0.2+1/(\n+0.5)}) + [above right] {$v_\n\mathstrut$}; +} + \draw[color=blue,line width=3pt] + ({\n-\s},{0.4+0.55*sin(200*\n)+0.25*\n}) -- ({\n-\s},0); + \node[color=blue] at ({\n},{-0.2+0.4+0.55*sin(200*\n)+0.25*\n}) + [above left] {$x_\n\mathstrut$}; +} +\draw[->] (-0.6,0) -- (6,0) coordinate[label={$n$}]; +\draw[->] (-0.5,-0.1) -- (-0.5,2.5) coordinate[label={right:$x$}]; +\foreach \n in {0,...,5}{ + \fill (\n,0) circle[radius=0.08]; + \node at (\n,0) [below] {$\n$\strut}; +} +\node at (5.6,0) [below] {$\cdots$\strut}; +\end{scope} +\uncover<4->{ +\begin{scope}[xshift=3.5cm] +\uncover<7->{ +\fill[color=red!40,opacity=0.5] + plot[domain=0:5,samples=100] (\x,{1/(\x+0.5)}) + -- + (5,0) -- (0,0) -- cycle; +} +\fill[color=blue!40,opacity=0.5] + plot[domain=0:5,samples=100] (\x,{0.4+0.55*sin(200*\x)+0.25*\x}) + -- (5,0) -- (0,0) -- cycle; +\uncover<7->{ +\draw[color=red,line width=1.4pt] + plot[domain=0:5,samples=100] (\x,{1/(\x+0.5)}); +\node[color=red] at (0,2) [right] {$x(t)$}; +} + +\draw[color=blue,line width=1.4pt] + plot[domain=0:5,samples=100] (\x,{0.4+0.55*sin(200*\x)+0.25*\x}); +\node[color=blue] at (4.5,2) [right]{$v(t)$}; + +\draw[->] (-0.6,0) -- (6.0,0) coordinate[label={$t$}]; +\draw[->] (-0.5,-0.1) -- (-0.5,2.5) coordinate[label={right:$x$}]; +\draw (0.0,-0.1) -- (0.0,0.1); +\node at (0.0,0) [below] {$a$\strut}; +\draw (5.0,-0.1) -- (5.0,0.1); +\node at (5.0,0) [below] {$b$\strut}; +\end{scope} +} +\end{tikzpicture} +\end{center} +\end{frame} +\egroup diff --git a/vorlesungen/slides/2/hilbertraum/sobolev.tex b/vorlesungen/slides/2/hilbertraum/sobolev.tex new file mode 100644 index 0000000..828d34d --- /dev/null +++ b/vorlesungen/slides/2/hilbertraum/sobolev.tex @@ -0,0 +1,51 @@ +% +% sobolev.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Sobolev-Raum} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Vektorrraum $W$} +Funktionen $f\colon \Omega\to\mathbb{C}$ +\begin{itemize} +\item<2-> +$f\in L^2(\Omega)$ +\item<3-> +$\nabla f\in L^2(\Omega)$ +\item<4-> +homogene Randbedingungen: +$f_{|\partial \Omega}=0$ +\end{itemize} +\end{block} +\uncover<5->{% +\begin{block}{Skalarprodukt} +\begin{align*} +\langle f,g\rangle_W +&\uncover<6->{= +\int_\Omega \overline{\nabla f}(x)\cdot\nabla g(x)\,d\mu(x)} +\\ +&\uncover<7->{\qquad + \int_{\Omega} \overline{f}(x)\,g(x)\,d\mu(x)} +\\ +&\uncover<8->{=\langle f,-\Delta g + g\rangle_{L^2(\Omega)}} +\end{align*} +\end{block}} +\end{column} +\begin{column}{0.48\textwidth} +\uncover<9->{% +\begin{block}{Vollständigkeit} +\dots +\end{block}} +\uncover<10->{% +\begin{block}{Anwendung} +``Ein Hilbertraum für jedes partielle Differentialgleichungsproblem'' +\end{block}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/2/hilbertraum/spektral.tex b/vorlesungen/slides/2/hilbertraum/spektral.tex new file mode 100644 index 0000000..b561b69 --- /dev/null +++ b/vorlesungen/slides/2/hilbertraum/spektral.tex @@ -0,0 +1,91 @@ +% +% spektral.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Spektraltheorie für selbstadjungierte Operatoren} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Voraussetzungen} +\begin{itemize} +\item +Hilbertraum $H$ +\item +$A\colon H\to H$ linear +\end{itemize} +\end{block} +\uncover<2->{% +\begin{block}{Eigenwerte} +$x\in H$ ein EV von $A$ zum EW $\lambda\ne 0$ +\begin{align*} +\uncover<3->{\langle x,x\rangle +&= +\frac1{\lambda} +\langle x,\lambda x\rangle} +\uncover<3->{= +\frac1{\lambda} +\langle x,Ax\rangle} +\\ +&\uncover<4->{= +\frac1{\lambda} +\langle Ax,x\rangle} +\uncover<5->{= +\frac{\overline{\lambda}}{\lambda} +\langle x,x\rangle} +\\ +\uncover<6->{\frac{\overline{\lambda}}{\lambda}&=1 +\quad\Rightarrow\quad +\overline{\lambda} = \lambda} +\uncover<7->{\quad\Rightarrow\quad +\lambda\in\mathbb{R}} +\end{align*} +\end{block}} +\end{column} +\begin{column}{0.48\textwidth} +\uncover<8->{% +\begin{block}{Orthogonalität} +$u,v$ EV zu EW $\mu,\lambda\in \mathbb{R}\setminus\{0\}$, $\overline{\mu}=\mu\ne\lambda$ +\begin{align*} +\uncover<9->{ +\langle u,v\rangle +&= +\frac{1}{\mu} +\langle \mu u,v\rangle} +\uncover<10->{= +\frac{1}{\mu} +\langle Au,v\rangle} +\\ +&\uncover<11->{= +\frac{1}{\mu} +\langle u,Av\rangle} +\uncover<12->{= +\frac{1}{\mu} +\langle u,\lambda v\rangle} +\uncover<13->{= +\frac{\lambda}{\mu} +\langle u,v\rangle} +\\ +\uncover<14->{\Rightarrow +\; +0 +&= +\underbrace{\biggl(\frac{\lambda}{\mu}-1\biggr)}_{\displaystyle \ne 0} +\langle u,v\rangle} +\uncover<15->{\;\Rightarrow\; +\langle u,v\rangle = 0} +\end{align*} +\uncover<16->{EV zu verschiedenen EW sind orthogonal} +\end{block}} +\end{column} +\end{columns} +\uncover<17->{% +\begin{block}{Spektralsatz} +Es gibt eine Hilbertbasis von $H$ aus Eigenvektoren von $A$ +\end{block}} +\end{frame} +\egroup diff --git a/vorlesungen/slides/2/hilbertraum/sturm.tex b/vorlesungen/slides/2/hilbertraum/sturm.tex new file mode 100644 index 0000000..a6865ab --- /dev/null +++ b/vorlesungen/slides/2/hilbertraum/sturm.tex @@ -0,0 +1,58 @@ +% +% sturm.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Sturm-Liouville-Problem} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Wellengleichung} +Saite mit variabler Massedichte führt auf die DGL +\[ +-y''(t) + q(t) y(t) = \lambda y(t), +\quad +q(t) > 0 +\] +mit Randbedingungen $y(0)=y(1)=0$ +\end{block} +\end{column} +\begin{column}{0.48\textwidth} +\uncover<2->{% +\begin{block}{Sturm-Liouville-Operator} +\[ +A=-\frac{d^2}{dt^2} + q(t) = -D^2 + p +\] +auf differenzierbaren Funktionen $\Omega=[0,1]\to\mathbb{C}$ mit Randwerten +\[ +f(0)=f(1)=0 +\] +\end{block}} +\end{column} +\end{columns} +\uncover<3->{% +\begin{block}{Selbstadjungiert} +\begin{align*} +\langle f,Ag \rangle +&\uncover<4->{= +\langle f,-D^2 g\rangle + \langle f,qg\rangle += +- +\int_0^1 \overline{f}(t) \frac{d^2}{dt^2}g(t)\,dt ++\langle f,qg\rangle} +\\ +&\uncover<5->{=-\underbrace{[\overline{f}(t)g'(t)]_0^1}_{\displaystyle=0} ++\int_0^1 \overline{f}'(t)g'(t)\,dt ++\langle f,qg\rangle} +\uncover<6->{=-\int_0^1 \overline{f}''(t)g(t)\,dt ++\langle qf,g\rangle} +\\ +&\uncover<7->{=\langle Af,g\rangle} +\end{align*} +\end{block}} +\end{frame} +\egroup diff --git a/vorlesungen/slides/7/Makefile.inc b/vorlesungen/slides/7/Makefile.inc index 7512612..ffd5091 100644 --- a/vorlesungen/slides/7/Makefile.inc +++ b/vorlesungen/slides/7/Makefile.inc @@ -16,13 +16,20 @@ chapter5 = \ ../slides/7/einparameter.tex \ ../slides/7/ableitung.tex \ ../slides/7/liealgebra.tex \ + ../slides/7/liealgbeispiel.tex \ + ../slides/7/vektorlie.tex \ ../slides/7/kommutator.tex \ + ../slides/7/bch.tex \ ../slides/7/dg.tex \ + ../slides/7/interpolation.tex \ + ../slides/7/exponentialreihe.tex \ + ../slides/7/logarithmus.tex \ ../slides/7/zusammenhang.tex \ ../slides/7/quaternionen.tex \ ../slides/7/qdreh.tex \ ../slides/7/ueberlagerung.tex \ ../slides/7/hopf.tex \ ../slides/7/haar.tex \ + ../slides/7/integration.tex \ ../slides/7/chapter.tex diff --git a/vorlesungen/slides/7/bch.tex b/vorlesungen/slides/7/bch.tex new file mode 100644 index 0000000..0148dc4 --- /dev/null +++ b/vorlesungen/slides/7/bch.tex @@ -0,0 +1,76 @@ +% +% bch.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Baker-Campbell-Hausdorff-Formel} +$g(t),h(t)\in G +\uncover<2->{\Rightarrow \exists A,B\in LG\text{ mit } +g(t)=\exp At, h(t)=\exp Bt}$ +\uncover<3->{% +\begin{align*} +g(t) +&= +I + At + \frac{A^2t^2}{2!} + \frac{A^3t^3}{3!} + \dots, +& +h(t) +&= +I + Bt + \frac{B^2t^2}{2!} + \frac{B^3t^3}{3!} + \dots +\end{align*}} +\uncover<5->{% +\begin{block}{Kommutator in G: $c(t) = g(t)h(t)g(t)^{-1}h(t)^{-1}$} +\begin{align*} +\uncover<6->{c(t) +&= +\biggl( + {\color<7,9-11,13-15,19-21>{red}I} + + {\color<8,16-19>{red}A}t + + \frac{{\color<12>{red}A^2}t^2}{2!} + + \dots +\biggr) +\biggl( + {\color<7,8,10-12,14-15,17-18,21>{red}I} + + {\color<9,16,19-20>{red}B}t + + \frac{{\color<13>{red}B^2}t^2}{2!} + + \dots +\biggr) +\exp(-{\color<10,14,17,19,21>{red}A}t) +\exp(-{\color<11,15,18,20-21>{red}B}t) +} +\\ +&\uncover<7->{={\color<7>{red}I}} +\uncover<8->{+t( + \uncover<8->{ {\color<8>{red}A}} + \uncover<9->{+ {\color<9>{red}B}} + \uncover<10->{- {\color<10>{red}A}} + \uncover<11->{- {\color<11>{red}B}} +)} +\uncover<12->{+\frac{t^2}{2!}( + \uncover<12->{ {\color<12>{red}A^2}} + \uncover<13->{+ {\color<13>{red}B^2}} + \uncover<14->{+ {\color<14>{red}A^2}} + \uncover<15->{+ {\color<15>{red}B^2}} +)} +\\ +&\phantom{\mathstrut=I} +\uncover<12->{+t^2( + \uncover<16->{ {\color<16>{red}AB}} + \uncover<17->{- {\color<17>{red}A^2}} + \uncover<18->{- {\color<18>{red}AB}} + \uncover<19->{- {\color<19>{red}BA}} + \uncover<20->{- {\color<20>{red}B^2}} + \uncover<21->{+ {\color<21>{red}AB}} +)} +\uncover<22->{+t^3(\dots)+\dots} +\\ +&\uncover<23->{= +I + \frac{t^2}{2}[A,B] + o(t^3) +} +\end{align*}} +\end{block} +\end{frame} +\egroup diff --git a/vorlesungen/slides/7/chapter.tex b/vorlesungen/slides/7/chapter.tex index 1c78ccc..3736e0f 100644 --- a/vorlesungen/slides/7/chapter.tex +++ b/vorlesungen/slides/7/chapter.tex @@ -15,11 +15,18 @@ \folie{7/einparameter.tex} \folie{7/ableitung.tex} \folie{7/liealgebra.tex} +\folie{7/liealgbeispiel.tex} +\folie{7/vektorlie.tex} \folie{7/kommutator.tex} +\folie{7/bch.tex} \folie{7/dg.tex} +\folie{7/interpolation.tex} +\folie{7/exponentialreihe.tex} +\folie{7/logarithmus.tex} \folie{7/zusammenhang.tex} \folie{7/quaternionen.tex} \folie{7/qdreh.tex} \folie{7/ueberlagerung.tex} \folie{7/hopf.tex} \folie{7/haar.tex} +\folie{7/integration.tex} diff --git a/vorlesungen/slides/7/dg.tex b/vorlesungen/slides/7/dg.tex index 4447bac..f9528a4 100644 --- a/vorlesungen/slides/7/dg.tex +++ b/vorlesungen/slides/7/dg.tex @@ -45,7 +45,7 @@ Ableitung von $\gamma(t)$ an der Stelle $t$: \vspace{-10pt} \uncover<7->{% \begin{block}{Differentialgleichung} -\vspace{-10pt} +%\vspace{-10pt} \[ \dot{\gamma}(t) = \gamma(t) A \quad @@ -66,7 +66,7 @@ Exponentialfunktion \vspace{-5pt} \uncover<9->{% \begin{block}{Kontrolle: Tangentialvektor berechnen} -\vspace{-10pt} +%\vspace{-10pt} \begin{align*} \frac{d}{dt}e^{At} &\uncover<10->{= diff --git a/vorlesungen/slides/7/einparameter.tex b/vorlesungen/slides/7/einparameter.tex index 5171085..a32affd 100644 --- a/vorlesungen/slides/7/einparameter.tex +++ b/vorlesungen/slides/7/einparameter.tex @@ -41,7 +41,7 @@ D_{x,t+s} \begin{column}{0.48\textwidth} \uncover<5->{% \begin{block}{Scherungen in $\operatorname{SL}_2(\mathbb{R})$} -\vspace{-12pt} +%\vspace{-12pt} \[ \begin{pmatrix} 1&s\\ @@ -61,7 +61,7 @@ D_{x,t+s} \vspace{-12pt} \uncover<6->{% \begin{block}{Skalierungen in $\operatorname{SL}_2(\mathbb{R})$} -\vspace{-12pt} +%\vspace{-12pt} \[ \begin{pmatrix} e^s&0\\0&e^{-s} @@ -78,7 +78,7 @@ e^{t+s}&0\\0&e^{-(t+s)} \vspace{-12pt} \uncover<7->{% \begin{block}{Gemischt} -\vspace{-12pt} +%\vspace{-12pt} \begin{gather*} A_t = I \cosh t + \begin{pmatrix}1&a\\0&-1\end{pmatrix}\sinh t \\ diff --git a/vorlesungen/slides/7/exponentialreihe.tex b/vorlesungen/slides/7/exponentialreihe.tex new file mode 100644 index 0000000..b1aeda6 --- /dev/null +++ b/vorlesungen/slides/7/exponentialreihe.tex @@ -0,0 +1,24 @@ +% +% exponentialreihe.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Exponentialreihe} +\begin{align*} +h(s) &= \exp(tA_0 + sB) = \sum_{k=0}^\infty \frac{1}{k!} (tA_0 + sB)^k +\\ +&= +I + (tA_0 + sB) + \frac{1}{2!}(t^2A_0^2 + ts(A_0B + BA_0) + s^2B^2) ++ \frac{1}{3!}(t^3A_0^3 + t^2s(A_0^2B + A_0BA_0 + BA_0^2) + \dots) ++ \dots +\\ +\frac{dg(s)}{ds} +&= +B + \frac1{2!}t(A_0B+BA_0) + \frac{1}{3!}t^2(A_0^2B+A_0BA_0+BA_0^2) + \dots +\end{align*} +\end{frame} +\egroup diff --git a/vorlesungen/slides/7/images/Makefile b/vorlesungen/slides/7/images/Makefile index cc67c8a..6f99bc3 100644 --- a/vorlesungen/slides/7/images/Makefile +++ b/vorlesungen/slides/7/images/Makefile @@ -3,7 +3,7 @@ # # (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule # -all: rodriguez.jpg +all: rodriguez.jpg test.png rodriguez.png: rodriguez.pov povray +A0.1 -W1920 -H1080 -Orodriguez.png rodriguez.pov @@ -16,4 +16,14 @@ commutator: commutator.ini commutator.pov common.inc jpg: for f in c/c*.png; do convert $${f} c/`basename $${f} .png`.jpg; done +dreibein/timestamp: interpolation.m + octave interpolation.m + touch dreibein/timestamp +test.png: test.pov drehung.inc dreibein/d025.inc dreibein/timestamp + povray +A0.1 -W1080 -H1080 -Otest.png test.pov + +dreibein/d025.inc: dreibein/timestamp + +animation: + povray +A0.1 -W1080 -H1080 -Ointerpolation/i.png interpolation.ini diff --git a/vorlesungen/slides/7/images/drehung.inc b/vorlesungen/slides/7/images/drehung.inc new file mode 100644 index 0000000..c9b4bb7 --- /dev/null +++ b/vorlesungen/slides/7/images/drehung.inc @@ -0,0 +1,142 @@ +// +// common.inc +// +// (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +// +#version 3.7; +#include "colors.inc" + +global_settings { + assumed_gamma 1 +} + +#declare imagescale = 0.23; +#declare O = <0, 0, 0>; +#declare at = 0.02; + +camera { + location <8.5, 2, 6.5> + look_at <0, 0, 0> + right x * imagescale + up y * imagescale +} + +//light_source { +// <-14, 20, -50> color White +// area_light <1,0,0> <0,0,1>, 10, 10 +// adaptive 1 +// jitter +//} + +light_source { + <41, 20, 10> color White + area_light <1,0,0> <0,0,1>, 10, 10 + adaptive 1 + jitter +} + +sky_sphere { + pigment { + color rgb<1,1,1> + } +} + +#macro arrow(from, to, arrowthickness, c) +#declare arrowdirection = vnormalize(to - from); +#declare arrowlength = vlength(to - from); +union { + sphere { + from, 1.0 * 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 +#declare r = 1.0; + +arrow(< -r-0.2, 0.0, 0 >, < r+0.2, 0.0, 0.0 >, at, Gray) +arrow(< 0.0, 0.0, -r-0.2>, < 0.0, 0.0, r+0.2 >, at, Gray) +arrow(< 0.0, -r-0.2, 0 >, < 0.0, r+0.2, 0.0 >, at, Gray) + +#declare farbeX = rgb<1.0,0.2,0.6>; +#declare farbeY = rgb<0.0,0.8,0.4>; +#declare farbeZ = rgb<0.4,0.6,1.0>; + +#declare farbex = rgb<1.0,0.0,0.0>; +#declare farbey = rgb<0.0,0.6,0.0>; +#declare farbez = rgb<0.0,0.0,1.0>; + +#macro quadrant(X, Y, Z) + intersection { + sphere { O, 0.5 } + plane { -X, 0 } + plane { -Y, 0 } + plane { -Z, 0 } + pigment { + color rgb<1.0,0.6,0.2> + } + finish { + specular 0.95 + metallic + } + } + arrow(O, X, 1.1*at, farbex) + arrow(O, Y, 1.1*at, farbey) + arrow(O, Z, 1.1*at, farbez) +#end + +#macro drehung(X, Y, Z) +// intersection { +// sphere { O, 0.5 } +// plane { -X, 0 } +// plane { -Y, 0 } +// plane { -Z, 0 } +// pigment { +// color Gray +// } +// finish { +// specular 0.95 +// metallic +// } +// } + arrow(O, 1.1*X, 0.9*at, farbeX) + arrow(O, 1.1*Y, 0.9*at, farbeY) + arrow(O, 1.1*Z, 0.9*at, farbeZ) +#end + +#macro achse(H) + cylinder { H, -H, at + pigment { + color rgb<0.6,0.4,0.2> + } + finish { + specular 0.95 + metallic + } + } + cylinder { 0.003 * H, -0.003 * H, 1 + pigment { + color rgbt<0.6,0.4,0.2,0.5> + } + finish { + specular 0.95 + metallic + } + } +#end diff --git a/vorlesungen/slides/7/images/interpolation.ini b/vorlesungen/slides/7/images/interpolation.ini new file mode 100644 index 0000000..f07c079 --- /dev/null +++ b/vorlesungen/slides/7/images/interpolation.ini @@ -0,0 +1,8 @@ +Input_File_Name=interpolation.pov +Initial_Frame=0 +Final_Frame=50 +Initial_Clock=0 +Final_Clock=50 +Cyclic_Animation=off +Pause_when_Done=off + diff --git a/vorlesungen/slides/7/images/interpolation.m b/vorlesungen/slides/7/images/interpolation.m new file mode 100644 index 0000000..31554e8 --- /dev/null +++ b/vorlesungen/slides/7/images/interpolation.m @@ -0,0 +1,54 @@ +# +# interpolation.m +# +# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +# +global N; +N = 50; +global A; +global B; + +A = (pi / 2) * [ + 0, 0, 0; + 0, 0, -1; + 0, 1, 0 +]; +g0 = expm(A) + +B = (pi / 2) * [ + 0, 0, 1; + 0, 0, 0; + -1, 0, 0 +]; +g1 = expm(B) + +function retval = g(t) + global A; + global B; + retval = expm((1-t)*A+t*B); +endfunction + +function dreibein(fn, M, funktion) + fprintf(fn, "%s(<%.4f,%.4f,%.4f>, <%.4f,%.4f,%.4f>, <%.4f,%.4f,%.4f>)\n", + funktion, + M(1,1), M(3,1), M(2,1), + M(1,2), M(3,2), M(2,2), + M(1,3), M(3,3), M(2,3)); +endfunction + +G = g1 * inverse(g0); +[V, lambda] = eig(G); +H = real(V(:,3)); + +D = logm(g1*inverse(g0)); + +for i = (0:N) + filename = sprintf("dreibein/d%03d.inc", i); + fn = fopen(filename, "w"); + t = i/N; + dreibein(fn, g(t), "quadrant"); + dreibein(fn, expm(t*D)*g0, "drehung"); + fprintf(fn, "achse(<%.4f,%.4f,%.4f>)\n", H(1,1), H(3,1), H(2,1)); + fclose(fn); +endfor + diff --git a/vorlesungen/slides/7/images/interpolation.pov b/vorlesungen/slides/7/images/interpolation.pov new file mode 100644 index 0000000..71e0257 --- /dev/null +++ b/vorlesungen/slides/7/images/interpolation.pov @@ -0,0 +1,10 @@ +// +// commutator.pov +// +// (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +// +#include "drehung.inc" + +#declare filename = concat("dreibein/d", str(clock, -3, 0), ".inc"); +#include filename + diff --git a/vorlesungen/slides/7/images/test.pov b/vorlesungen/slides/7/images/test.pov new file mode 100644 index 0000000..5707be1 --- /dev/null +++ b/vorlesungen/slides/7/images/test.pov @@ -0,0 +1,7 @@ +// +// test.pov +// +// (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +// +#include "drehung.inc" +#include "dreibein/d025.inc" diff --git a/vorlesungen/slides/7/integration.tex b/vorlesungen/slides/7/integration.tex new file mode 100644 index 0000000..525e6de --- /dev/null +++ b/vorlesungen/slides/7/integration.tex @@ -0,0 +1,66 @@ +% +% integration.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Invariante Integration} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Koordinatenwechsel} +Die Koordinatentransformation +$f\colon\mathbb{R}^n\to\mathbb{R}^n:x\to y$ +hat die Ableitungsmatrix +\[ +t_{ij} += +\frac{\partial y_i}{\partial x_j} +\] +\uncover<2->{% +$n$-faches Integral +\begin{gather*} +\int\dots\int +h(f(x)) +\det +\biggl( +\frac{\partial y_i}{\partial x_j} +\biggr) +\,dx_1\,\dots dx_n +\\ += +\int\dots\int +h(y) +\,dy_1\,\dots dy_n +\end{gather*}} +\end{block} +\end{column} +\begin{column}{0.48\textwidth} +\uncover<3->{% +\begin{block}{auf einer Lie-Gruppe} +Koordinatenwechsel sind Multiplikationen mit einer +Matrix $g\in G$ +\end{block}} +\uncover<4->{% +\begin{block}{Volumenelement in $I$} +Man muss nur das Volumenelement in $I$ in einem beliebigen +Koordinatensystem definieren: +\[ +dV = dy_1\,\dots\,dy_n +\] +\end{block}} +\uncover<5->{% +\begin{block}{Volumenelement in $g$} +\[ +\text{``\strut}g\cdot dV\text{\strut''} += +\det(g) \, dy_1\,\dots\,dy_n +\] +\end{block}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/7/interpolation.tex b/vorlesungen/slides/7/interpolation.tex new file mode 100644 index 0000000..249ee26 --- /dev/null +++ b/vorlesungen/slides/7/interpolation.tex @@ -0,0 +1,112 @@ +% +% interpolation.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\def\bild#1#2{\only<#1|handout:0>{\includegraphics[width=\textwidth]{../slides/7/images/interpolation/#2.png}}} +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Interpolation} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Aufgabe} +Finde einen Weg $g(t)\in \operatorname{SO}(3)$ zwischen +$g_0\in\operatorname{SO}(3)$ +und +$g_1\in\operatorname{SO}(3)$: +\[ +g_0=g(0) +\quad\wedge\quad +g_1=g(1) +\] +\end{block} +\vspace{-10pt} +\uncover<2->{% +\begin{block}{Lösung} +$g_i=\exp(A_i) \uncover<3->{\Rightarrow A_i^t=-A_i}$ +\begin{align*} +\uncover<4->{A(t) &= (1-t)A_0 + tA_1}\uncover<8->{ \in \operatorname{so}(3)} +\\ +\uncover<5->{A(t)^t +&=(1-t)A_0^t + tA_1^t} +\\ +&\uncover<6->{= +-(1-t)A_0 - t A_1} +\uncover<7->{= +-A(t)} +\\ +\uncover<9->{\Rightarrow +g(t) &= \exp A(t) \in \operatorname{SO}(3)} +\\ +&\uncover<10->{\ne +\exp (\log(g_1g_0^{-1})t) g_0} +\end{align*} +\end{block}} +\end{column} +\begin{column}{0.48\textwidth} +\uncover<11->{% +\begin{block}{Animation} +\centering +\ifthenelse{\boolean{presentation}}{ +\bild{12}{i00} +\bild{13}{i01} +\bild{14}{i02} +\bild{15}{i03} +\bild{16}{i04} +\bild{17}{i05} +\bild{18}{i06} +\bild{19}{i07} +\bild{20}{i08} +\bild{21}{i09} +\bild{22}{i10} +\bild{23}{i11} +\bild{24}{i12} +\bild{25}{i13} +\bild{26}{i14} +\bild{27}{i15} +\bild{28}{i16} +\bild{29}{i17} +\bild{30}{i18} +\bild{31}{i19} +\bild{32}{i20} +\bild{33}{i21} +\bild{34}{i22} +\bild{35}{i23} +\bild{36}{i24} +\bild{37}{i25} +\bild{38}{i26} +\bild{39}{i27} +\bild{40}{i28} +\bild{41}{i29} +\bild{42}{i30} +\bild{43}{i31} +\bild{44}{i32} +\bild{45}{i33} +\bild{46}{i34} +\bild{47}{i35} +\bild{48}{i36} +\bild{49}{i37} +\bild{50}{i38} +\bild{51}{i39} +\bild{52}{i40} +\bild{53}{i41} +\bild{54}{i42} +\bild{55}{i43} +\bild{56}{i44} +\bild{57}{i45} +\bild{58}{i46} +\bild{59}{i47} +\bild{60}{i48} +\bild{61}{i49} +\bild{62}{i50} +}{ +\includegraphics[width=\textwidth]{../slides/7/images/interpolation/i25.png} +} +\end{block}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/7/liealgbeispiel.tex b/vorlesungen/slides/7/liealgbeispiel.tex new file mode 100644 index 0000000..a17de40 --- /dev/null +++ b/vorlesungen/slides/7/liealgbeispiel.tex @@ -0,0 +1,78 @@ +% +% liealgbeispiel.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Lie-Algebra Beispiele} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{$\operatorname{sl}_2(\mathbb{R})$} +Spurlose Matrizen: +\[ +\operatorname{sl}_2(\mathbb{R}) += +\{A\in M_n(\mathbb{R})\;|\; \operatorname{Spur}A=0\} +\] +\end{block} +\begin{block}{Lie-Algebra?} +Nachrechnen: $[A,B]\in \operatorname{sl}_2(\mathbb{R})$: +\begin{align*} +\operatorname{Spur}([A,B]) +&= +\operatorname{Spur}(AB-BA) +\\ +&= +\operatorname{Spur}(AB)-\operatorname{Spur}(BA) +\\ +&= +\operatorname{Spur}(AB)-\operatorname{Spur}(AB) +\\ +&=0 +\end{align*} +$\Rightarrow$ $\operatorname{sl}_2(\mathbb{R})$ ist eine Lie-Algebra +\end{block} +\end{column} +\begin{column}{0.48\textwidth} +\begin{block}{$\operatorname{so}(n)$} +Antisymmetrische Matrizen: +\[ +\operatorname{so}(n) += +\{A\in M_n(\mathbb{R}) +\;|\; +A=-A^t +\} +\] +\end{block} +\begin{block}{Lie-Algebra?} +Nachrechnen: $A,B\in \operatorname{so}(n)$ +\begin{align*} +[A,B]^t +&= +(AB-BA)^t +\\ +&= +B^tA^t - A^tB^t +\\ +&= +(-B)(-A)-(-A)(-B) +\\ +&= +BA-AB += +-(AB-BA) +\\ +&= +-[A,B] +\end{align*} +$\Rightarrow$ $\operatorname{so}(n)$ ist eine Lie-Algebra +\end{block} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/7/logarithmus.tex b/vorlesungen/slides/7/logarithmus.tex new file mode 100644 index 0000000..58065d7 --- /dev/null +++ b/vorlesungen/slides/7/logarithmus.tex @@ -0,0 +1,82 @@ +% +% logarithmus.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Logarithmus} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Taylor-Reihe} +\begin{align*} +\frac{d}{dx}\log(1+x) +&= \frac{1}{1+x} +\\ +\uncover<2->{ +\Rightarrow\quad +\log (1+x) +&= +\int_0^x \frac{1}{1+t}\,dt} +\end{align*} +\begin{align*} +\uncover<3->{\frac{1}{1+t} +&= +1-t+t^2-t^3+\dots} +\\ +\uncover<4->{\log(1+x) +&=\int_0^x +1-t+t^2-t^3+\dots +\,dt} +\\ +&\only<5>{= +x-\frac{x^2}{2} + \frac{x^3}{3} - \frac{x^4}4 + \dots} +\uncover<6->{= +\sum_{k=1}^\infty (-1)^{k-1}\frac{x^k}{k}} +\\ +\uncover<7->{\log (I+A) +&= +\sum_{k=1}^\infty \frac{(-1)^{k-1}}{k}A^k} +\end{align*} +\end{block} +\end{column} +\begin{column}{0.48\textwidth} +\uncover<8->{% +\begin{block}{Konvergenzradius} +Polstelle bei $x=-1$ +\( +\varrho =1 +\) +\end{block}} +\vspace{-5pt} +\begin{block}{\uncover<9->{Alternative: Spektraltheorie}} +\uncover<9->{ +Logarithmus $\log z$ in $\{z\in\mathbb{C}\;|\; \neg(\Re z\le 0\wedge\Im z=0)\}$ +definiert:} +\vspace{-15pt} +\uncover<8->{ +\begin{center} +\begin{tikzpicture}[>=latex,thick] +\uncover<9->{ + \fill[color=red!20] (-2.1,-2.1) rectangle (2.5,2.1); +} +\draw[->] (-2.2,0) -- (2.9,0) coordinate[label={$\Re z$}]; +\draw[->] (0,-2.2) -- (0,2.4) coordinate[label={right:$\Im z$}]; +\fill[color=blue!40,opacity=0.5] (1,0) circle[radius=1]; +\draw[color=blue] (1,0) circle[radius=1]; +\uncover<9->{ + \draw[color=white,line width=5pt] (-2.2,0) -- (0.1,0); +} +\fill (1,0) circle[radius=0.08]; +\node at (2.3,1.9) {$\mathbb{C}$}; +\node at (1,0) [below] {$1$}; +\end{tikzpicture} +\end{center}} +\end{block} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/7/vektorlie.tex b/vorlesungen/slides/7/vektorlie.tex new file mode 100644 index 0000000..621a832 --- /dev/null +++ b/vorlesungen/slides/7/vektorlie.tex @@ -0,0 +1,206 @@ +% +% viktorlie.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\definecolor{darkgreen}{rgb}{0,0.6,0} +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Vektorprodukt als Lie-Algebra} +%\vspace{-10pt} +\centering +\begin{tikzpicture}[>=latex,thick] +\arraycolsep=2.4pt +\def\Ax{0} +\def\Ux{4.1} +\def\Kx{7.2} +\def\Rx{13.1} + +\def\Lx{2.2} +\def\Ly{0} +\def\Lz{-2.2} + +\fill[color=red!20] (\Ax,{\Lx-1.55}) rectangle ({\Ux-0.1},{\Lx+0.55}); +\fill[color=red!20] (\Ux,{\Lx-1.55}) rectangle ({\Kx-0.1},{\Lx+0.55}); +\fill[color=red!20] (\Kx,{\Lx-1.55}) rectangle ({\Rx},{\Lx+0.55}); + +\fill[color=darkgreen!20] (\Ax,{\Ly-1.55}) rectangle ({\Ux-0.1},{\Ly+0.55}); +\fill[color=darkgreen!20] (\Ux,{\Ly-1.55}) rectangle ({\Kx-0.1},{\Ly+0.55}); +\fill[color=darkgreen!20] (\Kx,{\Ly-1.55}) rectangle ({\Rx},{\Ly+0.55}); + +\fill[color=blue!20] (\Ax,{\Lz-1.55}) rectangle ({\Ux-0.1},{\Lz+0.55}); +\fill[color=blue!20] (\Ux,{\Lz-1.55}) rectangle ({\Kx-0.1},{\Lz+0.55}); +\fill[color=blue!20] (\Kx,{\Lz-1.55}) rectangle ({\Rx},{\Lz+0.55}); + +\coordinate (A) at (\Ax,3.2); +\coordinate (Ax) at (\Ax,\Lx); +\coordinate (Ay) at (\Ax,\Ly); +\coordinate (Az) at (\Ax,\Lz); + +\node at (A) [right] + {\usebeamercolor[fg]{title}Drehmatrix, $\operatorname{SO}(n)$\strut}; + +\node at (Ax) [right] {$\displaystyle\tiny +D_{x,\alpha}=\begin{pmatrix} +1&0&0\\ +0&\cos\alpha&-\sin\alpha\\ +0&\sin\alpha&\cos\alpha +\end{pmatrix}$}; + +\node at (Ay) [right] {$\displaystyle\tiny +D_{y,\alpha}=\begin{pmatrix} +\cos\alpha&0&\sin\alpha\\ +0&1&0\\ +-\sin\alpha&0&\cos\alpha +\end{pmatrix}$}; + +\node at (Az) [right] {$\displaystyle\tiny +D_{z,\alpha}=\begin{pmatrix} +\cos\alpha&-\sin\alpha&0\\ +\sin\alpha&\cos\alpha&0\\ +0&0&1 +\end{pmatrix}$}; + +\coordinate (U) at (\Ux,3.2); +\coordinate (Ux) at (\Ux,\Lx); +\coordinate (Uy) at (\Ux,\Ly); +\coordinate (Uz) at (\Ux,\Lz); +\coordinate (Ex) at (\Ux,{\Lx-1}); +\coordinate (Ey) at (\Ux,{\Ly-1}); +\coordinate (Ez) at (\Ux,{\Lz-1}); + +\uncover<2->{ +\node at (U) [right] + {\usebeamercolor[fg]{title}Ableitung, $\operatorname{so}(n)$\strut}; + +\node at (Ux) [right] {$\displaystyle\tiny +U_x=\begin{pmatrix*}[r] +0&0&0\\ +0&0&-1\\ +0&1&0 +\end{pmatrix*} +$}; + +\node at (Uy) [right] {$\displaystyle\tiny +U_y=\begin{pmatrix*}[r] +0&0&1\\ +0&0&0\\ +-1&0&0 +\end{pmatrix*} +$}; + +\node at (Uz) [right] {$\displaystyle\tiny +U_z=\begin{pmatrix*}[r] +0&-1&0\\ +1&0&0\\ +0&0&0 +\end{pmatrix*} +$}; +} + +\uncover<9->{ +\node at (Ex) [right] {$\displaystyle +\, e_x = \tiny\begin{pmatrix}1\\0\\0\end{pmatrix} +$}; + +\node at (Ey) [right] {$\displaystyle +\, e_y = \tiny\begin{pmatrix}0\\1\\0\end{pmatrix} +$}; + +\node at (Ez) [right] {$\displaystyle +\, e_z = \tiny\begin{pmatrix}0\\0\\1\end{pmatrix} +$}; +} + +\coordinate (K) at (\Kx,3.2); +\coordinate (Kx) at (\Kx,\Lx); +\coordinate (Ky) at (\Kx,\Ly); +\coordinate (Kz) at (\Kx,\Lz); +\coordinate (Vx) at (\Kx,{\Lx-1}); +\coordinate (Vy) at (\Kx,{\Ly-1}); +\coordinate (Vz) at (\Kx,{\Lz-1}); + +\uncover<3->{ +\node at (K) [right] + {\usebeamercolor[fg]{title}Kommutator\strut}; + +\node at (Kx) [right] {$\displaystyle +\begin{aligned} +[U_y,U_z] &\uncover<4->{= +{\tiny +\begin{pmatrix} +0&0&0\\ +0&0&0\\ +0&1&0 +\end{pmatrix}} +\uncover<5->{\mathstrut- +\tiny +\begin{pmatrix} +0&0&0\\ +0&0&1\\ +0&0&0 +\end{pmatrix}}} +\uncover<6->{=U_x} +\end{aligned} +$}; +} + +\uncover<7->{ +\node at (Ky) [right] {$\displaystyle +\begin{aligned} +[U_z,U_x] &= +{\tiny +\begin{pmatrix} +0&0&1\\ +0&0&0\\ +0&0&0 +\end{pmatrix} +- +\begin{pmatrix} +0&0&0\\ +0&0&0\\ +1&0&0 +\end{pmatrix}} +=U_y +\end{aligned} +$}; +} + +\uncover<8->{ +\node at (Kz) [right] {$\displaystyle +\begin{aligned} +[U_x,U_y] &= +{\tiny +\begin{pmatrix} +0&0&0\\ +1&0&0\\ +0&0&0 +\end{pmatrix} +- +\begin{pmatrix} +0&1&0\\ +0&0&0\\ +0&0&0 +\end{pmatrix}} +=U_z +\end{aligned} +$}; +} + +\uncover<10->{ +\node at (Vx) [right] {$\displaystyle \phantom{]}e_y\times e_z = e_x$}; +} + +\uncover<11->{ +\node at (Vy) [right] {$\displaystyle \phantom{]}e_z\times e_x = e_y$}; +} + +\uncover<12->{ +\node at (Vz) [right] {$\displaystyle \phantom{]}e_x\times e_y = e_z$}; +} + +\end{tikzpicture} +\end{frame} +\egroup diff --git a/vorlesungen/slides/8/Makefile.inc b/vorlesungen/slides/8/Makefile.inc index d46dc7f..6ac5665 100644 --- a/vorlesungen/slides/8/Makefile.inc +++ b/vorlesungen/slides/8/Makefile.inc @@ -28,5 +28,25 @@ chapter8 = \ ../slides/8/tokyo/bahn0.tex \ ../slides/8/tokyo/bahn1.tex \ ../slides/8/tokyo/bahn2.tex \ + ../slides/8/chrind.tex \ + ../slides/8/chrindprop.tex \ + ../slides/8/chroma1.tex \ + ../slides/8/amax.tex \ + ../slides/8/subgraph.tex \ + ../slides/8/chrwilf.tex \ + ../slides/8/weitere.tex \ + ../slides/8/wavelets/funktionen.tex \ + ../slides/8/wavelets/laplacebasis.tex \ + ../slides/8/wavelets/vektoren.tex \ + ../slides/8/wavelets/fourier.tex \ + ../slides/8/wavelets/lokalisierungsvergleich.tex \ + ../slides/8/wavelets/frequenzlokalisierung.tex \ + ../slides/8/wavelets/dilatation.tex \ + ../slides/8/wavelets/matrixdilatation.tex \ + ../slides/8/wavelets/gundh.tex \ + ../slides/8/wavelets/dilbei.tex \ + ../slides/8/wavelets/frame.tex \ + ../slides/8/wavelets/framekonstanten.tex \ + ../slides/8/wavelets/beispiel.tex \ ../slides/8/chapter.tex diff --git a/vorlesungen/slides/8/amax.tex b/vorlesungen/slides/8/amax.tex new file mode 100644 index 0000000..951400a --- /dev/null +++ b/vorlesungen/slides/8/amax.tex @@ -0,0 +1,86 @@ +% +% amax.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{$\alpha_{\text{max}}$ und $d$} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.44\textwidth} +\begin{block}{Definition} +$\alpha_{\text{max}}$ ist der grösste Eigenwert der Adjazenzmatrix +\end{block} +\uncover<2->{ +\begin{block}{Fakten} +\begin{itemize} +\item<3-> +Der Eigenwert $\alpha_{\text{max}}$ ist einfach +\item<4-> +Es gibt einen positiven Eigenvektor $f$ zum Eigenwert $\alpha_{\text{max}}$ +\item<5-> +$f$ maximiert +\[ +\frac{\langle Af,f\rangle}{\langle f,f\rangle} += +\alpha_{\text{max}} +\] +\end{itemize} +Herkunft: Perron-Frobenius-Theorie positiver Matrizen (nächste Woche) +\end{block}} +\end{column} +\begin{column}{0.52\textwidth} +\uncover<6->{% +\begin{block}{Mittlerer Grad} +\[ +\overline{d} += +\frac1{n} \sum_{v} \operatorname{deg}(v) +\le +\alpha_{\text{max}} +\le +d +\] +\end{block}} +\vspace{-10pt} +\uncover<7->{% +\begin{proof}[Beweis] +\begin{itemize} +\item Konstante Funktion $1$ anstelle von $f$: +\[ +\frac{\langle A1,1\rangle}{\langle 1,1\rangle} +\uncover<8->{= +\frac{\sum_v \operatorname{deg}(v)}{n}} +\uncover<9->{= +\overline{d}} +\uncover<10->{\le +\alpha_{\text{max}}} +\] +\item<11-> Komponenten von $Af$ summieren: +\begin{align*} +\uncover<12->{ +\alpha_{\text{max}} +f(v) &= (Af)(v)}\uncover<13->{ = \sum_{u\sim v} f(u)} +\\ +\uncover<14->{\alpha_{\text{max}} +\sum_{v}f(v) +&= +\sum_v +\operatorname{deg}(v) f(v)} +\\ +&\uncover<15->{\le +d\sum_v f(v)} +\; +\uncover<16->{\Rightarrow +\; +\alpha_{\text{max}} \le d} +\end{align*} +\end{itemize} +\end{proof}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/8/chapter.tex b/vorlesungen/slides/8/chapter.tex index 6a0b13f..69b7231 100644 --- a/vorlesungen/slides/8/chapter.tex +++ b/vorlesungen/slides/8/chapter.tex @@ -30,3 +30,24 @@ \folie{8/tokyo/bahn1.tex} \folie{8/tokyo/bahn2.tex} +\folie{8/chrind.tex} +\folie{8/chrindprop.tex} +\folie{8/chroma1.tex} +\folie{8/amax.tex} +\folie{8/subgraph.tex} +\folie{8/chrwilf.tex} +\folie{8/weitere.tex} + +\folie{8/wavelets/funktionen.tex} +\folie{8/wavelets/laplacebasis.tex} +\folie{8/wavelets/fourier.tex} +\folie{8/wavelets/lokalisierungsvergleich.tex} +\folie{8/wavelets/frequenzlokalisierung.tex} +\folie{8/wavelets/dilatation.tex} +\folie{8/wavelets/matrixdilatation.tex} +\folie{8/wavelets/gundh.tex} +\folie{8/wavelets/frame.tex} +\folie{8/wavelets/dilbei.tex} +\folie{8/wavelets/framekonstanten.tex} +\folie{8/wavelets/beispiel.tex} + diff --git a/vorlesungen/slides/8/chrind.tex b/vorlesungen/slides/8/chrind.tex new file mode 100644 index 0000000..bd406ab --- /dev/null +++ b/vorlesungen/slides/8/chrind.tex @@ -0,0 +1,231 @@ +% +% chrind.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Chromatische Zahl und Unabhängigkeitszahl} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Chromatische Zahl} +$\operatorname{chr}(G)=\mathstrut$ +minimale Anzahl Farben, die zum Einfärben eines Graphen $G$ nötig sind derart, +dass benachbarte Knoten verschiedene Farben haben. +\begin{center} +\begin{tikzpicture}[>=latex,thick] + +\def\Ra{2} +\def\Ri{1} +\def\e{1.0} +\def\r{0.2} + +\definecolor{rot}{rgb}{0.8,0,0.8} +\definecolor{gruen}{rgb}{0.2,0.6,0.2} +\definecolor{blau}{rgb}{1,0.6,0.2} + +\coordinate (PA) at ({\Ri*sin(0*72)},{\e*\Ri*cos(0*72)}); +\coordinate (PB) at ({\Ri*sin(1*72)},{\e*\Ri*cos(1*72)}); +\coordinate (PC) at ({\Ri*sin(2*72)},{\e*\Ri*cos(2*72)}); +\coordinate (PD) at ({\Ri*sin(3*72)},{\e*\Ri*cos(3*72)}); +\coordinate (PE) at ({\Ri*sin(4*72)},{\e*\Ri*cos(4*72)}); + +\coordinate (QA) at ({\Ra*sin(0*72)},{\e*\Ra*cos(0*72)}); +\coordinate (QB) at ({\Ra*sin(1*72)},{\e*\Ra*cos(1*72)}); +\coordinate (QC) at ({\Ra*sin(2*72)},{\e*\Ra*cos(2*72)}); +\coordinate (QD) at ({\Ra*sin(3*72)},{\e*\Ra*cos(3*72)}); +\coordinate (QE) at ({\Ra*sin(4*72)},{\e*\Ra*cos(4*72)}); + +\draw (PA)--(PC)--(PE)--(PB)--(PD)--cycle; +\draw (QA)--(QB)--(QC)--(QD)--(QE)--cycle; +\draw (PA)--(QA); +\draw (PB)--(QB); +\draw (PC)--(QC); +\draw (PD)--(QD); +\draw (PE)--(QE); + +\only<1>{ + \fill[color=white] (PA) circle[radius=\r]; + \fill[color=white] (PB) circle[radius=\r]; + \fill[color=white] (PC) circle[radius=\r]; + \fill[color=white] (PD) circle[radius=\r]; + \fill[color=white] (PE) circle[radius=\r]; + \fill[color=white] (QA) circle[radius=\r]; + \fill[color=white] (QB) circle[radius=\r]; + \fill[color=white] (QC) circle[radius=\r]; + \fill[color=white] (QD) circle[radius=\r]; + \fill[color=white] (QE) circle[radius=\r]; +} + +\only<2->{ + \fill[color=blau] (PA) circle[radius=\r]; + \fill[color=rot] (PB) circle[radius=\r]; + \fill[color=rot] (PC) circle[radius=\r]; + \fill[color=gruen] (PD) circle[radius=\r]; + \fill[color=gruen] (PE) circle[radius=\r]; + + \fill[color=rot] (QA) circle[radius=\r]; + \fill[color=blau] (QB) circle[radius=\r]; + \fill[color=gruen] (QC) circle[radius=\r]; + \fill[color=rot] (QD) circle[radius=\r]; + \fill[color=blau] (QE) circle[radius=\r]; +} + +\draw (PA) circle[radius=\r]; +\draw (PB) circle[radius=\r]; +\draw (PC) circle[radius=\r]; +\draw (PD) circle[radius=\r]; +\draw (PE) circle[radius=\r]; + +\draw (QA) circle[radius=\r]; +\draw (QB) circle[radius=\r]; +\draw (QC) circle[radius=\r]; +\draw (QD) circle[radius=\r]; +\draw (QE) circle[radius=\r]; + +\node at ($0.5*(QC)+0.5*(QD)+(0,-0.2)$) [below] {$\operatorname{chr} G = 3$}; + +\end{tikzpicture} +\end{center} +\end{block} +\end{column} +\begin{column}{0.48\textwidth} +\uncover<3->{% +\begin{block}{Unabhängigkeitszahl} +$\operatorname{ind}(G)=\mathstrut$ +maximale Anzahl nicht benachbarter Knoten +\begin{center} +\begin{tikzpicture}[>=latex,thick] + +\def\Ra{2} +\def\Ri{1} +\def\e{1.0} +\def\r{0.2} + +\definecolor{rot}{rgb}{0.8,0,0.8} +\definecolor{gruen}{rgb}{0.2,0.6,0.2} +\definecolor{blau}{rgb}{1,0.6,0.2} +\definecolor{gelb}{rgb}{0,0,1} + +\coordinate (PA) at ({\Ri*sin(0*72)},{\e*\Ri*cos(0*72)}); +\coordinate (PB) at ({\Ri*sin(1*72)},{\e*\Ri*cos(1*72)}); +\coordinate (PC) at ({\Ri*sin(2*72)},{\e*\Ri*cos(2*72)}); +\coordinate (PD) at ({\Ri*sin(3*72)},{\e*\Ri*cos(3*72)}); +\coordinate (PE) at ({\Ri*sin(4*72)},{\e*\Ri*cos(4*72)}); + +\coordinate (QA) at ({\Ra*sin(0*72)},{\e*\Ra*cos(0*72)}); +\coordinate (QB) at ({\Ra*sin(1*72)},{\e*\Ra*cos(1*72)}); +\coordinate (QC) at ({\Ra*sin(2*72)},{\e*\Ra*cos(2*72)}); +\coordinate (QD) at ({\Ra*sin(3*72)},{\e*\Ra*cos(3*72)}); +\coordinate (QE) at ({\Ra*sin(4*72)},{\e*\Ra*cos(4*72)}); + +\draw (PA)--(PC)--(PE)--(PB)--(PD)--cycle; +\draw (QA)--(QB)--(QC)--(QD)--(QE)--cycle; +\draw (PA)--(QA); +\draw (PB)--(QB); +\draw (PC)--(QC); +\draw (PD)--(QD); +\draw (PE)--(QE); + +\foreach \n in {1,...,7}{ + \only<\n>{\node[color=white] at (1,2.9) {$\n$};} +} + +\fill[color=white] (PA) circle[radius=\r]; +\fill[color=white] (PB) circle[radius=\r]; +\fill[color=white] (PC) circle[radius=\r]; +\fill[color=white] (PD) circle[radius=\r]; +\fill[color=white] (PE) circle[radius=\r]; +\fill[color=white] (QA) circle[radius=\r]; +\fill[color=white] (QB) circle[radius=\r]; +\fill[color=white] (QC) circle[radius=\r]; +\fill[color=white] (QD) circle[radius=\r]; +\fill[color=white] (QE) circle[radius=\r]; + +\only<4->{ + \fill[color=rot] (QA) circle[radius={1.5*\r}]; + \fill[color=rot!40] (QB) circle[radius=\r]; + \fill[color=rot!40] (QE) circle[radius=\r]; + \fill[color=rot!40] (PA) circle[radius=\r]; +} + +\only<5->{ + \fill[color=blau] (PB) circle[radius={1.5*\r}]; + \fill[color=blau!40] (PD) circle[radius=\r]; + \fill[color=blau!40] (PE) circle[radius=\r]; + \fill[color=blau!80,opacity=0.5] (QB) circle[radius=\r]; +} + +\only<6->{ + \fill[color=gruen] (PC) circle[radius={1.5*\r}]; + \fill[color=gruen!40] (QC) circle[radius=\r]; + \fill[color=gruen!80,opacity=0.5] (PA) circle[radius=\r]; + \fill[color=gruen!80,opacity=0.5] (PE) circle[radius=\r]; +} + +\only<7->{ + \fill[color=gelb] (QD) circle[radius={1.5*\r}]; + \fill[color=gelb!80,opacity=0.5] (QC) circle[radius=\r]; + \fill[color=gelb!80,opacity=0.5] (QE) circle[radius=\r]; + \fill[color=gelb!80,opacity=0.5] (PD) circle[radius=\r]; +} + +\only<-3|handout:0>{ + \draw (QA) circle[radius=\r]; +} +\only<4->{ + \draw (QA) circle[radius={1.5*\r}]; +} + +\only<-4|handout:0>{ + \draw (PB) circle[radius=\r]; +} +\only<5->{ + \draw (PB) circle[radius={1.5*\r}]; +} + +\only<-5|handout:0>{ + \draw (PC) circle[radius=\r]; +} +\only<6->{ + \draw (PC) circle[radius={1.5*\r}]; +} + +\only<-6|handout:0>{ + \draw (QD) circle[radius=\r]; +} +\only<7->{ + \draw (QD) circle[radius={1.5*\r}]; +} + +\draw (PA) circle[radius=\r]; +\draw (PD) circle[radius=\r]; +\draw (PE) circle[radius=\r]; + +\draw (QB) circle[radius=\r]; +\draw (QC) circle[radius=\r]; +\draw (QE) circle[radius=\r]; + +\only<4|handout:0>{ +\node at ($0.5*(QC)+0.5*(QD)+(0,-0.2)$) [below] {$\operatorname{ind} G = 1$}; +} +\only<5|handout:0>{ +\node at ($0.5*(QC)+0.5*(QD)+(0,-0.2)$) [below] {$\operatorname{ind} G = 2$}; +} +\only<6|handout:0>{ +\node at ($0.5*(QC)+0.5*(QD)+(0,-0.2)$) [below] {$\operatorname{ind} G = 3$}; +} +\only<7->{ +\node at ($0.5*(QC)+0.5*(QD)+(0,-0.2)$) [below] {$\operatorname{ind} G = 4$}; +} + +\end{tikzpicture} +\end{center} +\end{block}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/8/chrindprop.tex b/vorlesungen/slides/8/chrindprop.tex new file mode 100644 index 0000000..094588c --- /dev/null +++ b/vorlesungen/slides/8/chrindprop.tex @@ -0,0 +1,62 @@ +% +% chrindprop.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Zusammenhang zwischen $\operatorname{chr}G$ und $\operatorname{ind}G$} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.38\textwidth} +\begin{block}{Proposition} +Ist $G$ ein Graph mit $n$ Knoten, dann gilt +\[ +\operatorname{chr}G +\cdot +\operatorname{ind}G +\ge n +\] +\end{block} +\uncover<2->{% +\begin{block}{Beispiel} +Peterson-Graph $K$ hat $n=10$ Knoten: +\[ +\operatorname{chr}(K) +\cdot +\operatorname{ind}(K) += +3\cdot 4 +\ge +10 += +n +\] +\end{block}} +\end{column} +\begin{column}{0.58\textwidth} +\uncover<3->{% +\begin{proof}[Beweis] +\begin{itemize} +\item<4-> eine minimale Färbung hat $\operatorname{chr}(G)$ Farben +\item<5-> Sie teilt die Knoten in $\operatorname{chr}(G)$ +gleichfarbige Mengen auf +\item<6-> Jede einfarbige Menge von Knoten ist unabhängig, d.~h.~sie +besteht aus Knoten, die nicht miteinander verbunden sind. +\item<7-> Jede einfarbige Menge enthält höchstens $\operatorname{ind}(G)$ +\item<8-> Die Gesamtzahl der Knoten ist +\[ +n\uncover<9->{=\sum_{\text{Farbe}}\underbrace{|V_{\text{Farbe}}|}_{\le \operatorname{ind}(G)}} +\uncover<10->{\le +\operatorname{chr}(G) +\cdot +\operatorname{ind}(G)} +\] +\end{itemize} +\end{proof}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/8/chroma1.tex b/vorlesungen/slides/8/chroma1.tex new file mode 100644 index 0000000..6a55704 --- /dev/null +++ b/vorlesungen/slides/8/chroma1.tex @@ -0,0 +1,56 @@ +% +% chroma1.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Schranke für $\operatorname{chr}(G)$} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.40\textwidth} +\begin{block}{Proposition} +Ist $G$ ein Graph mit maximalem Grad $d$, dann gilt +\[ +\operatorname{chr}(G) \le d + 1 +\] +\end{block} +\uncover<2->{% +\begin{block}{Beispiel} +\begin{itemize} +\item<3-> +Peterson-Graph $G$: maximaler Grad ist $d=3$, aber +\[ +\operatorname{chr}(G) += +3 +< d+1=4 +\] +\item<4-> +Voller Graph $V$: maximaler Grad ist $d=n-1$, +\[ +\operatorname{chr}(V) = n = d+1 +\] +\end{itemize} +\end{block}} +\end{column} +\begin{column}{0.58\textwidth} +\uncover<4->{% +\begin{proof}[Beweis] +Mit vollständiger Induktion, d.~h.~Annahme: Graphen mit $<n$ Knoten und +maximalem Grad $d$ lassen sich mit höchstens $d+1$ Farben färben. +\begin{itemize} +\item<5-> $X$ ein Graph mit $n$ Knoten +\item<6-> entferne den Knoten $v\in X$, $X'=X\setminus\{v\}$ +\item<7-> $X'$ lässt sich mit höchstens $d+1$ Farben einfärben +\item<8-> $v$ hat höchstens $d$ Nachbarn, die höchsten $d$ verschiedene +Farben haben +\item<9-> Es bleibt eine Farbe für $v$ +\end{itemize} +\end{proof}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/8/chrwilf.tex b/vorlesungen/slides/8/chrwilf.tex new file mode 100644 index 0000000..7edb10e --- /dev/null +++ b/vorlesungen/slides/8/chrwilf.tex @@ -0,0 +1,115 @@ +% +% chrwilf.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\def\kante#1#2{ + \draw[shorten >= 0.2cm,shorten <= 0.2cm] (#1) -- (#2); +} +\def\knoten#1#2{ + \uncover<8->{ + \fill[color=#2!30] (#1) circle[radius=0.2]; + \draw[color=#2] (#1) circle[radius=0.2]; + } + \only<-7>{ + \draw (#1) circle[radius=0.2]; + } +} +\def\R{1.5} +\definecolor{rot}{rgb}{1,0,0} +\definecolor{gruen}{rgb}{0,0.6,0} +\definecolor{blau}{rgb}{0,0,1} +\begin{frame}[t] +\frametitle{Schranke für die chromatische Zahl} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Satz (Wilf)} +$\uncover<2->{\operatorname{chr}(X) \le 1+}\alpha_{\text{max}} \le\uncover<2->{ 1 + }d$ +\end{block} +\uncover<3->{% +\begin{block}{Beispiel} +\begin{align*} +\uncover<4->{d&= 4} +&&\uncover<5->{\Rightarrow& \operatorname{chr}(G) &\le 5}\\ +\uncover<6->{\alpha_{\text{max}} &= +2.9565} +&&\uncover<7->{\Rightarrow& \operatorname{chr}(G) &\le 3}\\ +\uncover<4->{\overline{d} &= \frac{24}{9}=\rlap{$2.6666$}} +\end{align*} +\vspace{-20pt} +\begin{center} +\begin{tikzpicture}[>=latex,thick] + +\coordinate (A) at (0:\R); +\coordinate (B) at (40:\R); +\coordinate (C) at (80:\R); +\coordinate (D) at (120:\R); +\coordinate (E) at (160:\R); +\coordinate (F) at (200:\R); +\coordinate (G) at (240:\R); +\coordinate (H) at (280:\R); +\coordinate (I) at (320:\R); + +\knoten{A}{rot} +\knoten{B}{blau} +\knoten{C}{gruen} +\knoten{D}{blau} +\knoten{E}{rot} +\knoten{F}{blau} +\knoten{G}{rot} +\knoten{H}{gruen} +\knoten{I}{blau} + +\kante{A}{B} +\kante{B}{C} +\kante{C}{D} +\kante{D}{E} +\kante{E}{F} +\kante{F}{G} +\kante{G}{H} +\kante{H}{I} +\kante{I}{A} + +\kante{A}{C} +\kante{A}{D} +\kante{D}{G} + +\end{tikzpicture} +\end{center} +\end{block}} +\end{column} +\begin{column}{0.52\textwidth} +\uncover<9->{% +\begin{proof}[Beweis] +Induktion nach der Grösse $n$ des Graphen. +\begin{itemize} +\item<10-> +Entferne $v\in X$ mit minimalem Grad: $X'=X\setminus \{v\}$ +\item<11-> +Induktionsannahme: +\[ +\operatorname{chr}(X') +\le +1+ +\alpha_{\text{max}}' +\] +\item<12-> +$X'$ kann mit höhcstens $1+\alpha_{\text{max}}'\le 1+\alpha_{\text{max}}$ +Farben eingefärbt werden. +\item<13-> +Wegen +\( +\deg(v) \le \overline{d} \le \alpha_{\text{max}} +\) +hat $v$ höchstens $\alpha_{\text{max}}$ Nachbarn, um $v$ zu färben, +braucht man also höchstens $1+\alpha_{\text{max}}$ Farben. +\end{itemize} +\end{proof}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/8/inzidenz.tex b/vorlesungen/slides/8/inzidenz.tex index 952c85b..10f88cd 100644 --- a/vorlesungen/slides/8/inzidenz.tex +++ b/vorlesungen/slides/8/inzidenz.tex @@ -5,6 +5,8 @@ % \bgroup \definecolor{darkgreen}{rgb}{0,0.6,0} +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} \begin{frame}[t] \frametitle{Inzidenz- und Adjazenzmatrix} \vspace{-20pt} @@ -67,7 +69,7 @@ \vspace{-10pt} \uncover<5->{% \begin{block}{Definition} -\vspace{-15pt} +%\vspace{-15pt} \begin{align*} B(G)_{ij}&=1&&\Leftrightarrow&&\text{Kante $j$ endet in Knoten $i$}\\ A(G)_{ij}&=1&&\Leftrightarrow&&\text{Kante zwischen Knoten $i$ und $j$} diff --git a/vorlesungen/slides/8/inzidenzd.tex b/vorlesungen/slides/8/inzidenzd.tex index 5f2f51a..43e5330 100644 --- a/vorlesungen/slides/8/inzidenzd.tex +++ b/vorlesungen/slides/8/inzidenzd.tex @@ -5,6 +5,8 @@ % \bgroup \definecolor{darkgreen}{rgb}{0,0.6,0} +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} \begin{frame}[t] \frametitle{Inzidenz- und Adjazenz-Matrix} \vspace{-20pt} @@ -67,7 +69,7 @@ \vspace{-15pt} \uncover<5->{% \begin{block}{Definition} -\vspace{-20pt} +%\vspace{-20pt} \begin{align*} B(G)_{ij}&=-1&&\Leftrightarrow&&\text{Kante $j$ von $i$}\\ B(G)_{kj}&=+1&&\Leftrightarrow&&\text{Kante $j$ nach $k$}\\ diff --git a/vorlesungen/slides/8/produkt.tex b/vorlesungen/slides/8/produkt.tex index 1d8b725..93333bc 100644 --- a/vorlesungen/slides/8/produkt.tex +++ b/vorlesungen/slides/8/produkt.tex @@ -56,7 +56,7 @@ \end{center} \vspace{-15pt} \begin{block}{Berechne} -\vspace{-20pt} +%\vspace{-20pt} \begin{align*} \uncover<4->{L(G)}&\uncover<4->{=}B(G)B(G)^t \end{align*} diff --git a/vorlesungen/slides/8/spanningtree.tex b/vorlesungen/slides/8/spanningtree.tex index 425fe1c..62180d9 100644 --- a/vorlesungen/slides/8/spanningtree.tex +++ b/vorlesungen/slides/8/spanningtree.tex @@ -3,6 +3,7 @@ % % (c) 2019 Prof Dr Andreas Müller, Hochschule Rapperswil % +\bgroup \begin{frame} \frametitle{Spannbäume} @@ -121,7 +122,7 @@ Wieviele Spannbäume gibt es? \begin{column}{0.56\hsize} \uncover<5->{% \begin{block}{Laplace-Matrix} -\vspace{-15pt} +%\vspace{-15pt} \[ L= \tiny @@ -162,3 +163,4 @@ L\text{ ohne }\left\{\begin{array}{c}\text{Zeile $i$}\\\text{Spalte $j$}\end{arr \end{columns} \end{frame} +\egroup diff --git a/vorlesungen/slides/8/subgraph.tex b/vorlesungen/slides/8/subgraph.tex new file mode 100644 index 0000000..f3005f9 --- /dev/null +++ b/vorlesungen/slides/8/subgraph.tex @@ -0,0 +1,60 @@ +% +% subgraph.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{$\alpha_{\text{max}}$ eines Untergraphen} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Satz} +$X'$ ein echter Untergraph von $X$ mit Adjazenzmatrix $A'$ und grösstem +Eigenwert $\alpha_{\text{max}}'$ +\[ +\alpha_{\text{max}}' \le \alpha_{\text{max}} +\] +\end{block} +\uncover<2->{$V'$ die Knoten von $X'$} +\end{column} +\begin{column}{0.48\textwidth} +\uncover<3->{% +\begin{proof}[Beweis] +\begin{itemize} +\item<4-> +$f'$ der positive Eigenvektor von $A'$ +\item<5-> +Definiere +\[ +g(v) += +\begin{cases} +f'(v) &\qquad v\in V'\\ +0 &\qquad \text{sonst} +\end{cases} +\] +\item<6-> Skalarprodukte: +\begin{align*} +\uncover<7->{\langle f',f'\rangle &= \langle g,g\rangle} +\\ +\uncover<8->{\langle A'f',f'\rangle &\le \langle Ag,g\rangle} +\end{align*} +\item<9-> Vergleich +\[ +\alpha_{\text{max}}' += +\frac{\langle A'f',f'\rangle}{\langle f',f'\rangle} +\uncover<10->{\le +\frac{\langle Ag,g\rangle}{\langle g,g\rangle}} +\uncover<11->{\le +\alpha_{\text{max}}} +\] +\end{itemize} +\end{proof}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/8/wavelets/Makefile b/vorlesungen/slides/8/wavelets/Makefile new file mode 100644 index 0000000..3b4a5ce --- /dev/null +++ b/vorlesungen/slides/8/wavelets/Makefile @@ -0,0 +1,8 @@ +# +# Makefile +# +# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +# + +vektoren.tex: ev.m + octave ev.m diff --git a/vorlesungen/slides/8/wavelets/beispiel.tex b/vorlesungen/slides/8/wavelets/beispiel.tex new file mode 100644 index 0000000..dcc33d4 --- /dev/null +++ b/vorlesungen/slides/8/wavelets/beispiel.tex @@ -0,0 +1,44 @@ +% +% beispiel.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\def\bild#1#2{ +\node at (0,0) [rotate=-90] +{\includegraphics[width=#1\textwidth]{../../../SeminarWavelets/buch/papers/sgwt/images/#2}}; +} +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Wavelets auf einer Kugel} +\vspace{-10pt} +\begin{center} +\begin{tikzpicture}[>=latex,thick] + +\only<1>{ \bild{0.6}{wavelets-phi-sphere-334.pdf} } + +\only<2>{ \bild{0.6}{wavelets-psi-5-sphere-334.pdf} } +\only<3>{ \bild{0.6}{wavelets-psi-4-sphere-334.pdf} } +\only<4>{ \bild{0.6}{wavelets-psi-3-sphere-334.pdf} } +\only<5>{ \bild{0.6}{wavelets-psi-2-sphere-334.pdf} } +\only<6>{ \bild{0.6}{wavelets-psi-1-sphere-334.pdf} } + +\only<1>{ \node at (-7.6,2.8) [right] {Bandpass mit $g_1$}; } +\only<2>{ \node at (-7.6,2.8) [right] {Bandpass mit $g_2$}; } +\only<3>{ \node at (-7.6,2.8) [right] {Bandpass mit $g_3$}; } +\only<4>{ \node at (-7.6,2.8) [right] {Bandpass mit $g_4$}; } +\only<5>{ \node at (-7.6,2.8) [right] {Bandpass mit $g_5$}; } +\only<6>{ \node at (-7.6,2.8) [right] {Tiefpass mit $h$}; } + +\only<1>{ \node at (-7.6,2) [right] {$D_{g,1/a_1}\chi_*$}; } +\only<2>{ \node at (-7.6,2) [right] {$D_{g,1/a_2}\chi_*$}; } +\only<3>{ \node at (-7.6,2) [right] {$D_{g,1/a_3}\chi_*$}; } +\only<4>{ \node at (-7.6,2) [right] {$D_{g,1/a_4}\chi_*$}; } +\only<5>{ \node at (-7.6,2) [right] {$D_{g,1/a_5}\chi_*$}; } +\only<6>{ \node at (-7.6,2) [right] {$D_{h}\chi_*$}; } + +\end{tikzpicture} +\end{center} +\end{frame} +\egroup diff --git a/vorlesungen/slides/8/wavelets/dilatation.tex b/vorlesungen/slides/8/wavelets/dilatation.tex new file mode 100644 index 0000000..881f760 --- /dev/null +++ b/vorlesungen/slides/8/wavelets/dilatation.tex @@ -0,0 +1,62 @@ +% +% template.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Dilatation} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Dilatation in $\mathbb{R}$} +$f\colon \mathbb{R}\to\mathbb{R}$ +Definition im Ortsraum: +\[ +(D_af)(x) += +\frac{1}{\sqrt{|a|}} +f\biggl(\frac{x}{a}\biggr) +\] +\uncover<2->{% +Dilatation im Frequenzraum: +\[ +\widehat{D_af}(\omega) += +D_{1/a}\hat{f}(\omega) +\]} +\uncover<3->{% +Spektrum wird mit $1/a$ skaliert!} +\end{block} +\end{column} +\begin{column}{0.48\textwidth} +\uncover<4->{% +\begin{block}{``Dilatation'' auf einem Graphen} +\begin{itemize} +\item<5-> Dilatation auf dem Graphen gibt es nicht +\item<6-> Dilatation im Spektrum $\{\lambda_1,\dots,\lambda_n\}$ gibt es nicht +\item<7-> ``Spektrale Dilatation'' verwenden +\begin{enumerate} +\item<8-> Start: $e_k$ +\item<9-> Fourier-Transformation: $\chi^te_k$ +\item<10-> Spektrum skalieren: mit +$D_{1/a}g$ filtern +\item<11-> Rücktransformation +\[ +D_{g,a}e_k += +\chi +\uncover<12->{\operatorname{diag}(\tilde{D}_{1/a}g(\lambda_*)) +\chi^t e_k} +\] +\end{enumerate} +\end{itemize} + + +\end{block}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/8/wavelets/dilbei.tex b/vorlesungen/slides/8/wavelets/dilbei.tex new file mode 100644 index 0000000..fc66a0a --- /dev/null +++ b/vorlesungen/slides/8/wavelets/dilbei.tex @@ -0,0 +1,46 @@ +% +% beispiel.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\def\bild#1#2{ +\node at (0,0) [rotate=-90] +{\includegraphics[width=#1\textwidth]{../../../SeminarWavelets/buch/papers/sgwt/images/#2}}; +} +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Wavelets einer Strecke} +\vspace{-10pt} +\begin{center} +\begin{tikzpicture}[>=latex,thick] + +\only<1>{ \bild{0.6}{wavelets-psi-line-5-10.pdf} } +\only<2>{ \bild{0.6}{wavelets-psi-line-4-10.pdf} } +\only<3>{ \bild{0.6}{wavelets-psi-line-3-10.pdf} } +\only<4>{ \bild{0.6}{wavelets-psi-line-2-10.pdf} } +\only<5>{ \bild{0.6}{wavelets-psi-line-1-10.pdf} } + +\only<6>{ \bild{0.6}{wavelets-phi-line-10.pdf} } + +\only<1>{ \node at (-7.6,2.8) [right] {Bandpass mit $g_1$}; } +\only<2>{ \node at (-7.6,2.8) [right] {Bandpass mit $g_2$}; } +\only<3>{ \node at (-7.6,2.8) [right] {Bandpass mit $g_3$}; } +\only<4>{ \node at (-7.6,2.8) [right] {Bandpass mit $g_4$}; } +\only<5>{ \node at (-7.6,2.8) [right] {Bandpass mit $g_5$}; } +\only<6>{ \node at (-7.6,2.8) [right] {Tiefpass mit $h$}; } + + +\only<1>{ \node at (-7.6,2) [right] {$D_{g,1/a_1}\chi_*$}; } +\only<2>{ \node at (-7.6,2) [right] {$D_{g,1/a_2}\chi_*$}; } +\only<3>{ \node at (-7.6,2) [right] {$D_{g,1/a_3}\chi_*$}; } +\only<4>{ \node at (-7.6,2) [right] {$D_{g,1/a_4}\chi_*$}; } +\only<5>{ \node at (-7.6,2) [right] {$D_{g,1/a_5}\chi_*$}; } + +\only<6>{ \node at (-7.6,2) [right] {$D_{h}\chi_*$}; } + +\end{tikzpicture} +\end{center} +\end{frame} +\egroup diff --git a/vorlesungen/slides/8/wavelets/ev.m b/vorlesungen/slides/8/wavelets/ev.m new file mode 100644 index 0000000..7f4dd55 --- /dev/null +++ b/vorlesungen/slides/8/wavelets/ev.m @@ -0,0 +1,97 @@ +# +# ev.m +# +# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +# + +L = [ + 2, -1, 0, -1, 0; + -1, 4, -1, -1, -1; + 0, -1, 2, 0, -1; + -1, -1, 0, 3, -1; + 0, -1, -1, -1, 3 +]; + +[v, lambda] = eig(L); + +function knoten(fn, wert, punkt) + if (wert > 0) + farbe = sprintf("red!%02d", round(100 * wert)); + else + farbe = sprintf("blue!%02d", round(-100 * wert)); + end + fprintf(fn, "\t\\fill[color=%s] %s circle[radius=0.25];\n", + farbe, punkt); + fprintf(fn, "\t\\draw %s circle[radius=0.25];\n", punkt); +endfunction + +function vektor(fn, v, name, lambda) + fprintf(fn, "\\def\\%s{\n", name); + fprintf(fn, "\t\\coordinate (A) at ({0*\\a},0);\n"); + fprintf(fn, "\t\\coordinate (B) at ({1*\\a},0);\n"); + fprintf(fn, "\t\\coordinate (C) at ({2*\\a},0);\n"); + fprintf(fn, "\t\\coordinate (D) at ({0.5*\\a},{-\\b});\n"); + fprintf(fn, "\t\\coordinate (E) at ({1.5*\\a},{-\\b});\n"); + fprintf(fn, "\t\\draw (A) -- (B);\n"); + fprintf(fn, "\t\\draw (A) -- (D);\n"); + fprintf(fn, "\t\\draw (B) -- (C);\n"); + fprintf(fn, "\t\\draw (B) -- (D);\n"); + fprintf(fn, "\t\\draw (B) -- (E);\n"); + fprintf(fn, "\t\\draw (C) -- (E);\n"); + fprintf(fn, "\t\\draw (D) -- (E);\n"); + fprintf(fn, "\t\\node at (-2.8,{-0.5*\\b}) [right] {$\\lambda=%.4f$};\n", + round(1000 * abs(lambda)) / 10000); + w = v / max(abs(v)); + knoten(fn, w(1,1), "(A)"); + knoten(fn, w(2,1), "(B)"); + knoten(fn, w(3,1), "(C)"); + knoten(fn, w(4,1), "(D)"); + knoten(fn, w(5,1), "(E)"); + fprintf(fn, "}\n"); +endfunction + +function punkt(fn, x, wert) + fprintf(fn, "({%.4f*\\c},{%.4f*\\d})", x, wert); +endfunction + +function funktion(fn, v, name, lambda) + fprintf(fn, "\\def\\%s{\n", name); + fprintf(fn, "\t\\draw[color=red,line width=1.4pt]\n\t\t"); + punkt(fn, -2, v(1,1)); + fprintf(fn, " --\n\t\t"); + punkt(fn, -1, v(4,1)); + fprintf(fn, " --\n\t\t"); + punkt(fn, 0, v(2,1)); + fprintf(fn, " --\n\t\t"); + punkt(fn, 1, v(5,1)); + fprintf(fn, " --\n\t\t"); + punkt(fn, 2, v(3,1)); + fprintf(fn, ";\n"); + fprintf(fn, "\t\\draw[->] ({-2.1*\\c},0) -- ({2.1*\\c},0);\n"); + fprintf(fn, "\t\\draw[->] (0,{-1.1*\\d}) -- (0,{1.1*\\d});\n"); + for x = (-2:2) + fprintf(fn, "\t\\fill ({%d*\\c},0) circle[radius=0.05];\n", x); + endfor + fprintf(fn, "}\n"); +endfunction + +fn = fopen("vektoren.tex", "w"); + +vektor(fn, v(:,1), "vnull", lambda(1,1)); +funktion(fn, v(:,1), "fnull", lambda(1,1)); + +vektor(fn, v(:,2), "vone", lambda(2,2)); +funktion(fn, v(:,2), "fone", lambda(2,2)); + +vektor(fn, v(:,3), "vtwo", lambda(3,3)); +funktion(fn, v(:,3), "ftwo", lambda(3,3)); + +vektor(fn, v(:,4), "vthree", lambda(4,4)); +funktion(fn, v(:,4), "fthree", lambda(4,4)); + +vektor(fn, v(:,5), "vfour", lambda(5,5)); +funktion(fn, v(:,5), "ffour", lambda(5,5)); + +fclose(fn); + + diff --git a/vorlesungen/slides/8/wavelets/fourier.tex b/vorlesungen/slides/8/wavelets/fourier.tex new file mode 100644 index 0000000..3195ec8 --- /dev/null +++ b/vorlesungen/slides/8/wavelets/fourier.tex @@ -0,0 +1,86 @@ +% +% fourier.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Fourier-Transformation} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Aufgabe} +Gegeben: Funktion $f$ auf dem Graphen +\\ +\uncover<2->{% +Gesucht: Koeffizienten $\hat{f}$ der Darstellung in der Laplace-Basis} +\end{block} +\uncover<3->{% +\begin{block}{Definition $\chi$-Matrix} +Eigenwerte $0=\lambda_1<\lambda_2\le \dots \le \lambda_n$ von $L$ +\vspace{-10pt} +\begin{center} +\begin{tikzpicture} +\node at (-1.9,0) [left] {$\chi=\mathstrut$}; +\node at (0,0) {$\left(\raisebox{0pt}[1.7cm][1.7cm]{\hspace{3.5cm}}\right)$}; + +\fill[color=blue!20] (-1.7,-1.7) rectangle (-1.1,1.7); +\draw[color=blue] (-1.7,-1.7) rectangle (-1.1,1.7); +\node at (-1.4,0) [rotate=90] {$v_1=\mathstrut$EV zum EW $\lambda_1$\strut}; + +\fill[color=blue!20] (-1.0,-1.7) rectangle (-0.4,1.7); +\draw[color=blue] (-1.0,-1.7) rectangle (-0.4,1.7); +\node at (-0.7,0) [rotate=90] {$v_2=\mathstrut$EV zum EW $\lambda_2$\strut}; + +\fill[color=blue!20] (1.1,-1.7) rectangle (1.7,1.7); +\draw[color=blue] (1.1,-1.7) rectangle (1.7,1.7); +\node at (1.4,0) [rotate=90] {$v_n=\mathstrut$EV zum EW $\lambda_n$\strut}; + +\node at (0.4,0) {$\dots$}; + +\end{tikzpicture} +\end{center} +\end{block}} +\end{column} +\begin{column}{0.48\textwidth} +\uncover<4->{% +\begin{block}{Transformation} +$L$ symmetrisch +\\ +\uncover<5->{$\Rightarrow$ +Die Eigenvektoren von $L$ können orthonormiert gewählt werden} +\\ +\uncover<6->{$\Rightarrow$ +Koeffizienten können durch Skalarprodukte ermittelt werden:} +\uncover<7->{% +\[ +\hat{f}(k) += +\hat{f}(\lambda_k) +\uncover<8->{= +\langle v_k, f\rangle +\quad\Rightarrow\quad +\hat{f}} +\uncover<9->{= +\chi^tf} +\]} +\uncover<10->{% +$\chi$ ist die {\em Fourier-Transformation}} +\end{block}} +\uncover<11->{% +\begin{block}{Rücktransformation} +Eigenvektoren orthonormiert +\\ +\uncover<12->{$\Rightarrow$ +$\chi$ orthogonal} +\uncover<13->{ +\[ +\chi\chi^t = I +\]} +\end{block}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/8/wavelets/frame.tex b/vorlesungen/slides/8/wavelets/frame.tex new file mode 100644 index 0000000..4d0c7d1 --- /dev/null +++ b/vorlesungen/slides/8/wavelets/frame.tex @@ -0,0 +1,66 @@ +% +% template.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Graph Wavelet Frame} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Frame-Vektoren} +Zu Dilatationsfaktoren $A=\{a_i\,|\,i=1,\dots,N\}$ +konstruiere das Frame +\begin{align*} +F= +\{&D_he_1,\dots,D_he_n,\\ + &Dg_1e_1,\dots,Dg_1e_n,\\ + &Dg_2e_1,\dots,Dg_2e_n,\\ + &\dots\\ + &Dg_Ne_1,\dots,Dg_Ne_n\} +\end{align*} +\uncover<2->{Notation: +\begin{align*} +v_{0,k} +&= +D_he_k +\\ +v_{i,k} +&= +Dg_ie_k +\end{align*}} +\end{block} +\end{column} +\begin{column}{0.48\textwidth} +\uncover<3->{% +\begin{block}{Frameoperator} +\begin{align*} +\mathcal{T}\colon \mathbb{R}^n\to\mathbb{R}^{nN} +: +v +&\mapsto +\begin{pmatrix} +\uncover<4->{\langle D_he_1,v\rangle}\\ +\uncover<4->{\vdots}\\ +\uncover<4->{\langle D_he_n,v\rangle}\\ +\hline +\uncover<5->{\langle D_{g_1}e_1,v\rangle}\\ +\uncover<5->{\vdots}\\ +\uncover<5->{\langle D_{g_1}e_n,v\rangle}\\ +\hline +\uncover<6->{\vdots}\\ +\uncover<6->{\vdots}\\ +\hline +\uncover<7->{\langle D_{g_N}e_1,v\rangle}\\ +\uncover<7->{\vdots}\\ +\uncover<7->{\langle D_{g_N}e_n,v\rangle} +\end{pmatrix} +\end{align*} +\end{block}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/8/wavelets/framekonstanten.tex b/vorlesungen/slides/8/wavelets/framekonstanten.tex new file mode 100644 index 0000000..a436536 --- /dev/null +++ b/vorlesungen/slides/8/wavelets/framekonstanten.tex @@ -0,0 +1,71 @@ +% +% template.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +%\setlength{\abovedisplayskip}{5pt} +%\setlength{\belowdisplayskip}{5pt} +\frametitle{Framekonstanten} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Definition} +Eine Menge $\mathcal{F}$ von Vektoren heisst ein Frame, +falls es Konstanten $A$ und $B$ gibt derart, dass +\[ +A\|v\|^2 +\le +\|\mathcal{T}v\|^2 +\sum_{b\in\mathcal{F}} |\langle b,v\rangle|^2 +\le +B\|v\|^2 +\] +\uncover<2->{$A>0$ garantiert Invertierbarkeit} +\end{block} +\uncover<3->{% +\begin{block}{$\|\mathcal{T}v\|$ für Graph-Wavelets} +\begin{align*} +\|\mathcal{T}v\|^2 +&= +\sum_k |\langle D_he_k,v\rangle|^2 ++ +\sum_{i,k} |\langle D_{g_i}e_k, v\rangle|^2 +\\ +&\uncover<4->{= +\sum_k |h(\lambda_k) \hat{v}(k)|^2 ++ +\sum_{k,i} |g_i(\lambda_k) \hat{v}(k)|^2} +\end{align*} +\end{block}} +\end{column} +\begin{column}{0.48\textwidth} +\uncover<5->{% +\begin{block}{$A$ und $B$} +Frame-Norm-Funktion +\begin{align*} +f(\lambda) +&= +h(\lambda) ++ +\sum_i g_i(\lambda) +\\ +&\uncover<6->{= +h(\lambda) ++ +\sum_i g(a_i\lambda)} +\end{align*} +\uncover<7->{Abschätzung für Frame-Konstanten +\begin{align*} +A&\uncover<8->{= +\min_{i} f(\lambda_i)} +\\ +B&\uncover<9->{= +\max_{i} f(\lambda_i)} +\end{align*}} +\end{block}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/8/wavelets/frequenzlokalisierung.tex b/vorlesungen/slides/8/wavelets/frequenzlokalisierung.tex new file mode 100644 index 0000000..c78e6dd --- /dev/null +++ b/vorlesungen/slides/8/wavelets/frequenzlokalisierung.tex @@ -0,0 +1,78 @@ +% +% frequenzlokalisierung.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup + +\def\kurve#1#2{ + \draw[color=#2,line width=1.4pt] + plot[domain=0:6.3,samples=400] + ({\x},{7*\x*exp(-(\x/#1)*(\x/#1))/#1}); +} +\definecolor{darkgreen}{rgb}{0,0.6,0} + +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Lokalisierung} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Bandpass} +Gegeben durch $g(\lambda)\ge 0$: +\begin{align*} +g(0) &= 0\\ +\lim_{\lambda\to\infty}g(\lambda)&= 0 +\end{align*} +\vspace{-10pt} +\begin{enumerate} +\item<3-> Fourier-transformieren +\item<4-> Amplituden mit $g(\lambda)$ multiplizieren +\item<5-> Rücktransformieren +\end{enumerate} +\end{block} +\end{column} +\begin{column}{0.48\textwidth} +\uncover<6->{% +\begin{block}{Tiefpass} +Gegeben durch $h(\lambda)\ge0$: +\begin{align*} +h(0) &= 1\\ +\lim_{\lambda\to\infty}h(\lambda)&= 0 +\end{align*} +\vspace{-10pt} +\begin{enumerate} +\item<8-> Fourier-Transformation +\item<9-> Amplituden mit $h(\lambda)$ multiplizieren +\item<10-> Rücktransformation +\end{enumerate} +\end{block}} +\end{column} +\end{columns} +\begin{center} +\begin{tikzpicture}[>=latex,thick,scale=0.8] + +\uncover<2->{ +\begin{scope}[xshift=-4.5cm] +\draw[->] (-0.1,0) -- (6.6,0) coordinate[label={$\lambda$}]; +\kurve{3}{red} +\draw[->] (0,-0.1) -- (0,3.3); +\end{scope} +} + +\uncover<7->{ +\begin{scope}[xshift=4.5cm] +\draw[->] (-0.1,0) -- (6.6,0) coordinate[label={$\lambda$}]; +\draw[color=darkgreen,line width=1.4pt] + plot[domain=0:6.3,samples=100] + ({\x},{3*exp(-(\x/0.5)*(\x/0.5)}); + +\draw[->] (0,-0.1) -- (0,3.3) coordinate[label={right:$\color{darkgreen}h(\lambda)$}]; +\end{scope} +} + +\end{tikzpicture} +\end{center} +\end{frame} +\egroup diff --git a/vorlesungen/slides/8/wavelets/funktionen.tex b/vorlesungen/slides/8/wavelets/funktionen.tex new file mode 100644 index 0000000..2e3ae9b --- /dev/null +++ b/vorlesungen/slides/8/wavelets/funktionen.tex @@ -0,0 +1,78 @@ +% +% funktionen.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\def\knoten#1#2{ + \draw #1 circle[radius=0.25]; + \node at #1 {$#2$}; +} +\def\kante#1#2{ + \draw[shorten >= 0.25cm,shorten <= 0.25cm] #1 -- #2; +} +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Funktionen auf einem Graphen} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Definition} +Ein Graph $G=(V,E)$, eine Funktion auf dem Graphen ist +\[ +f\colon V \to \mathbb{R} : v\mapsto f(v) +\] +Knoten: $V=\{1,\dots,n\}$ +\\ +\uncover<2->{% +Vektorschreibweise +\[ +f = \begin{pmatrix} +f(1)\\f(2)\\\vdots\\f(n) +\end{pmatrix} +\]} +\end{block} +\end{column} +\begin{column}{0.48\textwidth} +\uncover<3->{% +\begin{block}{Matrizen} +Adjazenz-, Grad- und Laplace-Matrix operieren auf Funktionen auf Graphen: +\[ +L += +\begin{pmatrix*}[r] + 2&-1& 0&-1& 0\\ +-1& 4&-1&-1&-1\\ + 0&-1& 2& 0&-1\\ +-1&-1& 0& 3&-1\\ + 0&-1&-1&-1& 3\\ +\end{pmatrix*} +\] +\end{block} +\begin{center} +\begin{tikzpicture}[>=latex,thick] +\def\a{2} +\coordinate (A) at (0,0); +\coordinate (B) at (\a,0); +\coordinate (C) at ({2*\a},0); +\coordinate (D) at ({0.5*\a},{-0.5*sqrt(3)*\a}); +\coordinate (E) at ({1.5*\a},{-0.5*sqrt(3)*\a}); +\knoten{(A)}{1} +\knoten{(B)}{2} +\knoten{(C)}{3} +\knoten{(D)}{4} +\knoten{(E)}{5} +\kante{(A)}{(B)} +\kante{(B)}{(C)} +\kante{(A)}{(D)} +\kante{(B)}{(D)} +\kante{(B)}{(E)} +\kante{(C)}{(E)} +\kante{(D)}{(E)} +\end{tikzpicture} +\end{center}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/8/wavelets/gundh.tex b/vorlesungen/slides/8/wavelets/gundh.tex new file mode 100644 index 0000000..2d6c677 --- /dev/null +++ b/vorlesungen/slides/8/wavelets/gundh.tex @@ -0,0 +1,85 @@ +% +% template.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\definecolor{darkgreen}{rgb}{0,0.6,0} + +\def\kurve#1#2{ + \draw[color=#2,line width=1.4pt] + plot[domain=0:6.3,samples=400] + ({\x},{7*\x*exp(-(\x/#1)*(\x/#1))/#1}); +} + +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Wavelets} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Mutterwavelets + Dilatation} +Eine Menge von Dilatationsfaktoren +\[ +A= \{a_1,a_2,\dots,a_N\} +\] +wählen\uncover<2->{, und mit Funktionen +\[ +{\color{blue}g_i} = \tilde{D}_{1/a_i}{\color{red}g} +\] +die Standardbasisvektoren filtern} +\end{block} +\end{column} +\begin{column}{0.48\textwidth} +\uncover<5->{ +\begin{block}{Vaterwavelets} +Tiefpass mit Funktion ${\color{darkgreen}h(\lambda)}$, +Standardbasisvektoren mit ${\color{darkgreen}h}$ filtern: +\[ +D_{\color{darkgreen}h}e_k +\] +\end{block}} +\end{column} +\end{columns} +\begin{center} +\begin{tikzpicture}[>=latex,thick] +\begin{scope} + +\draw[->] (-0.1,0) -- (6.6,0) coordinate[label={$\lambda$}]; + +\kurve{1}{red} +\uncover<4->{ +\foreach \k in {0,...,4}{ + \pgfmathparse{0.30*exp(ln(2)*\k)} + \xdef\l{\pgfmathresult} + \kurve{\l}{blue} +} +} + +\node[color=red] at ({0.7*1},3) [above] {$g(\lambda)$}; +\uncover<4->{ +\node[color=blue] at ({0.7*0.3*16},3) [above] {$g_i(\lambda)$}; +} + +\draw[->] (0,-0.1) -- (0,3.3); +\end{scope} + +\begin{scope}[xshift=7cm] + +\uncover<6->{ +\draw[->] (-0.1,0) -- (6.6,0) coordinate[label={$\lambda$}]; + +\draw[color=darkgreen,line width=1.4pt] + plot[domain=0:6.3,samples=100] + ({\x},{3*exp(-(\x/0.5)*(\x/0.5)}); + +\draw[->] (0,-0.1) -- (0,3.3) coordinate[label={right:$\color{darkgreen}h(\lambda)$}]; +} + +\end{scope} + +\end{tikzpicture} +\end{center} +\end{frame} +\egroup diff --git a/vorlesungen/slides/8/wavelets/laplacebasis.tex b/vorlesungen/slides/8/wavelets/laplacebasis.tex new file mode 100644 index 0000000..ced4c09 --- /dev/null +++ b/vorlesungen/slides/8/wavelets/laplacebasis.tex @@ -0,0 +1,62 @@ +% +% template.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\def\a{2} +\def\b{0.8} +\def\c{1} +\def\d{0.6} +\input{../slides/8/wavelets/vektoren.tex} +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Laplace-Basis} +\begin{center} +\begin{tikzpicture}[>=latex,thick] + +\begin{scope}[yshift=-0.4cm,xshift=-5.5cm] +\fnull +\end{scope} + +\begin{scope}[yshift=-1.8cm,xshift=-5.5cm] +\fone +\end{scope} + +\begin{scope}[yshift=-3.2cm,xshift=-5.5cm] +\ftwo +\end{scope} + +\begin{scope}[yshift=-4.6cm,xshift=-5.5cm] +\fthree +\end{scope} + +\begin{scope}[yshift=-6.0cm,xshift=-5.5cm] +\ffour +\end{scope} + +\begin{scope}[yshift=0cm] +\vnull +\end{scope} + +\begin{scope}[yshift=-1.4cm] +\vone +\end{scope} + +\begin{scope}[yshift=-2.8cm] +\vtwo +\end{scope} + +\begin{scope}[yshift=-4.2cm] +\vthree +\end{scope} + +\begin{scope}[yshift=-5.6cm] +\vfour +\end{scope} + +\end{tikzpicture} +\end{center} +\end{frame} +\egroup diff --git a/vorlesungen/slides/8/wavelets/lokalisierungsvergleich.tex b/vorlesungen/slides/8/wavelets/lokalisierungsvergleich.tex new file mode 100644 index 0000000..d6575d0 --- /dev/null +++ b/vorlesungen/slides/8/wavelets/lokalisierungsvergleich.tex @@ -0,0 +1,46 @@ +% +% lokalisierungsvergleich.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Lokalisierung} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Ortsraum} +Ortsraum$\mathstrut=V$ +\begin{itemize} +\item<3-> Standardbasis +\item<5-> lokalisiert in den Knoten +\item<7-> die meisten $\hat{f}(k)$ gross +\item<9-> vollständig delokalisiert im Frequenzraum +\end{itemize} +\end{block} +\end{column} +\begin{column}{0.48\textwidth} +\begin{block}{Frequenzraum} +\uncover<2->{Frequenzraum $\mathstrut=\{\lambda_1,\lambda_2,\dots,\lambda_n\}$} +\begin{itemize} +\item<4-> Laplace-Basis +\item<6-> lokalisiert in den Eigenwerten +\item<8-> die meisten Komponenten gross +\item<10-> vollständig delokalisiert im Ortsraum +\end{itemize} +\end{block} +\end{column} +\end{columns} +\uncover<11->{% +\begin{block}{Plan} +Gesucht sind Funktionen auf dem Graphen derart, die +\begin{enumerate} +\item<12-> in der Nähe einzelner Knoten konzentriert/lokalisiert sind und +\item<13-> deren Fourier-Transformation in der Nähe einzelner Eigenwerte +konzentriert/lokalisiert ist +\end{enumerate} +\end{block}} +\end{frame} +\egroup diff --git a/vorlesungen/slides/8/wavelets/matrixdilatation.tex b/vorlesungen/slides/8/wavelets/matrixdilatation.tex new file mode 100644 index 0000000..3536736 --- /dev/null +++ b/vorlesungen/slides/8/wavelets/matrixdilatation.tex @@ -0,0 +1,39 @@ +% +% matrixdilatation.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Dilatation in Matrixform} +Dilatationsfaktor $a$, skaliertes Wavelet beim Knoten $k$ mit Spektrum +$\tilde{D}_{1/a}g$ +\begin{align*} +D_{g,a}e_k +&= +\chi +\begin{pmatrix} +g(a\lambda_1)& 0 & \dots & 0 \\ + 0 &g(a\lambda_2)& \dots & 0 \\ + \vdots & \vdots & \ddots & \vdots \\ + 0 & 0 & \dots &g(a\lambda_n) +\end{pmatrix} +\chi^t +e_k +\intertext{\uncover<2->{``verschmierter'' Standardbasisvektor am Knoten $k$}} +\uncover<2->{D_he_k +&= +\chi +\begin{pmatrix} +h(\lambda_1)& 0 & \dots & 0 \\ + 0 &h(\lambda_2)& \dots & 0 \\ + \vdots & \vdots & \ddots & \vdots \\ + 0 & 0 & \dots &h(\lambda_n) +\end{pmatrix} +\chi^t +e_k} +\end{align*} +\end{frame} +\egroup diff --git a/vorlesungen/slides/8/wavelets/vektoren.tex b/vorlesungen/slides/8/wavelets/vektoren.tex new file mode 100644 index 0000000..2315d53 --- /dev/null +++ b/vorlesungen/slides/8/wavelets/vektoren.tex @@ -0,0 +1,200 @@ +\def\vnull{ + \coordinate (A) at ({0*\a},0); + \coordinate (B) at ({1*\a},0); + \coordinate (C) at ({2*\a},0); + \coordinate (D) at ({0.5*\a},{-\b}); + \coordinate (E) at ({1.5*\a},{-\b}); + \draw (A) -- (B); + \draw (A) -- (D); + \draw (B) -- (C); + \draw (B) -- (D); + \draw (B) -- (E); + \draw (C) -- (E); + \draw (D) -- (E); + \node at (-2.8,{-0.5*\b}) [right] {$\lambda=0.0000$}; + \fill[color=red!100] (A) circle[radius=0.25]; + \draw (A) circle[radius=0.25]; + \fill[color=red!100] (B) circle[radius=0.25]; + \draw (B) circle[radius=0.25]; + \fill[color=red!100] (C) circle[radius=0.25]; + \draw (C) circle[radius=0.25]; + \fill[color=red!100] (D) circle[radius=0.25]; + \draw (D) circle[radius=0.25]; + \fill[color=red!100] (E) circle[radius=0.25]; + \draw (E) circle[radius=0.25]; +} +\def\fnull{ + \draw[color=red,line width=1.4pt] + ({-2.0000*\c},{0.4472*\d}) -- + ({-1.0000*\c},{0.4472*\d}) -- + ({0.0000*\c},{0.4472*\d}) -- + ({1.0000*\c},{0.4472*\d}) -- + ({2.0000*\c},{0.4472*\d}); + \draw[->] ({-2.1*\c},0) -- ({2.1*\c},0); + \draw[->] (0,{-1.1*\d}) -- (0,{1.1*\d}); + \fill ({-2*\c},0) circle[radius=0.05]; + \fill ({-1*\c},0) circle[radius=0.05]; + \fill ({0*\c},0) circle[radius=0.05]; + \fill ({1*\c},0) circle[radius=0.05]; + \fill ({2*\c},0) circle[radius=0.05]; +} +\def\vone{ + \coordinate (A) at ({0*\a},0); + \coordinate (B) at ({1*\a},0); + \coordinate (C) at ({2*\a},0); + \coordinate (D) at ({0.5*\a},{-\b}); + \coordinate (E) at ({1.5*\a},{-\b}); + \draw (A) -- (B); + \draw (A) -- (D); + \draw (B) -- (C); + \draw (B) -- (D); + \draw (B) -- (E); + \draw (C) -- (E); + \draw (D) -- (E); + \node at (-2.8,{-0.5*\b}) [right] {$\lambda=0.1586$}; + \fill[color=blue!100] (A) circle[radius=0.25]; + \draw (A) circle[radius=0.25]; + \fill[color=blue!00] (B) circle[radius=0.25]; + \draw (B) circle[radius=0.25]; + \fill[color=red!100] (C) circle[radius=0.25]; + \draw (C) circle[radius=0.25]; + \fill[color=blue!41] (D) circle[radius=0.25]; + \draw (D) circle[radius=0.25]; + \fill[color=red!41] (E) circle[radius=0.25]; + \draw (E) circle[radius=0.25]; +} +\def\fone{ + \draw[color=red,line width=1.4pt] + ({-2.0000*\c},{-0.6533*\d}) -- + ({-1.0000*\c},{-0.2706*\d}) -- + ({0.0000*\c},{-0.0000*\d}) -- + ({1.0000*\c},{0.2706*\d}) -- + ({2.0000*\c},{0.6533*\d}); + \draw[->] ({-2.1*\c},0) -- ({2.1*\c},0); + \draw[->] (0,{-1.1*\d}) -- (0,{1.1*\d}); + \fill ({-2*\c},0) circle[radius=0.05]; + \fill ({-1*\c},0) circle[radius=0.05]; + \fill ({0*\c},0) circle[radius=0.05]; + \fill ({1*\c},0) circle[radius=0.05]; + \fill ({2*\c},0) circle[radius=0.05]; +} +\def\vtwo{ + \coordinate (A) at ({0*\a},0); + \coordinate (B) at ({1*\a},0); + \coordinate (C) at ({2*\a},0); + \coordinate (D) at ({0.5*\a},{-\b}); + \coordinate (E) at ({1.5*\a},{-\b}); + \draw (A) -- (B); + \draw (A) -- (D); + \draw (B) -- (C); + \draw (B) -- (D); + \draw (B) -- (E); + \draw (C) -- (E); + \draw (D) -- (E); + \node at (-2.8,{-0.5*\b}) [right] {$\lambda=0.3000$}; + \fill[color=red!100] (A) circle[radius=0.25]; + \draw (A) circle[radius=0.25]; + \fill[color=blue!00] (B) circle[radius=0.25]; + \draw (B) circle[radius=0.25]; + \fill[color=red!100] (C) circle[radius=0.25]; + \draw (C) circle[radius=0.25]; + \fill[color=blue!100] (D) circle[radius=0.25]; + \draw (D) circle[radius=0.25]; + \fill[color=blue!100] (E) circle[radius=0.25]; + \draw (E) circle[radius=0.25]; +} +\def\ftwo{ + \draw[color=red,line width=1.4pt] + ({-2.0000*\c},{0.5000*\d}) -- + ({-1.0000*\c},{-0.5000*\d}) -- + ({0.0000*\c},{-0.0000*\d}) -- + ({1.0000*\c},{-0.5000*\d}) -- + ({2.0000*\c},{0.5000*\d}); + \draw[->] ({-2.1*\c},0) -- ({2.1*\c},0); + \draw[->] (0,{-1.1*\d}) -- (0,{1.1*\d}); + \fill ({-2*\c},0) circle[radius=0.05]; + \fill ({-1*\c},0) circle[radius=0.05]; + \fill ({0*\c},0) circle[radius=0.05]; + \fill ({1*\c},0) circle[radius=0.05]; + \fill ({2*\c},0) circle[radius=0.05]; +} +\def\vthree{ + \coordinate (A) at ({0*\a},0); + \coordinate (B) at ({1*\a},0); + \coordinate (C) at ({2*\a},0); + \coordinate (D) at ({0.5*\a},{-\b}); + \coordinate (E) at ({1.5*\a},{-\b}); + \draw (A) -- (B); + \draw (A) -- (D); + \draw (B) -- (C); + \draw (B) -- (D); + \draw (B) -- (E); + \draw (C) -- (E); + \draw (D) -- (E); + \node at (-2.8,{-0.5*\b}) [right] {$\lambda=0.4414$}; + \fill[color=red!41] (A) circle[radius=0.25]; + \draw (A) circle[radius=0.25]; + \fill[color=red!00] (B) circle[radius=0.25]; + \draw (B) circle[radius=0.25]; + \fill[color=blue!41] (C) circle[radius=0.25]; + \draw (C) circle[radius=0.25]; + \fill[color=blue!100] (D) circle[radius=0.25]; + \draw (D) circle[radius=0.25]; + \fill[color=red!100] (E) circle[radius=0.25]; + \draw (E) circle[radius=0.25]; +} +\def\fthree{ + \draw[color=red,line width=1.4pt] + ({-2.0000*\c},{0.2706*\d}) -- + ({-1.0000*\c},{-0.6533*\d}) -- + ({0.0000*\c},{0.0000*\d}) -- + ({1.0000*\c},{0.6533*\d}) -- + ({2.0000*\c},{-0.2706*\d}); + \draw[->] ({-2.1*\c},0) -- ({2.1*\c},0); + \draw[->] (0,{-1.1*\d}) -- (0,{1.1*\d}); + \fill ({-2*\c},0) circle[radius=0.05]; + \fill ({-1*\c},0) circle[radius=0.05]; + \fill ({0*\c},0) circle[radius=0.05]; + \fill ({1*\c},0) circle[radius=0.05]; + \fill ({2*\c},0) circle[radius=0.05]; +} +\def\vfour{ + \coordinate (A) at ({0*\a},0); + \coordinate (B) at ({1*\a},0); + \coordinate (C) at ({2*\a},0); + \coordinate (D) at ({0.5*\a},{-\b}); + \coordinate (E) at ({1.5*\a},{-\b}); + \draw (A) -- (B); + \draw (A) -- (D); + \draw (B) -- (C); + \draw (B) -- (D); + \draw (B) -- (E); + \draw (C) -- (E); + \draw (D) -- (E); + \node at (-2.8,{-0.5*\b}) [right] {$\lambda=0.5000$}; + \fill[color=red!25] (A) circle[radius=0.25]; + \draw (A) circle[radius=0.25]; + \fill[color=blue!100] (B) circle[radius=0.25]; + \draw (B) circle[radius=0.25]; + \fill[color=red!25] (C) circle[radius=0.25]; + \draw (C) circle[radius=0.25]; + \fill[color=red!25] (D) circle[radius=0.25]; + \draw (D) circle[radius=0.25]; + \fill[color=red!25] (E) circle[radius=0.25]; + \draw (E) circle[radius=0.25]; +} +\def\ffour{ + \draw[color=red,line width=1.4pt] + ({-2.0000*\c},{0.2236*\d}) -- + ({-1.0000*\c},{0.2236*\d}) -- + ({0.0000*\c},{-0.8944*\d}) -- + ({1.0000*\c},{0.2236*\d}) -- + ({2.0000*\c},{0.2236*\d}); + \draw[->] ({-2.1*\c},0) -- ({2.1*\c},0); + \draw[->] (0,{-1.1*\d}) -- (0,{1.1*\d}); + \fill ({-2*\c},0) circle[radius=0.05]; + \fill ({-1*\c},0) circle[radius=0.05]; + \fill ({0*\c},0) circle[radius=0.05]; + \fill ({1*\c},0) circle[radius=0.05]; + \fill ({2*\c},0) circle[radius=0.05]; +} diff --git a/vorlesungen/slides/8/weitere.tex b/vorlesungen/slides/8/weitere.tex new file mode 100644 index 0000000..46a3da0 --- /dev/null +++ b/vorlesungen/slides/8/weitere.tex @@ -0,0 +1,43 @@ +% +% weitere.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Weitere Resultate der spektralen Graphentheorie} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Satz (Hoffmann)} +\[ +\operatorname{chr} X \ge 1 + \frac{\alpha_{\text{max}}}{-\alpha_{\text{min}}} +\] +\end{block} +\uncover<2->{% +\begin{block}{Satz (Hoffmann)} +\[ +\operatorname{ind} X \le n \biggl(1-\frac{d_{\text{min}}}{\lambda_{\text{max}}}\biggr) +\] +\end{block}} +\end{column} +\begin{column}{0.48\textwidth} +\uncover<3->{% +\begin{block}{Korollar} +Für einen regulären Graphen mit $n$ Knoten gilt +\begin{align*} +\operatorname{ind} X +&\le +\frac{n}{\displaystyle 1-\frac{d}{\alpha_{\text{min}}}} +\\ +\operatorname{chr} X +&\ge +1-\frac{d}{\alpha_{\text{min}}} +\end{align*} +\end{block}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/8/wilf.m b/vorlesungen/slides/8/wilf.m new file mode 100644 index 0000000..49dc161 --- /dev/null +++ b/vorlesungen/slides/8/wilf.m @@ -0,0 +1,22 @@ +# +# wilf.m -- chromatische Zahl für einen Graphen +# +# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +# +N = 9; +A = zeros(N,N); + +for i = (1:N) + j = 1 + rem(i, N) + A(i,j) = 1; +endfor +for i = (1:3:N-3) + j = 1 + rem(i + 2, N) + A(i,j) = 1; +endfor + +A(1,3) = 1; + +A = A + A' + +eig(A) diff --git a/vorlesungen/slides/9/Makefile.inc b/vorlesungen/slides/9/Makefile.inc index fa6c29b..2257810 100644 --- a/vorlesungen/slides/9/Makefile.inc +++ b/vorlesungen/slides/9/Makefile.inc @@ -10,5 +10,20 @@ chapter9 = \ ../slides/9/irreduzibel.tex \ ../slides/9/stationaer.tex \ ../slides/9/pf.tex \ + ../slides/9/potenz.tex \ + ../slides/9/pf/positiv.tex \ + ../slides/9/pf/primitiv.tex \ + ../slides/9/pf/trennung.tex \ + ../slides/9/pf/vergleich.tex \ + ../slides/9/pf/vergleich3d.tex \ + ../slides/9/pf/dreieck.tex \ + ../slides/9/pf/folgerungen.tex \ + ../slides/9/parrondo/uebersicht.tex \ + ../slides/9/parrondo/erwartung.tex \ + ../slides/9/parrondo/spiela.tex \ + ../slides/9/parrondo/spielb.tex \ + ../slides/9/parrondo/spielbmod.tex \ + ../slides/9/parrondo/kombiniert.tex \ + ../slides/9/parrondo/deformation.tex \ ../slides/9/chapter.tex diff --git a/vorlesungen/slides/9/chapter.tex b/vorlesungen/slides/9/chapter.tex index 9e26587..cbab0f0 100644 --- a/vorlesungen/slides/9/chapter.tex +++ b/vorlesungen/slides/9/chapter.tex @@ -10,5 +10,21 @@ \folie{9/stationaer.tex} \folie{9/irreduzibel.tex} \folie{9/pf.tex} +\folie{9/potenz.tex} +\folie{9/pf/positiv.tex} +\folie{9/pf/primitiv.tex} +\folie{9/pf/trennung.tex} +\folie{9/pf/vergleich.tex} +\folie{9/pf/vergleich3d.tex} +\folie{9/pf/dreieck.tex} +\folie{9/pf/folgerungen.tex} + +\folie{9/parrondo/uebersicht.tex} +\folie{9/parrondo/erwartung.tex} +\folie{9/parrondo/spiela.tex} +\folie{9/parrondo/spielb.tex} +\folie{9/parrondo/spielbmod.tex} +\folie{9/parrondo/kombiniert.tex} +\folie{9/parrondo/deformation.tex} diff --git a/vorlesungen/slides/9/parrondo/deformation.tex b/vorlesungen/slides/9/parrondo/deformation.tex new file mode 100644 index 0000000..40d2eb9 --- /dev/null +++ b/vorlesungen/slides/9/parrondo/deformation.tex @@ -0,0 +1,45 @@ +% +% deformation.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Deformation} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Verlustspiele} +Durch Deformation (Parameter $e$ und $\varepsilon$) kann man +aus $A_e$ und $B_\varepsilon$ Spiele mit negativer Gewinnerwartung machen +\uncover<2->{% +\begin{align*} +E(X)&=0&&\rightarrow&E(X_e)&<0\\ +E(Y)&=0&&\rightarrow&E(Y_\varepsilon)&<0\\ +\end{align*}} +\end{block} +\end{column} +\begin{column}{0.48\textwidth} +\begin{block}{Kombiniertes Spiel} +\uncover<3->{% +Die Deformation für das Spiel $C$ startet mit Erwartungswert $\frac{18}{709}$}% +\begin{align*} +\uncover<4->{E(Z)&=\frac{18}{709}>0} +&&\uncover<5->{\rightarrow& +E(Z_*)&>0} +\end{align*} +\uncover<6->{Wegen Stetigkeit!} +\\ +\uncover<5->{Die Deformation ist immer noch ein Gewinnspiel (für Parameter klein genug)} +\end{block} +\uncover<7->{% +\begin{block}{Parrondo-Paradoxon} +Zufällig zwischen zwei Verlustspielen auswählen kann trotzdem ein +Gewinnspiel ergeben +\end{block}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/9/parrondo/erwartung.tex b/vorlesungen/slides/9/parrondo/erwartung.tex new file mode 100644 index 0000000..b58c37f --- /dev/null +++ b/vorlesungen/slides/9/parrondo/erwartung.tex @@ -0,0 +1,81 @@ +% +% erwartung.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Erwartung} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Zufallsvariable} +\begin{center} +\[ +\begin{array}{c|c} +\text{Werte $X$}&\text{Wahrscheinlichkeit $p$}\\ +\hline +x_1&p_1=P(X=x_1)\\ +x_2&p_2=P(X=x_2)\\ +\vdots&\vdots\\ +x_n&p_n=P(X=x_n) +\end{array} +\] +\end{center} +\end{block} +\uncover<4->{% +\begin{block}{Einervektoren/-matrizen} +\[ +U=\begin{pmatrix} +1&1&\dots&1\\ +1&1&\dots&1\\ +\vdots&\vdots&\ddots&\vdots\\ +1&1&\dots&1 +\end{pmatrix} +\in +M_{n\times m}(\Bbbk) +\] +\end{block}} +\end{column} +\begin{column}{0.48\textwidth} +\uncover<2->{% +\begin{block}{Erwartungswerte} +\begin{align*} +E(X) +&= +\sum_i x_ip_i += +x^tp +\uncover<5->{= +U^t x\odot p} +\hspace*{3cm} +\\ +\uncover<2->{E(X^2) +&= +\sum_i x_i^2p_i} +\ifthenelse{\boolean{presentation}}{ +\only<6>{= +(x\odot x)^tp}}{} +\uncover<7->{= +U^t (x\odot x) \odot p} +\\ +\uncover<3->{E(X^k) +&= +\sum_i x_i^kp_i} +\uncover<8->{= +U^t x^{\odot k}\odot p} +\end{align*} +\uncover<9->{% +Substitution: +\begin{align*} +\uncover<10->{\sum_i &\to U^t}\\ +\uncover<11->{x_i^k &\to x^{\odot k}} +\end{align*}}% +\uncover<12->{Kann für Übergangsmatrizen von Markov-Ketten verallgemeinert werden} +\end{block}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/9/parrondo/kombiniert.tex b/vorlesungen/slides/9/parrondo/kombiniert.tex new file mode 100644 index 0000000..5012d06 --- /dev/null +++ b/vorlesungen/slides/9/parrondo/kombiniert.tex @@ -0,0 +1,73 @@ +% +% kombiniert.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Kombiniertes Spiel $C$} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Definition} +Ein fairer Münzwurf entscheidet, ob +Spiel $A$ oder Spiel $B$ gespielt wird +\end{block} +\uncover<2->{% +\begin{block}{Übergangsmatrix} +Münzwurf $X$ +\begin{align*} +C +&= +P(X=\text{Kopf})\cdot A ++ +P(X=\text{Zahl})\cdot B +\\ +&\uncover<3->{= +\begin{pmatrix} + 0&\frac{3}{8}&\frac{5}{8}\\ +\frac{3}{10}& 0&\frac{3}{8}\\ +\frac{7}{10}&\frac{5}{8}& 0 +\end{pmatrix}} +\end{align*} +\end{block}} +\vspace{-8pt} +\uncover<4->{% +\begin{block}{Gewinnerwartung im Einzelspiel} +\[ +p=\frac13U +\Rightarrow +U^t(G\odot C)p +\uncover<5->{= +-\frac{1}{30}} +\] +\end{block}} +\end{column} +\begin{column}{0.48\textwidth} +\uncover<6->{% +\begin{block}{Iteriertes Spiel} +\[ +\overline{p}=C\overline{p} +\quad +\uncover<7->{\Rightarrow +\quad +\overline{p}=\frac{1}{709}\begin{pmatrix}245\\180\\284\end{pmatrix}} +\] +\end{block}} +\uncover<8->{% +\begin{block}{Gewinnerwartung} +\begin{align*} +E(Z) +&= +U^t (G\odot C) \overline{p} +\uncover<9->{= +\frac{18}{709}} +\end{align*} +\uncover<10->{$C$ ist ein Gewinnspiel!} +\end{block}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/9/parrondo/spiela.tex b/vorlesungen/slides/9/parrondo/spiela.tex new file mode 100644 index 0000000..629586f --- /dev/null +++ b/vorlesungen/slides/9/parrondo/spiela.tex @@ -0,0 +1,52 @@ +% +% spiela.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Spiel $A$} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Definition} +Gewinn = Zufallsvariable $X$ mit Werten $\pm 1$ +\begin{align*} +P(X=\phantom{+}1) +&= +\frac12\uncover<2->{+e} +\\ +P(X= - 1) +&= +\frac12\uncover<2->{-e} +\end{align*} +Bernoulli-Experiment mit $p=\frac12\uncover<2->{+e}$ +\end{block} +\end{column} +\begin{column}{0.48\textwidth} +\uncover<3->{ +\begin{block}{Gewinnerwartung} +\begin{align*} +E(X) +&=\uncover<4->{ +P(X=1)\cdot (1)} +\\ +&\qquad +\uncover<4->{+ +P(X=-1)\cdot (-1)} +\\ +&\uncover<5->{= +\biggl(\frac12+e\biggr)\cdot 1 ++ +\biggl(\frac12-e\biggr)\cdot (-1)} +\\ +&\uncover<6->{=2e} +\end{align*} +\uncover<7->{$\Rightarrow$ {\usebeamercolor[fg]{title}Verlustspiel für $e<0$}} +\end{block}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/9/parrondo/spielb.tex b/vorlesungen/slides/9/parrondo/spielb.tex new file mode 100644 index 0000000..f65564f --- /dev/null +++ b/vorlesungen/slides/9/parrondo/spielb.tex @@ -0,0 +1,100 @@ +% +% spielb.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Spiel $B$} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Definition} +Gewinn $\pm 1$, Wahrscheinlichkeit abhängig vom 3er-Rest des +aktuellen Kapitals $K$: +\begin{center} +\uncover<2->{% +\begin{tikzpicture}[>=latex,thick] +\coordinate (A0) at (90:2); +\coordinate (A1) at (210:2); +\coordinate (A2) at (330:2); + +\node at (A0) {$0$}; +\node at (A1) {$1$}; +\node at (A2) {$2$}; + +\draw (A0) circle[radius=0.4]; +\draw (A1) circle[radius=0.4]; +\draw (A2) circle[radius=0.4]; + +\draw[->,shorten >= 0.4cm,shorten <= 0.4cm] (A0) -- (A1); +\draw[->,shorten >= 0.4cm,shorten <= 0.4cm] (A0) -- (A2); +\draw[->,shorten >= 0.4cm,shorten <= 0.4cm] (A1) -- (A2); + +\draw[->,shorten >= 0.4cm,shorten <= 0.4cm] (A1) to[out=90,in=-150] (A0); +\draw[->,shorten >= 0.4cm,shorten <= 0.4cm] (A2) to[out=90,in=-30] (A0); +\draw[->,shorten >= 0.4cm,shorten <= 0.4cm] (A2) to[out=-150,in=-30] (A1); + +\def\R{1.9} +\def\r{0.7} + +\node at (30:\r) {$\frac{9}{10}$}; +\node at (150:\r) {$\frac1{10}$}; +\node at (270:\r) {$\frac34$}; + +\node at (30:\R) {$\frac{3}{4}$}; +\node at (150:\R) {$\frac1{4}$}; +\node at (270:\R) {$\frac14$}; + +\end{tikzpicture}} +\end{center} +\end{block} +\end{column} +\begin{column}{0.48\textwidth} +\uncover<3->{% +\begin{block}{Markov-Kette $Y$} +Übergangsmatrix +\[ +B=\begin{pmatrix} +0&\frac14&\frac34\\ +\frac{1}{10}&0&\frac14\\ +\frac{9}{10}&\frac34&0 +\end{pmatrix} +\] +\vspace{-10pt} + +\uncover<4->{% +Gewinnmatrix: +\vspace{-2pt} +\[ +G=\begin{pmatrix*}[r] +0&-1&1\\ +1&0&-1\\ +-1&1&0 +\end{pmatrix*} +\]} +\end{block}} +\vspace{-12pt} +\uncover<5->{% +\begin{block}{Gewinnerwartung} +\begin{align*} +&&&& +E(Y) +&= +U^t(G\odot B)p +\\ +p&={\textstyle\frac13}U +&&\Rightarrow& +E(Y)&={\textstyle\frac1{15}} +\\ +\overline{p}&={\tiny\frac{1}{13}\begin{pmatrix}5\\2\\6\end{pmatrix}} +&&\Rightarrow& +E(Y)&=0 +\end{align*} +\end{block}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/9/parrondo/spielbmod.tex b/vorlesungen/slides/9/parrondo/spielbmod.tex new file mode 100644 index 0000000..66d39bc --- /dev/null +++ b/vorlesungen/slides/9/parrondo/spielbmod.tex @@ -0,0 +1,103 @@ +% +% spielb.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Modifiziertes Spiel $\tilde{B}$} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Definition} +Gewinn $\pm 1$, Wahrscheinlichkeit abhängig vom 3er-Rest des +aktuellen Kapitals $K$: +\begin{center} +\begin{tikzpicture}[>=latex,thick] +\coordinate (A0) at (90:2); +\coordinate (A1) at (210:2); +\coordinate (A2) at (330:2); + +\node at (A0) {$0$}; +\node at (A1) {$1$}; +\node at (A2) {$2$}; + +\draw (A0) circle[radius=0.4]; +\draw (A1) circle[radius=0.4]; +\draw (A2) circle[radius=0.4]; + +\draw[->,shorten >= 0.4cm,shorten <= 0.4cm] (A0) -- (A1); +\draw[->,shorten >= 0.4cm,shorten <= 0.4cm] (A0) -- (A2); +\draw[->,shorten >= 0.4cm,shorten <= 0.4cm] (A1) -- (A2); + +\draw[->,shorten >= 0.4cm,shorten <= 0.4cm] (A1) to[out=90,in=-150] (A0); +\draw[->,shorten >= 0.4cm,shorten <= 0.4cm] (A2) to[out=90,in=-30] (A0); +\draw[->,shorten >= 0.4cm,shorten <= 0.4cm] (A2) to[out=-150,in=-30] (A1); + +\def\R{1.9} +\def\r{0.7} + +\node at (30:{0.9*\r}) {\tiny $\frac{9}{10}\uncover<2->{+\varepsilon}$}; +\node at (150:{0.9*\r}) {\tiny $\frac1{10}\uncover<2->{-\varepsilon}$}; +\node at (270:\r) {$\frac34\uncover<2->{-\varepsilon}$}; + +\node at (30:{1.1*\R}) {$\frac{3}{4}\uncover<2->{-\varepsilon}$}; +\node at (150:{1.1*\R}) {$\frac1{4}\uncover<2->{+\varepsilon}$}; +\node at (270:\R) {$\frac14\uncover<2->{+\varepsilon}$}; + +\end{tikzpicture} +\end{center} +\end{block} +\end{column} +\begin{column}{0.48\textwidth} +\begin{block}{Markov-Kette $\tilde{Y}$} +Übergangsmatrix +\[ +\tilde{B}= +B\uncover<2->{+\varepsilon F} +\uncover<3->{= +B+\varepsilon\begin{pmatrix*}[r] +0&1&-1\\ +-1&0&1\\ +1&-1&0 +\end{pmatrix*}} +\] +\vspace{-12pt} + +\uncover<4->{% +Gewinnmatrix: +\[ +G=\begin{pmatrix*}[r] +0&-1&1\\ +1&0&-1\\ +-1&1&0 +\end{pmatrix*} +\]} +\end{block} +\vspace{-12pt} +\uncover<5->{% +\begin{block}{Gewinnerwartung} +\begin{align*} +\uncover<6->{E(\tilde{Y}) +&= +U^t(G\odot \tilde{B})p} +\\ +&\uncover<7->{= +E(Y) + \varepsilon U^t(G\odot F)p} +\uncover<8->{= +{\textstyle\frac1{15}}+2\varepsilon} +\\ +\uncover<9->{ +\text{rep.} +&= +-{\textstyle\frac{294}{169}}\varepsilon+O(\varepsilon^2) +\quad\text{Verlustspiel} +} +\end{align*} +\end{block}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/9/parrondo/uebersicht.tex b/vorlesungen/slides/9/parrondo/uebersicht.tex new file mode 100644 index 0000000..2f3597a --- /dev/null +++ b/vorlesungen/slides/9/parrondo/uebersicht.tex @@ -0,0 +1,17 @@ +% +% uebersicht.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame} +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Parrondo-Paradoxon} +\begin{center} +\Large +Zufällige +Wahl zwischen zwei Verlustspielen = Gewinnspiel? +\end{center} +\end{frame} +\egroup diff --git a/vorlesungen/slides/9/pf/dreieck.tex b/vorlesungen/slides/9/pf/dreieck.tex new file mode 100644 index 0000000..0a572f3 --- /dev/null +++ b/vorlesungen/slides/9/pf/dreieck.tex @@ -0,0 +1,44 @@ +% +% dreieck.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Verallgemeinerte Dreiecksungleichung} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.32\textwidth} +\begin{block}{Satz} +\[ +|u+v|\le |u|+|v| +\] +Gleichheit wenn lin.~abh. +\end{block} +\begin{block}{Satz} +\[ +\biggl|\sum_i u_i\biggr| +\le +\sum_i |u_i| +\] +Gleichheit wenn $u_i = \lambda_i u$ +\end{block} +\begin{block}{Satz} +\[ +\biggl|\sum_i z_i\biggr| +\le +\sum_i |z_i| +\] +Gleichheit, wenn $z_i=|z_i|c$, $c\in\mathbb{C}$ +\end{block} +\end{column} +\begin{column}{0.68\textwidth} +\begin{center} +\includegraphics[width=\textwidth]{../../buch/chapters/80-wahrscheinlichkeit/images/dreieck.pdf} +\end{center} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/9/pf/folgerungen.tex b/vorlesungen/slides/9/pf/folgerungen.tex new file mode 100644 index 0000000..5042c78 --- /dev/null +++ b/vorlesungen/slides/9/pf/folgerungen.tex @@ -0,0 +1,203 @@ +% +% template.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Folgerungen für $A>0$} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Satz} +$u\ge 0$ ein EV zum EW $ \lambda\ne 0$, +dann ist $u>0$ und $\lambda >0$ +\end{block} +\uncover<6->{% +\begin{block}{Satz} +$v$ ein EV zum EW $\lambda$ mit $|\lambda| = \varrho(A)$, +dann ist $u=|v|$ mit $u_i=|v_i|$ ein EV mit EW $\varrho(A)$ +\end{block}} +\uncover<29->{% +\begin{block}{Satz} +$v$ ein EV zum EW $\lambda$ mit $|\lambda|=\varrho(A)$, +dann ist $\lambda=\varrho(A)$ +\end{block}} +\uncover<46->{% +\begin{block}{Satz} +Der \only<57->{verallgemeinerte }Eigenraum zu EW $\varrho(A)$ +ist eindimensional +\end{block} +} +\end{column} +\ifthenelse{\boolean{presentation}}{ +\only<-6>{ +\begin{column}{0.48\textwidth} +\begin{proof}[Beweis] +\begin{itemize} +\item<3-> +Vergleich: $Au>0$ +\item<4-> +$Au=\lambda u > 0$ +\item<5-> +$\lambda >0$ und $u>0$ +\end{itemize} +\end{proof} +\end{column}} +\only<7-20>{ +\begin{column}{0.48\textwidth} +\begin{proof}[Beweis] +\begin{align*} +(Au)_i +&\only<-8>{= +\sum_j a_{ij}u_j} +\only<8-9>{= +\sum_j |a_{ij}v_j|} +\only<9->{\ge} +\only<9-10>{ +\biggl|\sum_j a_{ij}v_j\biggr|} +\only<10>{=} +\only<10-11>{ +|(Av)_i|} +\only<11>{=} +\only<11-12>{ +|\lambda v_i|} +\only<12>{=} +\only<12-13>{ +\varrho(A) |v_i|} +\only<13>{=} +\uncover<13->{ +\varrho(A) u_i} +\hspace*{5cm} +\\ +\uncover<14->{Au&\ge \varrho(A)u} +\intertext{\uncover<15->{Vergleich}} +\uncover<16->{A^2u&> \varrho(A)Au} +\intertext{\uncover<17->{Trennung: $\exists \vartheta >1$ mit}} +\uncover<18->{A^2u&\ge \vartheta \varrho(A) Au }\\ +\uncover<19->{A^3u&\ge (\vartheta \varrho(A))^2 Au }\\ +\uncover<20->{A^ku&\ge (\vartheta \varrho(A))^{k-1} Au }\\ +\end{align*} +\end{proof} +\end{column}} +\only<21-29>{% +\begin{column}{0.48\textwidth} +\begin{proof}[Beweis, Fortsetzung] +Abschätzung der Operatornorm: +\begin{align*} +\|A^k\|\, |Au| +\ge +\|A^{k+1}u\| +\uncover<22->{ +\ge +(\vartheta\varrho(A))^k |Au|} +\end{align*} +\uncover<23->{Abschätzung des Spektralradius} +\begin{align*} +\uncover<24->{\|A^k\| &\ge (\vartheta\varrho(A))^k} +\\ +\uncover<25->{\|A^k\|^{\frac1k} &\ge \vartheta \varrho(A)} +\\ +\uncover<26->{\lim_{k\to\infty}\|A^k\|^{\frac1k} &\ge \vartheta \varrho(A)} +\\ +\uncover<27->{\varrho(A) &\ge \underbrace{\vartheta}_{>1} \varrho(A)} +\end{align*} +\uncover<28->{Widerspruch: $u=v$} +\end{proof} +\end{column}} +\only<30-46>{ +\begin{column}{0.48\textwidth} +\begin{proof}[Beweis] +$u$ ist EV mit EW $\varrho(A)$: +\[ +Au=\varrho(A)u +\uncover<31->{\Rightarrow +\sum_j a_{ij}|v_j| = {\color<38->{red}\varrho(A) |v_i|}} +\] +\uncover<33->{Andererseits: $Av=\lambda v$} +\[ +\uncover<34->{\sum_{j}a_{ij}v_j=\lambda v_i} +\] +\uncover<35->{Betrag} +\begin{align*} +\uncover<36->{\biggl|\sum_j a_{ij}v_j\biggr| +&= +|\lambda v_i|} +\uncover<37->{= +{\color<38->{red}\varrho(A) |v_i|}} +\uncover<39->{= +\sum_j a_{ij}|v_j|} +\end{align*} +\uncover<40->{Dreiecksungleichung: $v_j=|v_j|c, c\in\mathbb{C}$} +\[ +\uncover<41->{\lambda v = Av} +\uncover<42->{= Acu} +\uncover<43->{= c\varrho(A) u} +\uncover<44->{= \varrho(A)v} +\] +\uncover<45->{$\Rightarrow +\lambda=\varrho(A) +$} +\end{proof} +\end{column}} +\only<47-57>{ +\begin{column}{0.48\textwidth} +\begin{proof}[Beweis] +\begin{itemize} +\item<48-> $u>0$ ein EV zum EW $\varrho(A)$ +\item<49-> $v$ ein weiterer EV, man darf $v\in\mathbb{R}^n$ annehmen +\item<50-> Da $u>0$ gibt es $c>0$ mit $u\ge cv$ aber $u\not > cv$ +\item<51-> $u-cv\ge 0$ aber $u-cv\not > 0$ +\item<52-> $A$ anwenden: +\[ +\begin{array}{ccc} +\uncover<53->{A(u-cv)}&\uncover<54->{>&0} +\\ +\uncover<53->{\|}&& +\\ +\uncover<53->{\varrho(A)(u-cv)}&\uncover<55->{\not>&0} +\end{array} +\] +\uncover<56->{Widerspruch: $v$ existiert nicht} +\end{itemize} +\end{proof} +\end{column}} +\only<58->{ +\begin{column}{0.48\textwidth} +\begin{proof}[Beweis] +\begin{itemize} +\item<59-> $Au=\varrho(A)u$ und $A^tp^t=\varrho(A)p^t$ +\item<60-> $u>0$ und $p>0$ $\Rightarrow$ $up>0$ +\item<61-> $px=0$, dann ist +\[ +\uncover<62->{pAx} +\only<62-63>{= +(A^tp^t)^t x} +\only<63-64>{= +\varrho(A) (p^t)^t x} +\uncover<64->{= +\varrho(A) px} +\uncover<65->{= 0} +\] +\uncover<66->{also ist $\{x\in\mathbb{R}^n\;|\; px=0\}$ +invariant} +\item<67-> Annahme: $v\in \mathcal{E}_{\varrho(A)}$ +\item<68-> Dann muss es einen EV zum EW $\varrho(A)$ in +$\mathcal{E}_{\varrho(A)}$ geben +\item<69-> Widerspruch: der Eigenraum ist eindimensional +\end{itemize} +\end{proof} +\end{column}} +}{ +\begin{column}{0.48\textwidth} +\begin{block}{} +\usebeamercolor[fg]{title} +Beweise: Buch Abschnitt 9.3 +\end{block} +\end{column} +} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/9/pf/positiv.tex b/vorlesungen/slides/9/pf/positiv.tex new file mode 100644 index 0000000..d7e833d --- /dev/null +++ b/vorlesungen/slides/9/pf/positiv.tex @@ -0,0 +1,64 @@ +% +% positiv.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Positive und nichtnegative Matrizen} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Positive Matrix\strut} +Eine Matrix $A$ heisst positiv, wenn +\[ +a_{ij} > 0\quad\forall i,j +\] +Man schreibt $A>0\mathstrut$ +\end{block} +\uncover<2->{% +\begin{block}{Relation $>\mathstrut$} +Man schreibt $A>B$ wenn $A-B > 0\mathstrut$ +\end{block}} +\uncover<5->{% +\begin{block}{Wahrscheinlichkeitsmatrix} +\[ +W=\begin{pmatrix} +0.7&0.2&0.1\\ +0.2&0.6&0.1\\ +0.1&0.2&0.8 +\end{pmatrix} +\] +Spaltensumme$\mathstrut=1$, Zeilensumme$\mathstrut=?$ +\end{block}} +\end{column} +\begin{column}{0.48\textwidth} +\uncover<3->{% +\begin{block}{Nichtnegative Matrix\strut} +Eine Matrix $A$ heisst nichtnegativ, wenn +\[ +a_{ij} \ge 0\quad\forall i,j +\] +Man schreibt $A\ge 0\mathstrut$ +\end{block}} +\uncover<4->{% +\begin{block}{Relation $\ge\mathstrut$} +Man schreibt $A\ge B$ wenn $A-B \ge 0\mathstrut$ +\end{block}} +\uncover<6->{% +\begin{block}{Permutationsmatrix} +\[ +P=\begin{pmatrix} +0&0&1\\ +1&0&0\\ +0&1&0 +\end{pmatrix} +\] +Genau eine $1$ in jeder Zeile/Spalte +\end{block}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/9/pf/primitiv.tex b/vorlesungen/slides/9/pf/primitiv.tex new file mode 100644 index 0000000..961b1d5 --- /dev/null +++ b/vorlesungen/slides/9/pf/primitiv.tex @@ -0,0 +1,84 @@ +% +% primitiv.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Primitive Matrix} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{block}{Definition} +$A\ge 0$ heisst primitiv, wenn es ein $n>0$ gibt mit $A^n>0$ +\end{block} +\uncover<9->{% +\begin{block}{Intuition} +\begin{itemize} +\item<10-> +Markov-Ketten: $a_{ij} > 0$ bedeutet, $i$ von $j$ aus erreichbar. +\item<11-> +Band: {\em alle} Verbindung mit allen Nachbarn +\item<12-> +$n$-te Potenz: Pfade der Länge $n$ +\item<13-> +Durchmesser: wenn $n>\text{Durchmesser des Zustandsdiagramms}$, +dann ist $A^n>0$ +\end{itemize} +\end{block} +} +\end{column} +\begin{column}{0.48\textwidth} +\uncover<2->{% +\begin{block}{Beispiel: Reduzible W'keitsmatrix} +\vspace{-5pt} +\begin{center} +\begin{tikzpicture}[>=latex,thick] +\fill[color=gray!40] (-1,0) rectangle (0,1); +\fill[color=gray!40] (0,-1) rectangle (1,0); +\draw[line width=0.3pt] (0,-1) -- (0,1); +\draw[line width=0.3pt] (-1,0) -- (1,0); +%\draw (-1,-1) rectangle (1,1); +\node at (0,0) {$\left( \raisebox{0pt}[1cm][1cm]{\hspace*{2cm}} \right)$}; +\node at (-1.3,0) [left] {$\mathstrut W=$}; +\node at (0.5,0.5) {$0$}; +\node at (-0.5,-0.5) {$0$}; +\end{tikzpicture} +\end{center} +\vspace{-10pt} + +$\Rightarrow$ $W$ ist nicht primitiv +\end{block}} +\uncover<3->{% +\begin{block}{Beispiel: Bandmatrix} +\centering +\begin{tikzpicture}[>=latex,thick] +\begin{scope} +\clip (-1,-1) rectangle (1,1); +\foreach \n in {3,...,8}{ + \pgfmathparse{0.3*(\n-2)} + \xdef\x{\pgfmathresult} + \only<\n>{ + \fill[color=gray!40] + ({-1.2-\x},1) -- (1,{-1.2-\x}) -- (1,{-0.8+\x}) + -- ({-0.8+\x},1) -- cycle; + } +} +\fill[color=gray] (-1.2,1) -- (1,-1.2) -- (1,-0.8) -- (-0.8,1) -- cycle; +\end{scope} +\foreach \n in {2,...,8}{ + \uncover<\n>{ + \pgfmathparse{int(\n-2)} + \xdef\k{\pgfmathresult} + \node at (-1.3,0) [left] {$\mathstrut B^{\k}=$}; + } +} +\node at (0,0) {$\left( \raisebox{0pt}[1cm][1cm]{\hspace*{2cm}} \right)$}; +\end{tikzpicture} +\end{block}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/9/pf/trennung.tex b/vorlesungen/slides/9/pf/trennung.tex new file mode 100644 index 0000000..9c85849 --- /dev/null +++ b/vorlesungen/slides/9/pf/trennung.tex @@ -0,0 +1,99 @@ +% +% trennung.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\definecolor{darkgreen}{rgb}{0,0.6,0} +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Trennung} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{center} +\begin{tikzpicture}[>=latex,thick] + +\coordinate (u) at (3.5,4.5); +\coordinate (v) at (2.5,2); +\coordinate (va) at ({(3.5/2.5)*2.5},{(3.5/2.5)*2}); + +\uncover<3->{ +\fill[color=darkgreen!20] (0,0) rectangle (5.3,5.3); +\node[color=darkgreen] at (1.5,4.9) {$u\not\ge w$}; +\node[color=darkgreen] at (4.4,0.6) {$u\not\ge w$}; +} + +\uncover<5->{ +\begin{scope} +\clip (0,0) rectangle (5.3,5.3); +\draw[color=darkgreen] (0,0) -- ($3*(v)$); +\end{scope} + +\node[color=darkgreen] at ($1.2*(va)$) + [below,rotate={atan(2/2.5)}] {$(1+\mu)v$}; +} + +\uncover<2->{ + \fill[color=red!20] (0,0) rectangle (u); +} + +\fill[color=red] (u) circle[radius=0.08]; +\node[color=red] at (u) [above right] {$u$}; + +\uncover<4->{ + \fill[color=blue!40,opacity=0.5] (0,0) rectangle (v); +} + +\uncover<2->{ + \fill[color=blue] (v) circle[radius=0.08]; + \node[color=blue] at (v) [above] {$v$}; +} + +\uncover<4->{ + \draw[color=blue] (0,0) -- (va); + + \fill[color=blue] (va) circle[radius=0.08]; + \node[color=blue] at (va) [above left] {$(1+\varepsilon)v$}; +} + +\draw[->] (-0.1,0) -- (5.5,0) coordinate[label={$x_1$}]; +\draw[->] (0,-0.1) -- (0,5.5) coordinate[label={right:$x_2$}]; + +\uncover<2->{ + \draw[->,color=red] (3.0,-0.2) -- (3.0,1.5); + \node[color=red] at (3.0,-0.2) [below] + {$\{w\in\mathbb{R}^n\;|\; w<u\}$}; +} + +\end{tikzpicture} +\end{center} +\end{column} +\begin{column}{0.48\textwidth} +\begin{block}{Satz} +$u>v\ge 0$\uncover<4->{, dann gibt es $\varepsilon>0$ mit +\[ +u\ge (1+\varepsilon)v +\]}% +\uncover<5->{und für $\mu>\varepsilon$ ist +\[ +u \not\ge (1+\mu)v +\]} +\uncover<6->{% +\begin{proof}[Beweis] +\begin{itemize} +\item<7-> +$u>v$ $\Rightarrow$ $u_i/v_i>1$ falls $v_i>0$ +\item<8-> +\[ +\vartheta = \min_{v_i\ne 0} \frac{u_i}{v_i} > 1 +\] +\uncover<9->{$\varepsilon = \vartheta - 1$} +\end{itemize} +\end{proof}} +\end{block} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/9/pf/vergleich.tex b/vorlesungen/slides/9/pf/vergleich.tex new file mode 100644 index 0000000..c1a1f7a --- /dev/null +++ b/vorlesungen/slides/9/pf/vergleich.tex @@ -0,0 +1,113 @@ +% +% vergleich.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\definecolor{darkgreen}{rgb}{0,0.6,0} +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Vergleich} +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.48\textwidth} +\begin{center} +\begin{tikzpicture}[>=latex,thick] + +\def\a{1.2} \def\b{0.35} +\def\c{0.5} \def\d{1.25} +\def\r{4} + +\coordinate (u) at (3.5,0); +\coordinate (v) at (2.5,0); + +\coordinate (Au) at ({3.5*\a},{3.5*\c}); +\coordinate (Av) at ({2.5*\a},{2.5*\c}); + +\uncover<2->{ + \begin{scope} + \clip (0,0) rectangle (5,5); + \fill[color=red!20] (0,0) circle[radius=4]; + \end{scope} + \node[color=red] at (0,4) [below right] {$\mathbb{R}^n$}; + + \fill[color=blue!40,opacity=0.5] (0,0) -- ({\a*\r},{\c*\r}) + -- plot[domain=0:90,samples=100] + ({\r*(\a*cos(\x)+\b*sin(\x))},{\r*(\c*cos(\x)+\d*sin(\x))}) + -- ({\b*\r},{\d*\r}) -- cycle; + \node[color=blue] at ({\r*\b},{\r*\d}) [below right] {$A\mathbb{R}^n$}; +} + +\draw[->] (-0.1,0) -- (5.5,0) coordinate[label={$x_1$}]; +\draw[->] (0,-0.1) -- (0,5.5) coordinate[label={right:$x_2$}]; + +\uncover<3->{ + \fill[color=darkgreen!30,opacity=0.5] + (0,0) rectangle ({3.5*\a},{3.5*\c}); + \draw[color=white,line width=0.7pt] + ({3.5*\a},0) -- ({3.5*\a},{3.5*\c}) -- (0,{3.5*\c}); +} + +\uncover<2->{ + \draw[->,color=blue,line width=1.4pt] (0,0) -- ({\r*\a},{\r*\c}); + \draw[->,color=blue,line width=1.4pt] (0,0) -- ({\r*\b},{\r*\d}); + + \draw[->,color=red,line width=1.4pt] (0,0) -- (4,0); + \draw[->,color=red,line width=1.4pt] (0,0) -- (0,4); +} + +\draw[color=darkgreen,line width=2pt] (u) -- (v); +\fill[color=darkgreen] (u) circle[radius=0.08]; +\fill[color=darkgreen] (v) circle[radius=0.08]; + +\node[color=darkgreen] at (u) [below right] {$u$}; +\node[color=darkgreen] at (v) [below left] {$v$}; +\node[color=darkgreen] at ($0.5*(u)+0.5*(v)$) [above] {$v\le u$}; + +\uncover<3->{ + \draw[color=darkgreen,line width=2pt] (Au) -- (Av); + \fill[color=darkgreen] (Au) circle[radius=0.08]; + \fill[color=darkgreen] (Av) circle[radius=0.08]; + + \node[color=darkgreen] at (Au) [above left] {$Au$}; + \node[color=darkgreen] at (Av) [above left] {$Av$}; + + \node[color=darkgreen] at ($0.5*(Au)+0.5*(Av)$) + [below,rotate={atan(\c/\a)}] {$Av<Au$}; +} + +\end{tikzpicture} +\end{center} +\end{column} +\begin{column}{0.48\textwidth} +\begin{block}{Satz} +$u\ge v\ge 0$ \uncover<2->{und $A > 0$}\uncover<3->{ $\Rightarrow$ $Au>Av$} +\end{block} +\uncover<4->{% +\begin{block}{intuitiv} +$A>0$ befördert $\ge$ zu $>$ +\end{block}} +\uncover<5->{% +\begin{proof}[Beweis] +$d=u-v\ge 0$ +\begin{align*} +(Ad)_i +\uncover<6->{= +\sum_{j} +\underbrace{a_{ij}}_{>0}d_j} +\uncover<7->{> +0} +\uncover<8->{\quad\Rightarrow\quad +Au > Av} +\end{align*} +\uncover<7->{da mindestens ein $d_j>0$ ist} +\end{proof}} +\uncover<9->{% +\begin{block}{Korollar} +$A>0$ und $d\ge 0$ $\Rightarrow$ $Ad > 0$ +\end{block}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/9/pf/vergleich3d.tex b/vorlesungen/slides/9/pf/vergleich3d.tex new file mode 100644 index 0000000..1c019a6 --- /dev/null +++ b/vorlesungen/slides/9/pf/vergleich3d.tex @@ -0,0 +1,26 @@ +% +% template.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Vergleich} + +\vspace{-20pt} +\begin{columns}[t,onlytextwidth] +\begin{column}{0.57\textwidth} +\begin{center} +\includegraphics[width=\textwidth]{../../buch/chapters/80-wahrscheinlichkeit/images/vergleich.pdf} +\end{center} +\end{column} +\begin{column}{0.38\textwidth} +\begin{block}{Satz} +$u\ge v\ge 0$ $\Rightarrow$ $Au>Av$ +\end{block} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/9/potenz.tex b/vorlesungen/slides/9/potenz.tex new file mode 100644 index 0000000..2c3afa3 --- /dev/null +++ b/vorlesungen/slides/9/potenz.tex @@ -0,0 +1,15 @@ +% +% potenz.tex -- slide template +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\bgroup +\begin{frame}[t] +\setlength{\abovedisplayskip}{5pt} +\setlength{\belowdisplayskip}{5pt} +\frametitle{Potenzmethode} +\begin{center} +\includegraphics[width=0.9\textwidth]{../../buch/chapters/80-wahrscheinlichkeit/images/positiv.pdf} +\end{center} +\end{frame} +\egroup diff --git a/vorlesungen/slides/test.tex b/vorlesungen/slides/test.tex index 17c8a28..4289c44 100644 --- a/vorlesungen/slides/test.tex +++ b/vorlesungen/slides/test.tex @@ -3,9 +3,26 @@ % % (c) 2021 Prof Dr Andreas Müller, Hochschule Rapperswil % -\folie{7/mannigfaltigkeit.tex} -\folie{7/haar.tex} -\folie{7/quaternionen.tex} -\folie{7/qdreh.tex} -\folie{7/ueberlagerung.tex} -\folie{7/hopf.tex} +%\folie{9/google.tex} +%\folie{9/markov.tex} +%\folie{9/stationaer.tex} +%\folie{9/irreduzibel.tex} +%\folie{9/pf.tex} + +%\folie{9/pf/positiv.tex} +%\folie{9/pf/primitiv.tex} +%\folie{9/pf/trennung.tex} +%\folie{9/pf/vergleich.tex} +%\folie{9/pf/vergleich3d.tex} +%\folie{9/pf/dreieck.tex} +%\folie{9/pf/folgerungen.tex} +%\folie{9/potenz.tex} + +\folie{9/parrondo/erwartung.tex} +%\folie{9/parrondo/uebersicht.tex} +\folie{9/parrondo/spiela.tex} +\folie{9/parrondo/spielb.tex} +\folie{9/parrondo/spielbmod.tex} +\folie{9/parrondo/kombiniert.tex} +\folie{9/parrondo/deformation.tex} + diff --git a/vorlesungen/stream/countdown.html b/vorlesungen/stream/countdown.html index 940e269..12f99ac 100644 --- a/vorlesungen/stream/countdown.html +++ b/vorlesungen/stream/countdown.html @@ -17,7 +17,7 @@ color: #990000; <body> <div id="demo"></div> <script> -var deadline = new Date("Mar 29, 2021 17:00:00").getTime(); +var deadline = new Date("May 17, 2021 17:00:00").getTime(); var x = setInterval(function() { var now = new Date().getTime(); var t = deadline - now; |