aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormichael-OST <75078383+michael-OST@users.noreply.github.com>2021-05-01 17:36:44 +0200
committermichael-OST <75078383+michael-OST@users.noreply.github.com>2021-05-01 17:36:44 +0200
commit3bd00062af2b2bbd04a82172eacb185119d09387 (patch)
tree7fd7ab0b94bf6bdd01e8cddcce598805e27675d9
parentHandout animation deleted (diff)
parentMerge remote-tracking branch 'upstream/master' (diff)
downloadSeminarMatrizen-3bd00062af2b2bbd04a82172eacb185119d09387.tar.gz
SeminarMatrizen-3bd00062af2b2bbd04a82172eacb185119d09387.zip
Merge branch 'master' into Steiner
Diffstat (limited to '')
-rw-r--r--buch/papers/mceliece/example_code/mceliece_simple.py327
-rw-r--r--vorlesungen/08_msegruppen/slides.tex56
-rw-r--r--vorlesungen/09_mseliegruppen/Makefile33
-rw-r--r--vorlesungen/09_mseliegruppen/MathSemMSE-09-liegruppen.tex14
-rw-r--r--vorlesungen/09_mseliegruppen/common.tex16
-rw-r--r--vorlesungen/09_mseliegruppen/liegruppen-handout.tex11
-rw-r--r--vorlesungen/09_mseliegruppen/slides.tex30
-rw-r--r--vorlesungen/10_mseliealgebra/Makefile33
-rw-r--r--vorlesungen/10_mseliealgebra/MathSemMSE-10-liealgebra.tex14
-rw-r--r--vorlesungen/10_mseliealgebra/common.tex16
-rw-r--r--vorlesungen/10_mseliealgebra/liealgebra-handout.tex11
-rw-r--r--vorlesungen/10_mseliealgebra/slides.tex21
-rw-r--r--vorlesungen/99_vortraege/Makefile54
-rw-r--r--vorlesungen/99_vortraege/MathSem-99-vortraege.tex65
-rw-r--r--vorlesungen/99_vortraege/common.tex16
-rw-r--r--vorlesungen/99_vortraege/slides.tex6
-rw-r--r--vorlesungen/99_vortraege/vortraege-handout.tex11
-rw-r--r--vorlesungen/slides/6/Makefile.inc14
-rw-r--r--vorlesungen/slides/6/chapter.tex14
-rw-r--r--vorlesungen/slides/6/darstellungen/irreduzibel.tex12
-rw-r--r--vorlesungen/slides/6/darstellungen/schur.tex14
-rw-r--r--vorlesungen/slides/6/darstellungen/skalarprodukt.tex7
-rw-r--r--vorlesungen/slides/6/darstellungen/summe.tex39
-rw-r--r--vorlesungen/slides/6/darstellungen/zyklisch.tex25
-rw-r--r--vorlesungen/slides/6/normalteiler/konjugation.tex77
-rw-r--r--vorlesungen/slides/6/normalteiler/normal.tex79
-rw-r--r--vorlesungen/slides/6/permutationen/matrizen.tex14
-rw-r--r--vorlesungen/slides/6/produkte/direkt.tex66
-rw-r--r--vorlesungen/slides/6/produkte/frei.tex79
-rw-r--r--vorlesungen/slides/6/punktgruppen/WasserstoffAufspaltung.pdfbin0 -> 74764 bytes
-rw-r--r--vorlesungen/slides/6/punktgruppen/aufspaltung.tex15
-rw-r--r--vorlesungen/slides/6/punktgruppen/c.tex49
-rw-r--r--vorlesungen/slides/6/punktgruppen/chemie.tex63
-rw-r--r--vorlesungen/slides/6/punktgruppen/d.tex53
-rw-r--r--vorlesungen/slides/6/punktgruppen/ebene.tex79
-rw-r--r--vorlesungen/slides/6/punktgruppen/images/Makefile40
-rw-r--r--vorlesungen/slides/6/punktgruppen/images/cn.jpgbin0 -> 49689 bytes
-rw-r--r--vorlesungen/slides/6/punktgruppen/images/cn.pov10
-rw-r--r--vorlesungen/slides/6/punktgruppen/images/cnh.jpgbin0 -> 55691 bytes
-rw-r--r--vorlesungen/slides/6/punktgruppen/images/cnh.pov11
-rw-r--r--vorlesungen/slides/6/punktgruppen/images/cnv.jpgbin0 -> 78880 bytes
-rw-r--r--vorlesungen/slides/6/punktgruppen/images/cnv.pov11
-rw-r--r--vorlesungen/slides/6/punktgruppen/images/common.inc200
-rw-r--r--vorlesungen/slides/6/punktgruppen/images/dn.jpgbin0 -> 54769 bytes
-rw-r--r--vorlesungen/slides/6/punktgruppen/images/dn.pov12
-rw-r--r--vorlesungen/slides/6/punktgruppen/images/dnd.jpgbin0 -> 78146 bytes
-rw-r--r--vorlesungen/slides/6/punktgruppen/images/dnd.pov13
-rw-r--r--vorlesungen/slides/6/punktgruppen/images/dnh.jpgbin0 -> 61656 bytes
-rw-r--r--vorlesungen/slides/6/punktgruppen/images/dnh.pov13
-rw-r--r--vorlesungen/slides/6/punktgruppen/p.tex38
-rw-r--r--vorlesungen/slides/6/punktgruppen/semidirekt.tex80
-rw-r--r--vorlesungen/slides/6/punktgruppen/toi/I.jpgbin0 -> 255945 bytes
-rw-r--r--vorlesungen/slides/6/punktgruppen/toi/O.jpgbin0 -> 298533 bytes
-rw-r--r--vorlesungen/slides/6/punktgruppen/toi/T.jpgbin0 -> 149082 bytes
54 files changed, 1797 insertions, 64 deletions
diff --git a/buch/papers/mceliece/example_code/mceliece_simple.py b/buch/papers/mceliece/example_code/mceliece_simple.py
new file mode 100644
index 0000000..bac3b42
--- /dev/null
+++ b/buch/papers/mceliece/example_code/mceliece_simple.py
@@ -0,0 +1,327 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+"""
+Created on Sun Apr 18 08:58:30 2021
+
+@author: terminator
+"""
+import numpy as np
+from numpy.polynomial import Polynomial as Poly
+
+
+def gen_perm_M(n):
+ '''
+ generating random binary permutation matrix: https://en.wikipedia.org/wiki/Permutation_matrix
+
+ Parameters
+ ----------
+ n : int
+ size of output matrix.
+
+ Returns
+ -------
+ perm_M : np.ndarray
+ binary permutation matrix.
+
+ '''
+ perm_M=np.zeros((n, n), dtype=int)
+ perm_V=np.random.default_rng().permutation(n)
+ perm_M[perm_V, np.r_[0:n]]=1
+ return perm_M
+
+
+
+def create_linear_code_matrix(n, k, g):
+ '''
+ create generator matrix for linear encoding
+ use this matrix to create code_vector: matrix @ data_vector=code_vector
+
+ Parameters
+ ----------
+ n : int
+ len of code_vector (matrix @ data_vector).
+ k : int
+ len of data_vector.
+ g : numpy.Polynominal
+ polynomina wich defines the the constellations of .
+
+ Returns
+ -------
+ np.ndarray
+ Generator matrix
+
+ '''
+ if n != k+len(g)-1:
+ raise Exception("n, k not compatible with degree of g")
+ rows=[]
+ for i in range(k): #create potences of p
+ row=np.r_[np.zeros(i), g.coef, np.zeros(n-k-i)]
+ rows.append(row)
+ return np.array(rows, dtype=int).T
+
+
+def gf2_inv(M, get_full=False):
+ '''
+ create inverse of matrix M in gf2
+
+ Parameters
+ ----------
+ M : numpy.ndarray
+ input Matrix.
+ get_full : Bool, optional
+ if Ture, return inverse of G with I on the left (if gaussian inversion successful) If True, vaidity is not proven. The default is False.
+
+ Returns
+ -------
+ np.ndarray or None
+ returns inverse if M was not singular in gf2, else None.
+
+ '''
+ size=len(M)
+ G=np.hstack((M, np.eye(size)))
+ G=np.array(G, dtype=int)
+ for n in range(size): #forward reduction
+ if G[n, n] == 0: #swap line if necessary
+ for i in range(n+1, size):
+ if G[i, n]:
+ G[i, :], G[n, :] = G[n, :].copy(), G[i, :].copy() #swap
+
+ for i in range(n+1, size): #downward reduction
+ if G[i, n]:
+ G[i, :] = G[i, :] ^ G[n, :]
+ #reached buttom_right with pivo
+ for n in range(size-1, -1, -1): #backwards
+ for i in range(n):
+ if G[i, n]:
+ G[i, :]= G[i, :] ^ G[n, :]
+
+
+
+ if get_full:
+ return G
+ else:
+ valid=np.sum(np.abs(G[:, :size]-np.eye(size))) == 0 #reduction successfull when eye left on the left of G
+ if not valid:
+ return None
+ else:
+ return G[:, size:]
+
+def create_rand_bin_M(n, with_inverse=False):
+ '''
+ create random binary matrix
+
+ Parameters
+ ----------
+ n : int
+ size.
+ with_inverse : bool, optional
+ if False, return only random binary matrix.
+ if True, return also inverse of random martix. for this purpose, random matrix will not be singular.
+ The default is False.
+
+ Returns
+ -------
+ M : TYPE
+ if with_inverse is True: return tuple(random_matrix, inverse_of_random_matrix)
+ else: return random_matrix
+
+ '''
+ inv=None
+ while type(inv) == type(None): #do it until inversion of m is successful wich means det(M)%2 != 0
+ M=np.random.randint(0,2, (n,n))
+ inv=gf2_inv(M)
+ if with_inverse:
+ return(M, inv)
+ else:
+ return M
+
+def create_syndrome_table(n, g):
+ '''
+ create syndrome table for correcting errors in linear code
+
+ Parameters
+ ----------
+ n : int
+ len of linear-code code_vector.
+ g : numpy.Polinominal
+ generator polynominal used by linear-code-encoder.
+
+ Returns
+ -------
+ list of error_vectors, one per syndrome.
+ get the corresponding error_vector by using the value represented by your syndrome as index of this list.
+
+ '''
+ zeros=np.zeros(n, dtype=int)
+ syndrome_table=[0 for i in range(n+1)]
+ syndrome_table[0]=zeros #when syndrome = 0, no bit-error to correct
+ for i in range(n):
+ faulty_vector=zeros.copy()
+ faulty_vector[i]=1
+ q, r=divmod(Poly(faulty_vector), g)
+ r=np.r_[r.coef%2, np.zeros(len(g)-len(r))]
+ index=np.sum([int(a*2**i) for i, a in enumerate(r)])
+ syndrome_table[index]=faulty_vector
+ return np.array(syndrome_table)
+
+
+def decode_linear_code(c, g, syndrome_table):
+ '''
+ function to decode codeword encoded with linear_code
+
+ Parameters
+ ----------
+ c : list or np.ndarray
+ code_vector.
+ g : numpy.Polynominal
+ generator polynominal, used to create code_vector.
+ syndrome_table : list of error_vectors
+ if codeword contains an error, syndrome_table is used to correct wrong bit.
+
+ Returns
+ -------
+ numpy.ndarray
+ data_vector.
+
+ '''
+ q, r=divmod(Poly(c), g)
+ q=np.r_[q.coef%2, np.zeros(len(c)-len(q)-len(g)+1)]
+ r=np.r_[r.coef%2, np.zeros(len(g)-len(r))]
+ syndrome_index=np.sum([int(a*2**i) for i, a in enumerate(r)])
+ while syndrome_index > 0:
+ c=c ^ syndrome_table[syndrome_index]
+ q, r=divmod(Poly(c), g)
+ q=np.r_[q.coef%2, np.zeros(len(c)-len(q)-len(g)+1)]
+ r=np.r_[r.coef%2, np.zeros(len(g)-len(r))]
+ syndrome_index=np.sum([int(a*2**i) for i, a in enumerate(r)])
+ return np.array(q, dtype=int)
+
+def encode_linear_code(d, G):
+ '''
+ uses generator matrix G to encode d
+
+ Parameters
+ ----------
+ d : numpy.ndarray
+ data_vector.
+ G : numpy.ndarray
+ generator matrix.
+
+ Returns
+ -------
+ c : numpy.ndarray
+ G @ d.
+
+ '''
+ c=(G @ d)%2
+ return c
+
+def encrypt(d, pub_key, t):
+ '''
+ encrypt data with public key, adding t bit-errors
+
+ Parameters
+ ----------
+ d : numpy.ndarray or list of numpy.ndarray
+ data_vector or list of data vectors to encrypt.
+ pub_key : numpy.ndarray
+ public key matrix used to encrypt data.
+ t : int
+ number of random errors to add to code_vector.
+
+ Returns
+ -------
+ numpy.ndarray or list of numpy.ndarray (depending on d)
+ encrypted data.
+
+ '''
+ if type(d) in (list,):
+ encrypted_list=[encrypt(data, pub_key, t) for data in d]
+ return encrypted_list
+ else:
+ c = np.array((pub_key @ d)%2, dtype=int)
+
+ indexes_of_errors=np.random.default_rng().permutation(pub_key.shape[0])[:t] #add t random errors to codeword
+ e=np.zeros(pub_key.shape[0], dtype=int)
+ e[indexes_of_errors]=1
+ c=c ^ e
+ return np.array(c, dtype=int)
+
+def decrypt(c, P_inv, linear_code_decoder, S_inv):
+ '''
+ decrypt encrypted message
+
+ Parameters
+ ----------
+ c : numpy.ndarray or list of numpy.ndarray
+ code_vector or list of code_vectors to decrypt.
+ P_inv : numpy.ndarray
+ inverted permutation matrix.
+ linear_code_decoder : function(x)
+ function to use to decode linear code.
+ S_inv : numpy.ndarray
+ inverted random binary matrix.
+
+ Returns
+ -------
+ numpy.ndarray or list of numpy.ndarray (depending on d)
+ decrypted data.
+
+ '''
+ if type(c) in (list,):
+ decrypted_list=[decrypt(codew, P_inv, linear_code_decoder, S_inv) for codew in c]
+ return decrypted_list
+ else:
+ c=np.array(P_inv @ c, dtype=int)%2
+ d=linear_code_decoder(c)
+ d=(S_inv @ d)%2
+ return np.array(d, dtype=int)
+
+def str_to_blocks4(string):
+ blocks=[]
+ for char in string:
+ bits=[int(value) for value in np.binary_repr(ord(char), 8)[::-1]] #lsb @ index 0
+ blocks.append(np.array(bits[:4], dtype=int)) #lower nibble first
+ blocks.append(np.array(bits[4:], dtype=int))
+ return blocks
+
+def blocks4_to_str(blocks):
+ string=''
+ for i in range(0, len(blocks), 2):
+ char=np.sum([b*2**i for i, b in enumerate(blocks[i])]) + \
+ np.sum([b*2**(i+4) for i, b in enumerate(blocks[i+1])])
+ string+=chr(char)
+ return string
+
+if __name__ == '__main__':
+
+ #shared attributes:
+ n=7
+ k=4
+ t=1
+
+ #private key(s):
+ g=Poly([1,1,0,1]) #generator polynom for 7/4 linear code (from table, 1.0 + 1.0·x¹ + 0.0·x² + 1.0·x³)
+ P_M=gen_perm_M(n) #create permutation matrix
+ G_M=create_linear_code_matrix(n, k, g) #linear code generator matrix
+ S_M, S_inv=create_rand_bin_M(k, True) #random binary matrix and its inverse
+ P_M_inv=P_M.T #inverse permutation matrix
+
+ syndrome_table=create_syndrome_table(n, g) #part of linear-code decoder
+ linear_code_decoder=lambda c:decode_linear_code(c, g, syndrome_table)
+
+ #public key:
+ pub_key=(P_M @ G_M @ S_M)%2
+
+
+ msg_tx='Hello World?'
+
+ blocks_tx=str_to_blocks4(msg_tx)
+ encrypted=encrypt(blocks_tx, pub_key, t)
+
+ blocks_rx=decrypt(encrypted, P_M_inv, linear_code_decoder, S_inv)
+ msg_rx=blocks4_to_str(blocks_rx)
+
+ print(f'msg_rx: {msg_rx}')
+
+ \ No newline at end of file
diff --git a/vorlesungen/08_msegruppen/slides.tex b/vorlesungen/08_msegruppen/slides.tex
index bfc99cd..f25f445 100644
--- a/vorlesungen/08_msegruppen/slides.tex
+++ b/vorlesungen/08_msegruppen/slides.tex
@@ -5,38 +5,50 @@
%
\section{Punktgruppen}
-% XXX Zyklische Gruppen/Drehgruppen um endliche Winkel
-% XXX Diedergruppen
-% XXX Tetraeder, Oktaeder, Ikosaeder
-% XXX Darstellung als Matrizen
+% Punktgruppen in der Ebene
+\folie{6/punktgruppen/ebene.tex}
+% semidirektes Produkt
+\folie{6/punktgruppen/semidirekt.tex}
+% Zyklische Gruppen/Drehgruppen um endliche Winkel
+\folie{6/punktgruppen/c.tex}
+% Diedergruppen
+\folie{6/punktgruppen/d.tex}
+% Tetraeder, Oktaeder, Ikosaeder
+\folie{6/punktgruppen/p.tex}
+% Anwendung Schrödingergleichung
+\folie{6/punktgruppen/chemie.tex}
+\folie{6/punktgruppen/aufspaltung.tex}
-\section{Permutationsgruppen}
-% XXX Permutationen, Transpositionen, Signum
-% XXX Alternierende Gruppe
-% Darstellung als Matrizen
-%\folie{6/permutationen/matrizen.tex}
+\section{Produkte}
+% direktes Produkt
+\folie{6/produkte/direkt.tex}
\section{Normalteiler}
-% XXX Faktor
-% XXX Konjugationsklassen
+% freie Gruppen
+\folie{6/produkte/frei.tex}
+% Normalteiler
+\folie{6/normalteiler/normal.tex}
+% Konjugationsklassen
+\folie{6/normalteiler/konjugation.tex}
-\section{Produkte}
-% XXX direktes Produkt
-% XXX semidirektes Produkt
-% XXX freie Gruppen
+\section{Permutationsgruppen}
+% Permutationen, Transpositionen, Signum
+% Alternierende Gruppe
+% Darstellung als Matrizen
+\folie{6/permutationen/matrizen.tex}
\section{Darstellungen}
% Was ist eine Darstellung?
-%\folie{6/darstellungen/definition.tex}
+\folie{6/darstellungen/definition.tex}
% Charakter
-%\folie{6/darstellungen/charakter.tex}
-% XXX Summe
+\folie{6/darstellungen/charakter.tex}
+% Summe
\folie{6/darstellungen/summe.tex}
-% XXX Irreduzible Darstellung
+% Irreduzible Darstellung
\folie{6/darstellungen/irreduzibel.tex}
-% XXX Folgerungen aus Schurs Lemma
+% Folgerungen aus Schurs Lemma
\folie{6/darstellungen/schur.tex}
-% XXX Skalarprodukt
+% Skalarprodukt
\folie{6/darstellungen/skalarprodukt.tex}
-% XXX Beispiel zyklische Gruppen
+% Beispiel zyklische Gruppen
\folie{6/darstellungen/zyklisch.tex}
diff --git a/vorlesungen/09_mseliegruppen/Makefile b/vorlesungen/09_mseliegruppen/Makefile
new file mode 100644
index 0000000..a1e67bd
--- /dev/null
+++ b/vorlesungen/09_mseliegruppen/Makefile
@@ -0,0 +1,33 @@
+#
+# Makefile -- liegruppen
+#
+# (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil
+#
+all: liegruppen-handout.pdf MathSemMSE-09-liegruppen.pdf
+
+include ../slides/Makefile.inc
+
+SOURCES = common.tex slides.tex $(slides)
+
+MathSemMSE-09-liegruppen.pdf: MathSemMSE-09-liegruppen.tex $(SOURCES)
+ pdflatex MathSemMSE-09-liegruppen.tex
+
+liegruppen-handout.pdf: liegruppen-handout.tex $(SOURCES)
+ pdflatex liegruppen-handout.tex
+
+thumbnail: thumbnail.jpg # fix1.jpg
+
+thumbnail.pdf: MathSemMSE-09-liegruppen.pdf
+ pdfjam --outfile thumbnail.pdf --papersize '{16cm,9cm}' \
+ MathSemMSE-09-liegruppen.pdf 1
+thumbnail.jpg: thumbnail.pdf
+ convert -density 300 thumbnail.pdf \
+ -resize 1920x1080 -units PixelsPerInch thumbnail.jpg
+
+fix1.pdf: MathSemMSE-09-liegruppen.pdf
+ pdfjam --outfile fix1.pdf --papersize '{16cm,9cm}' \
+ MathSemMSE-09-liegruppen.pdf 1
+fix1.jpg: fix1.pdf
+ convert -density 300 fix1.pdf \
+ -resize 1920x1080 -units PixelsPerInch fix1.jpg
+
diff --git a/vorlesungen/09_mseliegruppen/MathSemMSE-09-liegruppen.tex b/vorlesungen/09_mseliegruppen/MathSemMSE-09-liegruppen.tex
new file mode 100644
index 0000000..4404330
--- /dev/null
+++ b/vorlesungen/09_mseliegruppen/MathSemMSE-09-liegruppen.tex
@@ -0,0 +1,14 @@
+%
+% MathSem-09-mseliegruppen.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/09_mseliegruppen/common.tex b/vorlesungen/09_mseliegruppen/common.tex
new file mode 100644
index 0000000..859a9da
--- /dev/null
+++ b/vorlesungen/09_mseliegruppen/common.tex
@@ -0,0 +1,16 @@
+%
+% common.tex -- gemeinsame definition
+%
+% (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil
+%
+\input{../common/packages.tex}
+\input{../common/common.tex}
+\mode<beamer>{%
+\usetheme[hideothersubsections,hidetitle]{Hannover}
+}
+\beamertemplatenavigationsymbolsempty
+\title[Lie-Gruppen]{Lie-Gruppen}
+\author[A.~Müller]{Prof. Dr. Andreas Müller}
+\date[]{}
+\newboolean{presentation}
+
diff --git a/vorlesungen/09_mseliegruppen/liegruppen-handout.tex b/vorlesungen/09_mseliegruppen/liegruppen-handout.tex
new file mode 100644
index 0000000..70157ce
--- /dev/null
+++ b/vorlesungen/09_mseliegruppen/liegruppen-handout.tex
@@ -0,0 +1,11 @@
+%
+% mseliegruppen-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/09_mseliegruppen/slides.tex b/vorlesungen/09_mseliegruppen/slides.tex
new file mode 100644
index 0000000..1ae259f
--- /dev/null
+++ b/vorlesungen/09_mseliegruppen/slides.tex
@@ -0,0 +1,30 @@
+%
+% slides.tex -- XXX
+%
+% (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil
+%
+\section{Matrizen-Gruppen}
+\folie{7/symmetrien.tex}
+\folie{7/algebraisch.tex}
+\folie{7/parameter.tex}
+\folie{7/mannigfaltigkeit.tex}
+\folie{7/sl2.tex}
+\folie{7/drehung.tex}
+\ifthenelse{\boolean{presentation}}{
+\folie{7/drehanim.tex}
+}{}
+\folie{7/semi.tex}
+
+% Zusammenhangskomponenten
+
+% XXX Hopf-Faserung für SO(2) -> SU(2) -> SO(3)
+
+% curled up dimensions in String theory
+
+
+\section{Haar-Mass}
+% Definition Haar-Mass
+% Mittelung
+%
+% Méndez-Transformation
+
diff --git a/vorlesungen/10_mseliealgebra/Makefile b/vorlesungen/10_mseliealgebra/Makefile
new file mode 100644
index 0000000..97656a4
--- /dev/null
+++ b/vorlesungen/10_mseliealgebra/Makefile
@@ -0,0 +1,33 @@
+#
+# Makefile -- liealgebra
+#
+# (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil
+#
+all: liealgebra-handout.pdf MathSemMSE-10-liealgebra.pdf
+
+include ../slides/Makefile.inc
+
+SOURCES = common.tex slides.tex $(slides)
+
+MathSemMSE-10-liealgebra.pdf: MathSemMSE-10-liealgebra.tex $(SOURCES)
+ pdflatex MathSemMSE-10-liealgebra.tex
+
+liealgebra-handout.pdf: liealgebra-handout.tex $(SOURCES)
+ pdflatex liealgebra-handout.tex
+
+thumbnail: thumbnail.jpg # fix1.jpg
+
+thumbnail.pdf: MathSemMSE-10-liealgebra.pdf
+ pdfjam --outfile thumbnail.pdf --papersize '{16cm,9cm}' \
+ MathSemMSE-10-liealgebra.pdf 1
+thumbnail.jpg: thumbnail.pdf
+ convert -density 300 thumbnail.pdf \
+ -resize 1920x1080 -units PixelsPerInch thumbnail.jpg
+
+fix1.pdf: MathSemMSE-10-liealgebra.pdf
+ pdfjam --outfile fix1.pdf --papersize '{16cm,9cm}' \
+ MathSemMSE-10-liealgebra.pdf 1
+fix1.jpg: fix1.pdf
+ convert -density 300 fix1.pdf \
+ -resize 1920x1080 -units PixelsPerInch fix1.jpg
+
diff --git a/vorlesungen/10_mseliealgebra/MathSemMSE-10-liealgebra.tex b/vorlesungen/10_mseliealgebra/MathSemMSE-10-liealgebra.tex
new file mode 100644
index 0000000..ff9cde7
--- /dev/null
+++ b/vorlesungen/10_mseliealgebra/MathSemMSE-10-liealgebra.tex
@@ -0,0 +1,14 @@
+%
+% MathSem-10-mseliealgebra.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/10_mseliealgebra/common.tex b/vorlesungen/10_mseliealgebra/common.tex
new file mode 100644
index 0000000..c2ee875
--- /dev/null
+++ b/vorlesungen/10_mseliealgebra/common.tex
@@ -0,0 +1,16 @@
+%
+% common.tex -- gemeinsame definition
+%
+% (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil
+%
+\input{../common/packages.tex}
+\input{../common/common.tex}
+\mode<beamer>{%
+\usetheme[hideothersubsections,hidetitle]{Hannover}
+}
+\beamertemplatenavigationsymbolsempty
+\title[Lie-Algebra]{Lie-Algebra}
+\author[A.~Müller]{Prof. Dr. Andreas Müller}
+\date[]{}
+\newboolean{presentation}
+
diff --git a/vorlesungen/10_mseliealgebra/liealgebra-handout.tex b/vorlesungen/10_mseliealgebra/liealgebra-handout.tex
new file mode 100644
index 0000000..52f7b19
--- /dev/null
+++ b/vorlesungen/10_mseliealgebra/liealgebra-handout.tex
@@ -0,0 +1,11 @@
+%
+% mseliealgebra-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/10_mseliealgebra/slides.tex b/vorlesungen/10_mseliealgebra/slides.tex
new file mode 100644
index 0000000..0fceaff
--- /dev/null
+++ b/vorlesungen/10_mseliealgebra/slides.tex
@@ -0,0 +1,21 @@
+%
+% slides.tex -- XXX
+%
+% (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil
+%
+
+\section{Ableitungen}
+\folie{7/kurven.tex}
+\folie{7/einparameter.tex}
+\folie{7/ableitung.tex}
+\folie{7/liealgebra.tex}
+\folie{7/kommutator.tex}
+
+\section{Exponentialabbildung}
+\folie{7/dg.tex}
+
+% LOG Reihe
+% Interpolation
+% Mittelung auf einer Lie-Gruppe
+% Vektorprodukt als Lie-Gruppe
+
diff --git a/vorlesungen/99_vortraege/Makefile b/vorlesungen/99_vortraege/Makefile
new file mode 100644
index 0000000..8a5751c
--- /dev/null
+++ b/vorlesungen/99_vortraege/Makefile
@@ -0,0 +1,54 @@
+#
+# Makefile -- vortraege
+#
+# (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil
+#
+all: vortraege-handout.pdf MathSem-99-vortraege.pdf
+
+include ../slides/Makefile.inc
+
+SOURCES = common.tex slides.tex $(slides)
+
+MathSem-99-vortraege.pdf: MathSem-99-vortraege.tex $(SOURCES)
+ pdflatex MathSem-99-vortraege.tex
+
+vortraege-handout.pdf: vortraege-handout.tex $(SOURCES)
+ pdflatex vortraege-handout.tex
+
+thumbnail: thumbnail1.jpg thumbnail2.jpg thumbnail3.jpg thumbnail4.jpg
+
+thumbnail1.pdf: MathSem-99-vortraege.pdf
+ pdfjam --outfile thumbnail1.pdf --papersize '{16cm,9cm}' \
+ MathSem-99-vortraege.pdf 1
+thumbnail1.jpg: thumbnail1.pdf
+ convert -density 300 thumbnail1.pdf \
+ -resize 1920x1080 -units PixelsPerInch thumbnail1.jpg
+
+thumbnail2.pdf: MathSem-99-vortraege.pdf
+ pdfjam --outfile thumbnail2.pdf --papersize '{16cm,9cm}' \
+ MathSem-99-vortraege.pdf 2
+thumbnail2.jpg: thumbnail2.pdf
+ convert -density 300 thumbnail2.pdf \
+ -resize 1920x1080 -units PixelsPerInch thumbnail2.jpg
+
+thumbnail3.pdf: MathSem-99-vortraege.pdf
+ pdfjam --outfile thumbnail3.pdf --papersize '{16cm,9cm}' \
+ MathSem-99-vortraege.pdf 3
+thumbnail3.jpg: thumbnail3.pdf
+ convert -density 300 thumbnail3.pdf \
+ -resize 1920x1080 -units PixelsPerInch thumbnail3.jpg
+
+thumbnail4.pdf: MathSem-99-vortraege.pdf
+ pdfjam --outfile thumbnail4.pdf --papersize '{16cm,9cm}' \
+ MathSem-99-vortraege.pdf 4
+thumbnail4.jpg: thumbnail4.pdf
+ convert -density 300 thumbnail4.pdf \
+ -resize 1920x1080 -units PixelsPerInch thumbnail4.jpg
+
+fix1.pdf: MathSem-99-vortraege.pdf
+ pdfjam --outfile fix1.pdf --papersize '{16cm,9cm}' \
+ MathSem-99-vortraege.pdf 1
+fix1.jpg: fix1.pdf
+ convert -density 300 fix1.pdf \
+ -resize 1920x1080 -units PixelsPerInch fix1.jpg
+
diff --git a/vorlesungen/99_vortraege/MathSem-99-vortraege.tex b/vorlesungen/99_vortraege/MathSem-99-vortraege.tex
new file mode 100644
index 0000000..c962e90
--- /dev/null
+++ b/vorlesungen/99_vortraege/MathSem-99-vortraege.tex
@@ -0,0 +1,65 @@
+%
+% MathSem-99-vortraege.tex -- Präsentation
+%
+% (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil
+%
+\documentclass[aspectratio=169]{beamer}
+\input{common.tex}
+\author[]{}
+\setboolean{presentation}{true}
+\begin{document}
+
+\title[Vorträge]{26. April: Vorträge}
+\begin{frame}
+\titlepage
+\vspace{-2cm}
+\begin{center}
+Michael Steiner, Joshua Baer: Reed-Solomon Code
+\phantom{blubb} \\
+\phantom{blubb} \\
+\phantom{blubb} \\
+Reto Fritsche: McEliece-Verschlüsselung
+\end{center}
+\end{frame}
+
+\title[Vorträge]{3. Mai: Vorträge}
+\begin{frame}
+\titlepage
+\vspace{-2cm}
+\begin{center}
+Alain Keller: Iterierte Funktionsschemata
+\phantom{blubb} \\
+\phantom{blubb} \\
+\phantom{blubb} \\
+Adrian Schuler, Thomas Reichlin: 3D-Spannungszustand
+\end{center}
+\end{frame}
+
+\title[Vorträge]{10. Mai: Vorträge}
+\begin{frame}
+\titlepage
+\vspace{-2cm}
+\begin{center}
+Marius Baumann, Thierry Schwaller: Clifford-Algebra
+\phantom{blubb} \\
+\phantom{blubb} \\
+\phantom{blubb} \\
+Naoki Pross, Tim Tönz: Punktgruppen
+\end{center}
+\end{frame}
+
+\title[Vorträge]{17. Mai: Vorträge}
+\begin{frame}
+\titlepage
+\vspace{-2cm}
+\begin{center}
+Pascal Schmid, Robine Luchsinger: Verkehrsnetze und Verkehrsfluss
+\phantom{blubb} \\
+\phantom{blubb} \\
+\phantom{blubb} \\
+Fabio Viecelli, Lukas Zogg: Erdbebenmessung
+\end{center}
+\end{frame}
+
+\input{slides.tex}
+\end{document}
diff --git a/vorlesungen/99_vortraege/common.tex b/vorlesungen/99_vortraege/common.tex
new file mode 100644
index 0000000..e54275a
--- /dev/null
+++ b/vorlesungen/99_vortraege/common.tex
@@ -0,0 +1,16 @@
+%
+% common.tex -- gemeinsame definition
+%
+% (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil
+%
+\input{../common/packages.tex}
+\input{../common/common.tex}
+\mode<beamer>{%
+\usetheme[hideothersubsections,hidetitle]{Hannover}
+}
+\beamertemplatenavigationsymbolsempty
+\title[Vorträge]{Vorträge}
+\author[A.~Müller]{Prof. Dr. Andreas Müller}
+\date[]{}
+\newboolean{presentation}
+
diff --git a/vorlesungen/99_vortraege/slides.tex b/vorlesungen/99_vortraege/slides.tex
new file mode 100644
index 0000000..5678823
--- /dev/null
+++ b/vorlesungen/99_vortraege/slides.tex
@@ -0,0 +1,6 @@
+%
+% slides.tex -- XXX
+%
+% (c) 2017 Prof Dr Andreas Müller, Hochschule Rapperswil
+%
+
diff --git a/vorlesungen/99_vortraege/vortraege-handout.tex b/vorlesungen/99_vortraege/vortraege-handout.tex
new file mode 100644
index 0000000..4540738
--- /dev/null
+++ b/vorlesungen/99_vortraege/vortraege-handout.tex
@@ -0,0 +1,11 @@
+%
+% vortraege-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/6/Makefile.inc b/vorlesungen/slides/6/Makefile.inc
index b46d6b6..bc6882a 100644
--- a/vorlesungen/slides/6/Makefile.inc
+++ b/vorlesungen/slides/6/Makefile.inc
@@ -4,6 +4,20 @@
# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
#
chapter6 = \
+ ../slides/6/punktgruppen/ebene.tex \
+ ../slides/6/punktgruppen/semidirekt.tex \
+ ../slides/6/punktgruppen/c.tex \
+ ../slides/6/punktgruppen/d.tex \
+ ../slides/6/punktgruppen/p.tex \
+ ../slides/6/punktgruppen/chemie.tex \
+ ../slides/6/punktgruppen/aufspaltung.tex \
+ \
+ ../slides/6/produkte/frei.tex \
+ ../slides/6/produkte/direkt.tex \
+ \
+ ../slides/6/normalteiler/normal.tex \
+ ../slides/6/normalteiler/konjugation.tex \
+ \
../slides/6/permutationen/matrizen.tex \
\
../slides/6/darstellungen/definition.tex \
diff --git a/vorlesungen/slides/6/chapter.tex b/vorlesungen/slides/6/chapter.tex
index 37f442d..e1711d7 100644
--- a/vorlesungen/slides/6/chapter.tex
+++ b/vorlesungen/slides/6/chapter.tex
@@ -4,6 +4,20 @@
% (c) 2021 Prof Dr Andreas Müller, Hochschule Rapperswi
%
+\folie{6/punktgruppen/ebene.tex}
+\folie{6/punktgruppen/semidirekt.tex}
+\folie{6/punktgruppen/c.tex}
+\folie{6/punktgruppen/d.tex}
+\folie{6/punktgruppen/p.tex}
+\folie{6/punktgruppen/chemie.tex}
+\folie{6/punktgruppen/aufspaltung.tex}
+
+\folie{6/produkte/frei.tex}
+\folie{6/produkte/direkt.tex}
+
+\folie{6/normalteiler/normal.tex}
+\folie{6/normalteiler/konjugation.tex}
+
\folie{6/permutationen/matrizen.tex}
\folie{6/darstellungen/definition.tex}
diff --git a/vorlesungen/slides/6/darstellungen/irreduzibel.tex b/vorlesungen/slides/6/darstellungen/irreduzibel.tex
index 6a6991e..91d8a18 100644
--- a/vorlesungen/slides/6/darstellungen/irreduzibel.tex
+++ b/vorlesungen/slides/6/darstellungen/irreduzibel.tex
@@ -17,26 +17,30 @@ irreduzibel, wenn es keine Zerlegung von $\varrho$ in zwei
Darstellungen $\varrho_i\colon G\to\operatorname{GL}(U_i)$ ($i=1,2$)
gibt derart, dass $\varrho = \varrho_1\oplus\varrho_2$
\end{block}
+\uncover<2->{%
\begin{block}{Isomorphe Darstellungen}
$\varrho_i$ sind {\em isomorphe} Darstellungen in $V_i$ wenn es
$f\colon V_1\overset{\cong}{\to} V_2$ gibt mit
\begin{align*}
f \circ \varrho_i(g)\circ f^{-1} &= \varrho_2(g)
\\
+\uncover<3->{%
f \circ \varrho_i(g)\phantom{\mathstrut\circ f^{-1}}&= \varrho_2(g)\circ f
+}
\end{align*}
-\end{block}
+\end{block}}
\end{column}
\begin{column}{0.48\textwidth}
+\uncover<4->{%
\begin{block}{Lemma von Schur}
$\varrho_i$ zwei irreduzible Darstellungen und $f$ so, dass
$f\circ \varrho_1(g)=\varrho_2(g)\circ f$ für alle $g$.
Dann gilt
\begin{enumerate}
-\item $\varrho_i$ nicht isomorph $\Rightarrow$ $f=0$
-\item $V_1=V_2$ $\Rightarrow$ $f=\lambda I$
+\item<5-> $\varrho_i$ nicht isomorph $\Rightarrow$ $f=0$
+\item<6-> $V_1=V_2,\varrho_1=\varrho_2$ $\Rightarrow$ $f=\lambda I$
\end{enumerate}
-\end{block}
+\end{block}}
\end{column}
\end{columns}
\end{frame}
diff --git a/vorlesungen/slides/6/darstellungen/schur.tex b/vorlesungen/slides/6/darstellungen/schur.tex
index 69ce9ee..144de4c 100644
--- a/vorlesungen/slides/6/darstellungen/schur.tex
+++ b/vorlesungen/slides/6/darstellungen/schur.tex
@@ -14,31 +14,33 @@
\begin{block}{Mittelung einer Abbildung}
$h\colon V_1\to V_2$
\[
-h^G = \frac{1}{|G|} \sum_{g\in G} \varrho_2(g)^{-1} \circ f \circ \varrho_1(g)
+h^G = \frac{1}{|G|} \sum_{g\in G} \varrho_2(g)^{-1} \circ h \circ \varrho_1(g)
\]
\begin{enumerate}
-\item $\varrho_i$ nicht isomorph $\Rightarrow$ $h^G=0$
-\item $V_1=V_2$, $h^G = \frac1n\operatorname{Spur}h$
+\item<2-> $\varrho_i$ nicht isomorph $\Rightarrow$ $h^G=0$
+\item<3-> $V_1=V_2,\varrho_1=\varrho_2$, $h^G = \frac1n\operatorname{Spur}h$
\end{enumerate}
\end{block}
+\uncover<4->{%
\begin{block}{Matrixelemente für $\varrho_i$ nicht isomorph}
$\varrho_i$ nicht isomorph, dann ist
\[
\frac{1}{|G|} \sum_{g\in G} \varrho_1(g^{-1})_{kl}\varrho_2(g)_{uv}=0
\]
für alle $k,l,u,v$
-\end{block}
+\end{block}}
\end{column}
\begin{column}{0.48\textwidth}
+\uncover<5->{%
\begin{block}{Matrixelemente $V_1=V_2$, $\varrho_i$ iso}
-F¨r $k=v$ und $l=u$ gilt
+Für $k=v$ und $l=u$ gilt
\[
\frac{1}{|G|} \sum_{g\in G} \varrho_1(g^{-1})_{kl} \varrho_2(g)_{uv}
=
\frac1n
\]
und $=0$ sonst
-\end{block}
+\end{block}}
\end{column}
\end{columns}
\end{frame}
diff --git a/vorlesungen/slides/6/darstellungen/skalarprodukt.tex b/vorlesungen/slides/6/darstellungen/skalarprodukt.tex
index 653bdce..46cc8e9 100644
--- a/vorlesungen/slides/6/darstellungen/skalarprodukt.tex
+++ b/vorlesungen/slides/6/darstellungen/skalarprodukt.tex
@@ -21,18 +21,21 @@ $\varphi$, $\psi$ komplexe Funktionen auf $G$:
\end{block}
\end{column}
\begin{column}{0.48\textwidth}
+\uncover<2->{%
\begin{block}{Satz}
\begin{enumerate}
\item
$\chi$ der Charakter einer irrediziblen Darstellung
$\Rightarrow$ $\langle \chi,\chi\rangle=1$.
-\item
+\item<3->
$\chi$ und $\chi'$ Charaktere nichtisomorpher Darstellungen
$\Rightarrow$
$\langle \chi,\chi'\rangle=0$
\end{enumerate}
+\uncover<4->{%
D.~h.~Charaktere irreduzibler Darstellungen sind orthonormiert
-\end{block}
+}
+\end{block}}
\end{column}
\end{columns}
\end{frame}
diff --git a/vorlesungen/slides/6/darstellungen/summe.tex b/vorlesungen/slides/6/darstellungen/summe.tex
index 9152e1f..b0d193f 100644
--- a/vorlesungen/slides/6/darstellungen/summe.tex
+++ b/vorlesungen/slides/6/darstellungen/summe.tex
@@ -20,39 +20,45 @@ Gegeben zwei Darstellungen
\end{align*}
\end{block}
\vspace{-12pt}
+\uncover<2->{%
\begin{block}{Direkte Summe der Darstellungen}
-\vspace{-12pt}
+%\vspace{-12pt}
\begin{align*}
\varrho_1\oplus\varrho_2
&\colon
-G\to \mathbb{C}^{n_1+n_2} = \mathbb{C}^{n_1}\times\mathbb{C}^{n_2}
-=:
-\mathbb{C}^{n_1}\oplus\mathbb{C}^{n_2}
+G\to \mathbb{C}^{n_1+n_2}
+\only<3|handout:0>{
+= \mathbb{C}^{n_1}\times\mathbb{C}^{n_2}}
+\uncover<4->{=:
+\mathbb{C}^{n_1}\oplus\mathbb{C}^{n_2}}
+\hspace*{5cm}
\\
&\colon g\mapsto (\varrho_1(g),\varrho_2(g))
\end{align*}
-\end{block}
+\end{block}}
\vspace{-12pt}
+\uncover<5->{%
\begin{block}{Charakter}
-\vspace{-12pt}
+%\vspace{-12pt}
\begin{align*}
\chi_{\varrho_1\oplus\varrho_2}(g)
&=
\operatorname{Spur}(\varrho_1\oplus\varrho_2)(g)
\\
-&=
+&\uncover<6->{=
\operatorname{Spur}{\varrho_1(g)}
+
-\operatorname{Spur}{\varrho_1(g)}
+\operatorname{Spur}{\varrho_1(g)}}
\\
-&=
+&\uncover<7->{=
\chi_{\varrho_1}(g)
+
-\chi_{\varrho_2}(g)
+\chi_{\varrho_2}(g)}
\end{align*}
-\end{block}
+\end{block}}
\end{column}
\begin{column}{0.48\textwidth}
+\uncover<8->{%
\begin{block}{Tensorprodukt}
$n_1\times n_2$-dimensionale
Darstellung $\varrho_1\otimes\varrho_2$ mit Matrix
@@ -67,15 +73,16 @@ Darstellung $\varrho_1\otimes\varrho_2$ mit Matrix
&\varrho_1(g)_{n_1n_1} \varrho_2(g)
\end{pmatrix}
\]
-Die ``Einträge'' sind $n_2\times n_2$-Blöcke
-\end{block}
+\uncover<9->{Die ``Einträge'' sind $n_2\times n_2$-Blöcke}
+\end{block}}
+\uncover<10->{%
\begin{block}{Darstellungsring}
Die Menge der Darstellungen $R(G)$ einer Gruppe hat
einer Ringstruktur mit $\oplus$ und $\otimes$
\\
-$\Rightarrow$
-Algebra zum Studium der möglichen Darstellungen von $G$ verwenden
-\end{block}
+\uncover<11->{$\Rightarrow$
+Algebra zum Studium der möglichen Darstellungen von $G$ verwenden}
+\end{block}}
\end{column}
\end{columns}
\end{frame}
diff --git a/vorlesungen/slides/6/darstellungen/zyklisch.tex b/vorlesungen/slides/6/darstellungen/zyklisch.tex
index 6e36d1d..312d0e8 100644
--- a/vorlesungen/slides/6/darstellungen/zyklisch.tex
+++ b/vorlesungen/slides/6/darstellungen/zyklisch.tex
@@ -16,15 +16,17 @@
C_n = \mathbb{Z}/n\mathbb{Z}
\)
\end{block}
+\uncover<2->{%
\begin{block}{Darstellungen von $C_n$}
Gegeben durch $\varrho_k(1)=e^{2\pi i k/n}$,
\[
\varrho_k(l) = e^{2\pi ikl/n}
\]
-\end{block}
+\end{block}}
\vspace{-10pt}
+\uncover<3->{
\begin{block}{Charaktere}
-\vspace{-10pt}
+%\vspace{-10pt}
\[
\chi_k(l) = e^{2\pi ikl/n}
\]
@@ -38,13 +40,15 @@ haben Skalarprodukte
\end{cases}
\]
Die Darstellungen $\chi_k$ sind nicht isomorph
-\end{block}
+\end{block}}
\end{column}
\begin{column}{0.48\textwidth}
+\uncover<5->{%
\begin{block}{Orthonormalbasis}
Die Funktionen $\chi_k$ bilden eine Orthonormalbasis von $L^2(C_n)$
-\end{block}
+\end{block}}
\vspace{-4pt}
+\uncover<6->{%
\begin{block}{Analyse einer Darstellung}
$\varrho\colon C_n\to \mathbb{C}^n$ eine Darstellung,
$\chi_\varrho$ der Charakter lässt zerlegen:
@@ -53,24 +57,27 @@ c_k
&=
\langle \chi_k, \chi\rangle = \frac{1}{n} \sum_{l} \chi_k(l) e^{-2\pi ilk/n}
\\
+\uncover<7->{
\chi(l)
&=
\sum_{k} c_k \chi_k
=
\sum_{k} c_k e^{2\pi ikl/n}
+}
\end{align*}
-\end{block}
+\end{block}}
\vspace{-13pt}
+\uncover<8->{%
\begin{block}{Fourier-Theorie}
\vspace{-3pt}
\begin{center}
\begin{tabular}{>{$}l<{$}l}
-C_n&Diskrete Fourier-Theorie\\
-U(1)&Fourier-Reihen\\
-\mathbb{R}&Fourier-Integral
+\uncover<9->{C_n&Diskrete Fourier-Theorie}\\
+\uncover<10->{U(1)&Fourier-Reihen}\\
+\uncover<11->{\mathbb{R}&Fourier-Integral}
\end{tabular}
\end{center}
-\end{block}
+\end{block}}
\end{column}
\end{columns}
\end{frame}
diff --git a/vorlesungen/slides/6/normalteiler/konjugation.tex b/vorlesungen/slides/6/normalteiler/konjugation.tex
new file mode 100644
index 0000000..70ce01f
--- /dev/null
+++ b/vorlesungen/slides/6/normalteiler/konjugation.tex
@@ -0,0 +1,77 @@
+%
+% konjugation.tex -- slide template
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\bgroup
+\begin{frame}[t]
+\setlength{\abovedisplayskip}{5pt}
+\setlength{\belowdisplayskip}{5pt}
+\frametitle{Konjugation}
+\vspace{-20pt}
+\begin{columns}[t,onlytextwidth]
+\begin{column}{0.48\textwidth}
+\begin{block}{``Basiswechsel''}
+In der Gruppe $\operatorname{GL}_n(\Bbbk)$
+\[
+A' = TAT^{-1}
+\]
+$T\in\operatorname{GL}_n(\Bbbk)$
+\\
+$A$ und $A'$ sind ``gleichwertig''
+\end{block}
+\uncover<2->{%
+\begin{block}{Definition}
+$g_1,g_2\in G$ sind {\em konjugiert}, wenn es
+$h\in G$ gibt mit
+\[
+g_1 = hg_2h^{-1}
+\]
+\end{block}}
+\uncover<3->{%
+\begin{block}{Beispiel}
+Konjugierte Elemente in $\operatorname{GL}_n(\Bbbk)$ haben die
+gleiche Spur und Determinante
+\end{block}}
+\end{column}
+\begin{column}{0.48\textwidth}
+\uncover<4->{%
+\begin{block}{Konjugationsklasse}
+Die Konjugationsklasse von $g$ ist
+\[
+\llbracket g\rrbracket
+=
+\{h\in G\;|\; \text{$h$ konjugiert zu $g$}\}
+\]
+\end{block}}
+\vspace{-7pt}
+\uncover<5->{%
+\begin{block}{Klassenzerlegung}
+\begin{align*}
+G
+&=
+\{e\}
+\cup
+\llbracket g_1\rrbracket
+\cup
+\llbracket g_2\rrbracket
+\cup
+\dots
+\\
+&\uncover<6->{=
+C_e\cup C_1 \cup C_2\cup\dots}
+\end{align*}
+\end{block}}
+\vspace{-7pt}
+\uncover<7->{%
+\begin{block}{Klassenfunktionen}
+Funktionen, die auf Konjugationsklassen konstant sind
+\end{block}}
+\uncover<8->{%
+\begin{block}{Beispiele}
+Spur, Determinante
+\end{block}}
+\end{column}
+\end{columns}
+\end{frame}
+\egroup
diff --git a/vorlesungen/slides/6/normalteiler/normal.tex b/vorlesungen/slides/6/normalteiler/normal.tex
new file mode 100644
index 0000000..42336b9
--- /dev/null
+++ b/vorlesungen/slides/6/normalteiler/normal.tex
@@ -0,0 +1,79 @@
+%
+% normal.tex -- slide template
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\bgroup
+\begin{frame}[t]
+\setlength{\abovedisplayskip}{5pt}
+\setlength{\belowdisplayskip}{5pt}
+\frametitle{Normalteiler}
+\vspace{-20pt}
+\begin{columns}[t,onlytextwidth]
+\begin{column}{0.48\textwidth}
+\begin{block}{Gegeben}
+Eine Gruppe $G$ mit Untergruppe $N\subset G$
+\end{block}
+\uncover<2->{%
+\begin{block}{Bedingung}
+Welche Eigenschaft muss $N$ zusätzlich haben,
+damit
+\[
+G/N
+=
+\{ gN \;|\; g\in G\}
+\]
+eine Gruppe wird.
+
+\uncover<3->{Wähle Repräsentaten $g_1N=g_2N$}
+\uncover<4->{%
+\begin{align*}
+g_1g_2N
+&\uncover<5->{=
+g_1g_2NN}
+\uncover<6->{=
+g_1g_2Ng_2^{-1}g_2N}
+\\
+&\uncover<7->{=
+g_1(g_2Ng_2^{-1})g_2N}
+\\
+&\uncover<8->{\stackrel{?}{=} g_1Ng_2N}
+\end{align*}}
+\uncover<9->{Funktioniert nur wenn $g_2Ng_2^{-1}=N$ ist}
+\end{block}}
+\end{column}
+\begin{column}{0.48\textwidth}
+\uncover<10->{%
+\begin{block}{Universelle Eigenschaft}
+Ist $\varphi\colon G\to G'$ ein Homomorphismus mit $\varphi(N)=\{e\}$%
+\uncover<11->{, dann gibt es einen Homomorphismus $G/N\to G'$:}
+\begin{center}
+\begin{tikzpicture}[>=latex,thick]
+\coordinate (N) at (-2.5,0);
+\coordinate (G) at (0,0);
+\coordinate (quotient) at (2.5,0);
+\coordinate (Gprime) at (0,-2.5);
+\coordinate (e) at (-2.5,-2.5);
+\node at (N) {$N$};
+\node at (e) {$\{e\}$};
+\node at (G) {$G$};
+\node at (Gprime) {$G'$};
+\node at (quotient) {$G/N$};
+\draw[->,shorten >= 0.3cm,shorten <= 0.4cm] (N) -- (G);
+\draw[->,shorten >= 0.3cm,shorten <= 0.4cm] (N) -- (e);
+\draw[->,shorten >= 0.3cm,shorten <= 0.4cm] (e) -- (Gprime);
+\draw[->,shorten >= 0.3cm,shorten <= 0.4cm] (G) -- (Gprime);
+\draw[->,shorten >= 0.4cm,shorten <= 0.4cm] (G) -- (quotient);
+\uncover<11->{
+\draw[->,shorten >= 0.3cm,shorten <= 0.4cm,color=red] (quotient) -- (Gprime);
+\node[color=red] at ($0.5*(quotient)+0.5*(Gprime)$) [below right] {$\exists!$};
+}
+\node at ($0.5*(quotient)$) [above] {$\pi$};
+\node at ($0.5*(Gprime)$) [left] {$\varphi$};
+\end{tikzpicture}
+\end{center}
+\end{block}}
+\end{column}
+\end{columns}
+\end{frame}
+\egroup
diff --git a/vorlesungen/slides/6/permutationen/matrizen.tex b/vorlesungen/slides/6/permutationen/matrizen.tex
index 346993d..d40c396 100644
--- a/vorlesungen/slides/6/permutationen/matrizen.tex
+++ b/vorlesungen/slides/6/permutationen/matrizen.tex
@@ -20,6 +20,7 @@ e_i \mapsto e_{\sigma(i)}
\]
($e_i$ Standardbasisvektor)
\end{block}
+\uncover<2->{%
\begin{block}{Lineare Abbildung}
$f$ kann erweitert werden zu einer linearen Abbildung
\[
@@ -31,9 +32,10 @@ $f$ kann erweitert werden zu einer linearen Abbildung
\mapsto
\sum_{k=1}^n a_i f(e_i)
\]
-\end{block}
+\end{block}}
\end{column}
\begin{column}{0.48\textwidth}
+\uncover<3->{%
\begin{block}{Permutationsmatrix}
Matrix $A_{\tilde{f}}$ der linearen Abbildung $\tilde{f}$
hat die Matrixelemente
@@ -45,10 +47,11 @@ a_{ij}
0&\qquad\text{sonst}
\end{cases}
\]
-\end{block}
+\end{block}}
\vspace{-10pt}
+\uncover<4->{%
\begin{block}{Beispiel}
-\vspace{-20pt}
+\vspace{-10pt}
\[
\begin{pmatrix}
1&2&3&4\\
@@ -62,13 +65,14 @@ a_{ij}
0&0&1&0
\end{pmatrix}
\]
-\end{block}
+\end{block}}
\vspace{-10pt}
+\uncover<5->{%
\begin{block}{Homomorphismus}
Die Abbildung
$S_n\to\operatorname{GL}(\Bbbk)\colon \sigma \mapsto A_{\tilde{f}}$
ist ein Homomorphismus
-\end{block}
+\end{block}}
\end{column}
\end{columns}
\end{frame}
diff --git a/vorlesungen/slides/6/produkte/direkt.tex b/vorlesungen/slides/6/produkte/direkt.tex
new file mode 100644
index 0000000..c851335
--- /dev/null
+++ b/vorlesungen/slides/6/produkte/direkt.tex
@@ -0,0 +1,66 @@
+%
+% direkt.tex -- slide template
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\bgroup
+\begin{frame}[t]
+\setlength{\abovedisplayskip}{5pt}
+\setlength{\belowdisplayskip}{5pt}
+\frametitle{Direktes Produkt}
+\vspace{-20pt}
+\begin{columns}[t,onlytextwidth]
+\begin{column}{0.48\textwidth}
+\begin{block}{Definition}
+Zwei Gruppen $H_1$ und $H_2$
+\\
+Gruppe $G=H_1\times H_2$ mit
+\begin{itemize}
+\item<2-> Elemente $(h_1,h_2)\in H_1\times H_2$
+\item<3-> Neutrales Element $(e_1,e_2)$
+\item<4-> Inverses Elemente $(h_1,h_2)^{-1}=(h_1^{-1},h_2^{-1})$
+\end{itemize}
+heisst {\em direktes Produkt}
+\end{block}
+\uncover<5->{%
+\begin{block}{Vertauschbarkeit}
+Das direkte Produkt ist ein Produkt, in dem Elemente von $H_1$ und
+$H_2$ vollständig vertauschbar sind
+\end{block}}
+\end{column}
+\begin{column}{0.48\textwidth}
+\uncover<6->{%
+\begin{block}{Universelle Eigenschaft}
+\begin{center}
+\begin{tikzpicture}[>=latex,thick]
+\coordinate (S) at (0,2.5);
+\coordinate (H1) at (-2.5,0);
+\coordinate (H2) at (2.5,0);
+
+\node at (H1) {$H_1$};
+\node at (H2) {$H_2$};
+\node at (0,0) {$H_1\times H_2$};
+\node at (S) {$S$};
+
+\draw[->,shorten >= 0.25cm,shorten <= 0.8cm] (0,0) -- (H1);
+\draw[->,shorten >= 0.25cm,shorten <= 0.8cm] (0,0) -- (H2);
+
+\draw[->,shorten >= 0.25cm,shorten <= 0.25cm] (S) -- (H1);
+\draw[->,shorten >= 0.25cm,shorten <= 0.25cm] (S) -- (H2);
+
+\node at ($0.5*(S)+0.5*(H1)$) [above left] {$f_1$};
+\node at ($0.5*(S)+0.5*(H2)$) [above right] {$f_2$};
+
+\uncover<7->{
+\draw[->,shorten >= 0.25cm,shorten <= 0.25cm,color=red] (S) -- (0,0);
+\node[color=red] at ($0.36*(S)$) [left] {$f_1\times f_2$};
+\node[color=red] at ($0.36*(S)$) [right] {$\exists!$};
+}
+
+\end{tikzpicture}
+\end{center}
+\end{block}}
+\end{column}
+\end{columns}
+\end{frame}
+\egroup
diff --git a/vorlesungen/slides/6/produkte/frei.tex b/vorlesungen/slides/6/produkte/frei.tex
new file mode 100644
index 0000000..6c23e6b
--- /dev/null
+++ b/vorlesungen/slides/6/produkte/frei.tex
@@ -0,0 +1,79 @@
+%
+% 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{Freie Gruppen}
+\vspace{-20pt}
+\begin{columns}[t,onlytextwidth]
+\begin{column}{0.48\textwidth}
+\begin{block}{Gruppe aus Symbolen}
+Erzeugende Elemente $\{a,b,c,\dots\}$
+\\
+\uncover<2->{%
+Wörter =
+Folgen von Symbolen $a$, $a^{-1}$, $b$, $b^{-1}$}
+\\
+\uncover<3->{
+{\em freie Gruppe}:
+\begin{align*}
+F&=\langle a,b,c,\dots\rangle
+\\
+&=
+\{\text{Wörter}\}
+/\text{Kürzungsregel}
+\end{align*}}
+\vspace{-10pt}
+\begin{itemize}
+\item<4-> neutrales Element: $e = \text{leere Symbolfolge}$
+\item<5-> Gruppenoperation: Verkettung
+\item<6-> Kürzungsregel:
+\begin{align*}
+xx^{-1}&\to e,
+&
+x^{-1}x&\to e
+\end{align*}
+\end{itemize}
+\end{block}
+\end{column}
+\begin{column}{0.48\textwidth}
+\uncover<7->{%
+\begin{block}{Universelle Eigenschaft}
+$g_i\in G$, dann gibt es genau einen Homomorphismus
+\[
+\varphi
+\colon
+\langle g_i| 1\le i\le k\rangle
+\to
+G
+\]
+\end{block}}
+\vspace{-10pt}
+\uncover<8->{%
+\begin{block}{Quotient einer freien Gruppe}
+Jede endliche Gruppe ist Quotient einer freien Gruppe
+\[
+N
+\xhookrightarrow{}
+\langle g_i\rangle
+\twoheadrightarrow
+G
+\]
+oder
+\[
+G = \langle g_i\rangle / N
+\]
+\end{block}}
+\vspace{-10pt}
+\uncover<11->{%
+\begin{block}{Maximal nichtkommutativ}
+Die freie Gruppe ist die ``maximal nichtkommutative'' Gruppe
+\end{block}}
+\end{column}
+\end{columns}
+\end{frame}
+\egroup
diff --git a/vorlesungen/slides/6/punktgruppen/WasserstoffAufspaltung.pdf b/vorlesungen/slides/6/punktgruppen/WasserstoffAufspaltung.pdf
new file mode 100644
index 0000000..56cbf7b
--- /dev/null
+++ b/vorlesungen/slides/6/punktgruppen/WasserstoffAufspaltung.pdf
Binary files differ
diff --git a/vorlesungen/slides/6/punktgruppen/aufspaltung.tex b/vorlesungen/slides/6/punktgruppen/aufspaltung.tex
new file mode 100644
index 0000000..633f700
--- /dev/null
+++ b/vorlesungen/slides/6/punktgruppen/aufspaltung.tex
@@ -0,0 +1,15 @@
+%
+% 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{Aufspaltung}
+\begin{center}
+\includegraphics[width=0.66\textwidth]{../slides/6/punktgruppen/WasserstoffAufspaltung.pdf}
+\end{center}
+\end{frame}
+\egroup
diff --git a/vorlesungen/slides/6/punktgruppen/c.tex b/vorlesungen/slides/6/punktgruppen/c.tex
new file mode 100644
index 0000000..80790b1
--- /dev/null
+++ b/vorlesungen/slides/6/punktgruppen/c.tex
@@ -0,0 +1,49 @@
+%
+% c.tex -- slide template
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\bgroup
+\begin{frame}[t]
+\setlength{\abovedisplayskip}{5pt}
+\setlength{\belowdisplayskip}{5pt}
+\frametitle{Drehgruppen}
+\vspace{-25pt}
+\begin{columns}[t,onlytextwidth]
+\begin{column}{0.33\textwidth}
+\begin{block}{$C_n$}
+\begin{center}
+\includegraphics[width=\textwidth]{../slides/6/punktgruppen/images/cn.jpg}
+\end{center}
+\begin{itemize}
+\item Eine $n$-zählige Achse
+\end{itemize}
+\end{block}
+\end{column}
+\begin{column}{0.33\textwidth}
+\uncover<2->{%
+\begin{block}{$C_{nv}$}
+\begin{center}
+\includegraphics[width=\textwidth]{../slides/6/punktgruppen/images/cnv.jpg}
+\end{center}
+\begin{itemize}
+\item Eine $n$-zählige Achse
+\item $n$ dazu senkrechte Symmetrieebenen
+\end{itemize}
+\end{block}}
+\end{column}
+\begin{column}{0.33\textwidth}
+\uncover<3->{%
+\begin{block}{$C_{nh}$}
+\begin{center}
+\includegraphics[width=\textwidth]{../slides/6/punktgruppen/images/cnh.jpg}
+\end{center}
+\begin{itemize}
+\item Eine $n$-zählige Achse
+\item Eine dazu senkrechte Spiegelebene
+\end{itemize}
+\end{block}}
+\end{column}
+\end{columns}
+\end{frame}
+\egroup
diff --git a/vorlesungen/slides/6/punktgruppen/chemie.tex b/vorlesungen/slides/6/punktgruppen/chemie.tex
new file mode 100644
index 0000000..7f8b7a8
--- /dev/null
+++ b/vorlesungen/slides/6/punktgruppen/chemie.tex
@@ -0,0 +1,63 @@
+%
+% chemie.tex -- Anwendung
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\bgroup
+\begin{frame}[t]
+\setlength{\abovedisplayskip}{5pt}
+\setlength{\belowdisplayskip}{5pt}
+\frametitle{Anwendung: Energieniveaus eines Atoms}
+\vspace{-20pt}
+\begin{columns}[t,onlytextwidth]
+\begin{column}{0.48\textwidth}
+\begin{block}{Schrödingergleichung}
+Partielle Differentialgleichung für die Wellenfunktion
+eines Teilchens im Potential $V(x)$
+\[
+-\frac{\hbar^2}{2m}\Delta \Psi
++
+V(x)\Psi
+=
+E\Psi
+\]
+$V(x)$ = Potential der Atomkerne eines Molekuls
+\end{block}
+\uncover<2->{%
+\begin{block}{Symmetrien}
+$g\in\operatorname{O}(3)$ wirkt auf $V$ und $\Psi$
+\begin{align*}
+(g\cdot V)(x) &= V(g\cdot x)
+\\
+(g\cdot \Psi)(x) &= \Psi(g\cdot x)
+\end{align*}
+Symmetrie von $V$: $g\cdot V=V$
+\end{block}}
+\end{column}
+\begin{column}{0.48\textwidth}
+\uncover<3->{%
+\begin{block}{Lösungen}
+Eigenfunktionen $\Psi$ zum Eigenwert $E$
+\[
+g\cdot V=V
+\Rightarrow
+g\cdot \Psi
+\text{ Lösung}
+\]
+mit gleichem Eigenwert!
+\end{block}}
+\uncover<4->{%
+\begin{block}{Eigenräume}
+Die Symmetriegruppe $G\subset \operatorname{O}(3)$ eines Moleküls
+operiert auf dem Eigenraum
+\end{block}}
+\uncover<5->{%
+\begin{block}{Externe Felder}
+Externe Felder zerstören die Symmetrie
+$\Rightarrow$
+die Energieniveaus/Spektrallinien spalten sich auf
+\end{block}}
+\end{column}
+\end{columns}
+\end{frame}
+\egroup
diff --git a/vorlesungen/slides/6/punktgruppen/d.tex b/vorlesungen/slides/6/punktgruppen/d.tex
new file mode 100644
index 0000000..9dd0a7a
--- /dev/null
+++ b/vorlesungen/slides/6/punktgruppen/d.tex
@@ -0,0 +1,53 @@
+%
+% d.tex -- slide template
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\bgroup
+\begin{frame}[t]
+\setlength{\abovedisplayskip}{5pt}
+\setlength{\belowdisplayskip}{5pt}
+\frametitle{Diedergruppen}
+\vspace{-20pt}
+\begin{columns}[t,onlytextwidth]
+\begin{column}{0.33\textwidth}
+\begin{block}{$D_n$}
+\begin{center}
+\includegraphics[width=\textwidth]{../slides/6/punktgruppen/images/dn.jpg}
+\end{center}
+\vspace{-8pt}
+\begin{itemize}
+\item $C_n$ Achse
+\item $n$ $C_2$ Achse senkrecht dazu
+\end{itemize}
+\end{block}
+\end{column}
+\begin{column}{0.33\textwidth}
+\uncover<2->{%
+\begin{block}{$D_{nd}$}
+\begin{center}
+\includegraphics[width=\textwidth]{../slides/6/punktgruppen/images/dnd.jpg}
+\end{center}
+\vspace{-8pt}
+\begin{itemize}
+\item $D_n$ Achse
+\item $n$ winkelhalbierende Spiegelebenen der $C_2$-Achsen
+\end{itemize}
+\end{block}}
+\end{column}
+\begin{column}{0.33\textwidth}
+\uncover<3->{%
+\begin{block}{$D_{nh}$}
+\begin{center}
+\includegraphics[width=\textwidth]{../slides/6/punktgruppen/images/dnh.jpg}
+\end{center}
+\vspace{-8pt}
+\begin{itemize}
+\item $D_n$ Achse
+\item Spiegelbene senkrecht dazu
+\end{itemize}
+\end{block}}
+\end{column}
+\end{columns}
+\end{frame}
+\egroup
diff --git a/vorlesungen/slides/6/punktgruppen/ebene.tex b/vorlesungen/slides/6/punktgruppen/ebene.tex
new file mode 100644
index 0000000..3b715e4
--- /dev/null
+++ b/vorlesungen/slides/6/punktgruppen/ebene.tex
@@ -0,0 +1,79 @@
+%
+% ebene.tex -- Punktgruppen in der Ebene
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\bgroup
+\begin{frame}[t]
+\setlength{\abovedisplayskip}{5pt}
+\setlength{\belowdisplayskip}{5pt}
+\frametitle{Punktgruppen in der Ebene}
+\vspace{-20pt}
+\begin{columns}[t,onlytextwidth]
+\begin{column}{0.48\textwidth}
+\begin{block}{Zyklische Gruppen}
+\begin{center}
+\begin{tikzpicture}[>=latex,thick]
+\def\a{40}
+\def\r{2}
+\def\R{2.5}
+\fill[color=blue!20] (0,0) -- (0:{1.1*\R}) arc (0:\a:{1.1*\R}) -- cycle;
+\node[color=blue] at ({0.5*\a}:{0.8*\r}) {$\displaystyle\frac{2\pi}n$};
+\fill (0,0) circle[radius=0.08];
+\draw[color=red] (0:\r) -- (0:\R)
+ -- ({1*\a}:\r) -- ({1*\a}:\R)
+ -- ({2*\a}:\r) -- ({2*\a}:\R)
+ -- ({3*\a}:\r) -- ({3*\a}:\R)
+ -- ({4*\a}:\r) -- ({4*\a}:\R)
+ -- ({5*\a}:\r) -- ({5*\a}:\R)
+ -- ({6*\a}:\r) -- ({6*\a}:\R)
+ -- ({7*\a}:\r) -- ({7*\a}:\R)
+ -- ({8*\a}:\r) %-- ({8*\a}:\R)
+;
+\end{tikzpicture}
+\end{center}
+\[
+C_n
+=
+\{\text{Drehungen um Winkel $2\pi/n$}\}
+\]
+\end{block}
+\end{column}
+\begin{column}{0.48\textwidth}
+\begin{block}{Diedergruppen}
+\begin{center}
+\begin{tikzpicture}[>=latex,thick]
+\def\a{40}
+\def\r{2}
+\def\R{2.5}
+\fill[color=blue!20] (0,0) -- (0:{1.1*\R}) arc (0:\a:{1.1*\R}) -- cycle;
+\node[color=blue] at ({0.5*\a}:{0.8*\r}) {$\displaystyle\frac{2\pi}n$};
+\fill (0,0) circle[radius=0.08];
+\draw[color=red] (0:\r) -- ({0.5*\a}:\R)
+ -- ({1*\a}:\r) -- ({1.5*\a}:\R)
+ -- ({2*\a}:\r) -- ({2.5*\a}:\R)
+ -- ({3*\a}:\r) -- ({3.5*\a}:\R)
+ -- ({4*\a}:\r) -- ({4.5*\a}:\R)
+ -- ({5*\a}:\r) -- ({5.5*\a}:\R)
+ -- ({6*\a}:\r) -- ({6.5*\a}:\R)
+ -- ({7*\a}:\r) -- ({7.5*\a}:\R)
+ -- ({8*\a}:\r) %-- ({8.5*\a}:\R)
+;
+\end{tikzpicture}
+\end{center}
+\begin{align*}
+D_n
+&=
+\langle\text{Spiegelung},
+\text{Drehungen}\rangle
+\\
+&=
+C_2
+\ltimes
+C_n
+\end{align*}
+\end{block}
+\end{column}
+\end{columns}
+\end{frame}
+\egroup
diff --git a/vorlesungen/slides/6/punktgruppen/images/Makefile b/vorlesungen/slides/6/punktgruppen/images/Makefile
new file mode 100644
index 0000000..e909884
--- /dev/null
+++ b/vorlesungen/slides/6/punktgruppen/images/Makefile
@@ -0,0 +1,40 @@
+#
+# Makefile
+#
+# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+#
+all: cn.jpg cnv.jpg cnh.jpg dn.jpg dnd.jpg dnh.jpg
+
+cn.png: common.inc cn.pov
+ povray +A0.1 -W1920 -H1080 -Ocn.png cn.pov
+cn.jpg: cn.png
+ convert -extract 1050x1050+450+4 cn.png cn.jpg
+
+cnv.png: common.inc cnv.pov
+ povray +A0.1 -W1920 -H1080 -Ocnv.png cnv.pov
+cnv.jpg: cnv.png
+ convert -extract 1050x1050+450+4 cnv.png cnv.jpg
+
+cnh.png: common.inc cnh.pov
+ povray +A0.1 -W1920 -H1080 -Ocnh.png cnh.pov
+cnh.jpg: cnh.png
+ convert -extract 1050x1050+450+4 cnh.png cnh.jpg
+
+dn.png: common.inc dn.pov
+ povray +A0.1 -W1920 -H1080 -Odn.png dn.pov
+dn.jpg: dn.png
+ convert -extract 1050x1050+450+4 dn.png dn.jpg
+
+dnd.png: common.inc dnd.pov
+ povray +A0.1 -W1920 -H1080 -Odnd.png dnd.pov
+dnd.jpg: dnd.png
+ convert -extract 1050x1050+450+4 dnd.png dnd.jpg
+
+dnh.png: common.inc dnh.pov
+ povray +A0.1 -W1920 -H1080 -Odnh.png dnh.pov
+dnh.jpg: dnh.png
+ convert -extract 1050x1050+450+4 dnh.png dnh.jpg
+
+
+
+
diff --git a/vorlesungen/slides/6/punktgruppen/images/cn.jpg b/vorlesungen/slides/6/punktgruppen/images/cn.jpg
new file mode 100644
index 0000000..4ea4e92
--- /dev/null
+++ b/vorlesungen/slides/6/punktgruppen/images/cn.jpg
Binary files differ
diff --git a/vorlesungen/slides/6/punktgruppen/images/cn.pov b/vorlesungen/slides/6/punktgruppen/images/cn.pov
new file mode 100644
index 0000000..39d65be
--- /dev/null
+++ b/vorlesungen/slides/6/punktgruppen/images/cn.pov
@@ -0,0 +1,10 @@
+//
+// cn.pov
+//
+// (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+//
+
+#include "common.inc"
+
+koerper(0.4,0.6,0.6,0.5,0.8,-0.6,0.0)
+Vachse()
diff --git a/vorlesungen/slides/6/punktgruppen/images/cnh.jpg b/vorlesungen/slides/6/punktgruppen/images/cnh.jpg
new file mode 100644
index 0000000..72181e8
--- /dev/null
+++ b/vorlesungen/slides/6/punktgruppen/images/cnh.jpg
Binary files differ
diff --git a/vorlesungen/slides/6/punktgruppen/images/cnh.pov b/vorlesungen/slides/6/punktgruppen/images/cnh.pov
new file mode 100644
index 0000000..65d27a4
--- /dev/null
+++ b/vorlesungen/slides/6/punktgruppen/images/cnh.pov
@@ -0,0 +1,11 @@
+//
+// cnh.pov
+//
+// (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+//
+
+#include "common.inc"
+
+koerper(0.6,0.8,0.6,0.6,0.8,-0.6,0.0)
+Vachse()
+Hebene()
diff --git a/vorlesungen/slides/6/punktgruppen/images/cnv.jpg b/vorlesungen/slides/6/punktgruppen/images/cnv.jpg
new file mode 100644
index 0000000..fd81513
--- /dev/null
+++ b/vorlesungen/slides/6/punktgruppen/images/cnv.jpg
Binary files differ
diff --git a/vorlesungen/slides/6/punktgruppen/images/cnv.pov b/vorlesungen/slides/6/punktgruppen/images/cnv.pov
new file mode 100644
index 0000000..a87e075
--- /dev/null
+++ b/vorlesungen/slides/6/punktgruppen/images/cnv.pov
@@ -0,0 +1,11 @@
+//
+// cnv.pov
+//
+// (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+//
+
+#include "common.inc"
+
+koerper(0.4,0.6,0.6,0.5,0.8,-0.6,0.5)
+Vachse()
+Vebene()
diff --git a/vorlesungen/slides/6/punktgruppen/images/common.inc b/vorlesungen/slides/6/punktgruppen/images/common.inc
new file mode 100644
index 0000000..ffd9e79
--- /dev/null
+++ b/vorlesungen/slides/6/punktgruppen/images/common.inc
@@ -0,0 +1,200 @@
+//
+// 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.22;
+#declare O = <0, 0, 0>;
+#declare at = 0.015;
+
+camera {
+ location <3, 3.2, -10>
+ look_at <0, 0, 0>
+ right 16/9 * x * imagescale
+ up y * imagescale
+}
+
+light_source {
+ <-21, 20, -50> color 0.7*White
+ area_light <10,0,0> <0,0,10>, 10, 10
+ adaptive 1
+ jitter
+}
+
+light_source {
+ <8, 80, -5> color 0.6*White
+ area_light <10,0,0> <0,0,10>, 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.2;
+
+arrow(< -r, 0, 0 >, < r, 0, 0 >, at, Gray)
+arrow(< 0, 0, -r >, < 0, 0, r >, at, Gray)
+arrow(< 0, -r, 0 >, < 0, r, 0 >, at, Gray)
+
+#macro kranzpunkt(r, winkel, h)
+ < r * cos(winkel), h, r * sin(winkel) >
+#end
+
+#declare N = 13;
+#declare h = 0.6;
+
+#macro deckel(r, R, scherwinkel, h)
+ #declare phi = 0;
+ #declare phistep = 2 * pi / N;
+ #while (phi < (2 * pi) - phistep/2)
+ triangle {
+ <0, h, 0>,
+ kranzpunkt(r, phi, h),
+ kranzpunkt(R, phi + scherwinkel, h)
+ }
+ triangle {
+ <0, h, 0>,
+ kranzpunkt(R, phi + scherwinkel, h)
+ kranzpunkt(r, phi + phistep, h)
+ }
+ #declare phi = phi + phistep;
+ #end
+#end
+
+
+#macro mantel(roben, Roben, hoben, runten, Runten, hunten, scherwinkel)
+ #declare phi = 0;
+ #declare phistep = 2 * pi / N;
+ #while (phi < 2 * pi - phistep/2)
+ triangle {
+ kranzpunkt(runten, phi, hunten),
+ kranzpunkt(Runten, phi + scherwinkel, hunten),
+ kranzpunkt(roben, phi, hoben)
+ }
+ triangle {
+ kranzpunkt(Runten, phi + scherwinkel, hunten),
+ kranzpunkt(Roben, phi + scherwinkel, hoben),
+ kranzpunkt(roben, phi, hoben)
+ }
+ triangle {
+ kranzpunkt(Runten, phi + scherwinkel, hunten),
+ kranzpunkt(runten, phi + phistep, hunten),
+ kranzpunkt(Roben, phi + scherwinkel, hoben)
+ }
+ triangle {
+ kranzpunkt(runten, phi + phistep, hunten),
+ kranzpunkt(roben, phi + phistep, hoben),
+ kranzpunkt(Roben, phi + scherwinkel, hoben)
+ }
+ #declare phi = phi + phistep;
+ #end
+#end
+
+#declare scherwinkel = function(scherfaktor) { (scherfaktor * 2 * pi / N) };
+
+#macro koerper(roben, Roben, hoben, runten, Runten, hunten, scherfaktor)
+mesh {
+ deckel(roben, Roben, scherwinkel(scherfaktor), hoben)
+ deckel(runten, Runten, scherwinkel(scherfaktor), hunten)
+ mantel(roben, Roben, hoben, runten, Runten, hunten, scherwinkel(scherfaktor))
+ pigment {
+ color Gray
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+}
+#end
+
+#macro Hvektor(a)
+ <cos(a*2*pi/N),0,sin(a*2*pi/N)>
+#end
+
+#declare VachseFarbe = rgb<1,0.6,0>;
+#declare HachseFarbe = rgb<0.8,0.2,0.8>;
+#declare VebeneFarbe = rgbf<0.2,0.8,1.0,0.7>;
+#declare HebeneFarbe = rgbf<0.2,0.4,0.2,0.7>;
+
+#macro ebene(richtung, farbe)
+intersection {
+ cylinder { <0, -1, 0>, <0, 1, 0>, 1.0 }
+ plane { vnormalize(richtung), 0.003 }
+ plane { -vnormalize(richtung), 0.003 }
+ pigment {
+ color farbe
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+}
+#end
+
+#macro Vebene()
+ ebene(Hvektor(-1.25), VebeneFarbe)
+#end
+
+#macro Hebene()
+ ebene(<0,1,0>, HebeneFarbe)
+#end
+
+#macro achse(richtung, farbe)
+ cylinder { 1.1 * vnormalize(richtung),
+ -1.1 * vnormalize(richtung),
+ 1.5 * at
+ pigment {
+ color farbe
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+ }
+#end
+
+#macro Vachse()
+ achse(<0,1,0>, VachseFarbe)
+#end
+
+#macro Hachse()
+ achse(Hvektor(-1.5), HachseFarbe)
+#end
diff --git a/vorlesungen/slides/6/punktgruppen/images/dn.jpg b/vorlesungen/slides/6/punktgruppen/images/dn.jpg
new file mode 100644
index 0000000..f895d44
--- /dev/null
+++ b/vorlesungen/slides/6/punktgruppen/images/dn.jpg
Binary files differ
diff --git a/vorlesungen/slides/6/punktgruppen/images/dn.pov b/vorlesungen/slides/6/punktgruppen/images/dn.pov
new file mode 100644
index 0000000..36eed3e
--- /dev/null
+++ b/vorlesungen/slides/6/punktgruppen/images/dn.pov
@@ -0,0 +1,12 @@
+//
+// dn.pov
+//
+// (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+//
+
+#include "common.inc"
+
+koerper(0.5,0.7,0.6,0.6,0.8,0,0.0)
+koerper(0.6,0.8,0,0.5,0.7,-0.6,1.0)
+Vachse()
+Hachse()
diff --git a/vorlesungen/slides/6/punktgruppen/images/dnd.jpg b/vorlesungen/slides/6/punktgruppen/images/dnd.jpg
new file mode 100644
index 0000000..089e24f
--- /dev/null
+++ b/vorlesungen/slides/6/punktgruppen/images/dnd.jpg
Binary files differ
diff --git a/vorlesungen/slides/6/punktgruppen/images/dnd.pov b/vorlesungen/slides/6/punktgruppen/images/dnd.pov
new file mode 100644
index 0000000..f0ec115
--- /dev/null
+++ b/vorlesungen/slides/6/punktgruppen/images/dnd.pov
@@ -0,0 +1,13 @@
+//
+// dnd.pov
+//
+// (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+//
+
+#include "common.inc"
+
+koerper(0.5,0.7,0.6,0.6,0.8,0,0.25)
+koerper(0.6,0.8,0,0.5,0.7,-0.6,0.75)
+Vachse()
+Hachse()
+ebene(Hvektor(2.25), VebeneFarbe)
diff --git a/vorlesungen/slides/6/punktgruppen/images/dnh.jpg b/vorlesungen/slides/6/punktgruppen/images/dnh.jpg
new file mode 100644
index 0000000..c62dbbb
--- /dev/null
+++ b/vorlesungen/slides/6/punktgruppen/images/dnh.jpg
Binary files differ
diff --git a/vorlesungen/slides/6/punktgruppen/images/dnh.pov b/vorlesungen/slides/6/punktgruppen/images/dnh.pov
new file mode 100644
index 0000000..6f14271
--- /dev/null
+++ b/vorlesungen/slides/6/punktgruppen/images/dnh.pov
@@ -0,0 +1,13 @@
+//
+// dnh.pov
+//
+// (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+//
+
+#include "common.inc"
+
+koerper(0.5,0.7,0.6,0.6,0.8,0,0.5)
+koerper(0.6,0.8,0,0.5,0.7,-0.6,0.5)
+Vachse()
+Hachse()
+Hebene()
diff --git a/vorlesungen/slides/6/punktgruppen/p.tex b/vorlesungen/slides/6/punktgruppen/p.tex
new file mode 100644
index 0000000..ea51e93
--- /dev/null
+++ b/vorlesungen/slides/6/punktgruppen/p.tex
@@ -0,0 +1,38 @@
+%
+% p.tex -- slide template
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\bgroup
+\begin{frame}[t]
+\setlength{\abovedisplayskip}{5pt}
+\setlength{\belowdisplayskip}{5pt}
+\frametitle{Platonische Körper}
+\vspace{-20pt}
+\begin{columns}[t,onlytextwidth]
+\begin{column}{0.33\textwidth}
+\begin{block}{$T = T_h \cap \operatorname{SO(3)}$}
+\begin{center}
+\includegraphics[width=0.8\textwidth]{../slides/6/punktgruppen/toi/T.jpg}
+\end{center}
+\end{block}
+\end{column}
+\begin{column}{0.33\textwidth}
+\uncover<2->{%
+\begin{block}{$O = O_h \cap \operatorname{SO(3)}$}
+\begin{center}
+\includegraphics[width=0.8\textwidth]{../slides/6/punktgruppen/toi/O.jpg}
+\end{center}
+\end{block}}
+\end{column}
+\begin{column}{0.33\textwidth}
+\uncover<3->{%
+\begin{block}{$I = I_h \cap \operatorname{SO(3)}$}
+\begin{center}
+\includegraphics[width=0.8\textwidth]{../slides/6/punktgruppen/toi/I.jpg}
+\end{center}
+\end{block}}
+\end{column}
+\end{columns}
+\end{frame}
+\egroup
diff --git a/vorlesungen/slides/6/punktgruppen/semidirekt.tex b/vorlesungen/slides/6/punktgruppen/semidirekt.tex
new file mode 100644
index 0000000..69c1173
--- /dev/null
+++ b/vorlesungen/slides/6/punktgruppen/semidirekt.tex
@@ -0,0 +1,80 @@
+%
+% semidirekt.tex -- slide template
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\bgroup
+\begin{frame}[t]
+\setlength{\abovedisplayskip}{5pt}
+\setlength{\belowdisplayskip}{5pt}
+\frametitle{Semidirektes Produkt}
+\vspace{-20pt}
+\begin{columns}[t,onlytextwidth]
+\begin{column}{0.48\textwidth}
+\begin{block}{Definition}
+Gegeben $H$ eine Gruppe, eine abelsche Gruppe $A$,
+$\vartheta\colon H\to\operatorname{Aut}(A)$.
+\[
+G
+=
+G\ltimes A
+=
+\{(h,a) \;|\; h\in H,a\in A\}
+\]
+heisst {\em semidirektes Produkt}.
+\begin{itemize}
+\item<2->
+Neutrales Element: $(e,0)$
+\item<3->
+Gruppenoperation
+\[
+(h_1,a_1)\cdot(h_2,a_2)
+=
+(h_1h_2, a_1 + \vartheta(h_1)a_2)
+\]
+\item<4->
+Inverse:
+$(h,a)^{-1}
+=
+(h^{-1},-\vartheta(h)^{-1}a)
+$
+\uncover<5->{%
+Kontrolle:
+\begin{align*}
+&\phantom{\mathstrut=\mathstrut}
+(h,a)\cdot (h^{-1},-\vartheta(h)^{-1}a)
+\\
+&\uncover<6->{=(hh^{-1},a-\vartheta(h)\vartheta(h)^{-1}a)}
+\uncover<7->{=(e,0)}
+\end{align*}}
+\end{itemize}
+\end{block}
+\end{column}
+\begin{column}{0.48\textwidth}
+\uncover<8->{%
+\begin{block}{Drehungen und Spiegelungen von $\mathbb{R}^2$}
+Spiegelung: $C_2$
+Drehungen der: $\operatorname{SO}(2)$
+Drehungen und Spiegelungen:
+$C_2\ltimes \operatorname{SO}(2)=O(2)$
+\end{block}}
+\uncover<9->{%
+\begin{block}{Drehungen und Translationen}
+Drehungen: $H=\operatorname{SO}(2)$
+\\
+Translationen: $A=\mathbb{R}^2$
+\\
+Bewegungen der Ebene: $\operatorname{SO}(2)\ltimes \mathbb{R}^2$
+\end{block}}
+\uncover<10->{%
+\begin{block}{Dopplereffekt und Laufzeit}
+Dopplereffekt: $\mathbb{R}^+$ (Skalierung)
+\\
+Laufzeit: $\mathbb{R}$ (Verschiebung)
+\\
+Skalierung und Verschiebung: $\mathbb{R}^+\ltimes \mathbb{R}$
+\end{block}}
+\end{column}
+\end{columns}
+\end{frame}
+\egroup
diff --git a/vorlesungen/slides/6/punktgruppen/toi/I.jpg b/vorlesungen/slides/6/punktgruppen/toi/I.jpg
new file mode 100644
index 0000000..70d2c17
--- /dev/null
+++ b/vorlesungen/slides/6/punktgruppen/toi/I.jpg
Binary files differ
diff --git a/vorlesungen/slides/6/punktgruppen/toi/O.jpg b/vorlesungen/slides/6/punktgruppen/toi/O.jpg
new file mode 100644
index 0000000..45307c5
--- /dev/null
+++ b/vorlesungen/slides/6/punktgruppen/toi/O.jpg
Binary files differ
diff --git a/vorlesungen/slides/6/punktgruppen/toi/T.jpg b/vorlesungen/slides/6/punktgruppen/toi/T.jpg
new file mode 100644
index 0000000..f710696
--- /dev/null
+++ b/vorlesungen/slides/6/punktgruppen/toi/T.jpg
Binary files differ