diff --git a/documents/eaz/eaz.pdf b/documents/eaz/eaz.pdf index d9c7c3e..f8d0a38 100644 Binary files a/documents/eaz/eaz.pdf and b/documents/eaz/eaz.pdf differ diff --git a/documents/eaz/eaz.tex b/documents/eaz/eaz.tex index dd051de..a2353b6 100644 --- a/documents/eaz/eaz.tex +++ b/documents/eaz/eaz.tex @@ -8,6 +8,7 @@ \usepackage{color} \usepackage{framed} \usepackage{enumerate} % for advanced numbering of lists +\usepackage{braket} % needed for Set \clubpenalty = 10000 % Schusterjungen verhindern \widowpenalty = 10000 % Hurenkinder verhindern @@ -124,14 +125,14 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{document} \section*{Unendlich viele Primzahlen} -\begin{satz}{Euklid} +\begin{satz}{Euklid}{} Es sein $n \in \mathbb{N}$. Die Zahl $m := n! + 1$ hat einen Primteiler, aber dieser kann nicht $\leq n$ sein, denn sonst müsste er mit $n!$ auch $1=m-n!$ teilen. Also gibt es eine Primzahl $> n \blacksquare$ \end{satz} \begin{satz}{Euler} -\underline{Annahme:} Es gibt nur endlich viele Primzahlen $\{p_1, \dots, p_k\}$ +\underline{Annahme:} Es gibt nur endlich viele Primzahlen $\Set{p_1, \dots, p_k}$ mit $p_1 < \dots < p_k$ Es gilt: @@ -143,6 +144,11 @@ Es gilt: \end{align*} \end{satz} +\begin{satz}{Dirichlets Primzahlsatz}{} +Es sei $n \in \mathbb{N}$ beliebig. Dann gibt es unendlich viele +Primzahlen $p \cong 1 \mod n$. +\end{satz} + \section*{Sylowsätze} \begin{satz}{Erster Sylowsatz} Es seien $G$ eine endliche Gruppe und $p$ eine Primzahl. Dann existiert in $G$ @@ -175,8 +181,38 @@ Es sein $p \geq 3$ eine Primzahl. Für $a \in \mathbb{Z}$ sei \end{cases} \] \end{definition} +\subsection*{Rechenregeln und Beispiele für das Legendre-Symbol} \begin{itemize} - \item Restklassenkörper + \item[(I)] Eulers Kriterium: $\left(\frac{a}{p}\right) = a^\frac{p-1}{2} \mod p$ + \item[(II)] Strikt multiplikativ im Zähler: $\left(\frac{a \cdot b}{p}\right) = \left(\frac{a}{p}\right) \cdot \left(\frac{b}{p}\right)$ + \item[(III)] $a \equiv b \mod p \Rightarrow \left(\frac{a}{p}\right) = \left(\frac{b}{p}\right)$ + \item[(IV)] $\left(\frac{a}{3}\right) = a \mod 3$ + \item[(V)] Quadratische Reziprozitätsgesetz: Es seinen $p \neq l$ zwei ungerade Primzahlen. Dann gilt:\\ + $\left(\frac{p}{l}\right) \cdot \left(\frac{l}{p}\right) = + (-1)^{\frac{p-1}{2} \cdot \frac{l-1}{2}} + $ + \item[(VI)] Erste Ergänzung: $\left(\frac{-1}{p}\right) = + \begin{cases} + 1 & \text{, falls } p \equiv 1 \mod 4\\ + -1 & \text{, falls } p \equiv 3 \mod 4 + \end{cases} + $ + \item[(VII)] Zweite Ergänzung: $\left(\frac{2}{p}\right) = + \begin{cases} + 1 & \text{, falls } p \equiv \pm 1 \mod 8\\ + -1 & \text{, falls } p \equiv \pm 3 \mod 8 + \end{cases} + $ + \item 2 ist quadratischer Rest modulo 7, da: $2 \equiv 3^2 \mod 7$ +\end{itemize} + +\subsection*{Weiteres} +\begin{itemize} + \item Die Charakteristik eines endlichen Körpers $F$ ist eine Primzahl + $p$ und $\mathbb{Z}/p\mathbb{Z}$ ist ein Teilring von $F$. + \item Die Kardinalität von $F$ ist eine Potenz vom $p$. + \item $F^\times$ ist zyklisch. + \item $F$ ist ein Restklassenkörper des Polynomrings $\mathbb{F}_p [X]$ \end{itemize} \section*{Weiteres} diff --git a/source-code/Pseudocode/Calculate-Legendre/Calculate-Legendre.png b/source-code/Pseudocode/Calculate-Legendre/Calculate-Legendre.png new file mode 100644 index 0000000..f2af34b Binary files /dev/null and b/source-code/Pseudocode/Calculate-Legendre/Calculate-Legendre.png differ diff --git a/source-code/Pseudocode/Calculate-Legendre/Calculate-Legendre.tex b/source-code/Pseudocode/Calculate-Legendre/Calculate-Legendre.tex new file mode 100644 index 0000000..aa2c483 --- /dev/null +++ b/source-code/Pseudocode/Calculate-Legendre/Calculate-Legendre.tex @@ -0,0 +1,59 @@ +\documentclass{article} +\usepackage[pdftex,active,tightpage]{preview} +\setlength\PreviewBorder{2mm} + +\usepackage[utf8]{inputenc} % this is needed for umlauts +\usepackage[ngerman]{babel} % this is needed for umlauts +\usepackage[T1]{fontenc} % this is needed for correct output of umlauts in pdf +\usepackage{amssymb,amsmath,amsfonts} % nice math rendering +\usepackage{braket} % needed for \Set +\usepackage{algorithm,algpseudocode} + +\usepackage{tikz} +\usetikzlibrary{decorations.pathreplacing,calc} +\newcommand{\tikzmark}[1]{\tikz[overlay,remember picture] \node (#1) {};} +\newcommand*{\AddNote}[4]{% + \begin{tikzpicture}[overlay, remember picture] + \draw [decoration={brace,amplitude=0.5em},decorate,very thick] + ($(#3)!(#1.north)!($(#3)-(0,1)$)$) -- + ($(#3)!(#2.south)!($(#3)-(0,1)$)$) + node [align=center, text width=2.5cm, pos=0.5, anchor=west] {#4}; + \end{tikzpicture} +}% + +\begin{document} +\begin{preview} + \begin{algorithm}[H] + \begin{algorithmic} + \Require $p \in \mathbb{P}, a \in \mathbb{Z}, p \geq 3$ + \If{$a \geq p$}\Comment{Regel (III)} + \State \Return $\Call{CalculateLegendre}{a \mod p, p}$ \Comment{nun: $a \in [0, \dots, p-1]$} + \ElsIf{$a \equiv 0 \mod p$} \Comment{Null-Fall} + \State \Return 0 + \ElsIf{$a \equiv 1 \mod p$} \Comment{Eins-Fall} + \State \Return 1 + \ElsIf{$a \equiv -1 \mod p$} \Comment{Regel (VI)} + \If{$p \equiv 1 \mod 4$} + \State \Return 1 + \Else + \State \Return -1 + \EndIf + \ElsIf{!$\Call{isPrime}{|a|}$} \Comment{Regel (II)} + \State $p_1, p_2, \dots, p_n \gets \Call{Faktorisiere}{a}$ + \State \Return $\prod_{i=1}^n \Call{CalculateLegendre}{p_i, a}$ + \ElsIf{$p == 3$} \Comment{Regel (IV)} + \State $t \gets p \mod 3$ + \If{$t == 2$} + \State $t \gets -1$ + \EndIf + \State \Return $t$ + \Else + \State \Return $a^\frac{p-1}{2} \mod p$ + \EndIf + \end{algorithmic} + \caption{Calculate Legendre-Symbol} + %\AddNote{top}{bottom}{right}{calclulate $p$ such that: $b^p \leq Z < b^{p+1}$} %\tikzmark{top},\tikzmark{right},\tikzmark{bottom} + \label{alg:euclidBaseTransformation} + \end{algorithm} +\end{preview} +\end{document} diff --git a/source-code/Pseudocode/Calculate-Legendre/Makefile b/source-code/Pseudocode/Calculate-Legendre/Makefile new file mode 100644 index 0000000..5e1ffc7 --- /dev/null +++ b/source-code/Pseudocode/Calculate-Legendre/Makefile @@ -0,0 +1,36 @@ +SOURCE = Calculate-Legendre +DELAY = 80 +DENSITY = 300 +WIDTH = 500 + +make: + pdflatex $(SOURCE).tex -output-format=pdf + pdflatex $(SOURCE).tex -output-format=pdf + make clean + +clean: + rm -rf $(TARGET) *.class *.html *.log *.aux *.data *.gnuplot + +gif: + pdfcrop $(SOURCE).pdf + convert -verbose -delay $(DELAY) -loop 0 -density $(DENSITY) $(SOURCE)-crop.pdf $(SOURCE).gif + make clean + +png: + make + make svg + inkscape $(SOURCE).svg -w $(WIDTH) --export-png=$(SOURCE).png + +transparentGif: + convert $(SOURCE).pdf -transparent white result.gif + make clean + +svg: + make + #inkscape $(SOURCE).pdf --export-plain-svg=$(SOURCE).svg + pdf2svg $(SOURCE).pdf $(SOURCE).svg + # Necessary, as pdf2svg does not always create valid svgs: + inkscape $(SOURCE).svg --export-plain-svg=$(SOURCE).svg + rsvg-convert -a -w $(WIDTH) -f svg $(SOURCE).svg -o $(SOURCE)2.svg + inkscape $(SOURCE)2.svg --export-plain-svg=$(SOURCE).svg + rm $(SOURCE)2.svg diff --git a/source-code/Pseudocode/Calculate-Legendre/Readme.md b/source-code/Pseudocode/Calculate-Legendre/Readme.md new file mode 100644 index 0000000..ca34e34 --- /dev/null +++ b/source-code/Pseudocode/Calculate-Legendre/Readme.md @@ -0,0 +1,3 @@ +Compiled example +---------------- +![Example](Calculate-Legendre.png)