diff options
author | michael-OST <75078383+michael-OST@users.noreply.github.com> | 2021-05-01 17:36:44 +0200 |
---|---|---|
committer | michael-OST <75078383+michael-OST@users.noreply.github.com> | 2021-05-01 17:36:44 +0200 |
commit | 3bd00062af2b2bbd04a82172eacb185119d09387 (patch) | |
tree | 7fd7ab0b94bf6bdd01e8cddcce598805e27675d9 | |
parent | Handout animation deleted (diff) | |
parent | Merge remote-tracking branch 'upstream/master' (diff) | |
download | SeminarMatrizen-3bd00062af2b2bbd04a82172eacb185119d09387.tar.gz SeminarMatrizen-3bd00062af2b2bbd04a82172eacb185119d09387.zip |
Merge branch 'master' into Steiner
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 Binary files differnew file mode 100644 index 0000000..56cbf7b --- /dev/null +++ b/vorlesungen/slides/6/punktgruppen/WasserstoffAufspaltung.pdf 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 Binary files differnew file mode 100644 index 0000000..4ea4e92 --- /dev/null +++ b/vorlesungen/slides/6/punktgruppen/images/cn.jpg 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 Binary files differnew file mode 100644 index 0000000..72181e8 --- /dev/null +++ b/vorlesungen/slides/6/punktgruppen/images/cnh.jpg 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 Binary files differnew file mode 100644 index 0000000..fd81513 --- /dev/null +++ b/vorlesungen/slides/6/punktgruppen/images/cnv.jpg 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 Binary files differnew file mode 100644 index 0000000..f895d44 --- /dev/null +++ b/vorlesungen/slides/6/punktgruppen/images/dn.jpg 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 Binary files differnew file mode 100644 index 0000000..089e24f --- /dev/null +++ b/vorlesungen/slides/6/punktgruppen/images/dnd.jpg 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 Binary files differnew file mode 100644 index 0000000..c62dbbb --- /dev/null +++ b/vorlesungen/slides/6/punktgruppen/images/dnh.jpg 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 Binary files differnew file mode 100644 index 0000000..70d2c17 --- /dev/null +++ b/vorlesungen/slides/6/punktgruppen/toi/I.jpg diff --git a/vorlesungen/slides/6/punktgruppen/toi/O.jpg b/vorlesungen/slides/6/punktgruppen/toi/O.jpg Binary files differnew file mode 100644 index 0000000..45307c5 --- /dev/null +++ b/vorlesungen/slides/6/punktgruppen/toi/O.jpg diff --git a/vorlesungen/slides/6/punktgruppen/toi/T.jpg b/vorlesungen/slides/6/punktgruppen/toi/T.jpg Binary files differnew file mode 100644 index 0000000..f710696 --- /dev/null +++ b/vorlesungen/slides/6/punktgruppen/toi/T.jpg |