From 3b99e1259fea76103adc3c25b3af2da6d98635ed Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Wed, 14 Apr 2021 17:14:20 +0200 Subject: Add some animations --- vorlesungen/punktgruppen/crystals.py | 269 +++++++++++++++ vorlesungen/punktgruppen/poetry.lock | 591 ++++++++++++++++++++++++++++++++ vorlesungen/punktgruppen/pyproject.toml | 15 + 3 files changed, 875 insertions(+) create mode 100644 vorlesungen/punktgruppen/crystals.py create mode 100644 vorlesungen/punktgruppen/poetry.lock create mode 100644 vorlesungen/punktgruppen/pyproject.toml (limited to 'vorlesungen') diff --git a/vorlesungen/punktgruppen/crystals.py b/vorlesungen/punktgruppen/crystals.py new file mode 100644 index 0000000..0f97a0f --- /dev/null +++ b/vorlesungen/punktgruppen/crystals.py @@ -0,0 +1,269 @@ +from manim import * + +import math as m +import numpy as np + +# 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): + # title + title = Tex(r"Geometrische \\ Symmetrien") + title.scale(1.5) + self.play(Write(title)) + self.wait() + self.play(FadeOut(title)) + self.wait() + + self.intro() + self.cyclic() + self.dihedral() + + 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"1") + self.play(Write(action)) + self.play(ApplyMethod(square.scale, 1.2)) + self.play(ApplyMethod(square.scale, 1/1.2)) + self.play(FadeOut(action)) + + # 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)) + self.wait() + + 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() + figure.add(square) + figure.add(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() + 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() + self.play(ApplyMethod(group.to_corner, UP)) + + actions = map(MathTex, [r"1", r"r", r"r^2", r"r^3", r"r^4", r"1"]) + 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.play(Uncreate(figure), FadeOut(action)) + + whole_group = MathTex( + r"G = \langle r \rangle" + r"= \left\{1, r, r^2, r^3, r^4 \right\}") + + self.play(ApplyMethod(group.move_to, ORIGIN)) + self.play(ReplacementTransform(group, whole_group)) + self.wait() + + cyclic = MathTex( + r"C_n = \langle r \rangle" + r"= \left\{1, r, r^2, \dots, r^n \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 = 1,", + r"r^4 = 1,", + r"(\sigma r)^2 = 1 \rangle") + + self.play(Write(group), run_time = 2) + self.wait() + self.play(ApplyMethod(group.to_corner, UP)) + self.play(FadeIn(square)) + + axis = DashedLine(2 * LEFT, 2 * RIGHT) + sigma = MathTex(r"\sigma^2 = 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 = 1") + rot.next_to(square, DOWN * 3) + + figure = VGroup() + figure.add(dot) + figure.add(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 = 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() + figure.add(dot) + figure.add(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 = 1 \rangle \\" + r"&= \left\{" + r"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 = 1 \rangle \\" + r"&= \left\{" + r"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)) + + +class Geometric3DSymmetries(ThreeDScene): + def construct(self): + self.symmetric() + + def symmetric(self): + self.renderer.camera.light_source.move_to(3*IN) # changes the source of the light + self.set_camera_orientation(phi=60 * DEGREES, theta=-20 * DEGREES) + + cube = Cube() + axes = ThreeDAxes() + + axis = np.array([2,2,2]) + line = DashedLine(-axis, axis) + + self.play(Create(axes), Create(cube)) + self.play(Create(line)) + + self.play(ApplyMethod(cube.rotate, PI, axis / abs(axis))) + + self.begin_ambient_camera_rotation(rate=0.1) + self.wait(7) + + +class AlgebraicSymmetries(Scene): + def construct(self): + pass diff --git a/vorlesungen/punktgruppen/poetry.lock b/vorlesungen/punktgruppen/poetry.lock new file mode 100644 index 0000000..13c5100 --- /dev/null +++ b/vorlesungen/punktgruppen/poetry.lock @@ -0,0 +1,591 @@ +[[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 = "importlib-metadata" +version = "3.10.0" +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.5.0" +description = "Animation engine for explanatory math videos." +category = "main" +optional = false +python-versions = ">=3.6.2,<4.0.0" + +[package.dependencies] +colour = "*" +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 = "*" +rich = ">=6.0,<7.0" +scipy = "*" +tqdm = "*" + +[package.extras] +webgl_renderer = ["grpcio (>=1.33.0,<1.34.0)", "grpcio-tools (>=1.33.0,<1.34.0)", "watchdog"] +jupyterlab = ["jupyterlab (>=3.0,<4.0)"] + +[[package]] +name = "manimpango" +version = "0.2.5.post0" +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.15" +description = "Cross-platform windowing and multimedia library" +category = "main" +optional = false +python-versions = "*" + +[[package]] +name = "pygments" +version = "2.8.1" +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 = "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.15.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.7.4.3" +description = "Backported and Experimental Type Hints for Python 3.5+" +category = "main" +optional = false +python-versions = "*" + +[[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 = "f990b445406f5bbce3e53cd28ef3362be09615b40062f11233a62f99bcd59a79" + +[metadata.files] +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"}, +] +importlib-metadata = [ + {file = "importlib_metadata-3.10.0-py3-none-any.whl", hash = "sha256:d2d46ef77ffc85cbf7dac7e81dd663fde71c45326131bea8033b9bad42268ebe"}, + {file = "importlib_metadata-3.10.0.tar.gz", hash = "sha256:c9db46394197244adf2f0b08ec5bc3cf16757e9590b02af1fca085c16c0d600a"}, +] +manim = [ + {file = "manim-0.5.0-py3-none-any.whl", hash = "sha256:1a164c8caa6058f67c6fcd7cf1e6f5dbb9833b292117885dc470dabad1cc00c7"}, + {file = "manim-0.5.0.tar.gz", hash = "sha256:e4284648cbb5d463c6dbced1d4e60fa9b68c14f4bb3b10c8eab0f8f49ca5da88"}, +] +manimpango = [ + {file = "ManimPango-0.2.5.post0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:53f754594ccedeaf464028777d4502fb31f2251b9dca7e99b40786b3e4ff394d"}, + {file = "ManimPango-0.2.5.post0-cp36-cp36m-win32.whl", hash = "sha256:ac33cc00a89aabe7459043b7aab8851e4ec4c7fa78cea2b3dacb618b2b03c98b"}, + {file = "ManimPango-0.2.5.post0-cp36-cp36m-win_amd64.whl", hash = "sha256:87e205f5a35ff5504104cd30b8d086e9f97c17f95cf490de7cc1d4aa8c2a8425"}, + {file = "ManimPango-0.2.5.post0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:70e59f888ca5ad0be37777f761cee8fb3d6e28c5d949e5da13f727326b46da60"}, + {file = "ManimPango-0.2.5.post0-cp37-cp37m-win32.whl", hash = "sha256:d9cc5ac80dd363fd4f3fa233f7fad74e9749965b6e4af10a2174f946fe1d9813"}, + {file = "ManimPango-0.2.5.post0-cp37-cp37m-win_amd64.whl", hash = "sha256:3bef549783fc5e3f39598880e7cc41bb44dc2e37ceb8c7e20f0381fd8d67b3e8"}, + {file = "ManimPango-0.2.5.post0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:978bcf4c6cf145f723ec551ed18a1959f6952f100d61c7b4431939ee850f9308"}, + {file = "ManimPango-0.2.5.post0-cp38-cp38-win32.whl", hash = "sha256:db877a3a037739ce2f647f747bc750c7e9a881ce5175a4ad764170f24fb2d68a"}, + {file = "ManimPango-0.2.5.post0-cp38-cp38-win_amd64.whl", hash = "sha256:2876c64724a73893ba22c250ddf603724865c650a925ddca76102eea0e489373"}, + {file = "ManimPango-0.2.5.post0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e3694ae99ef758a8eaf847f77b0fa2bf7318ed2ee55a32b3a3bb155dd2d6ec9b"}, + {file = "ManimPango-0.2.5.post0-cp39-cp39-win32.whl", hash = "sha256:139469a6130270e3cf94c4b01fa9b17dc516170a11b901ff0ce0f6cdff6752e9"}, + {file = "ManimPango-0.2.5.post0-cp39-cp39-win_amd64.whl", hash = "sha256:aad57df6ec62585f52c662b84f2d5ff2c686daa8ca753326b6cde8b798c4da96"}, + {file = "ManimPango-0.2.5.post0.tar.gz", hash = "sha256:c33d073d4389ad93bbac13029b8a0da5d8ee0b8fe7f282379ff95012e34d324e"}, +] +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.15-py3-none-any.whl", hash = "sha256:4401cc176580e4e17e2df8bbf7536f27e691327dc3f38f209a12f1859c70aed2"}, + {file = "pyglet-1.5.15.zip", hash = "sha256:da9d8337388cedabf1f1c5dc21a45bb2b0e5327fba47f996c8573818c3dfa478"}, +] +pygments = [ + {file = "Pygments-2.8.1-py3-none-any.whl", hash = "sha256:534ef71d539ae97d4c3a4cf7d6f110f214b0e687e92f9cb9d2a3b0d3101289c8"}, + {file = "Pygments-2.8.1.tar.gz", hash = "sha256:2656e1a6edcdabf4275f9a3640db59fd5de107d88e8663c5d4e9a0fa62f77f94"}, +] +pyrr = [ + {file = "pyrr-0.10.3-py3-none-any.whl", hash = "sha256:d8af23fb9bb29262405845e1c98f7339fbba5e49323b98528bd01160a75c65ac"}, + {file = "pyrr-0.10.3.tar.gz", hash = "sha256:3c0f7b20326e71f706a610d58f2190fff73af01eef60c19cb188b186f0ec7e1d"}, +] +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.15.0-py2.py3-none-any.whl", hash = "sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced"}, + {file = "six-1.15.0.tar.gz", hash = "sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259"}, +] +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.7.4.3-py2-none-any.whl", hash = "sha256:dafc7639cde7f1b6e1acc0f457842a83e722ccca8eef5270af2d74792619a89f"}, + {file = "typing_extensions-3.7.4.3-py3-none-any.whl", hash = "sha256:7cb407020f00f7bfc3cb3e7881628838e69d8f3fcab2f64742a5e76b2f841918"}, + {file = "typing_extensions-3.7.4.3.tar.gz", hash = "sha256:99d4073b617d30288f569d3f13d2bd7548c3a7e4c8de87db09a9d29bb3a4a60c"}, +] +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..92c06e2 --- /dev/null +++ b/vorlesungen/punktgruppen/pyproject.toml @@ -0,0 +1,15 @@ +[tool.poetry] +name = "presentation" +version = "0.1.0" +description = "" +authors = ["Nao Pross "] + +[tool.poetry.dependencies] +python = "^3.7" +manim = "^0.5.0" + +[tool.poetry.dev-dependencies] + +[build-system] +requires = ["poetry-core>=1.0.0"] +build-backend = "poetry.core.masonry.api" -- cgit v1.2.1 From 78d0e0e09a959b793179761b098910fe04cc5448 Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Wed, 14 Apr 2021 19:44:24 +0200 Subject: Add gitignore for presentation --- vorlesungen/punktgruppen/.gitignore | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 vorlesungen/punktgruppen/.gitignore (limited to 'vorlesungen') diff --git a/vorlesungen/punktgruppen/.gitignore b/vorlesungen/punktgruppen/.gitignore new file mode 100644 index 0000000..7f69fa5 --- /dev/null +++ b/vorlesungen/punktgruppen/.gitignore @@ -0,0 +1,2 @@ +__pycache__ +media -- cgit v1.2.1 From 90ef643e08df0d62f4e1124040f7676fb8e7dbce Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Wed, 14 Apr 2021 21:04:36 +0200 Subject: Add doc to write presentation script --- vorlesungen/punktgruppen/.gitignore | 6 +++++ vorlesungen/punktgruppen/Makefile | 18 ++++++++++++++ vorlesungen/punktgruppen/script.pdf | Bin 0 -> 22284 bytes vorlesungen/punktgruppen/script.tex | 47 ++++++++++++++++++++++++++++++++++++ 4 files changed, 71 insertions(+) create mode 100644 vorlesungen/punktgruppen/Makefile create mode 100644 vorlesungen/punktgruppen/script.pdf create mode 100644 vorlesungen/punktgruppen/script.tex (limited to 'vorlesungen') diff --git a/vorlesungen/punktgruppen/.gitignore b/vorlesungen/punktgruppen/.gitignore index 7f69fa5..068a456 100644 --- a/vorlesungen/punktgruppen/.gitignore +++ b/vorlesungen/punktgruppen/.gitignore @@ -1,2 +1,8 @@ +# directories __pycache__ media +build + +# files +script.log +missfont.log diff --git a/vorlesungen/punktgruppen/Makefile b/vorlesungen/punktgruppen/Makefile new file mode 100644 index 0000000..eb4eed6 --- /dev/null +++ b/vorlesungen/punktgruppen/Makefile @@ -0,0 +1,18 @@ +TEX=xelatex +TEXARGS=--output-directory=build --halt-on-error + +all: script.pdf media + +.PHONY: clean +clean: + @rm -rfv build + # @rm -rfv media + +script.pdf: script.tex + mkdir -p build + $(TEX) $(TEXARGS) script.tex + cp build/script.pdf . + +media: + poetry install + poetry run manim -ql crystals.py diff --git a/vorlesungen/punktgruppen/script.pdf b/vorlesungen/punktgruppen/script.pdf new file mode 100644 index 0000000..0893e79 Binary files /dev/null and b/vorlesungen/punktgruppen/script.pdf differ diff --git a/vorlesungen/punktgruppen/script.tex b/vorlesungen/punktgruppen/script.tex new file mode 100644 index 0000000..e4fc63c --- /dev/null +++ b/vorlesungen/punktgruppen/script.tex @@ -0,0 +1,47 @@ +\documentclass[a4paper]{article} + +\usepackage[cm]{manuscript} +\usepackage{xcolor} + +\newcommand{\scene}[1]{\noindent[ #1 ]\par} +\newenvironment{totranslate}{\color{red!60!black}}{} + +\begin{document} + +\section{Intro} + +\section{Geometrie} +\scene{Intro} +\scene{Zyklische Gruppe} + +\begin{totranslate} + Let's now focus our attention on the simplest class of simmetries: those + generated only by a rotation. We'll describe the symmetries with a group + \(G\), and we'll write that it is generated by a rotation \(r\) with these + angle brackets. + + Take this shape as an example. By applying the rotation \emph{action} 5 + times, it seems as if we had not done anything, furthermore, if we \emph{act} + with higher ``powers'' \(r\), they will have the same effect as one of the + previous action. Thus the group only contain the identity and the powers of + \(r\) up to 4. + + In general, groups with this structure are known as the + ``Cyclic Groups'' of order \(n\), where the action \(r\) can be applied + \(n-1\) times before wrapping around. +\end{totranslate} + +\scene{Diedergruppe} + +\begin{totranslate} + Okay that was not difficult, now let's spice this up a bit. +\end{totranslate} + +\scene{Symmetrische Gruppe} +\scene{Alternierende Gruppe} + +\section{Algebra} + +\section{Krystalle} + +\end{document} -- cgit v1.2.1 From 89aec59f070bcbf4ad32d274da73a19131f58a98 Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Thu, 15 Apr 2021 09:53:59 +0200 Subject: Start animating algebraic symmetries --- vorlesungen/punktgruppen/crystals.py | 79 ++++++++++++++++++++++++++++++++++-- 1 file changed, 76 insertions(+), 3 deletions(-) (limited to 'vorlesungen') diff --git a/vorlesungen/punktgruppen/crystals.py b/vorlesungen/punktgruppen/crystals.py index 0f97a0f..d0ff205 100644 --- a/vorlesungen/punktgruppen/crystals.py +++ b/vorlesungen/punktgruppen/crystals.py @@ -135,8 +135,8 @@ class Geometric2DSymmetries(Scene): self.wait() cyclic = MathTex( - r"C_n = \langle r \rangle" - r"= \left\{1, r, r^2, \dots, r^n \right\}") + r"Z_n = \langle r \rangle" + r"= \left\{1, r, r^2, \dots, r^{n-1} \right\}") cyclic_title = Tex(r"Zyklische Gruppe") cyclic_title.next_to(cyclic, UP * 2) @@ -266,4 +266,77 @@ class Geometric3DSymmetries(ThreeDScene): class AlgebraicSymmetries(Scene): def construct(self): - pass + # title + title = Tex(r"Algebraische \\ Symmetrien") + title.scale(1.5) + self.play(Write(title)) + self.wait() + self.play(FadeOut(title)) + self.wait() + + self.cyclic() + + def cyclic(self): + root_powers = MathTex( + r"\left( e^\frac{\pi i}{2} \right)^0 &= 1 \\", + r"\left( e^\frac{\pi i}{2} \right)^1 &= i \\", + r"\left( e^\frac{\pi i}{2} \right)^2 &= -1 \\", + r"\left( e^\frac{\pi i}{2} \right)^3 &= -i \\") + + root_more_powers = MathTex( + r"\left( e^\frac{\pi i}{2} \right)^4 &= 1 \\", + r"\left( e^\frac{\pi i}{2} \right)^5 &= i \\", + r"\left( e^\frac{\pi i}{2} \right)^6 &= -1 \\", + r"\left( e^\frac{\pi i}{2} \right)^7 &= -i \\") + + root_powers.shift(LEFT * 2) + root_more_powers.shift(RIGHT * 2) + + for line in root_powers: + self.play(Write(line)) + + for line in root_more_powers: + self.play(Write(line)) + + self.wait() + self.play( + ApplyMethod(root_powers.to_edge, LEFT), + FadeOutAndShift(root_more_powers, RIGHT)) + + groups = MathTex( + r"G &= \left\{ 1, i, -1, -i \right\} \\", + r"&= \left\{", + "1,", "i,", "i^2,", "i^3", + r"\right\} \\", + r"Z_4 &= \left\{", + "1,", "r,", "r^2,", "r^3" + r"\right\}") + groups.shift(UP) + + self.play(Write(groups[0])) + self.play(FadeOutAndShift(root_powers, LEFT)) + for part in groups[0:]: + self.play(Write(part)) + self.play(ApplyMethod(groups.to_corner, UP + LEFT)) + self.wait() + + isomorphism = MathTex( + r"\varphi : G &\to Z_4 \\", + r"\mathrm{ker}(\varphi) &= \emptyset \\", + r"G &\cong Z_4") + + iso_it = iter(isomorphism) + self.play(Write(next(iso_it))) + self.wait() + self.play(Write(next(iso_it))) + self.wait() + + # TODO: show in group + + self.play(Write(next(iso_it))) + self.wait() + + self.play(ApplyMethod(isomorphism.to_edge, UP)) + + self.wait(5) + -- cgit v1.2.1 From 852e683777b8d8594ddd2a752affccb98ebc9fdf Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Thu, 15 Apr 2021 09:54:19 +0200 Subject: Reword video script --- vorlesungen/punktgruppen/script.pdf | Bin 22284 -> 22295 bytes vorlesungen/punktgruppen/script.tex | 14 +++++++------- 2 files changed, 7 insertions(+), 7 deletions(-) (limited to 'vorlesungen') diff --git a/vorlesungen/punktgruppen/script.pdf b/vorlesungen/punktgruppen/script.pdf index 0893e79..044a426 100644 Binary files a/vorlesungen/punktgruppen/script.pdf and b/vorlesungen/punktgruppen/script.pdf differ diff --git a/vorlesungen/punktgruppen/script.tex b/vorlesungen/punktgruppen/script.tex index e4fc63c..a1e356a 100644 --- a/vorlesungen/punktgruppen/script.tex +++ b/vorlesungen/punktgruppen/script.tex @@ -15,13 +15,13 @@ \scene{Zyklische Gruppe} \begin{totranslate} - Let's now focus our attention on the simplest class of simmetries: those - generated only by a rotation. We'll describe the symmetries with a group - \(G\), and we'll write that it is generated by a rotation \(r\) with these - angle brackets. + Let's now focus our attention on the simplest class of symmetries: those + generated by a single rotation. We describe the symmetries with a group + \(G\), and denote that it is generated by a rotation \(r\) with these angle + brackets. - Take this shape as an example. By applying the rotation \emph{action} 5 - times, it seems as if we had not done anything, furthermore, if we \emph{act} + Take this shape as an example. By applying the rotation \emph{action} 5 + times, it looks as if we had not done anything, furthermore, if we \emph{act} with higher ``powers'' \(r\), they will have the same effect as one of the previous action. Thus the group only contain the identity and the powers of \(r\) up to 4. @@ -34,7 +34,7 @@ \scene{Diedergruppe} \begin{totranslate} - Okay that was not difficult, now let's spice this up a bit. + Okay that was not difficult, now let's spice this up a bit. \end{totranslate} \scene{Symmetrische Gruppe} -- cgit v1.2.1 From a331aefc04c6d615a693d892048e1615db86a99c Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Fri, 16 Apr 2021 01:01:31 +0200 Subject: Continue video script --- vorlesungen/punktgruppen/script.pdf | Bin 22295 -> 25412 bytes vorlesungen/punktgruppen/script.tex | 52 +++++++++++++++++++++++------------- 2 files changed, 34 insertions(+), 18 deletions(-) (limited to 'vorlesungen') diff --git a/vorlesungen/punktgruppen/script.pdf b/vorlesungen/punktgruppen/script.pdf index 044a426..293b248 100644 Binary files a/vorlesungen/punktgruppen/script.pdf and b/vorlesungen/punktgruppen/script.pdf differ diff --git a/vorlesungen/punktgruppen/script.tex b/vorlesungen/punktgruppen/script.tex index a1e356a..2a6d95c 100644 --- a/vorlesungen/punktgruppen/script.tex +++ b/vorlesungen/punktgruppen/script.tex @@ -4,37 +4,52 @@ \usepackage{xcolor} \newcommand{\scene}[1]{\noindent[ #1 ]\par} -\newenvironment{totranslate}{\color{red!60!black}}{} +\newenvironment{totranslate}{\color{blue!70!black}}{} \begin{document} \section{Intro} \section{Geometrie} -\scene{Intro} -\scene{Zyklische Gruppe} - \begin{totranslate} - Let's now focus our attention on the simplest class of symmetries: those - generated by a single rotation. We describe the symmetries with a group +We'll start with geometric symmetries as they are the simplest to grasp. + +\scene{Intro} + To mathematically formulate the concept, we will think of symmetries as + actions to perform on an object, like this square. The simplest action, is to + take this square, do nothing and put it back down. Another action could be to + flip it along an axis, or to rotate it around its center by 90 degrees. + +\scene{Cyclic Groups} + Let's focus our attention on the simplest class of symmetries: those + generated by a single rotation. We will gather the symmetries in a group \(G\), and denote that it is generated by a rotation \(r\) with these angle brackets. - Take this shape as an example. By applying the rotation \emph{action} 5 - times, it looks as if we had not done anything, furthermore, if we \emph{act} - with higher ``powers'' \(r\), they will have the same effect as one of the - previous action. Thus the group only contain the identity and the powers of - \(r\) up to 4. + Take this pentagon as an example. By applying the rotation \emph{action} 5 + times, it is the same as if we had not done anything, furthermore, if we + \emph{act} a sixth time with \(r\), it will be the same as if we had just + acted with \(r\) once. Thus the group only contain the identity and the + powers of \(r\) up to 4. - In general, groups with this structure are known as the - ``Cyclic Groups'' of order \(n\), where the action \(r\) can be applied - \(n-1\) times before wrapping around. -\end{totranslate} + In general, groups with this structure are known as the ``Cyclic Groups'' of + order \(n\), where the action \(r\) can be applied \(n-1\) times before + wrapping around. -\scene{Diedergruppe} + % You can think of them as the rotational symmetries of an \(n\)-gon. -\begin{totranslate} - Okay that was not difficult, now let's spice this up a bit. +\scene{Dihedral Groups} + Okay that was not difficult, now let's spice this up a bit. Consider this + group for a square, generated by two actions: a rotation \(r\) and a + reflection \(\sigma\). Because we have two actions we have to write in the + generator how they relate to each other. + + Let's analyze this expression. Two reflections are the same as the identity. + Four rotations are the same as the identity, and a rotation followed by a + reflection, twice, is the same as the identity. + + This forms a group with 8 possible unique actions. This too can be generalized + to an \(n\)-gon, and is known as the ``Dihedral Group'' of order \(n\). \end{totranslate} \scene{Symmetrische Gruppe} @@ -45,3 +60,4 @@ \section{Krystalle} \end{document} +% vim:et ts=2 sw=2: -- cgit v1.2.1 From 8a4d352a656972bf4b48d2b73733f15d9adf89fc Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Fri, 16 Apr 2021 01:02:19 +0200 Subject: Change symbol for identity element --- vorlesungen/punktgruppen/crystals.py | 92 ++++++++++++++++++++++++++---------- 1 file changed, 67 insertions(+), 25 deletions(-) (limited to 'vorlesungen') diff --git a/vorlesungen/punktgruppen/crystals.py b/vorlesungen/punktgruppen/crystals.py index d0ff205..894199d 100644 --- a/vorlesungen/punktgruppen/crystals.py +++ b/vorlesungen/punktgruppen/crystals.py @@ -2,6 +2,7 @@ from manim import * import math as m import numpy as np +import itertools as it # configure style config.background_color = '#202020' @@ -34,7 +35,7 @@ class Geometric2DSymmetries(Scene): self.wait() # the action of doing nothing - action = MathTex(r"1") + action = MathTex(r"\mathbb{1}") self.play(Write(action)) self.play(ApplyMethod(square.scale, 1.2)) self.play(ApplyMethod(square.scale, 1/1.2)) @@ -110,7 +111,10 @@ class Geometric2DSymmetries(Scene): self.wait() self.play(ApplyMethod(group.to_corner, UP)) - actions = map(MathTex, [r"1", r"r", r"r^2", r"r^3", r"r^4", r"1"]) + actions = map(MathTex, [ + r"\mathbb{1}", r"r", r"r^2", + r"r^3", r"r^4", r"\mathbb{1}"]) + action = next(actions, MathTex(r"r")) self.play(Create(figure)) @@ -128,7 +132,7 @@ class Geometric2DSymmetries(Scene): whole_group = MathTex( r"G = \langle r \rangle" - r"= \left\{1, r, r^2, r^3, r^4 \right\}") + 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)) @@ -136,7 +140,7 @@ class Geometric2DSymmetries(Scene): cyclic = MathTex( r"Z_n = \langle r \rangle" - r"= \left\{1, r, r^2, \dots, r^{n-1} \right\}") + 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) @@ -158,9 +162,9 @@ class Geometric2DSymmetries(Scene): # generator equation group = MathTex( r"G = \langle \sigma, r \,|\,", - r"\sigma^2 = 1,", - r"r^4 = 1,", - r"(\sigma r)^2 = 1 \rangle") + 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() @@ -168,7 +172,7 @@ class Geometric2DSymmetries(Scene): self.play(FadeIn(square)) axis = DashedLine(2 * LEFT, 2 * RIGHT) - sigma = MathTex(r"\sigma^2 = 1") + sigma = MathTex(r"\sigma^2 = \mathbb{1}") sigma.next_to(axis, RIGHT) self.play(Create(axis), Write(sigma)) self.play(ApplyMethod(square.flip, RIGHT)) @@ -177,7 +181,7 @@ class Geometric2DSymmetries(Scene): # rotations dot = Dot(UP + RIGHT) - rot = MathTex(r"r^4 = 1") + rot = MathTex(r"r^4 = \mathbb{1}") rot.next_to(square, DOWN * 3) figure = VGroup() @@ -190,7 +194,7 @@ class Geometric2DSymmetries(Scene): self.play(FadeOut(rot), Uncreate(dot)) # rotation and flip - action = MathTex(r"(\sigma r)^2 = 1") + action = MathTex(r"(\sigma r)^2 = \mathbb{1}") action.next_to(square, DOWN * 5) dot = Dot(UP + RIGHT) @@ -212,9 +216,9 @@ class Geometric2DSymmetries(Scene): # equation for the whole whole_group = MathTex( r"G &= \langle \sigma, r \,|\," - r"\sigma^2 = r^4 = (\sigma r)^2 = 1 \rangle \\" + r"\sigma^2 = r^4 = (\sigma r)^2 = \mathbb{1} \rangle \\" r"&= \left\{" - r"1, r, r^2, r^3, \sigma, \sigma r, \sigma r^2, \sigma r^3" + 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)) @@ -223,9 +227,9 @@ class Geometric2DSymmetries(Scene): dihedral = MathTex( r"D_n &= \langle \sigma, r \,|\," - r"\sigma^2 = r^n = (\sigma r)^2 = 1 \rangle \\" + r"\sigma^2 = r^n = (\sigma r)^2 = \mathbb{1} \rangle \\" r"&= \left\{" - r"1, r, r^2, \dots, \sigma, \sigma r, \sigma r^2, \dots" + 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") @@ -245,22 +249,60 @@ class Geometric3DSymmetries(ThreeDScene): def construct(self): self.symmetric() + + @staticmethod + def get_cube(): + verts = np.array(list(it.product(*3 * [[-1, 1]]))) + edges = [ + (v1, v2) + for v1, v2 in it.combinations(verts, 2) + if sum(v1 == v2) == 2 + ] + corner_dots = Group(*[ + Sphere().set_height(0.25).move_to(vert) + for vert in verts + ]) + corner_dots.set_color(GREY_B) + edge_rods = Group(*[ + Line3D(v1, v2) + for v1, v2 in edges + ]) + + faces = Cube(square_resolution=(10, 10)) + faces.set_height(2) + faces.set_color(BLUE_E, 0.3) + # faces.add_updater(lambda m: m.sort(lambda p: np.dot(p, [np.sign(self.euler_angles[0]) * 0.2, -1, 0.2]))) + + cube = Group(corner_dots, edge_rods, faces) + cube.corner_dots = corner_dots + cube.edge_rods = edge_rods + cube.faces = faces + return cube + def symmetric(self): self.renderer.camera.light_source.move_to(3*IN) # changes the source of the light - self.set_camera_orientation(phi=60 * DEGREES, theta=-20 * DEGREES) + self.set_camera_orientation(phi=60 * DEGREES, theta=5 * DEGREES) cube = Cube() - axes = ThreeDAxes() - - axis = np.array([2,2,2]) - line = DashedLine(-axis, axis) - - self.play(Create(axes), Create(cube)) - self.play(Create(line)) - - self.play(ApplyMethod(cube.rotate, PI, axis / abs(axis))) + self.play(GrowFromCenter(cube)) + + axes = list( + map(lambda v: v / np.linalg.norm(v), + map(np.array, [ + [0, 0, 1], + [0, 1, 1], + [1, 1, 1], + ]) + )) + angles = [ PI, PI, PI * 2/3 ] + lines = list(map(lambda x: Line(-2 * x, 2 * x), axes)) + + camera_thetas = list(map(lambda x: x * DEGREES, [10, 100, 110])) + for axis, line, angle, camera_angle in zip(axes, lines, angles, camera_thetas): + self.move_camera(theta=camera_angle) + self.play(Create(line)) + self.play(Rotate(cube, angle, axis=axis, run_time=3)) - self.begin_ambient_camera_rotation(rate=0.1) self.wait(7) -- cgit v1.2.1 From 89ff85cc982caac0a32c8f871da362c1b6970f61 Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Fri, 16 Apr 2021 03:56:47 +0200 Subject: Rewrite cyclic group algebraic symmetry video --- vorlesungen/punktgruppen/crystals.py | 165 +++++++++++++++++++++++++---------- 1 file changed, 118 insertions(+), 47 deletions(-) (limited to 'vorlesungen') diff --git a/vorlesungen/punktgruppen/crystals.py b/vorlesungen/punktgruppen/crystals.py index 894199d..dd55bbe 100644 --- a/vorlesungen/punktgruppen/crystals.py +++ b/vorlesungen/punktgruppen/crystals.py @@ -109,7 +109,7 @@ class Geometric2DSymmetries(Scene): group = MathTex(r"G = \langle r \rangle") self.play(Write(group), run_time = 2) self.wait() - self.play(ApplyMethod(group.to_corner, UP)) + self.play(ApplyMethod(group.to_edge, UP)) actions = map(MathTex, [ r"\mathbb{1}", r"r", r"r^2", @@ -168,7 +168,7 @@ class Geometric2DSymmetries(Scene): self.play(Write(group), run_time = 2) self.wait() - self.play(ApplyMethod(group.to_corner, UP)) + self.play(ApplyMethod(group.to_edge, UP)) self.play(FadeIn(square)) axis = DashedLine(2 * LEFT, 2 * RIGHT) @@ -319,66 +319,137 @@ class AlgebraicSymmetries(Scene): self.cyclic() def cyclic(self): - root_powers = MathTex( - r"\left( e^\frac{\pi i}{2} \right)^0 &= 1 \\", - r"\left( e^\frac{\pi i}{2} \right)^1 &= i \\", - r"\left( e^\frac{\pi i}{2} \right)^2 &= -1 \\", - r"\left( e^\frac{\pi i}{2} \right)^3 &= -i \\") - - root_more_powers = MathTex( - r"\left( e^\frac{\pi i}{2} \right)^4 &= 1 \\", - r"\left( e^\frac{\pi i}{2} \right)^5 &= i \\", - r"\left( e^\frac{\pi i}{2} \right)^6 &= -1 \\", - r"\left( e^\frac{\pi i}{2} \right)^7 &= -i \\") + # 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)) - root_powers.shift(LEFT * 2) - root_more_powers.shift(RIGHT * 2) + self.wait() + self.play(ApplyMethod(product.scale, 1/1.5)) - for line in root_powers: - self.play(Write(line)) + # gather in group + group = MathTex(r"G = \left\{ 1, i, -1, -i \right\}") + self.play(ReplacementTransform(product, group)) + self.wait() - for line in root_more_powers: - self.play(Write(line)) + # show Z4 + grouppow = MathTex( + r"G &= \left\{ 1, i, i^2, i^3 \right\} \\", + r"Z_4 &= \left\{ \mathbb{1}, r, r^2, r^3 \right\}") + self.play(ReplacementTransform(group, grouppow[0])) + self.wait() + self.play(Write(grouppow[1])) + self.wait() + self.play(ApplyMethod(grouppow.to_edge, UP)) + + # define morphisms + morphism = MathTex(r"\phi: Z_4 \to G \\") + morphism.shift(UP) + self.play(Write(morphism)) + + # 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, DOWN) + + self.play(Write(mappings)) self.wait() + self.play(FadeOutAndShift(mappings, DOWN)) + + # more general definition + homomorphism = MathTex( + r"\phi(r\circ \mathbb{1}) &= i\cdot 1 \\", + r"&= \phi(r)\cdot\phi(\mathbb{1})") + homomorphism.next_to(morphism, DOWN).align_to(morphism, LEFT) + for part in homomorphism: + self.play(Write(part)) + + hom_bracegrp = VGroup() + hom_bracegrp.add(morphism) + hom_bracegrp.add(homomorphism) + self.play( - ApplyMethod(root_powers.to_edge, LEFT), - FadeOutAndShift(root_more_powers, RIGHT)) - - groups = MathTex( - r"G &= \left\{ 1, i, -1, -i \right\} \\", - r"&= \left\{", - "1,", "i,", "i^2,", "i^3", - r"\right\} \\", - r"Z_4 &= \left\{", - "1,", "r,", "r^2,", "r^3" - r"\right\}") - groups.shift(UP) + ApplyMethod(grouppow.shift, 2.5 * LEFT), + ApplyMethod(hom_bracegrp.shift, 2.5 * LEFT)) - self.play(Write(groups[0])) - self.play(FadeOutAndShift(root_powers, LEFT)) - for part in groups[0:]: - self.play(Write(part)) - self.play(ApplyMethod(groups.to_corner, UP + LEFT)) + hom_brace = Brace(hom_bracegrp, direction=RIGHT) + hom_text = Tex("Homomorphismus").next_to(hom_brace.get_tip(), RIGHT) + + self.play(Create(hom_brace)) + self.play(Write(hom_text)) self.wait() - isomorphism = MathTex( - r"\varphi : G &\to Z_4 \\", - r"\mathrm{ker}(\varphi) &= \emptyset \\", - r"G &\cong Z_4") + self.play(FadeOut(hom_brace), FadeOut(hom_text)) - iso_it = iter(isomorphism) - self.play(Write(next(iso_it))) + # 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() + iso_bracegrp.add(hom_bracegrp) + iso_bracegrp.add(isomorphism) + + iso_brace = Brace(iso_bracegrp, RIGHT) + iso_text = Tex("Isomorphismus").next_to(iso_brace.get_tip(), RIGHT) + iso_text_short = MathTex("Z_4 \cong G").next_to(iso_brace.get_tip(), RIGHT) + + self.play(Create(iso_brace)) + self.play(Write(iso_text)) self.wait() - self.play(Write(next(iso_it))) + + self.play(ReplacementTransform(iso_text, iso_text_short)) self.wait() - # TODO: show in group + # create a group for the whole + morphgrp = VGroup() + morphgrp.add(iso_bracegrp) + morphgrp.add(iso_brace) + morphgrp.add(iso_text_short) + + self.play( + FadeOutAndShift(grouppow, UP), + FadeOutAndShift(morphgrp, DOWN)) + + # draw a complex plane + plane = ComplexPlane() + plane.axis_config["number_scale_val"] = 1 + self.play(Create(plane)) - self.play(Write(next(iso_it))) + roots = list(map(lambda p: Dot(p, fill_color=PINK), ( + [1, 0, 0], [0, 1, 0], [-1, 0, 0], [0, -1, 0] + ))) + + self.play( + *map(Create, roots), + *map(Write, plane.get_coordinate_labels(1, -1, 1j, -1j))) self.wait() - self.play(ApplyMethod(isomorphism.to_edge, UP)) + 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])) - self.wait(5) + 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) + + self.play(FadeIn(square), Create(arrow), Write(arrowtext)) + + for _ in range(4): + self.play(Rotate(square, PI/2)) + self.wait(.5) + self.play(FadeOut(square), FadeOut(arrow), *map(FadeOut, roots)) + self.play(Uncreate(plane)) -- cgit v1.2.1 From 7191f61813d079d543242b5160a011a18b2bcd7b Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Fri, 16 Apr 2021 14:24:37 +0200 Subject: Fix complex plane animation --- vorlesungen/punktgruppen/crystals.py | 81 ++++++++++++++++++++++-------------- 1 file changed, 49 insertions(+), 32 deletions(-) (limited to 'vorlesungen') diff --git a/vorlesungen/punktgruppen/crystals.py b/vorlesungen/punktgruppen/crystals.py index dd55bbe..76dee1f 100644 --- a/vorlesungen/punktgruppen/crystals.py +++ b/vorlesungen/punktgruppen/crystals.py @@ -66,9 +66,7 @@ class Geometric2DSymmetries(Scene): # show some rotations dot = Dot(UP + RIGHT) - figure = VGroup() - figure.add(square) - figure.add(dot) + figure = VGroup(square, dot) rot = MathTex(r"r") self.play(Write(rot), Create(dot)) @@ -184,9 +182,7 @@ class Geometric2DSymmetries(Scene): rot = MathTex(r"r^4 = \mathbb{1}") rot.next_to(square, DOWN * 3) - figure = VGroup() - figure.add(dot) - figure.add(square) + figure = VGroup(dot, square) self.play(Write(rot), Create(dot)) for i in range(4): @@ -201,9 +197,7 @@ class Geometric2DSymmetries(Scene): axis = DashedLine(2 * LEFT, 2 * RIGHT) self.play(Create(dot), Create(axis), Write(action)) - figure = VGroup() - figure.add(dot) - figure.add(square) + figure = VGroup(dot, square) for i in range(2): self.play(Rotate(figure, PI/2)) @@ -317,6 +311,7 @@ class AlgebraicSymmetries(Scene): self.wait() self.cyclic() + self.matrices() def cyclic(self): # show the i product @@ -374,9 +369,7 @@ class AlgebraicSymmetries(Scene): for part in homomorphism: self.play(Write(part)) - hom_bracegrp = VGroup() - hom_bracegrp.add(morphism) - hom_bracegrp.add(homomorphism) + hom_bracegrp = VGroup(morphism, homomorphism) self.play( ApplyMethod(grouppow.shift, 2.5 * LEFT), @@ -384,21 +377,21 @@ class AlgebraicSymmetries(Scene): hom_brace = Brace(hom_bracegrp, direction=RIGHT) hom_text = Tex("Homomorphismus").next_to(hom_brace.get_tip(), RIGHT) + hom_text_short = MathTex(r"G \simeq Z_4").next_to(hom_brace.get_tip(), RIGHT) self.play(Create(hom_brace)) self.play(Write(hom_text)) + self.play(ReplacementTransform(hom_text, hom_text_short)) self.wait() - self.play(FadeOut(hom_brace), FadeOut(hom_text)) + self.play(FadeOut(hom_brace), FadeOut(hom_text_short)) # 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() - iso_bracegrp.add(hom_bracegrp) - iso_bracegrp.add(isomorphism) + iso_bracegrp = VGroup(hom_bracegrp, isomorphism) iso_brace = Brace(iso_bracegrp, RIGHT) iso_text = Tex("Isomorphismus").next_to(iso_brace.get_tip(), RIGHT) @@ -412,44 +405,68 @@ class AlgebraicSymmetries(Scene): self.wait() # create a group for the whole - morphgrp = VGroup() - morphgrp.add(iso_bracegrp) - morphgrp.add(iso_brace) - morphgrp.add(iso_text_short) + morphgrp = VGroup(iso_bracegrp, iso_brace, iso_text_short) self.play( - FadeOutAndShift(grouppow, UP), - FadeOutAndShift(morphgrp, DOWN)) + ApplyMethod(grouppow.to_edge, LEFT), + ApplyMethod(morphgrp.to_edge, LEFT)) + # self.play( + # FadeOutAndShift(grouppow, UP), + # FadeOutAndShift(morphgrp, DOWN)) # draw a complex plane - plane = ComplexPlane() - plane.axis_config["number_scale_val"] = 1 - self.play(Create(plane)) + plane = ComplexPlane(x_min = -2, x_max = 3) + 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] ))) - self.play( - *map(Create, roots), - *map(Write, plane.get_coordinate_labels(1, -1, 1j, -1j))) - self.wait() - 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 = Group(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(FadeOut(square), FadeOut(arrow), *map(FadeOut, roots)) + 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: Z_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 \,? \\ S_n \cong \,? \\ A_n \cong \,?") + question.scale(1.5) + + self.play(Write(question)) + + self.wait(3) -- cgit v1.2.1 From 4c2a0d4d394dbb85222f480d271aa2171f0f201c Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Fri, 23 Apr 2021 20:18:45 +0200 Subject: Change brace animation --- vorlesungen/punktgruppen/crystals.py | 22 ++++++++++++++++------ vorlesungen/punktgruppen/script.pdf | Bin 25412 -> 25619 bytes vorlesungen/punktgruppen/script.tex | 6 +++++- 3 files changed, 21 insertions(+), 7 deletions(-) (limited to 'vorlesungen') diff --git a/vorlesungen/punktgruppen/crystals.py b/vorlesungen/punktgruppen/crystals.py index 76dee1f..136481b 100644 --- a/vorlesungen/punktgruppen/crystals.py +++ b/vorlesungen/punktgruppen/crystals.py @@ -377,14 +377,14 @@ class AlgebraicSymmetries(Scene): hom_brace = Brace(hom_bracegrp, direction=RIGHT) hom_text = Tex("Homomorphismus").next_to(hom_brace.get_tip(), RIGHT) - hom_text_short = MathTex(r"G \simeq Z_4").next_to(hom_brace.get_tip(), RIGHT) + hom_text_short = MathTex(r"\mathrm{Hom}(G, Z_4)").next_to(hom_brace.get_tip(), RIGHT) self.play(Create(hom_brace)) self.play(Write(hom_text)) self.play(ReplacementTransform(hom_text, hom_text_short)) self.wait() - self.play(FadeOut(hom_brace), FadeOut(hom_text_short)) + # self.play(FadeOut(hom_brace), FadeOut(hom_text_short)) # add the isomorphism part isomorphism = Tex(r"\(\phi\) ist bijektiv") @@ -397,8 +397,9 @@ class AlgebraicSymmetries(Scene): iso_text = Tex("Isomorphismus").next_to(iso_brace.get_tip(), RIGHT) iso_text_short = MathTex("Z_4 \cong G").next_to(iso_brace.get_tip(), RIGHT) - self.play(Create(iso_brace)) - self.play(Write(iso_text)) + self.play( + ReplacementTransform(hom_brace, iso_brace), + ReplacementTransform(hom_text_short, iso_text)) self.wait() self.play(ReplacementTransform(iso_text, iso_text_short)) @@ -464,9 +465,18 @@ class AlgebraicSymmetries(Scene): self.wait(3) def matrices(self): - question = MathTex(r"D_n \cong \,? \\ S_n \cong \,? \\ A_n \cong \,?") - question.scale(1.5) + 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/script.pdf b/vorlesungen/punktgruppen/script.pdf index 293b248..a701d6a 100644 Binary files a/vorlesungen/punktgruppen/script.pdf and b/vorlesungen/punktgruppen/script.pdf differ diff --git a/vorlesungen/punktgruppen/script.tex b/vorlesungen/punktgruppen/script.tex index 2a6d95c..fe095fb 100644 --- a/vorlesungen/punktgruppen/script.tex +++ b/vorlesungen/punktgruppen/script.tex @@ -3,7 +3,7 @@ \usepackage[cm]{manuscript} \usepackage{xcolor} -\newcommand{\scene}[1]{\noindent[ #1 ]\par} +\newcommand{\scene}[1]{\par\noindent[ #1 ]\par} \newenvironment{totranslate}{\color{blue!70!black}}{} \begin{document} @@ -56,6 +56,10 @@ We'll start with geometric symmetries as they are the simplest to grasp. \scene{Alternierende Gruppe} \section{Algebra} +\begin{totranslate} +Let's now move into something seemingly unrelated: \emph{algebra}. +\scene{Complex numbers and cyclic groups} +\end{totranslate} \section{Krystalle} -- cgit v1.2.1 From 4b3f4be3305d130c0435c269fd038eb049252f5d Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Wed, 28 Apr 2021 21:52:38 +0200 Subject: Create slides --- vorlesungen/punktgruppen/.gitignore | 1 + vorlesungen/punktgruppen/Makefile | 7 ++++- vorlesungen/punktgruppen/slides.pdf | Bin 0 -> 9740 bytes vorlesungen/punktgruppen/slides.tex | 61 ++++++++++++++++++++++++++++++++++++ 4 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 vorlesungen/punktgruppen/slides.pdf create mode 100644 vorlesungen/punktgruppen/slides.tex (limited to 'vorlesungen') diff --git a/vorlesungen/punktgruppen/.gitignore b/vorlesungen/punktgruppen/.gitignore index 068a456..632b499 100644 --- a/vorlesungen/punktgruppen/.gitignore +++ b/vorlesungen/punktgruppen/.gitignore @@ -5,4 +5,5 @@ build # files script.log +slides.log missfont.log diff --git a/vorlesungen/punktgruppen/Makefile b/vorlesungen/punktgruppen/Makefile index eb4eed6..c155b04 100644 --- a/vorlesungen/punktgruppen/Makefile +++ b/vorlesungen/punktgruppen/Makefile @@ -1,13 +1,18 @@ TEX=xelatex TEXARGS=--output-directory=build --halt-on-error -all: script.pdf media +all: slides.pdf script.pdf media .PHONY: clean clean: @rm -rfv build # @rm -rfv media +slides.pdf: slides.tex + mkdir -p build + $(TEX) $(TEXARGS) slides.tex + cp build/slides.pdf . + script.pdf: script.tex mkdir -p build $(TEX) $(TEXARGS) script.tex diff --git a/vorlesungen/punktgruppen/slides.pdf b/vorlesungen/punktgruppen/slides.pdf new file mode 100644 index 0000000..bfb36e9 Binary files /dev/null and b/vorlesungen/punktgruppen/slides.pdf differ diff --git a/vorlesungen/punktgruppen/slides.tex b/vorlesungen/punktgruppen/slides.tex new file mode 100644 index 0000000..5c6982c --- /dev/null +++ b/vorlesungen/punktgruppen/slides.tex @@ -0,0 +1,61 @@ +\documentclass[12pt, xcolor, aspectratio=169]{beamer} + + +% Theme +\beamertemplatenavigationsymbolsempty + +% set look +\usetheme{default} +\usecolortheme{fly} + +%% 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} + +% Metadata +\title{\LARGE \scshape Punktgruppen und Kristallen} +\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} +\begin{frame}{} +\titlepage +\end{frame} + +% \begin{frame}{} +% \tableofcontents +% \end{frame} + +\section{Einleitung} +\begin{frame}{Kristallen} +\[ + \psi +\] +\end{frame} + +\section{Geometrische Symmetrien} +\section{Algebraische Symmetrien} +\section{Kristallen} + +\end{document} -- cgit v1.2.1 From 152b7c463b1ae7cd7916dff075a11b306e5c22fc Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Sat, 1 May 2021 19:43:15 +0200 Subject: Add section title pages --- vorlesungen/punktgruppen/slides.pdf | Bin 9740 -> 12641 bytes vorlesungen/punktgruppen/slides.tex | 20 ++++++++++++++++++++ 2 files changed, 20 insertions(+) (limited to 'vorlesungen') diff --git a/vorlesungen/punktgruppen/slides.pdf b/vorlesungen/punktgruppen/slides.pdf index bfb36e9..02a3348 100644 Binary files a/vorlesungen/punktgruppen/slides.pdf and b/vorlesungen/punktgruppen/slides.pdf differ diff --git a/vorlesungen/punktgruppen/slides.tex b/vorlesungen/punktgruppen/slides.tex index 5c6982c..8394451 100644 --- a/vorlesungen/punktgruppen/slides.tex +++ b/vorlesungen/punktgruppen/slides.tex @@ -1,5 +1,8 @@ \documentclass[12pt, xcolor, aspectratio=169]{beamer} +% language +\usepackage{polyglossia} +\setmainlanguage{german} % Theme \beamertemplatenavigationsymbolsempty @@ -31,6 +34,15 @@ \setbeamercolor*{framesubtitle}{fg=white} +\setbeamertemplate{section page} +{ + \begin{center} + \Huge + \insertsection + \end{center} +} +\AtBeginSection{\frame{\sectionpage}} + % Metadata \title{\LARGE \scshape Punktgruppen und Kristallen} \author[N. Pross, T. T\"onz]{Naoki Pross, Tim T\"onz} @@ -55,7 +67,15 @@ \end{frame} \section{Geometrische Symmetrien} +%% Made in video + \section{Algebraische Symmetrien} +\begin{frame}{} + Hello +\end{frame} + \section{Kristallen} +\section{Anwendungen} + \end{document} -- cgit v1.2.1 From 6e507ac59576c7b7ac5f0c80eee4e3a36b599a7e Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Sat, 1 May 2021 21:09:26 +0200 Subject: Add slide for 4th roots of 1 --- vorlesungen/punktgruppen/slides.pdf | Bin 12641 -> 25325 bytes vorlesungen/punktgruppen/slides.tex | 73 ++++++++++++++++++++++++++++-------- 2 files changed, 58 insertions(+), 15 deletions(-) (limited to 'vorlesungen') diff --git a/vorlesungen/punktgruppen/slides.pdf b/vorlesungen/punktgruppen/slides.pdf index 02a3348..090a661 100644 Binary files a/vorlesungen/punktgruppen/slides.pdf and b/vorlesungen/punktgruppen/slides.pdf differ diff --git a/vorlesungen/punktgruppen/slides.tex b/vorlesungen/punktgruppen/slides.tex index 8394451..2199b26 100644 --- a/vorlesungen/punktgruppen/slides.tex +++ b/vorlesungen/punktgruppen/slides.tex @@ -10,6 +10,7 @@ % set look \usetheme{default} \usecolortheme{fly} +\usefonttheme{serif} %% Set font \usepackage[p,osf]{scholax} @@ -51,28 +52,70 @@ % Slides \begin{document} -\begin{frame}{} -\titlepage -\end{frame} - -% \begin{frame}{} -% \tableofcontents -% \end{frame} +\frame{\titlepage} +\frame{\tableofcontents} \section{Einleitung} -\begin{frame}{Kristallen} -\[ - \psi -\] -\end{frame} +\frame{ + \[ + \psi + \] +} \section{Geometrische Symmetrien} %% Made in video \section{Algebraische Symmetrien} -\begin{frame}{} - Hello -\end{frame} +\frame{ + \begin{columns} + \begin{column}{.3\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\} \\ + Z_4 &= \left\{ + \mathbb{1}, r, r^2, r^3 + \right\} + \end{align*} + \pause + % + \end{column} + \begin{column}{.5\textwidth} + % + Darstellung + \[ + \phi : Z_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 Z_4 \cong G\) + \end{column} + \end{columns} +} \section{Kristallen} -- cgit v1.2.1 From f5c4eff1d1d77b0d7a805e873ff24753e7fc84f2 Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Sat, 1 May 2021 21:43:50 +0200 Subject: Remove title from GeometriSymmetries scene and add circle group --- vorlesungen/punktgruppen/crystals.py | 44 +++++++++++++++++++++++++++++------- 1 file changed, 36 insertions(+), 8 deletions(-) (limited to 'vorlesungen') diff --git a/vorlesungen/punktgruppen/crystals.py b/vorlesungen/punktgruppen/crystals.py index 136481b..70e1f89 100644 --- a/vorlesungen/punktgruppen/crystals.py +++ b/vorlesungen/punktgruppen/crystals.py @@ -16,16 +16,10 @@ config.tex_template.add_to_preamble( class Geometric2DSymmetries(Scene): def construct(self): # title - title = Tex(r"Geometrische \\ Symmetrien") - title.scale(1.5) - self.play(Write(title)) - self.wait() - self.play(FadeOut(title)) - self.wait() - self.intro() self.cyclic() self.dihedral() + self.circle() def intro(self): # create square @@ -114,7 +108,7 @@ class Geometric2DSymmetries(Scene): r"r^3", r"r^4", r"\mathbb{1}"]) action = next(actions, MathTex(r"r")) - + self.play(Create(figure)) self.play(Write(action)) self.wait() @@ -238,6 +232,40 @@ class Geometric2DSymmetries(Scene): 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"S^1") + + # 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.play(Uncreate(figure)) + + nsphere = MathTex(r"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)) + class Geometric3DSymmetries(ThreeDScene): def construct(self): -- cgit v1.2.1 From 981b0e6a7e490d275e193a53b5ff224ec73e6b21 Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Sun, 2 May 2021 01:04:33 +0200 Subject: Create 3D scene for axial groups --- vorlesungen/punktgruppen/crystals.py | 171 +++++++++++++++++++++-------------- 1 file changed, 105 insertions(+), 66 deletions(-) (limited to 'vorlesungen') diff --git a/vorlesungen/punktgruppen/crystals.py b/vorlesungen/punktgruppen/crystals.py index 70e1f89..cbae3d0 100644 --- a/vorlesungen/punktgruppen/crystals.py +++ b/vorlesungen/punktgruppen/crystals.py @@ -15,7 +15,6 @@ config.tex_template.add_to_preamble( # scenes class Geometric2DSymmetries(Scene): def construct(self): - # title self.intro() self.cyclic() self.dihedral() @@ -269,75 +268,115 @@ class Geometric2DSymmetries(Scene): class Geometric3DSymmetries(ThreeDScene): def construct(self): - self.symmetric() - - - @staticmethod - def get_cube(): - verts = np.array(list(it.product(*3 * [[-1, 1]]))) - edges = [ - (v1, v2) - for v1, v2 in it.combinations(verts, 2) - if sum(v1 == v2) == 2 - ] - corner_dots = Group(*[ - Sphere().set_height(0.25).move_to(vert) - for vert in verts - ]) - corner_dots.set_color(GREY_B) - edge_rods = Group(*[ - Line3D(v1, v2) - for v1, v2 in edges - ]) - - faces = Cube(square_resolution=(10, 10)) - faces.set_height(2) - faces.set_color(BLUE_E, 0.3) - # faces.add_updater(lambda m: m.sort(lambda p: np.dot(p, [np.sign(self.euler_angles[0]) * 0.2, -1, 0.2]))) - - cube = Group(corner_dots, edge_rods, faces) - cube.corner_dots = corner_dots - cube.edge_rods = edge_rods - cube.faces = faces - return cube - - def symmetric(self): - self.renderer.camera.light_source.move_to(3*IN) # changes the source of the light - self.set_camera_orientation(phi=60 * DEGREES, theta=5 * DEGREES) - - cube = Cube() - self.play(GrowFromCenter(cube)) - - axes = list( - map(lambda v: v / np.linalg.norm(v), - map(np.array, [ - [0, 0, 1], - [0, 1, 1], - [1, 1, 1], - ]) - )) - angles = [ PI, PI, PI * 2/3 ] - lines = list(map(lambda x: Line(-2 * x, 2 * x), axes)) - - camera_thetas = list(map(lambda x: x * DEGREES, [10, 100, 110])) - for axis, line, angle, camera_angle in zip(axes, lines, angles, camera_thetas): - self.move_camera(theta=camera_angle) - self.play(Create(line)) - self.play(Rotate(cube, angle, axis=axis, run_time=3)) - - self.wait(7) + self.improper_rotation() + 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) -class AlgebraicSymmetries(Scene): - def construct(self): - # title - title = Tex(r"Algebraische \\ Symmetrien") - title.scale(1.5) - self.play(Write(title)) + # initial square + square = Square() + square.set_fill(PINK, opacity=.5) + + self.play(Create(square)) + self.wait() + + self.play(Rotate(square, PI/2)) + self.wait() + + self.move_camera(phi= 75 * DEGREES, theta = -80 * DEGREES) + + # 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)) + + axis = Line3D(start=[0,0,-2.5], end=[0,0,2.5]) + + axis_name = MathTex(r"r \in Z_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() + + cyclic_sphere = VGroup(*cyclic_slices) + self.play(Rotate(cyclic_sphere, PI/2)) self.wait() - self.play(FadeOut(title)) + + # 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.play(Rotate(square, PI/2)) + self.play(Rotate(square, PI, RIGHT)) + + self.play(Rotate(square, PI/2)) + self.play(Rotate(square, PI, RIGHT)) + + 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)) + + self.play(Rotate(dihedral_sphere, PI/2)) + self.play(Rotate(dihedral_sphere, PI, RIGHT)) + + self.play(Rotate(dihedral_sphere, PI/2)) + self.play(Rotate(dihedral_sphere, PI, RIGHT)) + + self.wait(5) + +class AlgebraicSymmetries(Scene): + def construct(self): self.cyclic() self.matrices() @@ -349,7 +388,7 @@ class AlgebraicSymmetries(Scene): r"-1 \cdot i &= -i \\", r"-i \cdot i &= 1") product.scale(1.5) - + for part in product: self.play(Write(part)) -- cgit v1.2.1 From 6eed506199b5ff21b58af9f8db6477d5af56aa0b Mon Sep 17 00:00:00 2001 From: tim30b Date: Mon, 3 May 2021 18:45:24 +0200 Subject: Write Intro --- vorlesungen/punktgruppen/script.pdf | Bin 25619 -> 31145 bytes vorlesungen/punktgruppen/script.tex | 12 +++++++++++- vorlesungen/punktgruppen/slides.pdf | Bin 25325 -> 25333 bytes vorlesungen/punktgruppen/slides.tex | 4 ++-- 4 files changed, 13 insertions(+), 3 deletions(-) (limited to 'vorlesungen') diff --git a/vorlesungen/punktgruppen/script.pdf b/vorlesungen/punktgruppen/script.pdf index a701d6a..127d877 100644 Binary files a/vorlesungen/punktgruppen/script.pdf and b/vorlesungen/punktgruppen/script.pdf differ diff --git a/vorlesungen/punktgruppen/script.tex b/vorlesungen/punktgruppen/script.tex index fe095fb..c4c4e94 100644 --- a/vorlesungen/punktgruppen/script.tex +++ b/vorlesungen/punktgruppen/script.tex @@ -7,8 +7,18 @@ \newenvironment{totranslate}{\color{blue!70!black}}{} \begin{document} +\section{hello} +(TT) Willkommen zu unserer Präsentation über Punktgruppen und deren Anwendung in der Kristallographie. +Ich bin Tim Tönz habe vor dem Studium die Lehre als Elektroinstallateur abgeschlossen und studiere jetzt Elektrotechnik im Vierten Semester mit Herrn Naoki Pross. +(NP)Das bin ich\ldots \ldots Nun zum Inhalt + +\section{Introtim} +Wir möchten Euch zeigen, was eine Punktgruppe ausmacht, an bespielen zeigen, wie sie im 2D und 3D Raum aussehen kann und Zusammenhänge zu Algebraischen Symmetrien erläutern. +Mit dem Wissen über Punktgruppen können wir uns versuchen der Praxis anzunähern, in unserem Fall dem Kristall und seiner Strukturellen Eigenschaften. +Als Abschluss Zeigen wir euch konkret wieso ein inversionszentrum ein Piezoelektrisches verhalten in einem Kristall ausschliesst. + +\section{intro} -\section{Intro} \section{Geometrie} \begin{totranslate} diff --git a/vorlesungen/punktgruppen/slides.pdf b/vorlesungen/punktgruppen/slides.pdf index 090a661..8a2ee54 100644 Binary files a/vorlesungen/punktgruppen/slides.pdf and b/vorlesungen/punktgruppen/slides.pdf differ diff --git a/vorlesungen/punktgruppen/slides.tex b/vorlesungen/punktgruppen/slides.tex index 2199b26..1c1b1d8 100644 --- a/vorlesungen/punktgruppen/slides.tex +++ b/vorlesungen/punktgruppen/slides.tex @@ -45,7 +45,7 @@ \AtBeginSection{\frame{\sectionpage}} % Metadata -\title{\LARGE \scshape Punktgruppen und Kristallen} +\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} @@ -117,7 +117,7 @@ \end{columns} } -\section{Kristallen} +\section{Kristalle} \section{Anwendungen} -- cgit v1.2.1 From 1d617927bf8f83d633e61b064e7433d3a5b36f51 Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Mon, 3 May 2021 20:10:39 +0200 Subject: Fix makefile --- vorlesungen/punktgruppen/Makefile | 12 ++++-------- vorlesungen/punktgruppen/script.pdf | Bin 31145 -> 31136 bytes vorlesungen/punktgruppen/slides.pdf | Bin 25333 -> 25800 bytes 3 files changed, 4 insertions(+), 8 deletions(-) (limited to 'vorlesungen') diff --git a/vorlesungen/punktgruppen/Makefile b/vorlesungen/punktgruppen/Makefile index c155b04..d685652 100644 --- a/vorlesungen/punktgruppen/Makefile +++ b/vorlesungen/punktgruppen/Makefile @@ -8,15 +8,11 @@ clean: @rm -rfv build # @rm -rfv media -slides.pdf: slides.tex +%.pdf: %.tex mkdir -p build - $(TEX) $(TEXARGS) slides.tex - cp build/slides.pdf . - -script.pdf: script.tex - mkdir -p build - $(TEX) $(TEXARGS) script.tex - cp build/script.pdf . + $(TEX) $(TEXARGS) $< + $(TEX) $(TEXARGS) $< + cp build/$@ . media: poetry install diff --git a/vorlesungen/punktgruppen/script.pdf b/vorlesungen/punktgruppen/script.pdf index 127d877..6b17967 100644 Binary files a/vorlesungen/punktgruppen/script.pdf and b/vorlesungen/punktgruppen/script.pdf differ diff --git a/vorlesungen/punktgruppen/slides.pdf b/vorlesungen/punktgruppen/slides.pdf index 8a2ee54..66c44e8 100644 Binary files a/vorlesungen/punktgruppen/slides.pdf and b/vorlesungen/punktgruppen/slides.pdf differ -- cgit v1.2.1 From 28d897afbf98b5988a25a9067984e4cc165e0fcc Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Mon, 3 May 2021 23:09:27 +0200 Subject: Use schoenflies notation --- vorlesungen/punktgruppen/crystals.py | 72 +++++++++++++++++++----------------- 1 file changed, 38 insertions(+), 34 deletions(-) (limited to 'vorlesungen') diff --git a/vorlesungen/punktgruppen/crystals.py b/vorlesungen/punktgruppen/crystals.py index cbae3d0..7eef9b8 100644 --- a/vorlesungen/punktgruppen/crystals.py +++ b/vorlesungen/punktgruppen/crystals.py @@ -130,7 +130,7 @@ class Geometric2DSymmetries(Scene): self.wait() cyclic = MathTex( - r"Z_n = \langle r \rangle" + r"C_n = \langle r \rangle" r"= \left\{\mathbb{1}, r, r^2, \dots, r^{n-1} \right\}") cyclic_title = Tex(r"Zyklische Gruppe") @@ -237,7 +237,7 @@ class Geometric2DSymmetries(Scene): dot.move_to(2 * RIGHT) figure = VGroup(circle, dot) - group_name = MathTex(r"S^1") + group_name = MathTex(r"C_\infty") # create circle self.play(Create(circle)) @@ -252,7 +252,7 @@ class Geometric2DSymmetries(Scene): self.play(Rotate(figure, PI/4), Write(group_name)) self.play(Uncreate(figure)) - nsphere = MathTex(r"S^1 = \left\{z \in \mathbb{C} : |z| = 1\right\}") + 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) @@ -269,6 +269,7 @@ class Geometric2DSymmetries(Scene): class Geometric3DSymmetries(ThreeDScene): def construct(self): self.improper_rotation() + self.icosahedron() def improper_rotation(self): # changes the source of the light and camera @@ -279,11 +280,12 @@ class Geometric3DSymmetries(ThreeDScene): square = Square() square.set_fill(PINK, opacity=.5) - self.play(Create(square)) - self.wait() + self.play(SpinInFromNothing(square)) + self.wait(2) - self.play(Rotate(square, PI/2)) - self.wait() + for i in range(4): + self.play(Rotate(square, PI/2)) + self.wait(.5) self.move_camera(phi= 75 * DEGREES, theta = -80 * DEGREES) @@ -306,7 +308,7 @@ class Geometric3DSymmetries(ThreeDScene): axis = Line3D(start=[0,0,-2.5], end=[0,0,2.5]) - axis_name = MathTex(r"r \in Z_4") + 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) @@ -316,8 +318,9 @@ class Geometric3DSymmetries(ThreeDScene): self.wait() cyclic_sphere = VGroup(*cyclic_slices) - self.play(Rotate(cyclic_sphere, PI/2)) - self.wait() + for i in range(4): + self.play(Rotate(cyclic_sphere, PI/2)) + self.wait() # reflection plane self.play(FadeOut(cyclic_sphere), FadeIn(square)) @@ -367,18 +370,21 @@ class Geometric3DSymmetries(ThreeDScene): self.play(FadeOut(square), Create(dihedral_sphere)) - self.play(Rotate(dihedral_sphere, PI/2)) - self.play(Rotate(dihedral_sphere, PI, RIGHT)) - - self.play(Rotate(dihedral_sphere, PI/2)) - self.play(Rotate(dihedral_sphere, PI, RIGHT)) + for i in range(2): + self.play(Rotate(dihedral_sphere, PI/2)) + self.play(Rotate(dihedral_sphere, PI, RIGHT)) + self.wait() self.wait(5) + def icosahedron(self): + pass + + class AlgebraicSymmetries(Scene): def construct(self): self.cyclic() - self.matrices() + # self.matrices() def cyclic(self): # show the i product @@ -391,30 +397,31 @@ class AlgebraicSymmetries(Scene): for part in product: self.play(Write(part)) + self.wait() - 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() + self.wait(2) # show Z4 grouppow = MathTex( r"G &= \left\{ 1, i, i^2, i^3 \right\} \\", - r"Z_4 &= \left\{ \mathbb{1}, r, r^2, r^3 \right\}") + r"C_4 &= \left\{ \mathbb{1}, r, r^2, r^3 \right\}") self.play(ReplacementTransform(group, grouppow[0])) - self.wait() + self.wait(2) self.play(Write(grouppow[1])) self.wait() self.play(ApplyMethod(grouppow.to_edge, UP)) # define morphisms - morphism = MathTex(r"\phi: Z_4 \to G \\") + morphism = MathTex(r"\phi: C_4 \to G \\") morphism.shift(UP) self.play(Write(morphism)) + self.wait() # show an example mappings = MathTex( @@ -425,34 +432,34 @@ class AlgebraicSymmetries(Scene): mappings.next_to(morphism, DOWN) self.play(Write(mappings)) - self.wait() + self.wait(3) self.play(FadeOutAndShift(mappings, DOWN)) # more general definition homomorphism = MathTex( - r"\phi(r\circ \mathbb{1}) &= i\cdot 1 \\", - r"&= \phi(r)\cdot\phi(\mathbb{1})") + 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, 2.5 * LEFT), - ApplyMethod(hom_bracegrp.shift, 2.5 * LEFT)) + 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}(G, Z_4)").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() - # self.play(FadeOut(hom_brace), FadeOut(hom_text_short)) - # add the isomorphism part isomorphism = Tex(r"\(\phi\) ist bijektiv") isomorphism.next_to(homomorphism, DOWN).align_to(homomorphism, LEFT) @@ -462,7 +469,7 @@ class AlgebraicSymmetries(Scene): iso_brace = Brace(iso_bracegrp, RIGHT) iso_text = Tex("Isomorphismus").next_to(iso_brace.get_tip(), RIGHT) - iso_text_short = MathTex("Z_4 \cong G").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), @@ -478,9 +485,6 @@ class AlgebraicSymmetries(Scene): self.play( ApplyMethod(grouppow.to_edge, LEFT), ApplyMethod(morphgrp.to_edge, LEFT)) - # self.play( - # FadeOutAndShift(grouppow, UP), - # FadeOutAndShift(morphgrp, DOWN)) # draw a complex plane plane = ComplexPlane(x_min = -2, x_max = 3) @@ -523,7 +527,7 @@ class AlgebraicSymmetries(Scene): FadeOutAndShift(morphgrp, RIGHT)) modulo = MathTex( - r"\phi: Z_4 &\to (\mathbb{Z}/4\mathbb{Z}, +) \\" + 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) -- cgit v1.2.1 From 2de3a8ffcfb661abfde05cf3611ad08d5a1160fc Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Tue, 4 May 2021 20:08:33 +0200 Subject: Create slides for applications --- vorlesungen/punktgruppen/slides.pdf | Bin 25800 -> 32512 bytes vorlesungen/punktgruppen/slides.tex | 202 ++++++++++++++++++++++++++++-------- 2 files changed, 160 insertions(+), 42 deletions(-) (limited to 'vorlesungen') diff --git a/vorlesungen/punktgruppen/slides.pdf b/vorlesungen/punktgruppen/slides.pdf index 66c44e8..d732296 100644 Binary files a/vorlesungen/punktgruppen/slides.pdf and b/vorlesungen/punktgruppen/slides.pdf differ diff --git a/vorlesungen/punktgruppen/slides.tex b/vorlesungen/punktgruppen/slides.tex index 1c1b1d8..380dcec 100644 --- a/vorlesungen/punktgruppen/slides.tex +++ b/vorlesungen/punktgruppen/slides.tex @@ -4,6 +4,10 @@ \usepackage{polyglossia} \setmainlanguage{german} +% pretty drawings +\usepackage{tikz} +\usetikzlibrary{positioning} + % Theme \beamertemplatenavigationsymbolsempty @@ -44,6 +48,9 @@ } \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} @@ -66,59 +73,170 @@ %% Made in video \section{Algebraische Symmetrien} +%% Made in video + +\section{Kristalle} + +\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 Punktgruppe}; \\ + \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 (6,0) {Mit und Ohne\\ Symmetriezentrum}; + \node[below = of title] {Polarisation Feld \(\vec{E}_p\)}; + + \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} + + \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} + + \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); + \draw[gray, dashed] (C2) to (C4) to (C6) to (C2); + \end{scope} + + \begin{scope}[xshift=6cm, 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[blue!50, right = of E] {\(-\)}; + \node[red!50, left = of E] {\(+\)}; + \end{scope} + \end{scope} + + \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); + + \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} + \end{scope} + \end{tikzpicture} +\end{frame} + \frame{ - \begin{columns} - \begin{column}{.3\textwidth} - Produkt mit \(i\) + \begin{columns}[T] + \begin{column}{.5\textwidth} + Symmetriegruppe und Darstellung \begin{align*} - 1 \cdot i &= i \\ - i \cdot i &= -1 \\ - -1 \cdot i &= -i \\ - -i \cdot i &= 1 + G &= \left\{\mathbb{1}, r, \sigma, \dots \right\} \\ + &\Phi : G \to O(n) \end{align*} - \pause - % - Gruppe \begin{align*} - G &= \left\{ - 1, i, -1, -i - \right\} \\ - &= \left\{ - 1, i, i^2, i^3 - \right\} \\ - Z_4 &= \left\{ - \mathbb{1}, r, r^2, r^3 - \right\} + U_\lambda &= \left\{ v : \Phi v = \lambda v \right\} \\ + &= \mathrm{null}\left(\Phi - \lambda I\right) \end{align*} - \pause - % + Helmholtz Wellengleichung + \[ + \nabla^2 \vec{E} = \ten{\varepsilon}\mu + \frac{\partial^2}{\partial t^2} \vec{E} + \] \end{column} \begin{column}{.5\textwidth} - % - Darstellung + Ebene Welle \[ - \phi : Z_4 \to G + \vec{E} = \vec{E}_0 \exp\left[i + \left(\vec{k}\cdot\vec{r} - \omega t \right)\right] + \] + Anisotropisch Dielektrikum + \[ + \ten{R}\ten{\varepsilon}\vec{E} = \frac{\omega^2}{\mu k^2} \vec{E} + \] + \[ + \vec{E} \in U_\lambda \implies (\ten{R}\ten{\varepsilon}) \vec{E} = \lambda \vec{E} + \] + \"Ahenlich auch in der Mechanik + \[ + \vec{F} = \kappa \vec{x} \quad \text{(Hooke)} \] - \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 Z_4 \cong G\) \end{column} \end{columns} } -\section{Kristalle} - -\section{Anwendungen} - \end{document} -- cgit v1.2.1 From 5d2f685df7b2d7691625937609cf92be9fc8c9da Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Tue, 4 May 2021 20:36:41 +0200 Subject: Create intro slide --- vorlesungen/punktgruppen/slides.pdf | Bin 32512 -> 36038 bytes vorlesungen/punktgruppen/slides.tex | 79 +++++++++++++++++++++++++++++++++--- 2 files changed, 73 insertions(+), 6 deletions(-) (limited to 'vorlesungen') diff --git a/vorlesungen/punktgruppen/slides.pdf b/vorlesungen/punktgruppen/slides.pdf index d732296..bd7afc9 100644 Binary files a/vorlesungen/punktgruppen/slides.pdf and b/vorlesungen/punktgruppen/slides.pdf differ diff --git a/vorlesungen/punktgruppen/slides.tex b/vorlesungen/punktgruppen/slides.tex index 380dcec..25761c0 100644 --- a/vorlesungen/punktgruppen/slides.tex +++ b/vorlesungen/punktgruppen/slides.tex @@ -7,6 +7,7 @@ % pretty drawings \usepackage{tikz} \usetikzlibrary{positioning} +\usetikzlibrary{arrows.meta} % Theme \beamertemplatenavigationsymbolsempty @@ -64,17 +65,82 @@ \section{Einleitung} \frame{ - \[ - \psi - \] + \begin{itemize} + \item Was heisst \emph{Symmetrie} in der Mathematik? + \item Wie kann ein Kristall modelliert werden? + \item Aus der Physik: Piezoelektrizit\"at + \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 = -80, in = 80] 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 = -80, in = 80] node[midway, right] {\(U \neq 0\)} (n); + \end{scope} + \end{tikzpicture} + \end{center} } -\section{Geometrische Symmetrien} +\section{2D Symmetrien} %% Made in video \section{Algebraische Symmetrien} %% Made in video +\section{3D Symmetrien} +%% Made in video + +\section{Matrizen} + \section{Kristalle} \section{Anwendungen} @@ -201,6 +267,7 @@ \end{frame} \frame{ + \frametitle{Licht in Kristallen} \begin{columns}[T] \begin{column}{.5\textwidth} Symmetriegruppe und Darstellung @@ -226,10 +293,10 @@ \] Anisotropisch Dielektrikum \[ - \ten{R}\ten{\varepsilon}\vec{E} = \frac{\omega^2}{\mu k^2} \vec{E} + (\ten{K}\ten{\varepsilon})\vec{E} = \frac{\omega^2}{\mu k^2} \vec{E} \] \[ - \vec{E} \in U_\lambda \implies (\ten{R}\ten{\varepsilon}) \vec{E} = \lambda \vec{E} + \vec{E} \in U_\lambda \implies (\ten{K}\ten{\varepsilon}) \vec{E} = \lambda \vec{E} \] \"Ahenlich auch in der Mechanik \[ -- cgit v1.2.1 From 71aa1f502c62c877df738c496199413b631e7606 Mon Sep 17 00:00:00 2001 From: tim30b Date: Wed, 5 May 2021 13:01:22 +0200 Subject: write intro and matrizen --- vorlesungen/punktgruppen/script.tex | 49 ++++++++++++++++++++++++++++--------- 1 file changed, 37 insertions(+), 12 deletions(-) (limited to 'vorlesungen') diff --git a/vorlesungen/punktgruppen/script.tex b/vorlesungen/punktgruppen/script.tex index c4c4e94..0ea0aed 100644 --- a/vorlesungen/punktgruppen/script.tex +++ b/vorlesungen/punktgruppen/script.tex @@ -7,19 +7,25 @@ \newenvironment{totranslate}{\color{blue!70!black}}{} \begin{document} -\section{hello} -(TT) Willkommen zu unserer Präsentation über Punktgruppen und deren Anwendung in der Kristallographie. -Ich bin Tim Tönz habe vor dem Studium die Lehre als Elektroinstallateur abgeschlossen und studiere jetzt Elektrotechnik im Vierten Semester mit Herrn Naoki Pross. -(NP)Das bin ich\ldots \ldots Nun zum Inhalt - -\section{Introtim} -Wir möchten Euch zeigen, was eine Punktgruppe ausmacht, an bespielen zeigen, wie sie im 2D und 3D Raum aussehen kann und Zusammenhänge zu Algebraischen Symmetrien erläutern. -Mit dem Wissen über Punktgruppen können wir uns versuchen der Praxis anzunähern, in unserem Fall dem Kristall und seiner Strukturellen Eigenschaften. -Als Abschluss Zeigen wir euch konkret wieso ein inversionszentrum ein Piezoelektrisches verhalten in einem Kristall ausschliesst. +\section{das Sind wir} + (TT) Willkommen zu unserer Präsentation über Punktgruppen und deren Anwendung in der Kristallographie. + Ich bin Tim Tönz habe vor dem Studium die Lehre als Elektroinstallateur abgeschlossen und studiere jetzt Elektrotechnik im Vierten Semester mit Herrn Naoki Pross. + (NP)Das bin ich \ldots Nun zum Inhalt + +\section{Ablauf} + Wir möchten Euch zeigen, was eine Punktgruppe ausmacht, Konkret an Bespielen in 2D zeigen mit Gemainsamkeiten zu Algebraischen Symmetrien. + Da wir Menschen jedoch 3 Räumliche Dimensionen Wahrnehmen möchten wir euch die 3D Symetrien natürlcih nicht vorenthalten. + Um dem Thema des Mathematikseminars gerecht zu werden, Werden wir die einfache Verbindung zwischen Matrizen und Punktsymetrien zeigen. + Dammit die Praxis nicht ganz vergessen geht, Kristalle Mathematisch beschreiben und dessen Limitationen in hinsicht Symmetrien. + Als Abschluss Zeigen wir euch einen zusammenhan zwischen Piezoelektrizität und Symmetrien. \section{intro} - - + Ich hoffe wir konnten schon mit der Einleitung ein wenig Neugirde wecken. + fals dies noch nicht der Fall ist, sind hier noch die wichtigsten fragen, welche wir euch beantworten wollen, oder zumindest überzeugen, wieso dies spannende Fragen sind. + Als erstes, was eine Symetrie ist oder in unserem Fall eine Punktsymetrie. + Was macht ein Kristall aus, also wie kann man seine Wichtigsten eigenschaften mathematisch beschreiben. + Als letztes noch zu der Piezoelektrizität, welche ein Effekt beschreibt, dass bestimmte Krisstalle eine elektrische Spannung erzeugen, wenn sie unter mechanischen Druck gesetzt werden. + welche kristalle diese fähigkeit haben, hat ganz konkret mit ihrer Symmetrie zu tun. \section{Geometrie} \begin{totranslate} We'll start with geometric symmetries as they are the simplest to grasp. @@ -71,7 +77,26 @@ Let's now move into something seemingly unrelated: \emph{algebra}. \scene{Complex numbers and cyclic groups} \end{totranslate} -\section{Krystalle} +\scene{Matrizen} + Das man mit matrizen so einiges darstellen kann ist keine neuigkeit mehr nach einem halben Semester Matheseminar. + Also überrascht es wohl auch keinen, das mann alle punktsymetrischen Operationen auch mit Matrizen Formulieren kann. + (Beispiel zu Rotation mit video) + Für die Spiegelung wie auch eine Punkt inversion habt ihr dank dem matheseminar bestmmt schon eine Idee wie diese Operationen als Matrizen aussehen. + Ich weis nicht obe der Tipp etwas nützt, aber ih müsst nur in der Gruppe O(3) suchen. + Was auch sinn macht, denn die Gruppe O(3) zeichnet sich aus weil ihre Matrizen distanzen konstant hallten wie auch einen fixpunkt haben was sehr erwünscht ist, wenn man Punktsymmetrien beschreiben will. + + + +\scene{Krystalle} + Jenen welchen die Kristalle bis jetzt ein wenig zu kurz gekommen sind, Freuen sich hoffentlich zurecht an dieser Folie. + Es geht ab jetzt nähmlich um Kristalle. + Bevor wir mit ihnen arbeiten könne sollten wir jedoch klähren, was ein Kristall ist. + Per definition aus eienm Anerkanten Theoriebuch von XXXXXXXXXX Zitat:"YYYYYYYYYYYYYYY" + Was so viel heist wie, ein Idealer Kristall ist der schlimmste Ort um sich zu verlaufen. + Macht man nähmlich einen Schritt in genau in das nächste lattice feld hat siet der kristall wieser genau gleich aus. + Als Orentierungshilfe ist diese eigenschaft ein grosser Nachteil nicht jedoch wenn man versucht alle möglichen Symmetrien in einem Kristall zu finden. + Denn die Lattice Strucktur schränkt die unendlichen möglichen Punktsymmetrien im 3D Raum beträchtlich ein. + Was im Englischen bekannt is unter dem Crystallographic Restrictiontheorem. \end{document} % vim:et ts=2 sw=2: -- cgit v1.2.1 From 714f0685c47dfa46775859024936b22f610619c9 Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Wed, 5 May 2021 13:03:09 +0200 Subject: Create crystal slides --- vorlesungen/punktgruppen/slides.pdf | Bin 36038 -> 50470 bytes vorlesungen/punktgruppen/slides.tex | 115 +++++++++++++++++++++++++++++++++++- 2 files changed, 112 insertions(+), 3 deletions(-) (limited to 'vorlesungen') diff --git a/vorlesungen/punktgruppen/slides.pdf b/vorlesungen/punktgruppen/slides.pdf index bd7afc9..0851fd8 100644 Binary files a/vorlesungen/punktgruppen/slides.pdf and b/vorlesungen/punktgruppen/slides.pdf differ diff --git a/vorlesungen/punktgruppen/slides.tex b/vorlesungen/punktgruppen/slides.tex index 25761c0..e800a87 100644 --- a/vorlesungen/punktgruppen/slides.tex +++ b/vorlesungen/punktgruppen/slides.tex @@ -8,6 +8,7 @@ \usepackage{tikz} \usetikzlibrary{positioning} \usetikzlibrary{arrows.meta} +\usetikzlibrary{calc} % Theme \beamertemplatenavigationsymbolsempty @@ -95,7 +96,7 @@ \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 = -80, in = 80] node[midway, right] {\(U = 0\)} (n); + \draw[white, thick, ->] (p) to[out = -70, in = 70] node[midway, right] {\(U = 0\)} (n); \end{scope} \begin{scope}[ node distance = 0cm, @@ -124,7 +125,7 @@ \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 = -80, in = 80] node[midway, right] {\(U \neq 0\)} (n); + \draw[white, thick, ->] (p) to[out = -70, in = 70] node[midway, right] {\(U \neq 0\)} (n); \end{scope} \end{tikzpicture} \end{center} @@ -142,6 +143,114 @@ \section{Matrizen} \section{Kristalle} +\begin{frame}[fragile]{} + \begin{columns}[T] + \begin{column}{.5\textwidth} + Kristallgitter: + \(n_i \in \mathbb{Z}\), + \(\vec{a}_i \in \mathbb{R}^3\) + \[ + \vec{r} = n_1 \vec{a}_1 + n_2 \vec{a}_2 + n_3 \vec{a}_3 + \] + \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 (-1,-1) rectangle (4,3); + \foreach \y in {-5,-4,...,5} { + \foreach \x in {-5,-4,...,5} { + \node[dot, xshift=3mm*\y] (N\x\y) at (\x, \y) {}; + } + } + \end{scope} + + \draw[white, thick] (-1, -1) rectangle (4,3); + + \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} + Invariant (symmetrisch) unten Translation + \[ + Q_i(\vec{r}) = \vec{r} + \vec{a}_i + \] + \end{column} + \begin{column}{.5\textwidth} + 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, + }, + ] + + \node[dot] (A1) at (0,0) {}; + \node[below left] at (A1) {\(A\)}; + + \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); + + \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); + + + \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); + + \draw[yellow!80!background, thick, ->] (B1) to node[above, midway] {\(\vec{Q}'\)} (B2); + + \draw[gray, dashed, thick] (A1) to (A1 |- B1) node (X) {}; + \draw[gray, dashed, thick] (A2) to (A2 |- B2); + + \node[above left, xshift=-2mm] at (X) {\(x\)}; + \end{tikzpicture} + \end{center} + Sei \(q = |\vec{Q}|\), \(\alpha = 2\pi/n\) und \(n \in \mathbb{N}\) + \begin{align*} + q' = n q &= q + 2x \\ + nq &= q + 2q\sin(\alpha - \pi/2) \\ + n &= 1 - 2\cos\alpha + \end{align*} + \end{column} + \end{columns} +\end{frame} + +\frame{ + \begin{columns}[T] + \begin{column}{.5\textwidth} + Somit muss + \[ + \alpha = \cos^{-1}\left(\frac{m-1}{2}\right) + \] + \begin{gather*} + \alpha \in \left\{ 0, 60^\circ, 90^\circ, 120^\circ, 180^\circ \right\} + \end{gather*} + \end{column} + \begin{column}{.5\textwidth} + \end{column} + \end{columns} +} \section{Anwendungen} \begin{frame}[fragile]{} @@ -154,7 +263,7 @@ ] \matrix [nodes = {box, align = center}, column sep = 1cm, row sep = 1.5cm] { - & \node (A) {32 Punktgruppe}; \\ + & \node (A) {32 Punktgruppen}; \\ \node (B) {11 Mit\\ Inversionszentrum}; & \node (C) {21 Ohne\\ Inversionszentrum}; \\ & \node[fill=red!20!background] (D) {20 Piezoelektrisch}; & \node (E) {1 Nicht\\ piezoelektrisch}; \\ }; -- cgit v1.2.1 From cbcb1b7f273875a0faf6ffa3d4daf7de7d6e0490 Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Wed, 5 May 2021 14:57:07 +0200 Subject: Add slides for matrices --- vorlesungen/punktgruppen/slides.pdf | Bin 50470 -> 52627 bytes vorlesungen/punktgruppen/slides.tex | 55 ++++++++++++++++++++++++++++++------ 2 files changed, 47 insertions(+), 8 deletions(-) (limited to 'vorlesungen') diff --git a/vorlesungen/punktgruppen/slides.pdf b/vorlesungen/punktgruppen/slides.pdf index 0851fd8..199498c 100644 Binary files a/vorlesungen/punktgruppen/slides.pdf and b/vorlesungen/punktgruppen/slides.pdf differ diff --git a/vorlesungen/punktgruppen/slides.tex b/vorlesungen/punktgruppen/slides.tex index e800a87..54798f1 100644 --- a/vorlesungen/punktgruppen/slides.tex +++ b/vorlesungen/punktgruppen/slides.tex @@ -141,6 +141,44 @@ %% Made in video \section{Matrizen} +\frame{ + \begin{columns}[T] + \begin{column}{.5\textwidth} + Symmetriegruppe + \[ + G = \left\{\mathbb{1}, r, \sigma, \dots \right\} + \] + Matrixdarstellung + \begin{align*} + \Phi : G &\to O(3) \\ + g &\mapsto \Phi_g + \end{align*} + Orthogonale Gruppe + \[ + O(n) = \left\{ Q \in \mathrm{GL}_n(\mathbb{R}) : QQ^t = Q^tQ = I \right\} + \] + \end{column} + \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 \\[1em] + \end{pmatrix} + \end{align*} + \end{column} + \end{columns} +} \section{Kristalle} \begin{frame}[fragile]{} @@ -178,11 +216,19 @@ \end{tikzpicture} \end{center} + \end{column} + \begin{column}{.5\textwidth} Invariant (symmetrisch) unten Translation \[ Q_i(\vec{r}) = \vec{r} + \vec{a}_i \] + M\"ogliche Kristallstrukturen \end{column} + \end{columns} +\end{frame} + +\begin{frame}[fragile]{} + \begin{columns}[T] \begin{column}{.5\textwidth} Wie kombiniert sich \(Q_i\) mit der anderen Symmetrien? \begin{center} @@ -233,11 +279,6 @@ n &= 1 - 2\cos\alpha \end{align*} \end{column} - \end{columns} -\end{frame} - -\frame{ - \begin{columns}[T] \begin{column}{.5\textwidth} Somit muss \[ @@ -247,10 +288,8 @@ \alpha \in \left\{ 0, 60^\circ, 90^\circ, 120^\circ, 180^\circ \right\} \end{gather*} \end{column} - \begin{column}{.5\textwidth} - \end{column} \end{columns} -} +\end{frame} \section{Anwendungen} \begin{frame}[fragile]{} -- cgit v1.2.1 From 262989abd634eddac1dae3974964c382c0301a94 Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Wed, 5 May 2021 16:17:06 +0200 Subject: Add venn diagram and fix typos --- vorlesungen/punktgruppen/slides.pdf | Bin 52627 -> 53285 bytes vorlesungen/punktgruppen/slides.tex | 59 ++++++++++++++++++++++++------------ 2 files changed, 40 insertions(+), 19 deletions(-) (limited to 'vorlesungen') diff --git a/vorlesungen/punktgruppen/slides.pdf b/vorlesungen/punktgruppen/slides.pdf index 199498c..45ae1dd 100644 Binary files a/vorlesungen/punktgruppen/slides.pdf and b/vorlesungen/punktgruppen/slides.pdf differ diff --git a/vorlesungen/punktgruppen/slides.tex b/vorlesungen/punktgruppen/slides.tex index 54798f1..d38065d 100644 --- a/vorlesungen/punktgruppen/slides.tex +++ b/vorlesungen/punktgruppen/slides.tex @@ -155,7 +155,7 @@ \end{align*} Orthogonale Gruppe \[ - O(n) = \left\{ Q \in \mathrm{GL}_n(\mathbb{R}) : QQ^t = Q^tQ = I \right\} + O(n) = \left\{ Q : QQ^t = Q^tQ = I \right\} \] \end{column} \begin{column}{.5\textwidth} @@ -173,7 +173,7 @@ \Phi_r &= \begin{pmatrix} \cos \alpha & -\sin \alpha & 0 \\ \sin \alpha & \cos \alpha & 0 \\ - 0 & 0 & 1 \\[1em] + 0 & 0 & 1 \end{pmatrix} \end{align*} \end{column} @@ -208,21 +208,40 @@ } } \end{scope} - \draw[white, thick] (-1, -1) rectangle (4,3); - \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); - + \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} - Invariant (symmetrisch) unten Translation + Invariant (symmetrisch) unter Translation \[ Q_i(\vec{r}) = \vec{r} + \vec{a}_i \] 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] (A) {}; + \node[white, yshift = 2mm] at (A) {230}; + + \node[circle, draw = white, thick, + fill = red!20!background, + xshift = -5mm, yshift = -5mm, + minimum size = 1cm] {32}; + \end{tikzpicture} + \end{center} \end{column} \end{columns} \end{frame} @@ -272,21 +291,19 @@ \node[above left, xshift=-2mm] at (X) {\(x\)}; \end{tikzpicture} \end{center} + \end{column} + \begin{column}{.5\textwidth} Sei \(q = |\vec{Q}|\), \(\alpha = 2\pi/n\) und \(n \in \mathbb{N}\) \begin{align*} q' = n q &= q + 2x \\ nq &= q + 2q\sin(\alpha - \pi/2) \\ n &= 1 - 2\cos\alpha \end{align*} - \end{column} - \begin{column}{.5\textwidth} Somit muss - \[ - \alpha = \cos^{-1}\left(\frac{m-1}{2}\right) - \] - \begin{gather*} - \alpha \in \left\{ 0, 60^\circ, 90^\circ, 120^\circ, 180^\circ \right\} - \end{gather*} + \begin{align*} + \alpha &= \cos^{-1}\left(\frac{n-1}{2}\right) \\[1em] + \alpha &\in \left\{ 0, 60^\circ, 90^\circ, 120^\circ, 180^\circ \right\} + \end{align*} \end{column} \end{columns} \end{frame} @@ -386,9 +403,11 @@ \node[white] (E) {\(\vec{E}_p\)}; \begin{scope}[node distance = .5mm] - \node[blue!50, right = of E] {\(-\)}; - \node[red!50, left = of E] {\(+\)}; + \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} \begin{scope}[xshift=11cm, yshift=-4.5cm] @@ -407,9 +426,11 @@ \node[white] (E) {\(\vec{E}_p\)}; \begin{scope}[node distance = .5mm] - \node[blue!50, right = of E] {\(-\)}; - \node[red!50, left = of E] {\(+\)}; + \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} \end{tikzpicture} \end{frame} -- cgit v1.2.1 From c9e39a53713297b11c23ca1d153c582d1ab37538 Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Wed, 5 May 2021 16:17:50 +0200 Subject: Add shotcut project --- .../shotcut/Punktgruppen/Punktgruppen.mlt | 115 +++++++++++++++++++++ 1 file changed, 115 insertions(+) create mode 100644 vorlesungen/punktgruppen/shotcut/Punktgruppen/Punktgruppen.mlt (limited to 'vorlesungen') diff --git a/vorlesungen/punktgruppen/shotcut/Punktgruppen/Punktgruppen.mlt b/vorlesungen/punktgruppen/shotcut/Punktgruppen/Punktgruppen.mlt new file mode 100644 index 0000000..37d8b30 --- /dev/null +++ b/vorlesungen/punktgruppen/shotcut/Punktgruppen/Punktgruppen.mlt @@ -0,0 +1,115 @@ + + + + + 00:01:05.867 + pause + /home/npross/docs/school/hsr/MathSem1/SeminarMatrizen/vorlesungen/punktgruppen/media/videos/crystals/480p15/AlgebraicSymmetries.mp4 + avformat-novalidate + 1 + -1 + 0 + 0 + cbe611893baad5bff7cbdb23a3d4e7f3 + 0 + 2021-05-05T11:17:04 + was here + + + 5944 + pause + /home/npross/docs/school/hsr/MathSem1/SeminarMatrizen/vorlesungen/punktgruppen/media/videos/crystals/480p15/Geometric2DSymmetries.mp4 + avformat-novalidate + 1 + -1 + 0 + 0 + was here + 47ac11813561d23004945f1738115b32 + + + 2632 + pause + /home/npross/docs/school/hsr/MathSem1/SeminarMatrizen/vorlesungen/punktgruppen/media/videos/crystals/480p15/Geometric3DSymmetries.mp4 + avformat-novalidate + 1 + -1 + 0 + 0 + was here + f5af3911322b3cb8d68246387eef0a48 + + + 1 + + + + + + 00:02:22.933 + pause + 0 + 1 + color + rgba + 0 + + + + + + 5944 + pause + /home/npross/docs/school/hsr/MathSem1/SeminarMatrizen/vorlesungen/punktgruppen/media/videos/crystals/480p15/Geometric2DSymmetries.mp4 + avformat-novalidate + 1 + -1 + 0 + 0 + was here + 47ac11813561d23004945f1738115b32 + Geometric2DSymmetries.mp4 + + + 2632 + pause + /home/npross/docs/school/hsr/MathSem1/SeminarMatrizen/vorlesungen/punktgruppen/media/videos/crystals/480p15/Geometric3DSymmetries.mp4 + avformat-novalidate + 1 + -1 + 0 + 0 + was here + f5af3911322b3cb8d68246387eef0a48 + Geometric3DSymmetries.mp4 + + + 1 + V1 + + + + + 1 + 0.124449 + 2 + 1 + + + + 0 + 1 + mix + 1 + 1 + + + 0 + 1 + 0.9 + frei0r.cairoblend + 0 + 1 + + + -- cgit v1.2.1 From c9e25f8c35027bde9af6f2ab72071dbdd21fa444 Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Wed, 5 May 2021 21:23:44 +0200 Subject: Add pauses and minor fixes --- vorlesungen/punktgruppen/script.pdf | Bin 31136 -> 34480 bytes .../shotcut/Punktgruppen/Punktgruppen.mlt | 96 ++++----- vorlesungen/punktgruppen/slides.pdf | Bin 53285 -> 148139 bytes vorlesungen/punktgruppen/slides.tex | 233 ++++++++++++--------- 4 files changed, 173 insertions(+), 156 deletions(-) (limited to 'vorlesungen') diff --git a/vorlesungen/punktgruppen/script.pdf b/vorlesungen/punktgruppen/script.pdf index 6b17967..70ea683 100644 Binary files a/vorlesungen/punktgruppen/script.pdf and b/vorlesungen/punktgruppen/script.pdf differ diff --git a/vorlesungen/punktgruppen/shotcut/Punktgruppen/Punktgruppen.mlt b/vorlesungen/punktgruppen/shotcut/Punktgruppen/Punktgruppen.mlt index 37d8b30..7275d5c 100644 --- a/vorlesungen/punktgruppen/shotcut/Punktgruppen/Punktgruppen.mlt +++ b/vorlesungen/punktgruppen/shotcut/Punktgruppen/Punktgruppen.mlt @@ -1,52 +1,24 @@ - - 00:01:05.867 + + 4200 pause - /home/npross/docs/school/hsr/MathSem1/SeminarMatrizen/vorlesungen/punktgruppen/media/videos/crystals/480p15/AlgebraicSymmetries.mp4 + /home/npross/docs/school/hsr/MathSem1/SeminarMatrizen/vorlesungen/punktgruppen/media/videos/camera/DSCF6392.MOV avformat-novalidate 1 - -1 - 0 - 0 - cbe611893baad5bff7cbdb23a3d4e7f3 - 0 - 2021-05-05T11:17:04 - was here - - - 5944 - pause - /home/npross/docs/school/hsr/MathSem1/SeminarMatrizen/vorlesungen/punktgruppen/media/videos/crystals/480p15/Geometric2DSymmetries.mp4 - avformat-novalidate - 1 - -1 - 0 - 0 - was here - 47ac11813561d23004945f1738115b32 - - - 2632 - pause - /home/npross/docs/school/hsr/MathSem1/SeminarMatrizen/vorlesungen/punktgruppen/media/videos/crystals/480p15/Geometric3DSymmetries.mp4 - avformat-novalidate - 1 - -1 + 1 0 0 was here - f5af3911322b3cb8d68246387eef0a48 + d255c7f03c50cb9dcfb2f9e0db73cb05 1 - - - + - - 00:02:22.933 + + 00:01:10.000 pause 0 1 @@ -55,47 +27,54 @@ 0 - + - - 5944 + + 4200 pause - /home/npross/docs/school/hsr/MathSem1/SeminarMatrizen/vorlesungen/punktgruppen/media/videos/crystals/480p15/Geometric2DSymmetries.mp4 + /home/npross/docs/school/hsr/MathSem1/SeminarMatrizen/vorlesungen/punktgruppen/media/videos/camera/DSCF6392.MOV avformat-novalidate 1 -1 0 0 was here - 47ac11813561d23004945f1738115b32 - Geometric2DSymmetries.mp4 + d255c7f03c50cb9dcfb2f9e0db73cb05 + DSCF6392.MOV + 1 - - 2632 + + 1 + V1 + + + + 4200 pause - /home/npross/docs/school/hsr/MathSem1/SeminarMatrizen/vorlesungen/punktgruppen/media/videos/crystals/480p15/Geometric3DSymmetries.mp4 + /home/npross/docs/school/hsr/MathSem1/SeminarMatrizen/vorlesungen/punktgruppen/media/videos/camera/DSCF6392.MOV avformat-novalidate 1 - -1 + 1 0 0 was here - f5af3911322b3cb8d68246387eef0a48 - Geometric3DSymmetries.mp4 + d255c7f03c50cb9dcfb2f9e0db73cb05 + DSCF6392.MOV + 1 - - 1 - V1 - - + + 1 + A1 + - + 1 - 0.124449 + 0.174581 2 1 + 0 1 @@ -111,5 +90,12 @@ 0 1 + + 0 + 2 + mix + 1 + 1 + diff --git a/vorlesungen/punktgruppen/slides.pdf b/vorlesungen/punktgruppen/slides.pdf index 45ae1dd..37ada17 100644 Binary files a/vorlesungen/punktgruppen/slides.pdf and b/vorlesungen/punktgruppen/slides.pdf differ diff --git a/vorlesungen/punktgruppen/slides.tex b/vorlesungen/punktgruppen/slides.tex index d38065d..cc62969 100644 --- a/vorlesungen/punktgruppen/slides.tex +++ b/vorlesungen/punktgruppen/slides.tex @@ -64,12 +64,11 @@ \frame{\titlepage} \frame{\tableofcontents} -\section{Einleitung} \frame{ \begin{itemize} - \item Was heisst \emph{Symmetrie} in der Mathematik? - \item Wie kann ein Kristall modelliert werden? - \item Aus der Physik: Piezoelektrizit\"at + \item Was heisst \emph{Symmetrie} in der Mathematik? \pause + \item Wie kann ein Kristall modelliert werden? \pause + \item Aus der Physik: Piezoelektrizit\"at \pause \end{itemize} \begin{center} \begin{tikzpicture} @@ -125,7 +124,7 @@ \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 \neq 0\)} (n); + \draw[white, thick, ->] (p) to[out = -70, in = 70] node[midway, right] {\(U > 0\)} (n); \end{scope} \end{tikzpicture} \end{center} @@ -148,16 +147,19 @@ \[ 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} @@ -181,15 +183,31 @@ } \section{Kristalle} +\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] (A) {}; + \node[white, yshift = 2mm] at (A) {230}; + + \node[circle, draw = white, thick, + fill = red!20!background, + xshift = -5mm, yshift = -5mm, + minimum size = 1cm] {32}; + \end{tikzpicture} + \end{center} +\end{frame} + \begin{frame}[fragile]{} - \begin{columns}[T] + \begin{columns} \begin{column}{.5\textwidth} - Kristallgitter: - \(n_i \in \mathbb{Z}\), - \(\vec{a}_i \in \mathbb{R}^3\) - \[ - \vec{r} = n_1 \vec{a}_1 + n_2 \vec{a}_2 + n_3 \vec{a}_3 - \] \begin{center} \begin{tikzpicture}[ dot/.style = { @@ -201,14 +219,14 @@ ] \begin{scope} - \clip (-1,-1) rectangle (4,3); - \foreach \y in {-5,-4,...,5} { - \foreach \x in {-5,-4,...,5} { + \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] (-1, -1) rectangle (4,3); + \draw[white, thick] (-2, -2) rectangle (3,4); \draw[red!80!background, thick, ->] (N00) to node[midway, below] {\(\vec{a}_1\)} (N10); @@ -217,31 +235,21 @@ \end{tikzpicture} \end{center} \end{column} + \pause \begin{column}{.5\textwidth} - Invariant (symmetrisch) unter Translation + Kristallgitter: + \(n_i \in \mathbb{Z}\), + \(\vec{a}_i \in \mathbb{R}^3\) + \[ + \vec{r} = n_1 \vec{a}_1 + n_2 \vec{a}_2 + n_3 \vec{a}_3 + \] + \vspace{1cm} + \pause + + Invariant unter Translation \[ Q_i(\vec{r}) = \vec{r} + \vec{a}_i \] - 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] (A) {}; - \node[white, yshift = 2mm] at (A) {230}; - - \node[circle, draw = white, thick, - fill = red!20!background, - xshift = -5mm, yshift = -5mm, - minimum size = 1cm] {32}; - \end{tikzpicture} - \end{center} \end{column} \end{columns} \end{frame} @@ -249,7 +257,9 @@ \begin{frame}[fragile]{} \begin{columns}[T] \begin{column}{.5\textwidth} - Wie kombiniert sich \(Q_i\) mit der anderen Symmetrien? + \onslide<1->{ + Wie kombiniert sich \(Q_i\) mit der anderen Symmetrien? + } \begin{center} \begin{tikzpicture}[ dot/.style = { @@ -260,50 +270,70 @@ }, ] - \node[dot] (A1) at (0,0) {}; - \node[below left] at (A1) {\(A\)}; - - \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); - - \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<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'\)}; - \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); - - \draw[yellow!80!background, thick, ->] (B1) to node[above, midway] {\(\vec{Q}'\)} (B2); - + \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<7->{ \draw[gray, dashed, thick] (A1) to (A1 |- B1) node (X) {}; \draw[gray, dashed, thick] (A2) to (A2 |- B2); + } - \node[above left, xshift=-2mm] at (X) {\(x\)}; + \onslide<8->{ + \node[above left, xshift=-2mm] at (X) {\(x\)}; + } \end{tikzpicture} \end{center} \end{column} \begin{column}{.5\textwidth} - Sei \(q = |\vec{Q}|\), \(\alpha = 2\pi/n\) und \(n \in \mathbb{N}\) - \begin{align*} - q' = n q &= q + 2x \\ - nq &= q + 2q\sin(\alpha - \pi/2) \\ - n &= 1 - 2\cos\alpha - \end{align*} - Somit muss + \onslide<9->{ + Sei \(q = |\vec{Q}|\), \(\alpha = 2\pi/n\) und \(n \in \mathbb{N}\) + } \begin{align*} - \alpha &= \cos^{-1}\left(\frac{n-1}{2}\right) \\[1em] - \alpha &\in \left\{ 0, 60^\circ, 90^\circ, 120^\circ, 180^\circ \right\} + \onslide<10->{q' = n q &= 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\} + \end{align*} + } \end{column} \end{columns} \end{frame} @@ -343,8 +373,9 @@ negative/.style = { fill = blue!50 }, ] - \node[font = {\large\bfseries}, align = center] (title) at (6,0) {Mit und Ohne\\ Symmetriezentrum}; + \node[font = {\large\bfseries}, align = center] (title) at (5.5,0) {Mit und Ohne\\ Symmetriezentrum}; \node[below = of title] {Polarisation Feld \(\vec{E}_p\)}; + \pause \begin{scope} \matrix[nodes = { charge }, row sep = 8mm, column sep = 8mm] { @@ -354,6 +385,7 @@ }; \draw[gray, dashed] (W) to (N) to (E) to (S) to (W); \end{scope} + \pause \begin{scope}[yshift=-4.5cm] \matrix[nodes = { charge }, row sep = 5mm, column sep = 1cm] { @@ -372,6 +404,7 @@ \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} { @@ -379,27 +412,23 @@ } \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[gray, dashed] (C2) to (C4) to (C6) to (C2); \end{scope} + \pause - \begin{scope}[xshift=6cm, 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) {}; + \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); - } + \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] @@ -409,20 +438,26 @@ \draw[gray, thick, dotted] (E) to ++(0,2); \draw[gray, thick, dotted] (E) to ++(0,-2); \end{scope} + \pause - \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) {}; + \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); + \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] @@ -462,15 +497,11 @@ \] Anisotropisch Dielektrikum \[ - (\ten{K}\ten{\varepsilon})\vec{E} = \frac{\omega^2}{\mu k^2} \vec{E} + (\ten{K}\ten{\varepsilon})\vec{E} = \frac{k^2}{\mu \omega^2} \vec{E} \] \[ \vec{E} \in U_\lambda \implies (\ten{K}\ten{\varepsilon}) \vec{E} = \lambda \vec{E} \] - \"Ahenlich auch in der Mechanik - \[ - \vec{F} = \kappa \vec{x} \quad \text{(Hooke)} - \] \end{column} \end{columns} } -- cgit v1.2.1 From 8f862d9be3117979c9694544cca0afa8d2e53cb3 Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Wed, 5 May 2021 23:07:28 +0200 Subject: Add (back) slide for algebraic symmetries Probably won't be used but still. --- vorlesungen/punktgruppen/slides.pdf | Bin 148139 -> 156879 bytes vorlesungen/punktgruppen/slides.tex | 51 ++++++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+) (limited to 'vorlesungen') diff --git a/vorlesungen/punktgruppen/slides.pdf b/vorlesungen/punktgruppen/slides.pdf index 37ada17..f2af987 100644 Binary files a/vorlesungen/punktgruppen/slides.pdf and b/vorlesungen/punktgruppen/slides.pdf differ diff --git a/vorlesungen/punktgruppen/slides.tex b/vorlesungen/punktgruppen/slides.tex index cc62969..8edaff6 100644 --- a/vorlesungen/punktgruppen/slides.tex +++ b/vorlesungen/punktgruppen/slides.tex @@ -135,6 +135,57 @@ \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 -- cgit v1.2.1 From 6c50dd1aff137beaadca5e46913355d80d3cda3b Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Wed, 5 May 2021 23:09:33 +0200 Subject: Update manim to v0.6.0 --- vorlesungen/punktgruppen/crystals.py | 4 +- vorlesungen/punktgruppen/poetry.lock | 222 +++++++++++++++++++++++++++----- vorlesungen/punktgruppen/pyproject.toml | 2 +- 3 files changed, 190 insertions(+), 38 deletions(-) (limited to 'vorlesungen') diff --git a/vorlesungen/punktgruppen/crystals.py b/vorlesungen/punktgruppen/crystals.py index 7eef9b8..b29d7e4 100644 --- a/vorlesungen/punktgruppen/crystals.py +++ b/vorlesungen/punktgruppen/crystals.py @@ -487,7 +487,7 @@ class AlgebraicSymmetries(Scene): ApplyMethod(morphgrp.to_edge, LEFT)) # draw a complex plane - plane = ComplexPlane(x_min = -2, x_max = 3) + 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), ( @@ -503,7 +503,7 @@ class AlgebraicSymmetries(Scene): square = Square().rotate(PI/4).scale(1/m.sqrt(2)) square.set_fill(PINK).set_opacity(.4) - figuregrp = Group(plane, square, arrow, arrowtext, *coordinates, *roots) + figuregrp = VGroup(plane, square, arrow, arrowtext, *coordinates, *roots) figuregrp.to_edge(RIGHT) self.play(Create(plane)) diff --git a/vorlesungen/punktgruppen/poetry.lock b/vorlesungen/punktgruppen/poetry.lock index 13c5100..069d270 100644 --- a/vorlesungen/punktgruppen/poetry.lock +++ b/vorlesungen/punktgruppen/poetry.lock @@ -1,3 +1,49 @@ +[[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" @@ -44,9 +90,17 @@ 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 = "3.10.0" +version = "4.0.1" description = "Read metadata from Python packages" category = "main" optional = false @@ -62,14 +116,18 @@ testing = ["pytest (>=4.6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytes [[package]] name = "manim" -version = "0.5.0" +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" @@ -81,17 +139,19 @@ 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)", "watchdog"] +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.5.post0" +version = "0.2.6" description = "Bindings for Pango for using with Manim." category = "main" optional = false @@ -213,7 +273,7 @@ python-versions = "*" [[package]] name = "pyglet" -version = "1.5.15" +version = "1.5.16" description = "Cross-platform windowing and multimedia library" category = "main" optional = false @@ -221,7 +281,7 @@ python-versions = "*" [[package]] name = "pygments" -version = "2.8.1" +version = "2.9.0" description = "Pygments is a syntax highlighting package written in Python." category = "main" optional = false @@ -239,6 +299,24 @@ python-versions = "*" 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" @@ -269,7 +347,7 @@ numpy = ">=1.16.5" [[package]] name = "six" -version = "1.15.0" +version = "1.16.0" description = "Python 2 and 3 compatibility utilities" category = "main" optional = false @@ -290,12 +368,36 @@ telegram = ["requests"] [[package]] name = "typing-extensions" -version = "3.7.4.3" +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" @@ -311,9 +413,28 @@ testing = ["pytest (>=4.6)", "pytest-checkdocs (>=1.2.3)", "pytest-flake8", "pyt [metadata] lock-version = "1.1" python-versions = "^3.7" -content-hash = "f990b445406f5bbce3e53cd28ef3362be09615b40062f11233a62f99bcd59a79" +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"}, @@ -356,28 +477,32 @@ glcontext = [ {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-3.10.0-py3-none-any.whl", hash = "sha256:d2d46ef77ffc85cbf7dac7e81dd663fde71c45326131bea8033b9bad42268ebe"}, - {file = "importlib_metadata-3.10.0.tar.gz", hash = "sha256:c9db46394197244adf2f0b08ec5bc3cf16757e9590b02af1fca085c16c0d600a"}, + {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.5.0-py3-none-any.whl", hash = "sha256:1a164c8caa6058f67c6fcd7cf1e6f5dbb9833b292117885dc470dabad1cc00c7"}, - {file = "manim-0.5.0.tar.gz", hash = "sha256:e4284648cbb5d463c6dbced1d4e60fa9b68c14f4bb3b10c8eab0f8f49ca5da88"}, + {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.5.post0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:53f754594ccedeaf464028777d4502fb31f2251b9dca7e99b40786b3e4ff394d"}, - {file = "ManimPango-0.2.5.post0-cp36-cp36m-win32.whl", hash = "sha256:ac33cc00a89aabe7459043b7aab8851e4ec4c7fa78cea2b3dacb618b2b03c98b"}, - {file = "ManimPango-0.2.5.post0-cp36-cp36m-win_amd64.whl", hash = "sha256:87e205f5a35ff5504104cd30b8d086e9f97c17f95cf490de7cc1d4aa8c2a8425"}, - {file = "ManimPango-0.2.5.post0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:70e59f888ca5ad0be37777f761cee8fb3d6e28c5d949e5da13f727326b46da60"}, - {file = "ManimPango-0.2.5.post0-cp37-cp37m-win32.whl", hash = "sha256:d9cc5ac80dd363fd4f3fa233f7fad74e9749965b6e4af10a2174f946fe1d9813"}, - {file = "ManimPango-0.2.5.post0-cp37-cp37m-win_amd64.whl", hash = "sha256:3bef549783fc5e3f39598880e7cc41bb44dc2e37ceb8c7e20f0381fd8d67b3e8"}, - {file = "ManimPango-0.2.5.post0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:978bcf4c6cf145f723ec551ed18a1959f6952f100d61c7b4431939ee850f9308"}, - {file = "ManimPango-0.2.5.post0-cp38-cp38-win32.whl", hash = "sha256:db877a3a037739ce2f647f747bc750c7e9a881ce5175a4ad764170f24fb2d68a"}, - {file = "ManimPango-0.2.5.post0-cp38-cp38-win_amd64.whl", hash = "sha256:2876c64724a73893ba22c250ddf603724865c650a925ddca76102eea0e489373"}, - {file = "ManimPango-0.2.5.post0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e3694ae99ef758a8eaf847f77b0fa2bf7318ed2ee55a32b3a3bb155dd2d6ec9b"}, - {file = "ManimPango-0.2.5.post0-cp39-cp39-win32.whl", hash = "sha256:139469a6130270e3cf94c4b01fa9b17dc516170a11b901ff0ce0f6cdff6752e9"}, - {file = "ManimPango-0.2.5.post0-cp39-cp39-win_amd64.whl", hash = "sha256:aad57df6ec62585f52c662b84f2d5ff2c686daa8ca753326b6cde8b798c4da96"}, - {file = "ManimPango-0.2.5.post0.tar.gz", hash = "sha256:c33d073d4389ad93bbac13029b8a0da5d8ee0b8fe7f282379ff95012e34d324e"}, + {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"}, @@ -536,17 +661,21 @@ pydub = [ {file = "pydub-0.25.1.tar.gz", hash = "sha256:980a33ce9949cab2a569606b65674d748ecbca4f0796887fd6f46173a7b0d30f"}, ] pyglet = [ - {file = "pyglet-1.5.15-py3-none-any.whl", hash = "sha256:4401cc176580e4e17e2df8bbf7536f27e691327dc3f38f209a12f1859c70aed2"}, - {file = "pyglet-1.5.15.zip", hash = "sha256:da9d8337388cedabf1f1c5dc21a45bb2b0e5327fba47f996c8573818c3dfa478"}, + {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.8.1-py3-none-any.whl", hash = "sha256:534ef71d539ae97d4c3a4cf7d6f110f214b0e687e92f9cb9d2a3b0d3101289c8"}, - {file = "Pygments-2.8.1.tar.gz", hash = "sha256:2656e1a6edcdabf4275f9a3640db59fd5de107d88e8663c5d4e9a0fa62f77f94"}, + {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"}, @@ -573,17 +702,40 @@ scipy = [ {file = "scipy-1.6.1.tar.gz", hash = "sha256:c4fceb864890b6168e79b0e714c585dbe2fd4222768ee90bc1aa0f8218691b11"}, ] six = [ - {file = "six-1.15.0-py2.py3-none-any.whl", hash = "sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced"}, - {file = "six-1.15.0.tar.gz", hash = "sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259"}, + {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.7.4.3-py2-none-any.whl", hash = "sha256:dafc7639cde7f1b6e1acc0f457842a83e722ccca8eef5270af2d74792619a89f"}, - {file = "typing_extensions-3.7.4.3-py3-none-any.whl", hash = "sha256:7cb407020f00f7bfc3cb3e7881628838e69d8f3fcab2f64742a5e76b2f841918"}, - {file = "typing_extensions-3.7.4.3.tar.gz", hash = "sha256:99d4073b617d30288f569d3f13d2bd7548c3a7e4c8de87db09a9d29bb3a4a60c"}, + {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"}, diff --git a/vorlesungen/punktgruppen/pyproject.toml b/vorlesungen/punktgruppen/pyproject.toml index 92c06e2..527eb57 100644 --- a/vorlesungen/punktgruppen/pyproject.toml +++ b/vorlesungen/punktgruppen/pyproject.toml @@ -6,7 +6,7 @@ authors = ["Nao Pross "] [tool.poetry.dependencies] python = "^3.7" -manim = "^0.5.0" +manim = "^0.6.0" [tool.poetry.dev-dependencies] -- cgit v1.2.1 From 1d952ad204000bd84383564cbd4240dcb6982738 Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Wed, 5 May 2021 23:51:37 +0200 Subject: Add placeholder slides for video parts and update gitignore --- vorlesungen/punktgruppen/.gitignore | 4 +++- vorlesungen/punktgruppen/media/images/nosignal.jpg | Bin 0 -> 711846 bytes vorlesungen/punktgruppen/slides.pdf | Bin 156879 -> 869387 bytes vorlesungen/punktgruppen/slides.tex | 10 ++++++++++ 4 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 vorlesungen/punktgruppen/media/images/nosignal.jpg (limited to 'vorlesungen') diff --git a/vorlesungen/punktgruppen/.gitignore b/vorlesungen/punktgruppen/.gitignore index 632b499..3d67444 100644 --- a/vorlesungen/punktgruppen/.gitignore +++ b/vorlesungen/punktgruppen/.gitignore @@ -1,6 +1,8 @@ # directories __pycache__ -media +media/Tex +media/images/crystal +media/videos build # files diff --git a/vorlesungen/punktgruppen/media/images/nosignal.jpg b/vorlesungen/punktgruppen/media/images/nosignal.jpg new file mode 100644 index 0000000..2beeb8b Binary files /dev/null and b/vorlesungen/punktgruppen/media/images/nosignal.jpg differ diff --git a/vorlesungen/punktgruppen/slides.pdf b/vorlesungen/punktgruppen/slides.pdf index f2af987..0cdf00d 100644 Binary files a/vorlesungen/punktgruppen/slides.pdf and b/vorlesungen/punktgruppen/slides.pdf differ diff --git a/vorlesungen/punktgruppen/slides.tex b/vorlesungen/punktgruppen/slides.tex index 8edaff6..3aa6d83 100644 --- a/vorlesungen/punktgruppen/slides.tex +++ b/vorlesungen/punktgruppen/slides.tex @@ -132,6 +132,11 @@ \section{2D Symmetrien} %% Made in video +{ + \usebackgroundtemplate{ + \includegraphics[height=\paperheight]{media/images/nosignal}} + \frame{} +} \section{Algebraische Symmetrien} %% Made in video @@ -189,6 +194,11 @@ \section{3D Symmetrien} %% Made in video +{ + \usebackgroundtemplate{ + \includegraphics[height=\paperheight]{media/images/nosignal}} + \frame{} +} \section{Matrizen} \frame{ -- cgit v1.2.1 From 965fe8cb04683c1efea1b955af93485e7860d235 Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Thu, 6 May 2021 00:04:07 +0200 Subject: Add link to slides --- vorlesungen/punktgruppen/slides.pdf | Bin 869387 -> 871227 bytes vorlesungen/punktgruppen/slides.tex | 9 ++++++++- 2 files changed, 8 insertions(+), 1 deletion(-) (limited to 'vorlesungen') diff --git a/vorlesungen/punktgruppen/slides.pdf b/vorlesungen/punktgruppen/slides.pdf index 0cdf00d..715d915 100644 Binary files a/vorlesungen/punktgruppen/slides.pdf and b/vorlesungen/punktgruppen/slides.pdf differ diff --git a/vorlesungen/punktgruppen/slides.tex b/vorlesungen/punktgruppen/slides.tex index 3aa6d83..da13003 100644 --- a/vorlesungen/punktgruppen/slides.tex +++ b/vorlesungen/punktgruppen/slides.tex @@ -61,7 +61,14 @@ % Slides \begin{document} -\frame{\titlepage} +\frame{ + \titlepage + \vfill + \begin{center} + \small \color{gray} + Slides: \texttt{s.0hm.ch/ctBsD} + \end{center} +} \frame{\tableofcontents} \frame{ -- cgit v1.2.1 From 98ab0ab3093b347b6cfe86168e9b6a8021116b5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Thu, 6 May 2021 08:14:07 +0200 Subject: add new slides --- vorlesungen/10_mseliealgebra/slides.tex | 15 +++++++ vorlesungen/slides/7/Makefile.inc | 1 + vorlesungen/slides/7/chapter.tex | 1 + vorlesungen/slides/7/dg.tex | 4 +- vorlesungen/slides/7/einparameter.tex | 6 +-- vorlesungen/slides/7/liealgbeispiel.tex | 78 +++++++++++++++++++++++++++++++++ vorlesungen/slides/test.tex | 8 +--- 7 files changed, 102 insertions(+), 11 deletions(-) create mode 100644 vorlesungen/slides/7/liealgbeispiel.tex (limited to 'vorlesungen') diff --git a/vorlesungen/10_mseliealgebra/slides.tex b/vorlesungen/10_mseliealgebra/slides.tex index 0fceaff..4e92f74 100644 --- a/vorlesungen/10_mseliealgebra/slides.tex +++ b/vorlesungen/10_mseliealgebra/slides.tex @@ -9,11 +9,26 @@ \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} +\section{Integration} +\folie{7/haar.tex} +\ifthenelse{\boolean{presentation}}{ +\folie{7/mannigfaltigkeit.tex} +}{} +% XXX Tangential-Vektoren und Kovektoren +% XXX Invariante (Ko)Vektorfelder auf +% XXX Invariante Integration + % LOG Reihe % Interpolation % Mittelung auf einer Lie-Gruppe diff --git a/vorlesungen/slides/7/Makefile.inc b/vorlesungen/slides/7/Makefile.inc index 7512612..84b4e32 100644 --- a/vorlesungen/slides/7/Makefile.inc +++ b/vorlesungen/slides/7/Makefile.inc @@ -16,6 +16,7 @@ chapter5 = \ ../slides/7/einparameter.tex \ ../slides/7/ableitung.tex \ ../slides/7/liealgebra.tex \ + ../slides/7/liealgbeispiel.tex \ ../slides/7/kommutator.tex \ ../slides/7/dg.tex \ ../slides/7/zusammenhang.tex \ diff --git a/vorlesungen/slides/7/chapter.tex b/vorlesungen/slides/7/chapter.tex index 1c78ccc..65017c7 100644 --- a/vorlesungen/slides/7/chapter.tex +++ b/vorlesungen/slides/7/chapter.tex @@ -15,6 +15,7 @@ \folie{7/einparameter.tex} \folie{7/ableitung.tex} \folie{7/liealgebra.tex} +\folie{7/liealgbeispiel.tex} \folie{7/kommutator.tex} \folie{7/dg.tex} \folie{7/zusammenhang.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/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/test.tex b/vorlesungen/slides/test.tex index 17c8a28..9e52903 100644 --- a/vorlesungen/slides/test.tex +++ b/vorlesungen/slides/test.tex @@ -3,9 +3,5 @@ % % (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{7/liealgbeispiel.tex} + -- cgit v1.2.1 From 57bae13dbcac294db8eca8c48612aa46537371bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Thu, 6 May 2021 09:15:45 +0200 Subject: add new slides --- vorlesungen/10_mseliealgebra/slides.tex | 2 +- vorlesungen/slides/7/Makefile.inc | 1 + vorlesungen/slides/7/chapter.tex | 1 + vorlesungen/slides/7/vektorlie.tex | 206 ++++++++++++++++++++++++++++++++ vorlesungen/slides/test.tex | 2 +- 5 files changed, 210 insertions(+), 2 deletions(-) create mode 100644 vorlesungen/slides/7/vektorlie.tex (limited to 'vorlesungen') diff --git a/vorlesungen/10_mseliealgebra/slides.tex b/vorlesungen/10_mseliealgebra/slides.tex index 4e92f74..6d223de 100644 --- a/vorlesungen/10_mseliealgebra/slides.tex +++ b/vorlesungen/10_mseliealgebra/slides.tex @@ -10,7 +10,7 @@ \folie{7/ableitung.tex} \folie{7/liealgebra.tex} % XXX Beispiele von Lie-Algebren -% \folie{7/liealgbeispiel.tex} +\folie{7/liealgbeispiel.tex} % XXX Vektorprodukt als Lie-Algebra % \folie{7/vektorlie.tex} \folie{7/kommutator.tex} diff --git a/vorlesungen/slides/7/Makefile.inc b/vorlesungen/slides/7/Makefile.inc index 84b4e32..aac9585 100644 --- a/vorlesungen/slides/7/Makefile.inc +++ b/vorlesungen/slides/7/Makefile.inc @@ -17,6 +17,7 @@ chapter5 = \ ../slides/7/ableitung.tex \ ../slides/7/liealgebra.tex \ ../slides/7/liealgbeispiel.tex \ + ../slides/7/vektorlie.tex \ ../slides/7/kommutator.tex \ ../slides/7/dg.tex \ ../slides/7/zusammenhang.tex \ diff --git a/vorlesungen/slides/7/chapter.tex b/vorlesungen/slides/7/chapter.tex index 65017c7..668c2a7 100644 --- a/vorlesungen/slides/7/chapter.tex +++ b/vorlesungen/slides/7/chapter.tex @@ -16,6 +16,7 @@ \folie{7/ableitung.tex} \folie{7/liealgebra.tex} \folie{7/liealgbeispiel.tex} +\folie{7/vektorlie.tex} \folie{7/kommutator.tex} \folie{7/dg.tex} \folie{7/zusammenhang.tex} 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/test.tex b/vorlesungen/slides/test.tex index 9e52903..ebdff8a 100644 --- a/vorlesungen/slides/test.tex +++ b/vorlesungen/slides/test.tex @@ -3,5 +3,5 @@ % % (c) 2021 Prof Dr Andreas Müller, Hochschule Rapperswil % -\folie{7/liealgbeispiel.tex} +\folie{7/vektorlie.tex} -- cgit v1.2.1 From 7a40535a3251eb7954a30a81f3db0a42364091fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Thu, 6 May 2021 10:45:04 +0200 Subject: add new slide --- vorlesungen/10_mseliealgebra/slides.tex | 4 +- vorlesungen/slides/7/Makefile.inc | 1 + vorlesungen/slides/7/bch.tex | 76 +++++++++++++++++++++++++++++++++ vorlesungen/slides/7/chapter.tex | 1 + vorlesungen/slides/test.tex | 2 +- 5 files changed, 81 insertions(+), 3 deletions(-) create mode 100644 vorlesungen/slides/7/bch.tex (limited to 'vorlesungen') diff --git a/vorlesungen/10_mseliealgebra/slides.tex b/vorlesungen/10_mseliealgebra/slides.tex index 6d223de..48c4a4f 100644 --- a/vorlesungen/10_mseliealgebra/slides.tex +++ b/vorlesungen/10_mseliealgebra/slides.tex @@ -12,10 +12,10 @@ % XXX Beispiele von Lie-Algebren \folie{7/liealgbeispiel.tex} % XXX Vektorprodukt als Lie-Algebra -% \folie{7/vektorlie.tex} +\folie{7/vektorlie.tex} \folie{7/kommutator.tex} % XXX kommutator rechnerisch -% \folie{7/bch.tex} +\folie{7/bch.tex} \section{Exponentialabbildung} \folie{7/dg.tex} diff --git a/vorlesungen/slides/7/Makefile.inc b/vorlesungen/slides/7/Makefile.inc index aac9585..8b2b9e0 100644 --- a/vorlesungen/slides/7/Makefile.inc +++ b/vorlesungen/slides/7/Makefile.inc @@ -19,6 +19,7 @@ chapter5 = \ ../slides/7/liealgbeispiel.tex \ ../slides/7/vektorlie.tex \ ../slides/7/kommutator.tex \ + ../slides/7/bch.tex \ ../slides/7/dg.tex \ ../slides/7/zusammenhang.tex \ ../slides/7/quaternionen.tex \ diff --git a/vorlesungen/slides/7/bch.tex b/vorlesungen/slides/7/bch.tex new file mode 100644 index 0000000..3fad600 --- /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 668c2a7..0068cf4 100644 --- a/vorlesungen/slides/7/chapter.tex +++ b/vorlesungen/slides/7/chapter.tex @@ -18,6 +18,7 @@ \folie{7/liealgbeispiel.tex} \folie{7/vektorlie.tex} \folie{7/kommutator.tex} +\folie{7/bch.tex} \folie{7/dg.tex} \folie{7/zusammenhang.tex} \folie{7/quaternionen.tex} diff --git a/vorlesungen/slides/test.tex b/vorlesungen/slides/test.tex index ebdff8a..db36dee 100644 --- a/vorlesungen/slides/test.tex +++ b/vorlesungen/slides/test.tex @@ -3,5 +3,5 @@ % % (c) 2021 Prof Dr Andreas Müller, Hochschule Rapperswil % -\folie{7/vektorlie.tex} +\folie{7/bch.tex} -- cgit v1.2.1 From 907e8a1500b93ccb6620d713608b659329e351e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Thu, 6 May 2021 10:47:24 +0200 Subject: typo --- vorlesungen/slides/7/bch.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'vorlesungen') diff --git a/vorlesungen/slides/7/bch.tex b/vorlesungen/slides/7/bch.tex index 3fad600..0148dc4 100644 --- a/vorlesungen/slides/7/bch.tex +++ b/vorlesungen/slides/7/bch.tex @@ -22,7 +22,7 @@ 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{block}{Kommutator in G: $c(t) = g(t)h(t)g(t)^{-1}h(t)^{-1}$} \begin{align*} \uncover<6->{c(t) &= -- cgit v1.2.1 From b6114e0a8c7f800d36c199c0ee6af64d337e5320 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Thu, 6 May 2021 11:33:00 +0200 Subject: add slide --- vorlesungen/10_mseliealgebra/slides.tex | 4 +- vorlesungen/slides/7/Makefile.inc | 1 + vorlesungen/slides/7/chapter.tex | 1 + vorlesungen/slides/7/integration.tex | 66 +++++++++++++++++++++++++++++++++ vorlesungen/slides/test.tex | 2 +- 5 files changed, 70 insertions(+), 4 deletions(-) create mode 100644 vorlesungen/slides/7/integration.tex (limited to 'vorlesungen') diff --git a/vorlesungen/10_mseliealgebra/slides.tex b/vorlesungen/10_mseliealgebra/slides.tex index 48c4a4f..e4493a3 100644 --- a/vorlesungen/10_mseliealgebra/slides.tex +++ b/vorlesungen/10_mseliealgebra/slides.tex @@ -25,9 +25,7 @@ \ifthenelse{\boolean{presentation}}{ \folie{7/mannigfaltigkeit.tex} }{} -% XXX Tangential-Vektoren und Kovektoren -% XXX Invariante (Ko)Vektorfelder auf -% XXX Invariante Integration +\folie{7/integration.tex} % LOG Reihe % Interpolation diff --git a/vorlesungen/slides/7/Makefile.inc b/vorlesungen/slides/7/Makefile.inc index 8b2b9e0..52c37d8 100644 --- a/vorlesungen/slides/7/Makefile.inc +++ b/vorlesungen/slides/7/Makefile.inc @@ -27,5 +27,6 @@ chapter5 = \ ../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/chapter.tex b/vorlesungen/slides/7/chapter.tex index 0068cf4..172b78a 100644 --- a/vorlesungen/slides/7/chapter.tex +++ b/vorlesungen/slides/7/chapter.tex @@ -26,3 +26,4 @@ \folie{7/ueberlagerung.tex} \folie{7/hopf.tex} \folie{7/haar.tex} +\folie{7/integration.tex} 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/test.tex b/vorlesungen/slides/test.tex index db36dee..35ebf03 100644 --- a/vorlesungen/slides/test.tex +++ b/vorlesungen/slides/test.tex @@ -3,5 +3,5 @@ % % (c) 2021 Prof Dr Andreas Müller, Hochschule Rapperswil % -\folie{7/bch.tex} +\folie{7/integration.tex} -- cgit v1.2.1 From a90d54e578b7d309ba680d5fd5f6c8721b082096 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Thu, 6 May 2021 17:57:06 +0200 Subject: new slide --- vorlesungen/10_mseliealgebra/slides.tex | 4 +- vorlesungen/slides/7/Makefile.inc | 2 + vorlesungen/slides/7/chapter.tex | 2 + vorlesungen/slides/7/images/Makefile | 12 ++- vorlesungen/slides/7/images/interpolation.ini | 8 ++ vorlesungen/slides/7/images/interpolation.m | 54 +++++++++++++ vorlesungen/slides/7/images/interpolation.pov | 10 +++ vorlesungen/slides/7/images/test.pov | 7 ++ vorlesungen/slides/7/interpolation.tex | 105 ++++++++++++++++++++++++++ vorlesungen/slides/test.tex | 2 +- 10 files changed, 202 insertions(+), 4 deletions(-) create mode 100644 vorlesungen/slides/7/images/interpolation.ini create mode 100644 vorlesungen/slides/7/images/interpolation.m create mode 100644 vorlesungen/slides/7/images/interpolation.pov create mode 100644 vorlesungen/slides/7/images/test.pov create mode 100644 vorlesungen/slides/7/interpolation.tex (limited to 'vorlesungen') diff --git a/vorlesungen/10_mseliealgebra/slides.tex b/vorlesungen/10_mseliealgebra/slides.tex index e4493a3..ff2e629 100644 --- a/vorlesungen/10_mseliealgebra/slides.tex +++ b/vorlesungen/10_mseliealgebra/slides.tex @@ -19,6 +19,8 @@ \section{Exponentialabbildung} \folie{7/dg.tex} +% Interpolation +\folie{7/interpolation.tex} \section{Integration} \folie{7/haar.tex} @@ -28,7 +30,5 @@ \folie{7/integration.tex} % LOG Reihe -% Interpolation % Mittelung auf einer Lie-Gruppe -% Vektorprodukt als Lie-Gruppe diff --git a/vorlesungen/slides/7/Makefile.inc b/vorlesungen/slides/7/Makefile.inc index 52c37d8..4d291ed 100644 --- a/vorlesungen/slides/7/Makefile.inc +++ b/vorlesungen/slides/7/Makefile.inc @@ -21,6 +21,8 @@ chapter5 = \ ../slides/7/kommutator.tex \ ../slides/7/bch.tex \ ../slides/7/dg.tex \ + ../slides/7/interpolation.tex \ + ../slides/7/exponentialreihe.tex \ ../slides/7/zusammenhang.tex \ ../slides/7/quaternionen.tex \ ../slides/7/qdreh.tex \ diff --git a/vorlesungen/slides/7/chapter.tex b/vorlesungen/slides/7/chapter.tex index 172b78a..36e0bb1 100644 --- a/vorlesungen/slides/7/chapter.tex +++ b/vorlesungen/slides/7/chapter.tex @@ -20,6 +20,8 @@ \folie{7/kommutator.tex} \folie{7/bch.tex} \folie{7/dg.tex} +\folie{7/interpolation.tex} +\folie{7/exponentialreihe.tex} \folie{7/zusammenhang.tex} \folie{7/quaternionen.tex} \folie{7/qdreh.tex} 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/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/interpolation.tex b/vorlesungen/slides/7/interpolation.tex new file mode 100644 index 0000000..3d40d7b --- /dev/null +++ b/vorlesungen/slides/7/interpolation.tex @@ -0,0 +1,105 @@ +% +% 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)} +\end{align*} +\end{block}} +\end{column} +\begin{column}{0.48\textwidth} +\uncover<10->{% +\begin{block}{Animation} +\centering +\bild{11}{i00} +\bild{12}{i01} +\bild{13}{i02} +\bild{14}{i03} +\bild{15}{i04} +\bild{16}{i05} +\bild{17}{i06} +\bild{18}{i07} +\bild{19}{i08} +\bild{20}{i09} +\bild{21}{i10} +\bild{22}{i11} +\bild{23}{i12} +\bild{24}{i13} +\bild{25}{i14} +\bild{26}{i15} +\bild{27}{i16} +\bild{28}{i17} +\bild{29}{i18} +\bild{30}{i19} +\bild{31}{i20} +\bild{32}{i21} +\bild{33}{i22} +\bild{34}{i23} +\bild{35}{i24} +\bild{36}{i25} +\bild{37}{i26} +\bild{38}{i27} +\bild{39}{i28} +\bild{40}{i29} +\bild{41}{i30} +\bild{42}{i31} +\bild{43}{i32} +\bild{44}{i33} +\bild{45}{i34} +\bild{46}{i35} +\bild{47}{i36} +\bild{48}{i37} +\bild{49}{i38} +\bild{50}{i39} +\bild{51}{i40} +\bild{52}{i41} +\bild{53}{i42} +\bild{54}{i43} +\bild{55}{i44} +\bild{56}{i45} +\bild{57}{i46} +\bild{58}{i47} +\bild{59}{i48} +\bild{60}{i49} +\bild{61}{i50} +\end{block}} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/test.tex b/vorlesungen/slides/test.tex index 35ebf03..56cd611 100644 --- a/vorlesungen/slides/test.tex +++ b/vorlesungen/slides/test.tex @@ -3,5 +3,5 @@ % % (c) 2021 Prof Dr Andreas Müller, Hochschule Rapperswil % -\folie{7/integration.tex} +\folie{7/interpolation.tex} -- cgit v1.2.1 From 71c54ed1c285940349659e93e823d1c0f83cc84d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Thu, 6 May 2021 19:00:08 +0200 Subject: neue folie --- vorlesungen/slides/7/images/drehung.inc | 142 ++++++++++++++++++++++++++++++++ vorlesungen/slides/7/interpolation.tex | 111 +++++++++++++------------ 2 files changed, 201 insertions(+), 52 deletions(-) create mode 100644 vorlesungen/slides/7/images/drehung.inc (limited to 'vorlesungen') 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/interpolation.tex b/vorlesungen/slides/7/interpolation.tex index 3d40d7b..249ee26 100644 --- a/vorlesungen/slides/7/interpolation.tex +++ b/vorlesungen/slides/7/interpolation.tex @@ -40,64 +40,71 @@ $g_i=\exp(A_i) \uncover<3->{\Rightarrow A_i^t=-A_i}$ \\ \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<10->{% +\uncover<11->{% \begin{block}{Animation} \centering -\bild{11}{i00} -\bild{12}{i01} -\bild{13}{i02} -\bild{14}{i03} -\bild{15}{i04} -\bild{16}{i05} -\bild{17}{i06} -\bild{18}{i07} -\bild{19}{i08} -\bild{20}{i09} -\bild{21}{i10} -\bild{22}{i11} -\bild{23}{i12} -\bild{24}{i13} -\bild{25}{i14} -\bild{26}{i15} -\bild{27}{i16} -\bild{28}{i17} -\bild{29}{i18} -\bild{30}{i19} -\bild{31}{i20} -\bild{32}{i21} -\bild{33}{i22} -\bild{34}{i23} -\bild{35}{i24} -\bild{36}{i25} -\bild{37}{i26} -\bild{38}{i27} -\bild{39}{i28} -\bild{40}{i29} -\bild{41}{i30} -\bild{42}{i31} -\bild{43}{i32} -\bild{44}{i33} -\bild{45}{i34} -\bild{46}{i35} -\bild{47}{i36} -\bild{48}{i37} -\bild{49}{i38} -\bild{50}{i39} -\bild{51}{i40} -\bild{52}{i41} -\bild{53}{i42} -\bild{54}{i43} -\bild{55}{i44} -\bild{56}{i45} -\bild{57}{i46} -\bild{58}{i47} -\bild{59}{i48} -\bild{60}{i49} -\bild{61}{i50} +\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} -- cgit v1.2.1 From b879ffd58aa2c74b8f7b199edfa4b108b88c6e0b Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Fri, 7 May 2021 00:12:11 +0200 Subject: Create slide to show all point groups --- vorlesungen/punktgruppen/.gitignore | 1 + vorlesungen/punktgruppen/Makefile | 3 +- vorlesungen/punktgruppen/slides.pdf | Bin 871227 -> 789335 bytes vorlesungen/punktgruppen/slides.tex | 265 +++++++++++++++++++++++++++++++++++- 4 files changed, 265 insertions(+), 4 deletions(-) (limited to 'vorlesungen') diff --git a/vorlesungen/punktgruppen/.gitignore b/vorlesungen/punktgruppen/.gitignore index 3d67444..841ea7e 100644 --- a/vorlesungen/punktgruppen/.gitignore +++ b/vorlesungen/punktgruppen/.gitignore @@ -8,4 +8,5 @@ build # files script.log slides.log +slides.vrb missfont.log diff --git a/vorlesungen/punktgruppen/Makefile b/vorlesungen/punktgruppen/Makefile index d685652..302e976 100644 --- a/vorlesungen/punktgruppen/Makefile +++ b/vorlesungen/punktgruppen/Makefile @@ -1,12 +1,11 @@ TEX=xelatex -TEXARGS=--output-directory=build --halt-on-error +TEXARGS=--output-directory=build --halt-on-error --shell-escape all: slides.pdf script.pdf media .PHONY: clean clean: @rm -rfv build - # @rm -rfv media %.pdf: %.tex mkdir -p build diff --git a/vorlesungen/punktgruppen/slides.pdf b/vorlesungen/punktgruppen/slides.pdf index 715d915..78cd5dd 100644 Binary files a/vorlesungen/punktgruppen/slides.pdf and b/vorlesungen/punktgruppen/slides.pdf differ diff --git a/vorlesungen/punktgruppen/slides.tex b/vorlesungen/punktgruppen/slides.tex index da13003..08b6ecb 100644 --- a/vorlesungen/punktgruppen/slides.tex +++ b/vorlesungen/punktgruppen/slides.tex @@ -1,4 +1,4 @@ -\documentclass[12pt, xcolor, aspectratio=169]{beamer} +\documentclass[12pt, xcolor, aspectratio=169, handout]{beamer} % language \usepackage{polyglossia} @@ -8,8 +8,16 @@ \usepackage{tikz} \usetikzlibrary{positioning} \usetikzlibrary{arrows.meta} +\usetikzlibrary{shapes.misc} \usetikzlibrary{calc} +\usetikzlibrary{external} +\tikzexternalize[ + mode = graphics if exists, + figure list = true, + prefix=build/ +] + % Theme \beamertemplatenavigationsymbolsempty @@ -399,13 +407,266 @@ 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\} + \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} +{ + \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 -- cgit v1.2.1 From c96558c1b70660c26242d33093f765d43b2aa022 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Fri, 7 May 2021 09:50:45 +0200 Subject: new slide --- vorlesungen/10_mseliealgebra/slides.tex | 1 + vorlesungen/slides/7/Makefile.inc | 1 + vorlesungen/slides/7/chapter.tex | 1 + vorlesungen/slides/7/logarithmus.tex | 82 +++++++++++++++++++++++++++++++++ vorlesungen/slides/test.tex | 2 +- 5 files changed, 86 insertions(+), 1 deletion(-) create mode 100644 vorlesungen/slides/7/logarithmus.tex (limited to 'vorlesungen') diff --git a/vorlesungen/10_mseliealgebra/slides.tex b/vorlesungen/10_mseliealgebra/slides.tex index ff2e629..936139a 100644 --- a/vorlesungen/10_mseliealgebra/slides.tex +++ b/vorlesungen/10_mseliealgebra/slides.tex @@ -19,6 +19,7 @@ \section{Exponentialabbildung} \folie{7/dg.tex} +\folie{7/logarithmus.tex} % Interpolation \folie{7/interpolation.tex} diff --git a/vorlesungen/slides/7/Makefile.inc b/vorlesungen/slides/7/Makefile.inc index 4d291ed..ffd5091 100644 --- a/vorlesungen/slides/7/Makefile.inc +++ b/vorlesungen/slides/7/Makefile.inc @@ -23,6 +23,7 @@ chapter5 = \ ../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 \ diff --git a/vorlesungen/slides/7/chapter.tex b/vorlesungen/slides/7/chapter.tex index 36e0bb1..3736e0f 100644 --- a/vorlesungen/slides/7/chapter.tex +++ b/vorlesungen/slides/7/chapter.tex @@ -22,6 +22,7 @@ \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} 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/test.tex b/vorlesungen/slides/test.tex index 56cd611..7434b0b 100644 --- a/vorlesungen/slides/test.tex +++ b/vorlesungen/slides/test.tex @@ -3,5 +3,5 @@ % % (c) 2021 Prof Dr Andreas Müller, Hochschule Rapperswil % -\folie{7/interpolation.tex} +\folie{7/logarithmus.tex} -- cgit v1.2.1 From 84f60f0f078481b05f1305ceff9565f2e7dd7471 Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Fri, 7 May 2021 17:54:43 +0200 Subject: Striptease --- vorlesungen/punktgruppen/slides.pdf | Bin 789335 -> 883884 bytes vorlesungen/punktgruppen/slides.tex | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) (limited to 'vorlesungen') diff --git a/vorlesungen/punktgruppen/slides.pdf b/vorlesungen/punktgruppen/slides.pdf index 78cd5dd..ea4164d 100644 Binary files a/vorlesungen/punktgruppen/slides.pdf and b/vorlesungen/punktgruppen/slides.pdf differ diff --git a/vorlesungen/punktgruppen/slides.tex b/vorlesungen/punktgruppen/slides.tex index 08b6ecb..dbcf40f 100644 --- a/vorlesungen/punktgruppen/slides.tex +++ b/vorlesungen/punktgruppen/slides.tex @@ -1,4 +1,4 @@ -\documentclass[12pt, xcolor, aspectratio=169, handout]{beamer} +\documentclass[12pt, xcolor, aspectratio=169]{beamer} % language \usepackage{polyglossia} -- cgit v1.2.1 From e5cf8cc758fa3444d5b35cf1a2c3597532b3050e Mon Sep 17 00:00:00 2001 From: tim30b Date: Fri, 7 May 2021 18:01:03 +0200 Subject: Crystallographic restriction theorem --- vorlesungen/punktgruppen/script.tex | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'vorlesungen') diff --git a/vorlesungen/punktgruppen/script.tex b/vorlesungen/punktgruppen/script.tex index 0ea0aed..3c4b5b0 100644 --- a/vorlesungen/punktgruppen/script.tex +++ b/vorlesungen/punktgruppen/script.tex @@ -77,7 +77,7 @@ Let's now move into something seemingly unrelated: \emph{algebra}. \scene{Complex numbers and cyclic groups} \end{totranslate} -\scene{Matrizen} +\section{Matrizen} Das man mit matrizen so einiges darstellen kann ist keine neuigkeit mehr nach einem halben Semester Matheseminar. Also überrascht es wohl auch keinen, das mann alle punktsymetrischen Operationen auch mit Matrizen Formulieren kann. (Beispiel zu Rotation mit video) @@ -87,7 +87,7 @@ Let's now move into something seemingly unrelated: \emph{algebra}. -\scene{Krystalle} +\section{Krystalle} Jenen welchen die Kristalle bis jetzt ein wenig zu kurz gekommen sind, Freuen sich hoffentlich zurecht an dieser Folie. Es geht ab jetzt nähmlich um Kristalle. Bevor wir mit ihnen arbeiten könne sollten wir jedoch klähren, was ein Kristall ist. @@ -97,6 +97,18 @@ Let's now move into something seemingly unrelated: \emph{algebra}. Als Orentierungshilfe ist diese eigenschaft ein grosser Nachteil nicht jedoch wenn man versucht alle möglichen Symmetrien in einem Kristall zu finden. Denn die Lattice Strucktur schränkt die unendlichen möglichen Punktsymmetrien im 3D Raum beträchtlich ein. Was im Englischen bekannt is unter dem Crystallographic Restrictiontheorem. + + \scene{Crystallographic restriction Theorem} + Die Punktsymmetrien von Kristallen sind auf grund verschiedensten geometrischen überlegungen eingeschränkt. + Wir zeigen euch hier nur den beweis wieso die in einem Kristall nur Rotations symetrien um 360,180,120,90 und 60 grad haben kann. + Für den Beweis beginnen wir mit einem Punkt A in dem Gitter wir wssen das in nach einer translation um eine gitterbasis wieder ein Punkt A' existieren muss. + Wir suchen Rotationssymmetrien also drehen wir um den winkel \( \alpha \) und müssen dank der drehsymmetrie \(\alpha\) wieder einen punkt im Gitter finden hier B. + Das selbe oder hier genau die die inverse drehung um \(\alpha\) von A' aus muss uns daher den Punkt B' liefern. + Zwischen zwei punkten im Gitter muss aber die Opertation Q angewendet werden können. + Das heisst der Abstand zwischen B und B' mmuss ein ganzes vielfachen von dem Abstand B zu B' sein. + + \scene{Restriktion in Algebra} + Ausgeschrieben setzen wir q klein auf die Länge der Translation, \(\alpha\) auf \(2\pi / n\) und \(n \) auf \( \mathbb{N}\) \end{document} % vim:et ts=2 sw=2: -- cgit v1.2.1 From f751b6fa47c197216ef5d3faa617dbf9be4dd695 Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Sat, 8 May 2021 01:09:30 +0200 Subject: Minor changes to slides --- vorlesungen/punktgruppen/slides.pdf | Bin 883884 -> 901246 bytes vorlesungen/punktgruppen/slides.tex | 156 +++++++++++++++++++----------------- 2 files changed, 84 insertions(+), 72 deletions(-) (limited to 'vorlesungen') diff --git a/vorlesungen/punktgruppen/slides.pdf b/vorlesungen/punktgruppen/slides.pdf index ea4164d..d34f6a3 100644 Binary files a/vorlesungen/punktgruppen/slides.pdf and b/vorlesungen/punktgruppen/slides.pdf differ diff --git a/vorlesungen/punktgruppen/slides.tex b/vorlesungen/punktgruppen/slides.tex index dbcf40f..01d59f4 100644 --- a/vorlesungen/punktgruppen/slides.tex +++ b/vorlesungen/punktgruppen/slides.tex @@ -259,73 +259,59 @@ } \section{Kristalle} -\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] (A) {}; - \node[white, yshift = 2mm] at (A) {230}; - - \node[circle, draw = white, thick, - fill = red!20!background, - xshift = -5mm, yshift = -5mm, - minimum size = 1cm] {32}; - \end{tikzpicture} - \end{center} -\end{frame} - \begin{frame}[fragile]{} \begin{columns} - \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) {}; + \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} - \pause + \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} - Kristallgitter: - \(n_i \in \mathbb{Z}\), - \(\vec{a}_i \in \mathbb{R}^3\) - \[ - \vec{r} = n_1 \vec{a}_1 + n_2 \vec{a}_2 + n_3 \vec{a}_3 - \] + \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} - \pause - - Invariant unter Translation - \[ - Q_i(\vec{r}) = \vec{r} + \vec{a}_i - \] + + \onslide<4->{ + Invariant unter Translation + \[ + Q_i(\vec{r}) = \vec{r} + \vec{a}_i + \] + } \end{column} \end{columns} \end{frame} @@ -383,23 +369,21 @@ (B1) to node[above, midway] {\(\vec{Q}'\)} (B2); } - \onslide<7->{ - \draw[gray, dashed, thick] (A1) to (A1 |- B1) node (X) {}; - \draw[gray, dashed, thick] (A2) to (A2 |- B2); - } - - \onslide<8->{ - \node[above left, xshift=-2mm] at (X) {\(x\)}; + \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<9->{ + \onslide<7->{ Sei \(q = |\vec{Q}|\), \(\alpha = 2\pi/n\) und \(n \in \mathbb{N}\) } \begin{align*} - \onslide<10->{q' = n q &= q + 2x \\} + \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*} @@ -415,6 +399,34 @@ \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}[ @@ -678,7 +690,7 @@ ] \matrix [nodes = {box, align = center}, column sep = 1cm, row sep = 1.5cm] { - & \node (A) {32 Punktgruppen}; \\ + & \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}; \\ }; -- cgit v1.2.1 From 73df34e0710372ea84f94c74598dfa735572e8e2 Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Sat, 8 May 2021 01:13:16 +0200 Subject: Work on script --- vorlesungen/punktgruppen/script.pdf | Bin 34480 -> 30104 bytes vorlesungen/punktgruppen/script.tex | 116 ++++++++++++++++++++++++++---------- 2 files changed, 85 insertions(+), 31 deletions(-) (limited to 'vorlesungen') diff --git a/vorlesungen/punktgruppen/script.pdf b/vorlesungen/punktgruppen/script.pdf index 70ea683..f56d2f3 100644 Binary files a/vorlesungen/punktgruppen/script.pdf and b/vorlesungen/punktgruppen/script.pdf differ diff --git a/vorlesungen/punktgruppen/script.tex b/vorlesungen/punktgruppen/script.tex index 3c4b5b0..1cd7393 100644 --- a/vorlesungen/punktgruppen/script.tex +++ b/vorlesungen/punktgruppen/script.tex @@ -1,5 +1,8 @@ \documentclass[a4paper]{article} +\usepackage{amsmath} +\usepackage{amssymb} + \usepackage[cm]{manuscript} \usepackage{xcolor} @@ -7,25 +10,30 @@ \newenvironment{totranslate}{\color{blue!70!black}}{} \begin{document} -\section{das Sind wir} - (TT) Willkommen zu unserer Präsentation über Punktgruppen und deren Anwendung in der Kristallographie. - Ich bin Tim Tönz habe vor dem Studium die Lehre als Elektroinstallateur abgeschlossen und studiere jetzt Elektrotechnik im Vierten Semester mit Herrn Naoki Pross. - (NP)Das bin ich \ldots Nun zum Inhalt +\section{Das sind wir} +\scene{Tim} +Willkommen zu unserer Präsentation über Punktgruppen und deren Anwendung in der +Kristallographie. Ich bin Tim Tönz habe vor dem Studium die Lehre als +Elektroinstallateur abgeschlossen und studiere jetzt Elektrotechnik im Vierten +Semester mit Herrn Naoki Pross. +\scene{Naoki} + Das bin ich \ldots Nun zum Inhalt \section{Ablauf} - Wir möchten Euch zeigen, was eine Punktgruppe ausmacht, Konkret an Bespielen in 2D zeigen mit Gemainsamkeiten zu Algebraischen Symmetrien. - Da wir Menschen jedoch 3 Räumliche Dimensionen Wahrnehmen möchten wir euch die 3D Symetrien natürlcih nicht vorenthalten. - Um dem Thema des Mathematikseminars gerecht zu werden, Werden wir die einfache Verbindung zwischen Matrizen und Punktsymetrien zeigen. - Dammit die Praxis nicht ganz vergessen geht, Kristalle Mathematisch beschreiben und dessen Limitationen in hinsicht Symmetrien. - Als Abschluss Zeigen wir euch einen zusammenhan zwischen Piezoelektrizität und Symmetrien. +Wir möchten Euch zeigen, was eine Punktgruppe ausmacht, Konkret an Bespielen in 2D zeigen mit Gemainsamkeiten zu Algebraischen Symmetrien. +Da wir Menschen jedoch 3 Räumliche Dimensionen Wahrnehmen möchten wir euch die 3D Symetrien natürlcih nicht vorenthalten. +Um dem Thema des Mathematikseminars gerecht zu werden, Werden wir die einfache Verbindung zwischen Matrizen und Punktsymetrien zeigen. +Dammit die Praxis nicht ganz vergessen geht, Kristalle Mathematisch beschreiben und dessen Limitationen in hinsicht Symmetrien. +Als Abschluss Zeigen wir euch einen zusammenhan zwischen Piezoelektrizität und Symmetrien. \section{intro} - Ich hoffe wir konnten schon mit der Einleitung ein wenig Neugirde wecken. - fals dies noch nicht der Fall ist, sind hier noch die wichtigsten fragen, welche wir euch beantworten wollen, oder zumindest überzeugen, wieso dies spannende Fragen sind. - Als erstes, was eine Symetrie ist oder in unserem Fall eine Punktsymetrie. - Was macht ein Kristall aus, also wie kann man seine Wichtigsten eigenschaften mathematisch beschreiben. - Als letztes noch zu der Piezoelektrizität, welche ein Effekt beschreibt, dass bestimmte Krisstalle eine elektrische Spannung erzeugen, wenn sie unter mechanischen Druck gesetzt werden. - welche kristalle diese fähigkeit haben, hat ganz konkret mit ihrer Symmetrie zu tun. +Ich hoffe wir konnten schon mit der Einleitung ein wenig Neugirde wecken. +fals dies noch nicht der Fall ist, sind hier noch die wichtigsten fragen, welche wir euch beantworten wollen, oder zumindest überzeugen, wieso dies spannende Fragen sind. +Als erstes, was eine Symetrie ist oder in unserem Fall eine Punktsymetrie. +Was macht ein Kristall aus, also wie kann man seine Wichtigsten eigenschaften mathematisch beschreiben. +Als letztes noch zu der Piezoelektrizität, welche ein Effekt beschreibt, dass bestimmte Krisstalle eine elektrische Spannung erzeugen, wenn sie unter mechanischen Druck gesetzt werden. +welche kristalle diese fähigkeit haben, hat ganz konkret mit ihrer Symmetrie zu tun. + \section{Geometrie} \begin{totranslate} We'll start with geometric symmetries as they are the simplest to grasp. @@ -68,24 +76,70 @@ We'll start with geometric symmetries as they are the simplest to grasp. to an \(n\)-gon, and is known as the ``Dihedral Group'' of order \(n\). \end{totranslate} -\scene{Symmetrische Gruppe} -\scene{Alternierende Gruppe} - \section{Algebra} -\begin{totranslate} -Let's now move into something seemingly unrelated: \emph{algebra}. -\scene{Complex numbers and cyclic groups} -\end{totranslate} +\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\). 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 das Resultat 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 wird es 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\) die gleiche Form haben, ist im wahrste Sinne +des Wortes. %% Ask Tim: literally true + +\scene{Modulo} +Der Beispiel mit der komplexen Einheit, war wahrscheinlich nicht so +\"uberraschend. Aber was merkw\"urdig ist, ist das diese geometrische Struktur, +kann man auch in anderen Sachen finden, die erst nicht geometrisch aussehen. +Ein Beispiel für Neugierige: Summe in der Modulo-Arithmetik. Um die Geometrie +zu finden denken Sie an einer Uhr. \section{Matrizen} - Das man mit matrizen so einiges darstellen kann ist keine neuigkeit mehr nach einem halben Semester Matheseminar. - Also überrascht es wohl auch keinen, das mann alle punktsymetrischen Operationen auch mit Matrizen Formulieren kann. - (Beispiel zu Rotation mit video) - Für die Spiegelung wie auch eine Punkt inversion habt ihr dank dem matheseminar bestmmt schon eine Idee wie diese Operationen als Matrizen aussehen. - Ich weis nicht obe der Tipp etwas nützt, aber ih müsst nur in der Gruppe O(3) suchen. - Was auch sinn macht, denn die Gruppe O(3) zeichnet sich aus weil ihre Matrizen distanzen konstant hallten wie auch einen fixpunkt haben was sehr erwünscht ist, wenn man Punktsymmetrien beschreiben will. - - +\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. + +% (Beispiel zu Rotation mit video) Für die Spiegelung wie auch eine Punkt +% inversion habt ihr dank dem matheseminar bestmmt schon eine Idee wie diese +% Operationen als Matrizen aussehen. Ich weis nicht obe der Tipp etwas nützt, +% aber ih müsst nur in der Gruppe O(3) suchen. Was auch sinn macht, denn die +% Gruppe O(3) zeichnet sich aus weil ihre Matrizen distanzen konstant hallten +% wie auch einen fixpunkt haben was sehr erwünscht ist, wenn man +% Punktsymmetrien beschreiben will. \section{Krystalle} Jenen welchen die Kristalle bis jetzt ein wenig zu kurz gekommen sind, Freuen sich hoffentlich zurecht an dieser Folie. @@ -108,7 +162,7 @@ Let's now move into something seemingly unrelated: \emph{algebra}. Das heisst der Abstand zwischen B und B' mmuss ein ganzes vielfachen von dem Abstand B zu B' sein. \scene{Restriktion in Algebra} - Ausgeschrieben setzen wir q klein auf die Länge der Translation, \(\alpha\) auf \(2\pi / n\) und \(n \) auf \( \mathbb{N}\) + Ausgeschrieben setzen wir klein auf die Länge der Translation, \(\alpha\) auf \(2\pi / n\) und \(n\) auf \(\mathbb{N}\). \end{document} % vim:et ts=2 sw=2: -- cgit v1.2.1 From f200f1bdb1b14bfcd9c3056d6d0a65f11a7a5ecc Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Sat, 8 May 2021 14:27:54 +0200 Subject: Little fix --- vorlesungen/punktgruppen/slides.pdf | Bin 901246 -> 901496 bytes vorlesungen/punktgruppen/slides.tex | 49 ++++++++++++++++++------------------ 2 files changed, 25 insertions(+), 24 deletions(-) (limited to 'vorlesungen') diff --git a/vorlesungen/punktgruppen/slides.pdf b/vorlesungen/punktgruppen/slides.pdf index d34f6a3..67c9f4a 100644 Binary files a/vorlesungen/punktgruppen/slides.pdf and b/vorlesungen/punktgruppen/slides.pdf differ diff --git a/vorlesungen/punktgruppen/slides.tex b/vorlesungen/punktgruppen/slides.tex index 01d59f4..ddc7ed1 100644 --- a/vorlesungen/punktgruppen/slides.tex +++ b/vorlesungen/punktgruppen/slides.tex @@ -715,7 +715,6 @@ ] \node[font = {\large\bfseries}, align = center] (title) at (5.5,0) {Mit und Ohne\\ Symmetriezentrum}; - \node[below = of title] {Polarisation Feld \(\vec{E}_p\)}; \pause \begin{scope} @@ -728,35 +727,18 @@ \end{scope} \pause - \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 - \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\)}; \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) {}; @@ -776,8 +758,27 @@ \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); + % \draw[gray, thick, dotted] (E) to ++(0,2); + % \draw[gray, thick, dotted] (E) to ++(0,-2); + \end{scope} + \pause + + \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 @@ -805,8 +806,8 @@ \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); + % \draw[gray, thick, dotted] (E) to ++(0,2); + % \draw[gray, thick, dotted] (E) to ++(0,-2); \end{scope} \end{tikzpicture} \end{frame} -- cgit v1.2.1 From 5ea80792f7fea3d05b62239cb5d6220fb43b3d41 Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Sat, 8 May 2021 14:58:28 +0200 Subject: Piezoelectricity is tricky --- vorlesungen/punktgruppen/slides.pdf | Bin 901496 -> 905022 bytes vorlesungen/punktgruppen/slides.tex | 81 +++++++++++++++++++----------------- 2 files changed, 43 insertions(+), 38 deletions(-) (limited to 'vorlesungen') diff --git a/vorlesungen/punktgruppen/slides.pdf b/vorlesungen/punktgruppen/slides.pdf index 67c9f4a..2b2e0d8 100644 Binary files a/vorlesungen/punktgruppen/slides.pdf and b/vorlesungen/punktgruppen/slides.pdf differ diff --git a/vorlesungen/punktgruppen/slides.tex b/vorlesungen/punktgruppen/slides.tex index ddc7ed1..e15dd9a 100644 --- a/vorlesungen/punktgruppen/slides.tex +++ b/vorlesungen/punktgruppen/slides.tex @@ -738,20 +738,28 @@ \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) {}; + \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); + \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] @@ -761,8 +769,9 @@ % \draw[gray, thick, dotted] (E) to ++(0,2); % \draw[gray, thick, dotted] (E) to ++(0,-2); \end{scope} - \pause + \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) {}; \\ @@ -782,33 +791,32 @@ \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) {}; + \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); - } + \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[red!50, right = of E] {\(+\)}; - \node[blue!50, left = of E] {\(-\)}; + \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} @@ -816,22 +824,11 @@ \frametitle{Licht in Kristallen} \begin{columns}[T] \begin{column}{.5\textwidth} - Symmetriegruppe und Darstellung - \begin{align*} - G &= \left\{\mathbb{1}, r, \sigma, \dots \right\} \\ - &\Phi : G \to O(n) - \end{align*} - \begin{align*} - U_\lambda &= \left\{ v : \Phi v = \lambda v \right\} \\ - &= \mathrm{null}\left(\Phi - \lambda I\right) - \end{align*} Helmholtz Wellengleichung \[ \nabla^2 \vec{E} = \ten{\varepsilon}\mu \frac{\partial^2}{\partial t^2} \vec{E} \] - \end{column} - \begin{column}{.5\textwidth} Ebene Welle \[ \vec{E} = \vec{E}_0 \exp\left[i @@ -841,9 +838,17 @@ \[ (\ten{K}\ten{\varepsilon})\vec{E} = \frac{k^2}{\mu \omega^2} \vec{E} \] - \[ - \vec{E} \in U_\lambda \implies (\ten{K}\ten{\varepsilon}) \vec{E} = \lambda \vec{E} - \] + \end{column} + \begin{column}{.5\textwidth} + Symmetriegruppe und Darstellung + \begin{align*} + G &= \left\{\mathbb{1}, r, \sigma, \dots \right\} \\ + &\Phi : G \to O(n) + \end{align*} + \begin{align*} + U_\lambda &= \left\{ v : \Phi v = \lambda v \right\} \\ + &= \mathrm{null}\left(\Phi - \lambda I\right) + \end{align*} \end{column} \end{columns} } -- cgit v1.2.1 From 550545408c41de6ab543e31dde6edfad3d5bd70c Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Sat, 8 May 2021 23:15:07 +0200 Subject: Work on script --- vorlesungen/punktgruppen/script.pdf | Bin 30104 -> 41494 bytes vorlesungen/punktgruppen/script.tex | 203 ++++++++++++++++++------------------ 2 files changed, 101 insertions(+), 102 deletions(-) (limited to 'vorlesungen') diff --git a/vorlesungen/punktgruppen/script.pdf b/vorlesungen/punktgruppen/script.pdf index f56d2f3..5374af4 100644 Binary files a/vorlesungen/punktgruppen/script.pdf and b/vorlesungen/punktgruppen/script.pdf differ diff --git a/vorlesungen/punktgruppen/script.tex b/vorlesungen/punktgruppen/script.tex index 1cd7393..ef16338 100644 --- a/vorlesungen/punktgruppen/script.tex +++ b/vorlesungen/punktgruppen/script.tex @@ -11,70 +11,64 @@ \begin{document} \section{Das sind wir} -\scene{Tim} -Willkommen zu unserer Präsentation über Punktgruppen und deren Anwendung in der -Kristallographie. Ich bin Tim Tönz habe vor dem Studium die Lehre als -Elektroinstallateur abgeschlossen und studiere jetzt Elektrotechnik im Vierten -Semester mit Herrn Naoki Pross. -\scene{Naoki} - Das bin ich \ldots Nun zum Inhalt +\scene{Camera} \section{Ablauf} -Wir möchten Euch zeigen, was eine Punktgruppe ausmacht, Konkret an Bespielen in 2D zeigen mit Gemainsamkeiten zu Algebraischen Symmetrien. -Da wir Menschen jedoch 3 Räumliche Dimensionen Wahrnehmen möchten wir euch die 3D Symetrien natürlcih nicht vorenthalten. -Um dem Thema des Mathematikseminars gerecht zu werden, Werden wir die einfache Verbindung zwischen Matrizen und Punktsymetrien zeigen. -Dammit die Praxis nicht ganz vergessen geht, Kristalle Mathematisch beschreiben und dessen Limitationen in hinsicht Symmetrien. -Als Abschluss Zeigen wir euch einen zusammenhan zwischen Piezoelektrizität und Symmetrien. +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} -Ich hoffe wir konnten schon mit der Einleitung ein wenig Neugirde wecken. -fals dies noch nicht der Fall ist, sind hier noch die wichtigsten fragen, welche wir euch beantworten wollen, oder zumindest überzeugen, wieso dies spannende Fragen sind. -Als erstes, was eine Symetrie ist oder in unserem Fall eine Punktsymetrie. -Was macht ein Kristall aus, also wie kann man seine Wichtigsten eigenschaften mathematisch beschreiben. -Als letztes noch zu der Piezoelektrizität, welche ein Effekt beschreibt, dass bestimmte Krisstalle eine elektrische Spannung erzeugen, wenn sie unter mechanischen Druck gesetzt werden. -welche kristalle diese fähigkeit haben, hat ganz konkret mit ihrer Symmetrie zu tun. - -\section{Geometrie} -\begin{totranslate} -We'll start with geometric symmetries as they are the simplest to grasp. +\scene{Spontan} +\section{2D Geometrie} \scene{Intro} - To mathematically formulate the concept, we will think of symmetries as - actions to perform on an object, like this square. The simplest action, is to - take this square, do nothing and put it back down. Another action could be to - flip it along an axis, or to rotate it around its center by 90 degrees. - -\scene{Cyclic Groups} - Let's focus our attention on the simplest class of symmetries: those - generated by a single rotation. We will gather the symmetries in a group - \(G\), and denote that it is generated by a rotation \(r\) with these angle - brackets. - - Take this pentagon as an example. By applying the rotation \emph{action} 5 - times, it is the same as if we had not done anything, furthermore, if we - \emph{act} a sixth time with \(r\), it will be the same as if we had just - acted with \(r\) once. Thus the group only contain the identity and the - powers of \(r\) up to 4. - - In general, groups with this structure are known as the ``Cyclic Groups'' of - order \(n\), where the action \(r\) can be applied \(n-1\) times before - wrapping around. - - % You can think of them as the rotational symmetries of an \(n\)-gon. - -\scene{Dihedral Groups} - Okay that was not difficult, now let's spice this up a bit. Consider this - group for a square, generated by two actions: a rotation \(r\) and a - reflection \(\sigma\). Because we have two actions we have to write in the - generator how they relate to each other. - - Let's analyze this expression. Two reflections are the same as the identity. - Four rotations are the same as the identity, and a rotation followed by a - reflection, twice, is the same as the identity. - - This forms a group with 8 possible unique actions. This too can be generalized - to an \(n\)-gon, and is known as the ``Dihedral Group'' of order \(n\). -\end{totranslate} +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\)} @@ -86,28 +80,52 @@ 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\). Ordnen wir zu jeder -Symmetrieoperation ein Element aus \(G\). Wenn man die Zuordnung richtig +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 das Resultat zu +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 wird es 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. +"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\) die gleiche Form haben, ist im wahrste Sinne -des Wortes. %% Ask Tim: literally true +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} -Der Beispiel mit der komplexen Einheit, war wahrscheinlich nicht so -\"uberraschend. Aber was merkw\"urdig ist, ist das diese geometrische Struktur, -kann man auch in anderen Sachen finden, die erst nicht geometrisch aussehen. -Ein Beispiel für Neugierige: Summe in der Modulo-Arithmetik. Um die Geometrie -zu finden denken Sie an einer Uhr. +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} @@ -133,36 +151,17 @@ 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. -% (Beispiel zu Rotation mit video) Für die Spiegelung wie auch eine Punkt -% inversion habt ihr dank dem matheseminar bestmmt schon eine Idee wie diese -% Operationen als Matrizen aussehen. Ich weis nicht obe der Tipp etwas nützt, -% aber ih müsst nur in der Gruppe O(3) suchen. Was auch sinn macht, denn die -% Gruppe O(3) zeichnet sich aus weil ihre Matrizen distanzen konstant hallten -% wie auch einen fixpunkt haben was sehr erwünscht ist, wenn man -% Punktsymmetrien beschreiben will. - -\section{Krystalle} - Jenen welchen die Kristalle bis jetzt ein wenig zu kurz gekommen sind, Freuen sich hoffentlich zurecht an dieser Folie. - Es geht ab jetzt nähmlich um Kristalle. - Bevor wir mit ihnen arbeiten könne sollten wir jedoch klähren, was ein Kristall ist. - Per definition aus eienm Anerkanten Theoriebuch von XXXXXXXXXX Zitat:"YYYYYYYYYYYYYYY" - Was so viel heist wie, ein Idealer Kristall ist der schlimmste Ort um sich zu verlaufen. - Macht man nähmlich einen Schritt in genau in das nächste lattice feld hat siet der kristall wieser genau gleich aus. - Als Orentierungshilfe ist diese eigenschaft ein grosser Nachteil nicht jedoch wenn man versucht alle möglichen Symmetrien in einem Kristall zu finden. - Denn die Lattice Strucktur schränkt die unendlichen möglichen Punktsymmetrien im 3D Raum beträchtlich ein. - Was im Englischen bekannt is unter dem Crystallographic Restrictiontheorem. - - \scene{Crystallographic restriction Theorem} - Die Punktsymmetrien von Kristallen sind auf grund verschiedensten geometrischen überlegungen eingeschränkt. - Wir zeigen euch hier nur den beweis wieso die in einem Kristall nur Rotations symetrien um 360,180,120,90 und 60 grad haben kann. - Für den Beweis beginnen wir mit einem Punkt A in dem Gitter wir wssen das in nach einer translation um eine gitterbasis wieder ein Punkt A' existieren muss. - Wir suchen Rotationssymmetrien also drehen wir um den winkel \( \alpha \) und müssen dank der drehsymmetrie \(\alpha\) wieder einen punkt im Gitter finden hier B. - Das selbe oder hier genau die die inverse drehung um \(\alpha\) von A' aus muss uns daher den Punkt B' liefern. - Zwischen zwei punkten im Gitter muss aber die Opertation Q angewendet werden können. - Das heisst der Abstand zwischen B und B' mmuss ein ganzes vielfachen von dem Abstand B zu B' sein. - - \scene{Restriktion in Algebra} - Ausgeschrieben setzen wir klein auf die Länge der Translation, \(\alpha\) auf \(2\pi / n\) und \(n\) auf \(\mathbb{N}\). +\section{Kristalle} +\scene{Spontan} + +\section{Piezo} +\scene{Spontan} + +\section{Licht} +TODO + +\section{Outro} +\scene{Camera} \end{document} % vim:et ts=2 sw=2: -- cgit v1.2.1 From 18a8833cf205fdc887c89f66832cc8d15b12b59c Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Sun, 9 May 2021 17:14:26 +0200 Subject: Light script --- vorlesungen/punktgruppen/script.pdf | Bin 41494 -> 45277 bytes vorlesungen/punktgruppen/script.tex | 49 +++++++++++++++++++++++++++++++++++- 2 files changed, 48 insertions(+), 1 deletion(-) (limited to 'vorlesungen') diff --git a/vorlesungen/punktgruppen/script.pdf b/vorlesungen/punktgruppen/script.pdf index 5374af4..31cdde4 100644 Binary files a/vorlesungen/punktgruppen/script.pdf and b/vorlesungen/punktgruppen/script.pdf differ diff --git a/vorlesungen/punktgruppen/script.tex b/vorlesungen/punktgruppen/script.tex index ef16338..c542702 100644 --- a/vorlesungen/punktgruppen/script.tex +++ b/vorlesungen/punktgruppen/script.tex @@ -158,7 +158,54 @@ dank Herrn M\"uller bekannt. \scene{Spontan} \section{Licht} -TODO +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 Licht in einem Kristall sich +verhaltet. Genauer, wir m\"ochten wie die Amplitude einer +elektromagnetischer Welle in einem Kristall wissen. + +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 den 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 kennen. Und 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 die frage ist, ob man diese Eingenraume der Symmetrienoperationen +kombinieren kann um den Eigenraum des physikalisches Problems zu finden. + +Aber leider ist meine Zeit abgelaufen, also müssen Sie mir einfach glauben, +dass es einen Weg gibt. Und es ist gar nicht so schlimm, wenn man die Notation +einmal gelernt hat. + +Nachdem wir den Eigenraum U gefunden haben, können wir einen Vektor E darin +nehmen und dann 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} -- cgit v1.2.1 From 9c57a4bfed46c945090badce605ca0ea41657543 Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Sun, 9 May 2021 17:21:02 +0200 Subject: Update slides --- vorlesungen/punktgruppen/slides.pdf | Bin 905022 -> 916514 bytes vorlesungen/punktgruppen/slides.tex | 91 +++++++++++++++++++++++++----------- 2 files changed, 65 insertions(+), 26 deletions(-) (limited to 'vorlesungen') diff --git a/vorlesungen/punktgruppen/slides.pdf b/vorlesungen/punktgruppen/slides.pdf index 2b2e0d8..f1e21bc 100644 Binary files a/vorlesungen/punktgruppen/slides.pdf and b/vorlesungen/punktgruppen/slides.pdf differ diff --git a/vorlesungen/punktgruppen/slides.tex b/vorlesungen/punktgruppen/slides.tex index e15dd9a..5e12fa9 100644 --- a/vorlesungen/punktgruppen/slides.tex +++ b/vorlesungen/punktgruppen/slides.tex @@ -6,6 +6,8 @@ % pretty drawings \usepackage{tikz} +\usepackage{tikz-3dplot} + \usetikzlibrary{positioning} \usetikzlibrary{arrows.meta} \usetikzlibrary{shapes.misc} @@ -83,7 +85,7 @@ \begin{itemize} \item Was heisst \emph{Symmetrie} in der Mathematik? \pause \item Wie kann ein Kristall modelliert werden? \pause - \item Aus der Physik: Piezoelektrizit\"at \pause + \item Aus der Physik: Licht, Piezoelektrizit\"at \pause \end{itemize} \begin{center} \begin{tikzpicture} @@ -823,34 +825,71 @@ \frame{ \frametitle{Licht in Kristallen} \begin{columns}[T] - \begin{column}{.5\textwidth} - Helmholtz Wellengleichung - \[ - \nabla^2 \vec{E} = \ten{\varepsilon}\mu - \frac{\partial^2}{\partial t^2} \vec{E} - \] - Ebene Welle - \[ - \vec{E} = \vec{E}_0 \exp\left[i - \left(\vec{k}\cdot\vec{r} - \omega t \right)\right] - \] - Anisotropisch Dielektrikum - \[ - (\ten{K}\ten{\varepsilon})\vec{E} = \frac{k^2}{\mu \omega^2} \vec{E} - \] + \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}{.5\textwidth} - Symmetriegruppe und Darstellung - \begin{align*} - G &= \left\{\mathbb{1}, r, \sigma, \dots \right\} \\ - &\Phi : G \to O(n) - \end{align*} - \begin{align*} - U_\lambda &= \left\{ v : \Phi v = \lambda v \right\} \\ - &= \mathrm{null}\left(\Phi - \lambda I\right) - \end{align*} + \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} -- cgit v1.2.1 From d8fe865f486d8aed3fb7105671783efd6738bfb4 Mon Sep 17 00:00:00 2001 From: HeadAndToes <55713950+HeadAndToes@users.noreply.github.com> Date: Sun, 9 May 2021 17:52:17 +0200 Subject: Update script.tex --- vorlesungen/punktgruppen/script.tex | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'vorlesungen') diff --git a/vorlesungen/punktgruppen/script.tex b/vorlesungen/punktgruppen/script.tex index c542702..789fbd4 100644 --- a/vorlesungen/punktgruppen/script.tex +++ b/vorlesungen/punktgruppen/script.tex @@ -160,14 +160,14 @@ dank Herrn M\"uller bekannt. \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 Licht in einem Kristall sich -verhaltet. Genauer, wir m\"ochten wie die Amplitude einer -elektromagnetischer Welle in einem Kristall wissen. +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 den sigma. +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 @@ -186,20 +186,20 @@ 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 kennen. Und zu jeder dieser Symmetrien lässt sich bekanntlich eine +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 die frage ist, ob man diese Eingenraume der Symmetrienoperationen +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, also müssen Sie mir einfach glauben, -dass es einen Weg gibt. Und es ist gar nicht so schlimm, wenn man die Notation -einmal gelernt hat. +Aber leider ist meine Zeit abgelaufen in der Recherche, also müssen Sie mir einfach glauben, +dass es einen Weg gibt. (Und es ist gar nicht so schlimm, wenn man die Notation +einmal gelernt hat.)-> weiss nicht ganz was du hier sagen willst/wieso du das erwähnst -Nachdem wir den Eigenraum U gefunden haben, können wir einen Vektor E darin -nehmen und dann direkt lambda ablesen. Das sagt uns, wie die Amplitude der +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 -- cgit v1.2.1 From dbeaa2f31d51c098caf46b83ca286cbef358f996 Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Mon, 10 May 2021 13:14:42 +0200 Subject: Recompile slides for handout --- vorlesungen/punktgruppen/slides.pdf | Bin 916514 -> 790926 bytes vorlesungen/punktgruppen/slides.tex | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) (limited to 'vorlesungen') diff --git a/vorlesungen/punktgruppen/slides.pdf b/vorlesungen/punktgruppen/slides.pdf index f1e21bc..e1769f8 100644 Binary files a/vorlesungen/punktgruppen/slides.pdf and b/vorlesungen/punktgruppen/slides.pdf differ diff --git a/vorlesungen/punktgruppen/slides.tex b/vorlesungen/punktgruppen/slides.tex index 5e12fa9..cd3d7d7 100644 --- a/vorlesungen/punktgruppen/slides.tex +++ b/vorlesungen/punktgruppen/slides.tex @@ -1,4 +1,4 @@ -\documentclass[12pt, xcolor, aspectratio=169]{beamer} +\documentclass[12pt, xcolor, aspectratio=169, handout]{beamer} % language \usepackage{polyglossia} -- cgit v1.2.1 From 77fe1064cdf1e7a0233d6bc6411a74e1807e5bbc Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Mon, 10 May 2021 13:15:12 +0200 Subject: Minor changes in script --- vorlesungen/punktgruppen/script.pdf | Bin 45277 -> 44991 bytes vorlesungen/punktgruppen/script.tex | 16 ++++++++-------- 2 files changed, 8 insertions(+), 8 deletions(-) (limited to 'vorlesungen') diff --git a/vorlesungen/punktgruppen/script.pdf b/vorlesungen/punktgruppen/script.pdf index 31cdde4..91993fb 100644 Binary files a/vorlesungen/punktgruppen/script.pdf and b/vorlesungen/punktgruppen/script.pdf differ diff --git a/vorlesungen/punktgruppen/script.tex b/vorlesungen/punktgruppen/script.tex index 789fbd4..bc50e21 100644 --- a/vorlesungen/punktgruppen/script.tex +++ b/vorlesungen/punktgruppen/script.tex @@ -166,8 +166,8 @@ 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. +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 @@ -194,13 +194,13 @@ 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 einfach glauben, -dass es einen Weg gibt. (Und es ist gar nicht so schlimm, wenn man die Notation -einmal gelernt hat.)-> weiss nicht ganz was du hier sagen willst/wieso du das erwähnst +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. +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.: -- cgit v1.2.1 From 28f34a14fce246946b1e0a7d5de3b095c92e342d Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Mon, 10 May 2021 13:17:41 +0200 Subject: Update animation script --- vorlesungen/punktgruppen/crystals.py | 114 ++++++++++++++++++++++++++--------- 1 file changed, 86 insertions(+), 28 deletions(-) (limited to 'vorlesungen') diff --git a/vorlesungen/punktgruppen/crystals.py b/vorlesungen/punktgruppen/crystals.py index b29d7e4..4a9836a 100644 --- a/vorlesungen/punktgruppen/crystals.py +++ b/vorlesungen/punktgruppen/crystals.py @@ -15,6 +15,8 @@ config.tex_template.add_to_preamble( # scenes class Geometric2DSymmetries(Scene): def construct(self): + self.wait(5) + self.intro() self.cyclic() self.dihedral() @@ -33,6 +35,7 @@ class Geometric2DSymmetries(Scene): 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) @@ -41,9 +44,7 @@ class Geometric2DSymmetries(Scene): self.play(Create(axis)) self.play(Write(sigma)) - self.play(ApplyMethod(square.flip, RIGHT)) - self.wait() for d in [UP + RIGHT, UP]: self.play( @@ -53,9 +54,7 @@ class Geometric2DSymmetries(Scene): self.play(Rotate(sigma, -PI/4), run_time=.5) self.play(ApplyMethod(square.flip, d)) - self.play( - FadeOutAndShift(sigma), - Uncreate(axis)) + self.play(FadeOutAndShift(sigma), Uncreate(axis)) # show some rotations dot = Dot(UP + RIGHT) @@ -69,7 +68,7 @@ class Geometric2DSymmetries(Scene): self.play( ReplacementTransform(last, newrot), Rotate(figure, PI/2, about_point=ORIGIN)) - self.wait() + self.wait(.5) last = newrot self.play(Uncreate(dot), FadeOut(square), FadeOut(last)) @@ -99,12 +98,13 @@ class Geometric2DSymmetries(Scene): group = MathTex(r"G = \langle r \rangle") self.play(Write(group), run_time = 2) - self.wait() + 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^3", r"r^4", r"\mathbb{1}", r"r"]) action = next(actions, MathTex(r"r")) @@ -119,6 +119,14 @@ class Geometric2DSymmetries(Scene): 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( @@ -127,7 +135,7 @@ class Geometric2DSymmetries(Scene): self.play(ApplyMethod(group.move_to, ORIGIN)) self.play(ReplacementTransform(group, whole_group)) - self.wait() + self.wait(5) cyclic = MathTex( r"C_n = \langle r \rangle" @@ -158,10 +166,13 @@ class Geometric2DSymmetries(Scene): r"(\sigma r)^2 = \mathbb{1} \rangle") self.play(Write(group), run_time = 2) - self.wait() + 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) @@ -250,6 +261,7 @@ class Geometric2DSymmetries(Scene): # 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\}") @@ -264,12 +276,13 @@ class Geometric2DSymmetries(Scene): self.wait(5) self.play(FadeOut(nsphere_title), FadeOut(nsphere)) + self.wait(2) class Geometric3DSymmetries(ThreeDScene): def construct(self): self.improper_rotation() - self.icosahedron() + self.tetrahedron() def improper_rotation(self): # changes the source of the light and camera @@ -289,6 +302,18 @@ class Geometric3DSymmetries(ThreeDScene): 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): @@ -306,22 +331,17 @@ class Geometric3DSymmetries(ThreeDScene): self.play(FadeOut(square), *map(Create, cyclic_slices)) - 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() - 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( @@ -340,12 +360,18 @@ class Geometric3DSymmetries(ThreeDScene): 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) @@ -375,14 +401,45 @@ class Geometric3DSymmetries(ThreeDScene): self.play(Rotate(dihedral_sphere, PI, RIGHT)) self.wait() - self.wait(5) + 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 + ] - def icosahedron(self): - pass + 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() @@ -406,7 +463,7 @@ class AlgebraicSymmetries(Scene): self.play(ReplacementTransform(product, group)) self.wait(2) - # show Z4 + # 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\}") @@ -414,7 +471,8 @@ class AlgebraicSymmetries(Scene): self.wait(2) self.play(Write(grouppow[1])) - self.wait() + self.wait(4) + self.play(ApplyMethod(grouppow.to_edge, UP)) # define morphisms @@ -429,7 +487,7 @@ class AlgebraicSymmetries(Scene): r"\phi(r) &= i \\", r"\phi(r^2) &= i^2 \\", r"\phi(r^3) &= i^3 \\") - mappings.next_to(morphism, DOWN) + mappings.next_to(morphism, 2 * DOWN) self.play(Write(mappings)) self.wait(3) -- cgit v1.2.1 From 080f4a16ebc02bc8a39fc1d070240b2b250d0273 Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Mon, 10 May 2021 13:18:37 +0200 Subject: Remove shotcut project --- .../shotcut/Punktgruppen/Punktgruppen.mlt | 101 --------------------- 1 file changed, 101 deletions(-) delete mode 100644 vorlesungen/punktgruppen/shotcut/Punktgruppen/Punktgruppen.mlt (limited to 'vorlesungen') diff --git a/vorlesungen/punktgruppen/shotcut/Punktgruppen/Punktgruppen.mlt b/vorlesungen/punktgruppen/shotcut/Punktgruppen/Punktgruppen.mlt deleted file mode 100644 index 7275d5c..0000000 --- a/vorlesungen/punktgruppen/shotcut/Punktgruppen/Punktgruppen.mlt +++ /dev/null @@ -1,101 +0,0 @@ - - - - - 4200 - pause - /home/npross/docs/school/hsr/MathSem1/SeminarMatrizen/vorlesungen/punktgruppen/media/videos/camera/DSCF6392.MOV - avformat-novalidate - 1 - 1 - 0 - 0 - was here - d255c7f03c50cb9dcfb2f9e0db73cb05 - - - 1 - - - - 00:01:10.000 - pause - 0 - 1 - color - rgba - 0 - - - - - - 4200 - pause - /home/npross/docs/school/hsr/MathSem1/SeminarMatrizen/vorlesungen/punktgruppen/media/videos/camera/DSCF6392.MOV - avformat-novalidate - 1 - -1 - 0 - 0 - was here - d255c7f03c50cb9dcfb2f9e0db73cb05 - DSCF6392.MOV - 1 - - - 1 - V1 - - - - 4200 - pause - /home/npross/docs/school/hsr/MathSem1/SeminarMatrizen/vorlesungen/punktgruppen/media/videos/camera/DSCF6392.MOV - avformat-novalidate - 1 - 1 - 0 - 0 - was here - d255c7f03c50cb9dcfb2f9e0db73cb05 - DSCF6392.MOV - 1 - - - 1 - A1 - - - - 1 - 0.174581 - 2 - 1 - - - - - 0 - 1 - mix - 1 - 1 - - - 0 - 1 - 0.9 - frei0r.cairoblend - 0 - 1 - - - 0 - 2 - mix - 1 - 1 - - - -- cgit v1.2.1 From 7813a0a9cd5a05672a52f4ef5f2885dc24514249 Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Mon, 10 May 2021 13:20:33 +0200 Subject: Update gitignore --- vorlesungen/punktgruppen/.gitignore | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'vorlesungen') diff --git a/vorlesungen/punktgruppen/.gitignore b/vorlesungen/punktgruppen/.gitignore index 841ea7e..3633a3d 100644 --- a/vorlesungen/punktgruppen/.gitignore +++ b/vorlesungen/punktgruppen/.gitignore @@ -1,8 +1,16 @@ # directories __pycache__ media/Tex + media/images/crystal +media/images/freezeframes + media/videos +media/audio + +media/Punktgruppen +media/Punktgruppen.mp4 + build # files -- cgit v1.2.1 From da927e6c04044f89e861ae4b0ee44d6131d32092 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Thu, 13 May 2021 11:09:02 +0200 Subject: add new slides --- vorlesungen/11_msegraphen/Makefile | 33 +++ .../11_msegraphen/MathSemMSE-11-graphen.tex | 14 ++ vorlesungen/11_msegraphen/common.tex | 16 ++ vorlesungen/11_msegraphen/graphen-handout.tex | 11 + vorlesungen/11_msegraphen/slides.tex | 31 +++ vorlesungen/slides/8/Makefile.inc | 3 + vorlesungen/slides/8/chapter.tex | 4 + vorlesungen/slides/8/chrind.tex | 231 +++++++++++++++++++++ vorlesungen/slides/8/chrindprop.tex | 62 ++++++ vorlesungen/slides/8/chroma1.tex | 56 +++++ vorlesungen/slides/8/spanningtree.tex | 4 +- 11 files changed, 464 insertions(+), 1 deletion(-) create mode 100644 vorlesungen/11_msegraphen/Makefile create mode 100644 vorlesungen/11_msegraphen/MathSemMSE-11-graphen.tex create mode 100644 vorlesungen/11_msegraphen/common.tex create mode 100644 vorlesungen/11_msegraphen/graphen-handout.tex create mode 100644 vorlesungen/11_msegraphen/slides.tex create mode 100644 vorlesungen/slides/8/chrind.tex create mode 100644 vorlesungen/slides/8/chrindprop.tex create mode 100644 vorlesungen/slides/8/chroma1.tex (limited to 'vorlesungen') 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{% +\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..b152d82 --- /dev/null +++ b/vorlesungen/11_msegraphen/slides.tex @@ -0,0 +1,31 @@ +% +% 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} diff --git a/vorlesungen/slides/8/Makefile.inc b/vorlesungen/slides/8/Makefile.inc index d46dc7f..b2823ca 100644 --- a/vorlesungen/slides/8/Makefile.inc +++ b/vorlesungen/slides/8/Makefile.inc @@ -28,5 +28,8 @@ 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/chapter.tex diff --git a/vorlesungen/slides/8/chapter.tex b/vorlesungen/slides/8/chapter.tex index 6a0b13f..2110bb2 100644 --- a/vorlesungen/slides/8/chapter.tex +++ b/vorlesungen/slides/8/chapter.tex @@ -30,3 +30,7 @@ \folie{8/tokyo/bahn1.tex} \folie{8/tokyo/bahn2.tex} +\folie{8/chrind.tex} +\folie{8/chrindprop.tex} +\folie{8/chroma1.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 $ $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/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 -- cgit v1.2.1 From 0089fd1369af66dd7f694d18290f4f677b5046ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Thu, 13 May 2021 18:05:26 +0200 Subject: add new slides --- vorlesungen/11_msegraphen/slides.tex | 6 +- vorlesungen/slides/8/Makefile.inc | 4 ++ vorlesungen/slides/8/amax.tex | 86 ++++++++++++++++++++++++++ vorlesungen/slides/8/chapter.tex | 4 ++ vorlesungen/slides/8/chrwilf.tex | 115 +++++++++++++++++++++++++++++++++++ vorlesungen/slides/8/subgraph.tex | 60 ++++++++++++++++++ vorlesungen/slides/8/weitere.tex | 43 +++++++++++++ vorlesungen/slides/8/wilf.m | 22 +++++++ 8 files changed, 339 insertions(+), 1 deletion(-) create mode 100644 vorlesungen/slides/8/amax.tex create mode 100644 vorlesungen/slides/8/chrwilf.tex create mode 100644 vorlesungen/slides/8/subgraph.tex create mode 100644 vorlesungen/slides/8/weitere.tex create mode 100644 vorlesungen/slides/8/wilf.m (limited to 'vorlesungen') diff --git a/vorlesungen/11_msegraphen/slides.tex b/vorlesungen/11_msegraphen/slides.tex index b152d82..3fa5510 100644 --- a/vorlesungen/11_msegraphen/slides.tex +++ b/vorlesungen/11_msegraphen/slides.tex @@ -28,4 +28,8 @@ %\folie{8/chrind.tex} %\folie{8/chrindprop.tex} -\folie{8/chroma1.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/slides/8/Makefile.inc b/vorlesungen/slides/8/Makefile.inc index b2823ca..81f91d0 100644 --- a/vorlesungen/slides/8/Makefile.inc +++ b/vorlesungen/slides/8/Makefile.inc @@ -31,5 +31,9 @@ chapter8 = \ ../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/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 2110bb2..7511e3e 100644 --- a/vorlesungen/slides/8/chapter.tex +++ b/vorlesungen/slides/8/chapter.tex @@ -33,4 +33,8 @@ \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/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/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/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) -- cgit v1.2.1 From f1e6ef449cbcb3d5653f23614511b8c6db3dd282 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Thu, 13 May 2021 18:41:38 +0200 Subject: typos --- vorlesungen/11_msegraphen/slides.tex | 38 ++++++++++++++++++------------------ vorlesungen/slides/8/inzidenz.tex | 4 +++- vorlesungen/slides/8/inzidenzd.tex | 4 +++- vorlesungen/slides/8/produkt.tex | 2 +- 4 files changed, 26 insertions(+), 22 deletions(-) (limited to 'vorlesungen') diff --git a/vorlesungen/11_msegraphen/slides.tex b/vorlesungen/11_msegraphen/slides.tex index 3fa5510..b3d1519 100644 --- a/vorlesungen/11_msegraphen/slides.tex +++ b/vorlesungen/11_msegraphen/slides.tex @@ -4,21 +4,21 @@ % (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/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/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} @@ -26,10 +26,10 @@ %\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/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/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*} -- cgit v1.2.1 From e66a66d3519490e2f7cb50227a9771faf4866068 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Tue, 18 May 2021 10:42:05 +0200 Subject: add new presentation files --- vorlesungen/12_msewkeitsmatrizen/Makefile | 33 ++++++++++++++++++++++ .../MathSemMSE-12-wkeitsmatrizen.tex | 14 +++++++++ vorlesungen/12_msewkeitsmatrizen/common.tex | 16 +++++++++++ vorlesungen/12_msewkeitsmatrizen/slides.tex | 13 +++++++++ .../wkeitsmatrizen-handout.tex | 11 ++++++++ vorlesungen/slides/7/exponentialreihe.tex | 24 ++++++++++++++++ 6 files changed, 111 insertions(+) create mode 100644 vorlesungen/12_msewkeitsmatrizen/Makefile create mode 100644 vorlesungen/12_msewkeitsmatrizen/MathSemMSE-12-wkeitsmatrizen.tex create mode 100644 vorlesungen/12_msewkeitsmatrizen/common.tex create mode 100644 vorlesungen/12_msewkeitsmatrizen/slides.tex create mode 100644 vorlesungen/12_msewkeitsmatrizen/wkeitsmatrizen-handout.tex create mode 100644 vorlesungen/slides/7/exponentialreihe.tex (limited to 'vorlesungen') diff --git a/vorlesungen/12_msewkeitsmatrizen/Makefile b/vorlesungen/12_msewkeitsmatrizen/Makefile new file mode 100644 index 0000000..c461d96 --- /dev/null +++ b/vorlesungen/12_msewkeitsmatrizen/Makefile @@ -0,0 +1,33 @@ +# +# 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 + 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{% +\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..177712d --- /dev/null +++ b/vorlesungen/12_msewkeitsmatrizen/slides.tex @@ -0,0 +1,13 @@ +% +% slides.tex -- XXX +% +% (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\section{Google} + +\section{Markov-Ketten} + +\section{Perron-Frobenius} + +\section{Parrondo} + 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/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 -- cgit v1.2.1 From 1678bfd4fa5944538e6961d16be92db9b8fa4ed8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Tue, 18 May 2021 12:45:59 +0200 Subject: add slides --- vorlesungen/12_msewkeitsmatrizen/slides.tex | 7 +++ vorlesungen/slides/9/Makefile.inc | 2 + vorlesungen/slides/9/chapter.tex | 3 ++ vorlesungen/slides/9/pf/positiv.tex | 59 ++++++++++++++++++++ vorlesungen/slides/9/pf/primitiv.tex | 84 +++++++++++++++++++++++++++++ vorlesungen/slides/test.tex | 3 +- 6 files changed, 157 insertions(+), 1 deletion(-) create mode 100644 vorlesungen/slides/9/pf/positiv.tex create mode 100644 vorlesungen/slides/9/pf/primitiv.tex (limited to 'vorlesungen') diff --git a/vorlesungen/12_msewkeitsmatrizen/slides.tex b/vorlesungen/12_msewkeitsmatrizen/slides.tex index 177712d..992ba5d 100644 --- a/vorlesungen/12_msewkeitsmatrizen/slides.tex +++ b/vorlesungen/12_msewkeitsmatrizen/slides.tex @@ -4,10 +4,17 @@ % (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.tex} \section{Parrondo} diff --git a/vorlesungen/slides/9/Makefile.inc b/vorlesungen/slides/9/Makefile.inc index fa6c29b..a64a09a 100644 --- a/vorlesungen/slides/9/Makefile.inc +++ b/vorlesungen/slides/9/Makefile.inc @@ -10,5 +10,7 @@ chapter9 = \ ../slides/9/irreduzibel.tex \ ../slides/9/stationaer.tex \ ../slides/9/pf.tex \ + ../slides/9/pf/positiv.tex \ + ../slides/9/pf/primitiv.tex \ ../slides/9/chapter.tex diff --git a/vorlesungen/slides/9/chapter.tex b/vorlesungen/slides/9/chapter.tex index 9e26587..ded0176 100644 --- a/vorlesungen/slides/9/chapter.tex +++ b/vorlesungen/slides/9/chapter.tex @@ -11,4 +11,7 @@ \folie{9/irreduzibel.tex} \folie{9/pf.tex} +\folie{9/pf/positiv.tex} +\folie{9/pf/primitiv.tex} + diff --git a/vorlesungen/slides/9/pf/positiv.tex b/vorlesungen/slides/9/pf/positiv.tex new file mode 100644 index 0000000..382dfd6 --- /dev/null +++ b/vorlesungen/slides/9/pf/positiv.tex @@ -0,0 +1,59 @@ +% +% 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} +\begin{block}{Relation $>\mathstrut$} +Man schreibt $A>B$ wenn $A-B > 0\mathstrut$ +\end{block} +\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} +\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} +\begin{block}{Relation $\ge\mathstrut$} +Man schreibt $A\ge B$ wenn $A-B \ge 0\mathstrut$ +\end{block} +\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/test.tex b/vorlesungen/slides/test.tex index 7434b0b..6245b76 100644 --- a/vorlesungen/slides/test.tex +++ b/vorlesungen/slides/test.tex @@ -3,5 +3,6 @@ % % (c) 2021 Prof Dr Andreas Müller, Hochschule Rapperswil % -\folie{7/logarithmus.tex} +\folie{9/pf/positiv.tex} +\folie{9/pf/primitiv.tex} -- cgit v1.2.1 From 1cc2af1d5f61c848cb1fcccdc021addfb0e1626e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Tue, 18 May 2021 20:24:21 +0200 Subject: add new slides --- vorlesungen/slides/9/Makefile.inc | 4 ++ vorlesungen/slides/9/chapter.tex | 4 ++ vorlesungen/slides/9/pf/dreieck.tex | 19 ++++++ vorlesungen/slides/9/pf/trennung.tex | 99 ++++++++++++++++++++++++++++ vorlesungen/slides/9/pf/vergleich.tex | 113 ++++++++++++++++++++++++++++++++ vorlesungen/slides/9/pf/vergleich3d.tex | 26 ++++++++ vorlesungen/slides/test.tex | 8 ++- 7 files changed, 271 insertions(+), 2 deletions(-) create mode 100644 vorlesungen/slides/9/pf/dreieck.tex create mode 100644 vorlesungen/slides/9/pf/trennung.tex create mode 100644 vorlesungen/slides/9/pf/vergleich.tex create mode 100644 vorlesungen/slides/9/pf/vergleich3d.tex (limited to 'vorlesungen') diff --git a/vorlesungen/slides/9/Makefile.inc b/vorlesungen/slides/9/Makefile.inc index a64a09a..e23cf09 100644 --- a/vorlesungen/slides/9/Makefile.inc +++ b/vorlesungen/slides/9/Makefile.inc @@ -12,5 +12,9 @@ chapter9 = \ ../slides/9/pf.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/chapter.tex diff --git a/vorlesungen/slides/9/chapter.tex b/vorlesungen/slides/9/chapter.tex index ded0176..595dec9 100644 --- a/vorlesungen/slides/9/chapter.tex +++ b/vorlesungen/slides/9/chapter.tex @@ -13,5 +13,9 @@ \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} diff --git a/vorlesungen/slides/9/pf/dreieck.tex b/vorlesungen/slides/9/pf/dreieck.tex new file mode 100644 index 0000000..ba26e9e --- /dev/null +++ b/vorlesungen/slides/9/pf/dreieck.tex @@ -0,0 +1,19 @@ +% +% 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.48\textwidth} +\end{column} +\begin{column}{0.48\textwidth} +\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\;|\; wv\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{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/test.tex b/vorlesungen/slides/test.tex index 6245b76..93f899d 100644 --- a/vorlesungen/slides/test.tex +++ b/vorlesungen/slides/test.tex @@ -3,6 +3,10 @@ % % (c) 2021 Prof Dr Andreas Müller, Hochschule Rapperswil % -\folie{9/pf/positiv.tex} -\folie{9/pf/primitiv.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} -- cgit v1.2.1 From cd89b4b8b98a5ac8bfc3f4182df01b1b80f33c79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Wed, 19 May 2021 20:42:21 +0200 Subject: new slides --- vorlesungen/12_msewkeitsmatrizen/slides.tex | 8 ++ vorlesungen/slides/9/Makefile.inc | 2 + vorlesungen/slides/9/chapter.tex | 2 + vorlesungen/slides/9/pf/dreieck.tex | 29 ++++- vorlesungen/slides/9/pf/folgerungen.tex | 194 ++++++++++++++++++++++++++++ vorlesungen/slides/9/potenz.tex | 15 +++ vorlesungen/slides/test.tex | 10 +- 7 files changed, 254 insertions(+), 6 deletions(-) create mode 100644 vorlesungen/slides/9/pf/folgerungen.tex create mode 100644 vorlesungen/slides/9/potenz.tex (limited to 'vorlesungen') diff --git a/vorlesungen/12_msewkeitsmatrizen/slides.tex b/vorlesungen/12_msewkeitsmatrizen/slides.tex index 992ba5d..f729086 100644 --- a/vorlesungen/12_msewkeitsmatrizen/slides.tex +++ b/vorlesungen/12_msewkeitsmatrizen/slides.tex @@ -14,7 +14,15 @@ \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} diff --git a/vorlesungen/slides/9/Makefile.inc b/vorlesungen/slides/9/Makefile.inc index e23cf09..4f8fc40 100644 --- a/vorlesungen/slides/9/Makefile.inc +++ b/vorlesungen/slides/9/Makefile.inc @@ -10,11 +10,13 @@ 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/chapter.tex diff --git a/vorlesungen/slides/9/chapter.tex b/vorlesungen/slides/9/chapter.tex index 595dec9..1915073 100644 --- a/vorlesungen/slides/9/chapter.tex +++ b/vorlesungen/slides/9/chapter.tex @@ -10,6 +10,7 @@ \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} @@ -17,5 +18,6 @@ \folie{9/pf/vergleich.tex} \folie{9/pf/vergleich3d.tex} \folie{9/pf/dreieck.tex} +\folie{9/pf/folgerungen.tex} diff --git a/vorlesungen/slides/9/pf/dreieck.tex b/vorlesungen/slides/9/pf/dreieck.tex index ba26e9e..0a572f3 100644 --- a/vorlesungen/slides/9/pf/dreieck.tex +++ b/vorlesungen/slides/9/pf/dreieck.tex @@ -10,9 +10,34 @@ \frametitle{Verallgemeinerte Dreiecksungleichung} \vspace{-20pt} \begin{columns}[t,onlytextwidth] -\begin{column}{0.48\textwidth} +\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.48\textwidth} +\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} diff --git a/vorlesungen/slides/9/pf/folgerungen.tex b/vorlesungen/slides/9/pf/folgerungen.tex new file mode 100644 index 0000000..cef8dd2 --- /dev/null +++ b/vorlesungen/slides/9/pf/folgerungen.tex @@ -0,0 +1,194 @@ +% +% 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} +\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}} +\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 93f899d..e14410d 100644 --- a/vorlesungen/slides/test.tex +++ b/vorlesungen/slides/test.tex @@ -5,8 +5,10 @@ % %\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/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} -- cgit v1.2.1 From be0efa031a6f2e83ea7394c960ec7ad236f89038 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Thu, 20 May 2021 09:11:40 +0200 Subject: fix handout --- vorlesungen/slides/9/pf/folgerungen.tex | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'vorlesungen') diff --git a/vorlesungen/slides/9/pf/folgerungen.tex b/vorlesungen/slides/9/pf/folgerungen.tex index cef8dd2..5042c78 100644 --- a/vorlesungen/slides/9/pf/folgerungen.tex +++ b/vorlesungen/slides/9/pf/folgerungen.tex @@ -32,6 +32,7 @@ ist eindimensional \end{block} } \end{column} +\ifthenelse{\boolean{presentation}}{ \only<-6>{ \begin{column}{0.48\textwidth} \begin{proof}[Beweis] @@ -189,6 +190,14 @@ $\mathcal{E}_{\varrho(A)}$ geben \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 -- cgit v1.2.1 From 80416f0ab893f2b80a01be4acc13bd03c7a03682 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Thu, 20 May 2021 10:09:26 +0200 Subject: add new slides --- vorlesungen/slides/9/Makefile.inc | 4 ++ vorlesungen/slides/9/chapter.tex | 4 ++ vorlesungen/slides/9/parrondo/erwartung.tex | 76 ++++++++++++++++++++++++ vorlesungen/slides/9/parrondo/spiela.tex | 51 ++++++++++++++++ vorlesungen/slides/9/parrondo/spielb.tex | 83 ++++++++++++++++++++++++++ vorlesungen/slides/9/parrondo/spielbmod.tex | 91 +++++++++++++++++++++++++++++ vorlesungen/slides/9/pf/positiv.tex | 15 +++-- vorlesungen/slides/test.tex | 15 ++++- 8 files changed, 333 insertions(+), 6 deletions(-) create mode 100644 vorlesungen/slides/9/parrondo/erwartung.tex create mode 100644 vorlesungen/slides/9/parrondo/spiela.tex create mode 100644 vorlesungen/slides/9/parrondo/spielb.tex create mode 100644 vorlesungen/slides/9/parrondo/spielbmod.tex (limited to 'vorlesungen') diff --git a/vorlesungen/slides/9/Makefile.inc b/vorlesungen/slides/9/Makefile.inc index 4f8fc40..2ce78c0 100644 --- a/vorlesungen/slides/9/Makefile.inc +++ b/vorlesungen/slides/9/Makefile.inc @@ -18,5 +18,9 @@ chapter9 = \ ../slides/9/pf/vergleich3d.tex \ ../slides/9/pf/dreieck.tex \ ../slides/9/pf/folgerungen.tex \ + ../slides/9/parrondo/erwartung.tex \ + ../slides/9/parrondo/spiela.tex \ + ../slides/9/parrondo/spielb.tex \ + ../slides/9/parrondo/spielbmod.tex \ ../slides/9/chapter.tex diff --git a/vorlesungen/slides/9/chapter.tex b/vorlesungen/slides/9/chapter.tex index 1915073..86e528d 100644 --- a/vorlesungen/slides/9/chapter.tex +++ b/vorlesungen/slides/9/chapter.tex @@ -20,4 +20,8 @@ \folie{9/pf/dreieck.tex} \folie{9/pf/folgerungen.tex} +\folie{9/parrondo/erwartung.tex} +\folie{9/parrondo/spiela.tex} +\folie{9/parrondo/spielb.tex} +\folie{9/parrondo/spielbmod.tex} diff --git a/vorlesungen/slides/9/parrondo/erwartung.tex b/vorlesungen/slides/9/parrondo/erwartung.tex new file mode 100644 index 0000000..67bb61d --- /dev/null +++ b/vorlesungen/slides/9/parrondo/erwartung.tex @@ -0,0 +1,76 @@ +% +% 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} +\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} +\begin{block}{Erwartungswerte} +\begin{align*} +E(X) +&= +\sum_i x_ip_i += +x^tp += +U^t x\odot p +\\ +E(X^2) +&= +\sum_i x_i^2p_i += +(x\odot x)^tp += +U^t (x\odot x) \odot p +\\ +E(X^k) +&= +\sum_i x_i^kp_i += +U^t x^{\odot k}\odot p +\end{align*} +Substitution: +\begin{align*} +\sum_i &\to U^t\\ +x_i^k &\to x^{\odot k} +\end{align*} +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/spiela.tex b/vorlesungen/slides/9/parrondo/spiela.tex new file mode 100644 index 0000000..4b3b50c --- /dev/null +++ b/vorlesungen/slides/9/parrondo/spiela.tex @@ -0,0 +1,51 @@ +% +% 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+e +\\ +P(X= - 1) +&= +\frac12-e +\end{align*} +Bernoulli-Experiment mit $p=\frac12+e$ +\end{block} +\end{column} +\begin{column}{0.48\textwidth} +\begin{block}{Gewinnerwartung} +\begin{align*} +E(X) +&= +P(X=1)\cdot (1) +\\ +&\qquad ++ +P(X=-1)\cdot (-1) +\\ +&= +\biggl(\frac12+e\biggr)\cdot 1 ++ +\biggl(\frac12-e\biggr)\cdot (-1) +\\ +&=2e +\end{align*} +$\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..6ad512c --- /dev/null +++ b/vorlesungen/slides/9/parrondo/spielb.tex @@ -0,0 +1,83 @@ +% +% 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} +\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} +\begin{block}{Markov-Kette $Y$} +Übergangsmatrix +\[ +B=\begin{pmatrix} +0&\frac14&\frac34\\ +\frac{1}{10}&0&\frac14\\ +\frac{9}{10}&\frac34&0 +\end{pmatrix} +\] +Gewinnmatrix: +\[ +G=\begin{pmatrix*}[r] +0&-1&1\\ +1&0&-1\\ +-1&1&0 +\end{pmatrix*} +\] +\end{block} +\begin{block}{Gewinnerwartung} +\begin{align*} +E(Y) +&= +U^t(G\odot B)p +\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..ee1d12d --- /dev/null +++ b/vorlesungen/slides/9/parrondo/spielbmod.tex @@ -0,0 +1,91 @@ +% +% 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 $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}+\varepsilon$}; +\node at (150:{0.9*\r}) {\tiny $\frac1{10}-\varepsilon$}; +\node at (270:\r) {$\frac34-\varepsilon$}; + +\node at (30:{1.1*\R}) {$\frac{3}{4}-\varepsilon$}; +\node at (150:{1.1*\R}) {$\frac1{4}+\varepsilon$}; +\node at (270:\R) {$\frac14+\varepsilon$}; + +\end{tikzpicture} +\end{center} +\end{block} +\end{column} +\begin{column}{0.48\textwidth} +\begin{block}{Markov-Kette $\tilde{Y}$} +Übergangsmatrix +\[ +\tilde{B}= +B+\varepsilon F += +B+\varepsilon\begin{pmatrix*}[r] +0&1&-1\\ +-1&0&1\\ +1&-1&0 +\end{pmatrix*} +\] +Gewinnmatrix: +\[ +G=\begin{pmatrix*}[r] +0&-1&1\\ +1&0&-1\\ +-1&1&0 +\end{pmatrix*} +\] +\end{block} +\begin{block}{Gewinnerwartung} +\begin{align*} +E(\tilde{Y}) +&= +U^t(G\odot \tilde{B})p +\\ +&= +E(Y) + \varepsilon U^t(G\odot F)p += +\frac1{15}+2\varepsilon +\end{align*} +\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 index 382dfd6..d7e833d 100644 --- a/vorlesungen/slides/9/pf/positiv.tex +++ b/vorlesungen/slides/9/pf/positiv.tex @@ -18,9 +18,11 @@ 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} +\end{block}} +\uncover<5->{% \begin{block}{Wahrscheinlichkeitsmatrix} \[ W=\begin{pmatrix} @@ -30,19 +32,22 @@ W=\begin{pmatrix} \end{pmatrix} \] Spaltensumme$\mathstrut=1$, Zeilensumme$\mathstrut=?$ -\end{block} +\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} +\end{block}} +\uncover<4->{% \begin{block}{Relation $\ge\mathstrut$} Man schreibt $A\ge B$ wenn $A-B \ge 0\mathstrut$ -\end{block} +\end{block}} +\uncover<6->{% \begin{block}{Permutationsmatrix} \[ P=\begin{pmatrix} @@ -52,7 +57,7 @@ P=\begin{pmatrix} \end{pmatrix} \] Genau eine $1$ in jeder Zeile/Spalte -\end{block} +\end{block}} \end{column} \end{columns} \end{frame} diff --git a/vorlesungen/slides/test.tex b/vorlesungen/slides/test.tex index e14410d..c1cf856 100644 --- a/vorlesungen/slides/test.tex +++ b/vorlesungen/slides/test.tex @@ -3,6 +3,12 @@ % % (c) 2021 Prof Dr Andreas Müller, Hochschule Rapperswil % +%\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} @@ -10,5 +16,12 @@ %\folie{9/pf/vergleich3d.tex} %\folie{9/pf/dreieck.tex} %\folie{9/pf/folgerungen.tex} -\folie{9/potenz.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} -- cgit v1.2.1 From afde1752bdb1adfec3fd1c369ecc69833ea6c2c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Thu, 20 May 2021 13:17:08 +0200 Subject: add new slides --- vorlesungen/slides/9/Makefile.inc | 2 + vorlesungen/slides/9/chapter.tex | 2 + vorlesungen/slides/9/parrondo/deformation.tex | 36 ++++++++++++++ vorlesungen/slides/9/parrondo/kombiniert.tex | 68 +++++++++++++++++++++++++++ vorlesungen/slides/test.tex | 3 +- 5 files changed, 110 insertions(+), 1 deletion(-) create mode 100644 vorlesungen/slides/9/parrondo/deformation.tex create mode 100644 vorlesungen/slides/9/parrondo/kombiniert.tex (limited to 'vorlesungen') diff --git a/vorlesungen/slides/9/Makefile.inc b/vorlesungen/slides/9/Makefile.inc index 2ce78c0..095fc12 100644 --- a/vorlesungen/slides/9/Makefile.inc +++ b/vorlesungen/slides/9/Makefile.inc @@ -22,5 +22,7 @@ chapter9 = \ ../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 86e528d..0a00d8d 100644 --- a/vorlesungen/slides/9/chapter.tex +++ b/vorlesungen/slides/9/chapter.tex @@ -24,4 +24,6 @@ \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..4ab7066 --- /dev/null +++ b/vorlesungen/slides/9/parrondo/deformation.tex @@ -0,0 +1,36 @@ +% +% 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 +\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} +Die Deformation für das Spiel $C$ startet mit Erwartungswert $\frac{18}{709}$ +\begin{align*} +E(Z)&=\frac{18}{709} +&&\rightarrow& +E(Z_*)&>0 +\end{align*} +Die Deformation ist immer noch ein Gewinnspiel +\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..8a7fe43 --- /dev/null +++ b/vorlesungen/slides/9/parrondo/kombiniert.tex @@ -0,0 +1,68 @@ +% +% 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} +\begin{block}{Übergangsmatrix} +Münzwurf $X$ +\begin{align*} +C +&= +P(X=\text{Kopf})\cdot A ++ +P(X=\text{Zahl})\cdot B +\\ +&= +\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} +\begin{block}{Gewinnerwartung im Einzelspiel} +\[ +p=\frac13U +\Rightarrow +U^t(G\odot C)p += +-\frac{1}{30} +\] +\end{block} +\end{column} +\begin{column}{0.48\textwidth} +\begin{block}{Iteriertes Spiel} +\[ +\overline{p}=C\overline{p} +\quad +\Rightarrow +\quad +\overline{p}=\frac{1}{709}\begin{pmatrix}245\\180\\284\end{pmatrix} +\] +\end{block} +\begin{block}{Gewinnerwartung} +\begin{align*} +E(Z) +&= +U^t (G\odot C) \overline{p} += +\frac{18}{709} +\end{align*} +$C$ ist ein Gewinnspiel! +\end{block} +\end{column} +\end{columns} +\end{frame} +\egroup diff --git a/vorlesungen/slides/test.tex b/vorlesungen/slides/test.tex index c1cf856..4289c44 100644 --- a/vorlesungen/slides/test.tex +++ b/vorlesungen/slides/test.tex @@ -23,5 +23,6 @@ \folie{9/parrondo/spiela.tex} \folie{9/parrondo/spielb.tex} \folie{9/parrondo/spielbmod.tex} -%\folie{9/parrondo/kombiniert.tex} +\folie{9/parrondo/kombiniert.tex} +\folie{9/parrondo/deformation.tex} -- cgit v1.2.1 From d3b772e811ac42cb912cce367b8e7bee07881084 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Thu, 20 May 2021 20:24:26 +0200 Subject: add slides --- vorlesungen/12_msewkeitsmatrizen/Makefile | 9 ++++++ vorlesungen/12_msewkeitsmatrizen/slides.tex | 7 ++++ vorlesungen/slides/9/Makefile.inc | 1 + vorlesungen/slides/9/chapter.tex | 1 + vorlesungen/slides/9/parrondo/deformation.tex | 21 ++++++++---- vorlesungen/slides/9/parrondo/erwartung.tex | 41 +++++++++++++----------- vorlesungen/slides/9/parrondo/kombiniert.tex | 31 ++++++++++-------- vorlesungen/slides/9/parrondo/spiela.tex | 25 ++++++++------- vorlesungen/slides/9/parrondo/spielb.tex | 25 ++++++++++++--- vorlesungen/slides/9/parrondo/spielbmod.tex | 46 +++++++++++++++++---------- vorlesungen/slides/9/parrondo/uebersicht.tex | 17 ++++++++++ 11 files changed, 154 insertions(+), 70 deletions(-) create mode 100644 vorlesungen/slides/9/parrondo/uebersicht.tex (limited to 'vorlesungen') diff --git a/vorlesungen/12_msewkeitsmatrizen/Makefile b/vorlesungen/12_msewkeitsmatrizen/Makefile index c461d96..ec420cd 100644 --- a/vorlesungen/12_msewkeitsmatrizen/Makefile +++ b/vorlesungen/12_msewkeitsmatrizen/Makefile @@ -31,3 +31,12 @@ 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/slides.tex b/vorlesungen/12_msewkeitsmatrizen/slides.tex index f729086..e0f8e9c 100644 --- a/vorlesungen/12_msewkeitsmatrizen/slides.tex +++ b/vorlesungen/12_msewkeitsmatrizen/slides.tex @@ -25,4 +25,11 @@ \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/slides/9/Makefile.inc b/vorlesungen/slides/9/Makefile.inc index 095fc12..2257810 100644 --- a/vorlesungen/slides/9/Makefile.inc +++ b/vorlesungen/slides/9/Makefile.inc @@ -18,6 +18,7 @@ chapter9 = \ ../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 \ diff --git a/vorlesungen/slides/9/chapter.tex b/vorlesungen/slides/9/chapter.tex index 0a00d8d..cbab0f0 100644 --- a/vorlesungen/slides/9/chapter.tex +++ b/vorlesungen/slides/9/chapter.tex @@ -20,6 +20,7 @@ \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} diff --git a/vorlesungen/slides/9/parrondo/deformation.tex b/vorlesungen/slides/9/parrondo/deformation.tex index 4ab7066..40d2eb9 100644 --- a/vorlesungen/slides/9/parrondo/deformation.tex +++ b/vorlesungen/slides/9/parrondo/deformation.tex @@ -14,22 +14,31 @@ \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{align*}} \end{block} \end{column} \begin{column}{0.48\textwidth} \begin{block}{Kombiniertes Spiel} -Die Deformation für das Spiel $C$ startet mit Erwartungswert $\frac{18}{709}$ +\uncover<3->{% +Die Deformation für das Spiel $C$ startet mit Erwartungswert $\frac{18}{709}$}% \begin{align*} -E(Z)&=\frac{18}{709} -&&\rightarrow& -E(Z_*)&>0 +\uncover<4->{E(Z)&=\frac{18}{709}>0} +&&\uncover<5->{\rightarrow& +E(Z_*)&>0} \end{align*} -Die Deformation ist immer noch ein Gewinnspiel +\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} diff --git a/vorlesungen/slides/9/parrondo/erwartung.tex b/vorlesungen/slides/9/parrondo/erwartung.tex index 67bb61d..b58c37f 100644 --- a/vorlesungen/slides/9/parrondo/erwartung.tex +++ b/vorlesungen/slides/9/parrondo/erwartung.tex @@ -25,6 +25,7 @@ x_n&p_n=P(X=x_n) \] \end{center} \end{block} +\uncover<4->{% \begin{block}{Einervektoren/-matrizen} \[ U=\begin{pmatrix} @@ -36,9 +37,10 @@ U=\begin{pmatrix} \in M_{n\times m}(\Bbbk) \] -\end{block} +\end{block}} \end{column} \begin{column}{0.48\textwidth} +\uncover<2->{% \begin{block}{Erwartungswerte} \begin{align*} E(X) @@ -46,30 +48,33 @@ E(X) \sum_i x_ip_i = x^tp -= -U^t x\odot p +\uncover<5->{= +U^t x\odot p} +\hspace*{3cm} \\ -E(X^2) +\uncover<2->{E(X^2) &= -\sum_i x_i^2p_i -= -(x\odot x)^tp -= -U^t (x\odot x) \odot p +\sum_i x_i^2p_i} +\ifthenelse{\boolean{presentation}}{ +\only<6>{= +(x\odot x)^tp}}{} +\uncover<7->{= +U^t (x\odot x) \odot p} \\ -E(X^k) +\uncover<3->{E(X^k) &= -\sum_i x_i^kp_i -= -U^t x^{\odot k}\odot p +\sum_i x_i^kp_i} +\uncover<8->{= +U^t x^{\odot k}\odot p} \end{align*} +\uncover<9->{% Substitution: \begin{align*} -\sum_i &\to U^t\\ -x_i^k &\to x^{\odot k} -\end{align*} -Kann für Übergangsmatrizen von Markov-Ketten verallgemeinert werden -\end{block} +\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} diff --git a/vorlesungen/slides/9/parrondo/kombiniert.tex b/vorlesungen/slides/9/parrondo/kombiniert.tex index 8a7fe43..5012d06 100644 --- a/vorlesungen/slides/9/parrondo/kombiniert.tex +++ b/vorlesungen/slides/9/parrondo/kombiniert.tex @@ -15,6 +15,7 @@ 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*} @@ -24,44 +25,48 @@ 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{pmatrix}} \end{align*} -\end{block} +\end{block}} +\vspace{-8pt} +\uncover<4->{% \begin{block}{Gewinnerwartung im Einzelspiel} \[ p=\frac13U \Rightarrow U^t(G\odot C)p -= --\frac{1}{30} +\uncover<5->{= +-\frac{1}{30}} \] -\end{block} +\end{block}} \end{column} \begin{column}{0.48\textwidth} +\uncover<6->{% \begin{block}{Iteriertes Spiel} \[ \overline{p}=C\overline{p} \quad -\Rightarrow +\uncover<7->{\Rightarrow \quad -\overline{p}=\frac{1}{709}\begin{pmatrix}245\\180\\284\end{pmatrix} +\overline{p}=\frac{1}{709}\begin{pmatrix}245\\180\\284\end{pmatrix}} \] -\end{block} +\end{block}} +\uncover<8->{% \begin{block}{Gewinnerwartung} \begin{align*} E(Z) &= U^t (G\odot C) \overline{p} -= -\frac{18}{709} +\uncover<9->{= +\frac{18}{709}} \end{align*} -$C$ ist ein Gewinnspiel! -\end{block} +\uncover<10->{$C$ ist ein Gewinnspiel!} +\end{block}} \end{column} \end{columns} \end{frame} diff --git a/vorlesungen/slides/9/parrondo/spiela.tex b/vorlesungen/slides/9/parrondo/spiela.tex index 4b3b50c..629586f 100644 --- a/vorlesungen/slides/9/parrondo/spiela.tex +++ b/vorlesungen/slides/9/parrondo/spiela.tex @@ -16,35 +16,36 @@ Gewinn = Zufallsvariable $X$ mit Werten $\pm 1$ \begin{align*} P(X=\phantom{+}1) &= -\frac12+e +\frac12\uncover<2->{+e} \\ P(X= - 1) &= -\frac12-e +\frac12\uncover<2->{-e} \end{align*} -Bernoulli-Experiment mit $p=\frac12+e$ +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) -&= -P(X=1)\cdot (1) +&=\uncover<4->{ +P(X=1)\cdot (1)} \\ &\qquad -+ -P(X=-1)\cdot (-1) +\uncover<4->{+ +P(X=-1)\cdot (-1)} \\ -&= +&\uncover<5->{= \biggl(\frac12+e\biggr)\cdot 1 + -\biggl(\frac12-e\biggr)\cdot (-1) +\biggl(\frac12-e\biggr)\cdot (-1)} \\ -&=2e +&\uncover<6->{=2e} \end{align*} -$\Rightarrow$ {\usebeamercolor[fg]{title}Verlustspiel für $e<0$} -\end{block} +\uncover<7->{$\Rightarrow$ {\usebeamercolor[fg]{title}Verlustspiel für $e<0$}} +\end{block}} \end{column} \end{columns} \end{frame} diff --git a/vorlesungen/slides/9/parrondo/spielb.tex b/vorlesungen/slides/9/parrondo/spielb.tex index 6ad512c..f65564f 100644 --- a/vorlesungen/slides/9/parrondo/spielb.tex +++ b/vorlesungen/slides/9/parrondo/spielb.tex @@ -15,6 +15,7 @@ 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); @@ -47,11 +48,12 @@ aktuellen Kapitals $K$: \node at (150:\R) {$\frac1{4}$}; \node at (270:\R) {$\frac14$}; -\end{tikzpicture} +\end{tikzpicture}} \end{center} \end{block} \end{column} \begin{column}{0.48\textwidth} +\uncover<3->{% \begin{block}{Markov-Kette $Y$} Übergangsmatrix \[ @@ -61,22 +63,37 @@ B=\begin{pmatrix} \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} +\]} +\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{block}} \end{column} \end{columns} \end{frame} diff --git a/vorlesungen/slides/9/parrondo/spielbmod.tex b/vorlesungen/slides/9/parrondo/spielbmod.tex index ee1d12d..66d39bc 100644 --- a/vorlesungen/slides/9/parrondo/spielbmod.tex +++ b/vorlesungen/slides/9/parrondo/spielbmod.tex @@ -7,7 +7,7 @@ \begin{frame}[t] \setlength{\abovedisplayskip}{5pt} \setlength{\belowdisplayskip}{5pt} -\frametitle{Modifiziertes Spiel $B$} +\frametitle{Modifiziertes Spiel $\tilde{B}$} \vspace{-20pt} \begin{columns}[t,onlytextwidth] \begin{column}{0.48\textwidth} @@ -39,13 +39,13 @@ aktuellen Kapitals $K$: \def\R{1.9} \def\r{0.7} -\node at (30:{0.9*\r}) {\tiny $\frac{9}{10}+\varepsilon$}; -\node at (150:{0.9*\r}) {\tiny $\frac1{10}-\varepsilon$}; -\node at (270:\r) {$\frac34-\varepsilon$}; +\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}-\varepsilon$}; -\node at (150:{1.1*\R}) {$\frac1{4}+\varepsilon$}; -\node at (270:\R) {$\frac14+\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} @@ -56,14 +56,17 @@ aktuellen Kapitals $K$: Übergangsmatrix \[ \tilde{B}= -B+\varepsilon F -= +B\uncover<2->{+\varepsilon F} +\uncover<3->{= B+\varepsilon\begin{pmatrix*}[r] 0&1&-1\\ -1&0&1\\ 1&-1&0 -\end{pmatrix*} +\end{pmatrix*}} \] +\vspace{-12pt} + +\uncover<4->{% Gewinnmatrix: \[ G=\begin{pmatrix*}[r] @@ -71,20 +74,29 @@ G=\begin{pmatrix*}[r] 1&0&-1\\ -1&1&0 \end{pmatrix*} -\] +\]} \end{block} +\vspace{-12pt} +\uncover<5->{% \begin{block}{Gewinnerwartung} \begin{align*} -E(\tilde{Y}) +\uncover<6->{E(\tilde{Y}) &= -U^t(G\odot \tilde{B})p +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.} &= -E(Y) + \varepsilon U^t(G\odot F)p -= -\frac1{15}+2\varepsilon +-{\textstyle\frac{294}{169}}\varepsilon+O(\varepsilon^2) +\quad\text{Verlustspiel} +} \end{align*} -\end{block} +\end{block}} \end{column} \end{columns} \end{frame} 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 -- cgit v1.2.1 From 8c5d6d7b31f052bd90010a0ed182ac6468c10bc4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Mon, 24 May 2021 09:41:46 +0200 Subject: abschnitt spektrale Graphentheorie --- vorlesungen/stream/countdown.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'vorlesungen') 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;