소스 검색

Legendre-Symbol

Martin Thoma 12 년 전
부모
커밋
943a5c4aee

BIN
documents/eaz/eaz.pdf


+ 39 - 3
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[(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 Restklassenkörper
+	\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}

BIN
source-code/Pseudocode/Calculate-Legendre/Calculate-Legendre.png


+ 59 - 0
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}

+ 36 - 0
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

+ 3 - 0
source-code/Pseudocode/Calculate-Legendre/Readme.md

@@ -0,0 +1,3 @@
+Compiled example
+----------------
+![Example](Calculate-Legendre.png)