1. Gitter
1. Gitter
1. Gitter
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
<strong>1.</strong> <strong>Gitter</strong><br />
Wir fassen in kompakter Form das nötige Grundwissen über <strong>Gitter</strong> zusammen:<br />
Definition <strong>1.</strong>1 (<strong>Gitter</strong>). Zu linear unabhängigen Vektoren b1, . . . , bn ∈ Rd heißt die Menge<br />
n�<br />
� �<br />
n� �<br />
�<br />
L(b1, . . . , bn) := Zbi = tibi �<br />
� ti<br />
�<br />
∈ Z<br />
i=1<br />
<strong>Gitter</strong> mit (geordneter) Basis b1, . . . , bn und Rang n. Die d × n-Matrix<br />
B := � b1 · · ·<br />
�<br />
bn<br />
heißt Basismatrix, L(B) ist das von den Spaltenvektoren erzeugte <strong>Gitter</strong>.<br />
Den Rang n nennt man auch Dimension des <strong>Gitter</strong>s. Falls der Rang n mit<br />
der Dimension d des Raumes übereinstimmt, heißt das <strong>Gitter</strong> volldimensional.<br />
Definition <strong>1.</strong>2 (Erzeugendes System, primitives System). Sei L ⊆ R d ein<br />
<strong>Gitter</strong>.<br />
a) Eine Menge von eventuell linear abhängigen Vektoren heißt erzeugendes<br />
System bezüglich L, falls die Vektoren das <strong>Gitter</strong> L erzeugen.<br />
b) Eine Menge von Vektoren heißt primitives System bezüglich L, falls<br />
diese durch Hinzunahme weiterer Vektoren zu einer Basis von L zu<br />
ergänzen ist.<br />
Satz <strong>1.</strong>3. Sei L ⊆ R d eine additive Untergruppe. Dann sind folgende Aussagen<br />
äquivalent:<br />
i=1<br />
a) L ist diskret, d.h. hat keinen Häufungspunkt.<br />
b) L ist ein <strong>Gitter</strong>.<br />
Zu jedem <strong>Gitter</strong> gibt es mehrere Basis:<br />
Satz <strong>1.</strong>4. Sei L := L(B) ⊆ R d ein <strong>Gitter</strong> vom Rang n. Genau dann ist die<br />
d × n Matrix B ′ eine Basis des <strong>Gitter</strong>s L, wenn eine unimodulare Matrix<br />
T ∈ GLn(Z) := � U ∈ Z n×n � � det U = ±1 �<br />
mit B ′ = UB existiert.<br />
GLn(Z) ist eine Gruppe, d.h. das Produkt zweier Matrizen aus GLn(Z) ist<br />
ebenfalls eine unimodulare Matrix, ebenso gibt es zu jedem U ∈ GLn(Z) eine<br />
inverse Matrix U −1 ∈ GLn(Z).
2<br />
Definition <strong>1.</strong>5 (<strong>Gitter</strong>determinante). Sei L := L(b1, . . . , bn) ⊆ R d ein <strong>Gitter</strong>.<br />
Dann heißt das Parallelepiped<br />
P(b1, . . . , bn) :=<br />
n�<br />
�<br />
n�<br />
[0, 1)bi =<br />
i=1<br />
i=1<br />
tibi<br />
�<br />
�<br />
�<br />
�<br />
� ti<br />
�<br />
∈ [0, 1)<br />
die Grundmasche zur Basis b1, . . . , bn. Die <strong>Gitter</strong>determinante det L ist das<br />
n-dimensionale Volumen<br />
zu einer beliebigen Basis des <strong>Gitter</strong>s L.<br />
�<br />
det L := voln P(b1, . . . , bn) �<br />
Die <strong>Gitter</strong>determinante ist wohldefiniert, denn der Wert ist unabhängig von der<br />
Wahl der Basis des <strong>Gitter</strong>s:<br />
Satz <strong>1.</strong>6. Sei L ⊆ R d ein <strong>Gitter</strong> vom Rang n und B eine Basismatrix zu L.<br />
Dann gilt<br />
det L = det � B T � 1<br />
2 B .<br />
Die Matrix B T B heißt Gram-Matrix zu B. Für volldimensionale <strong>Gitter</strong> L gilt<br />
det L = | det B|.<br />
Definition <strong>1.</strong>7 (Untergitter). Seien L, L ′ ⊆ R d <strong>Gitter</strong>. L ′ heißt Untergitter<br />
von L, falls L, L ′ den gleichen Rang haben und L ′ ⊆ L gilt.<br />
Jeder <strong>Gitter</strong>basis b1, . . . , bn ∈ R d ordnet man ein Orthogonalsystem ˆb1, . . . , ˆbn ∈<br />
R d gemäß schmidt’schem Orthogonalisierungsverfahren zu:<br />
�i−1<br />
〈bi, ˆbj〉<br />
ˆbi := bi −<br />
j=1 �ˆbj� 2<br />
ˆbj<br />
� �� �<br />
=:µi,j<br />
für i = 1, 2, . . . , n.<br />
Inbesondere gilt ˆb1 = bi. Der Vektor ˆbi ist die Projektion πi(bi) des Basisvektors<br />
bi auf den Raum span(b1, . . . , bi−1) ⊥ . Mit den Gram-Schmidt-Koeffizienten<br />
µi,j gilt:<br />
�i−1<br />
bi = ˆbi + µi,jˆbj. j=1
2. <strong>Gitter</strong>reduktion 3<br />
Man definiert µi,j := 0 für j > 0 und µi,i := 1, um diese Darstellung in Matrixschreibweise<br />
darzustellen:<br />
� � �<br />
b1 · · · bn = ˆb1 · · ·<br />
⎡<br />
1<br />
⎢<br />
� ⎢0<br />
ˆbn<br />
⎢<br />
· ⎢<br />
⎢.<br />
⎣0<br />
µ2,1<br />
1<br />
· · ·<br />
. ..<br />
0<br />
µn−1,1<br />
µn−1,2<br />
. ..<br />
1<br />
⎤<br />
µn,1<br />
µn,2<br />
⎥<br />
. ⎥ .<br />
⎥<br />
µn,n−1⎦<br />
0<br />
�<br />
· · · 0<br />
��<br />
0 1<br />
�<br />
Für volldimensionale <strong>Gitter</strong> gilt det L = � n<br />
i=1 �ˆbi�.<br />
� �T = µi,j<br />
1≤i,j≤n<br />
Definition <strong>1.</strong>8 (Sukzessive Minima). Zu einem <strong>Gitter</strong> L ⊆ Rd vom Rang n<br />
heißen die Werte<br />
� �<br />
�<br />
�<br />
λi(L) := min r > 0 � Es existieren linear unabhängige<br />
� v1, . . . , vi ∈ L mit max �vi� ≤ r.<br />
für i = 1, 2, . . . , n die sukzessiven Minima von L.<br />
Insbesondere ist λ1(L) die Länge des kürzesten, nicht-trivalen (d.h. ungleich<br />
der Nullvektor) <strong>Gitter</strong>vektors.<br />
Definition <strong>1.</strong>9 (Duales <strong>Gitter</strong>). Das zu einem <strong>Gitter</strong> L ⊆ R d duale <strong>Gitter</strong> ist<br />
erklärt als:<br />
L ∗ := {x ∈ span(L) | 〈x, v〉 ∈ Z für v ∈ L}<br />
Satz <strong>1.</strong>10. Sei L ⊆ R d ein <strong>Gitter</strong> mit Basis b1, . . . , bn.<br />
a) Eine Basis des dualen <strong>Gitter</strong>s L ∗ bilden die Vektoren b ∗ 1 , . . . , b∗ n ∈ R d<br />
mit<br />
〈bi, b ∗ i 〉 =<br />
b) Es gilt det L ∗ = 1<br />
det L .<br />
2. <strong>Gitter</strong>reduktion<br />
�<br />
1 falls i = j<br />
0 sonst.<br />
Ziel der <strong>Gitter</strong>reduktion ist es, eine reduzierte Basis für ein gegebenes <strong>Gitter</strong><br />
zu finden. Die Vektoren der Basis sollen (weitgehend)<br />
• orthogonal sein<br />
• und die Länge der Basisvektoren den sukzessiven Minima entsprechen.
4<br />
Insbesondere interessiert man sich für den kürzesten <strong>Gitter</strong>vektor.<br />
Eine Anwendung ist das Rucksack-Problem, dass auch als Subsetsum-Problem<br />
bekannt ist. Zu gegebenen Zahlen a1, . . . , an ∈ N und Wert s soll man x1, . . . , xn ∈<br />
{0, 1} mit �n i=1 xiai = s finden (es wird vorausgesetzt, dass eine solche Lösung<br />
existiert). Betrachte das <strong>Gitter</strong> für ein sehr großes N ∈ N, welches von folgender<br />
Basis erzeugt wird:<br />
⎡<br />
⎤<br />
1 0 · · · 0 0<br />
� �<br />
b1 · · · bn+1 =<br />
⎢<br />
⎣<br />
0<br />
.<br />
0<br />
1<br />
0<br />
. ..<br />
· · · 1<br />
0 ⎥<br />
. ⎥<br />
0 ⎦<br />
−Na1 −Na2 · · · −Nan Ns<br />
Wir suchen kurze <strong>Gitter</strong>vektoren. Da N sehr groß ist, besteht die Hoffnung,<br />
dass für einen hinreichend kurzen Vektor b �= 0 mit<br />
⎡<br />
⎤<br />
n−1 � ⎢<br />
b = xibi = ⎢<br />
.<br />
⎣<br />
i=1<br />
xn<br />
N � s − �n i=1 xiai<br />
⎥<br />
⎦<br />
�<br />
die letzte Komponente Null ist, also �n i=1 xiai = s, und wir eine Lösung des<br />
Rucksack-Problems gefunden haben.<br />
Allerdings existiert im allgmeinen keine Basis zu einem gegebenem <strong>Gitter</strong>,<br />
deren Vektoren orthogonal sind oder deren Länge den sukzessiven Minima entsprechen.<br />
Definition 2.1 (Längenreduktion). Die Basis b1, . . . , bn eines <strong>Gitter</strong>s L ist<br />
für 1 ≤ j < i ≤ n.<br />
längenreduziert, wenn |µi,j| ≤ 1<br />
2<br />
Definition 2.2 (LLL-Reduktion). Die Basis b1, . . . , bn eines <strong>Gitter</strong>s L ist<br />
L 3 -reduziert mit δ ∈ (0, 1], wenn<br />
a) |µi,j| ≤ 1<br />
2 für 1 ≤ j < i ≤ n.<br />
b) δ�ˆb1−i� 2 ≤ �πi−1(bi)�2 für i = 1, 2, . . . , n.<br />
x1
Literaturverzeichnis<br />
[Cassels71] J.W.S. Cassels: An Introduction to the Geometry of Numbers,<br />
Springer-Verlag, Berlin/Heidelberg, 197<strong>1.</strong><br />
[CS93] J.H. Conway und N.J.A. Sloane: Sphere Packings, Lattices and Groups,<br />
Springer, New York, zweite Auflage, 1993.<br />
[LLL82] A.K. Lenstra, H.W. Lenstra und L. Lovász: Factoring Polynomials with<br />
Rational Coefficients, Springer Mathematische Annalen, Band 261, Seiten 515–<br />
534, 1982.<br />
[S86] A. Schrijver: Theory of Linear and Integer Programming, Wiley-Interscience<br />
Series in discrete Mathematics and Optimization, John Wiley & Son, New York,<br />
1986.<br />
5