Algebraische Zahlen:
Exaktes Rechnen mit Wurzeln
Theorie und Praxis
geometrischer Algorithmen
Sascha El-Abed
Inhalt
1. Separation Bounds: Definition, Eigenschaften,
Verwendungszweck
2. Berechnung und Beispiele
3. Hauptungleichung
4. Hilfstheoreme und -lemmata
5. Beweis der Hauptungleichung
6. Abgeleitete Korollare
7. Anwendung
2
Was sind Separation Bounds...
Wir betrachten arithmetische Ausdrücke mit ganzen Zahlen
und den Operationen , -, *, /, k
Sei E ein arithmetischer Ausdruck, der den Wert val(E )hat.
Ein Separation Bound sep(E) ist
• eine positive reelle Zahl
• mit der Eigenschaft 0 sep( E)
3
...und wofür braucht man sie?
Zur exakten Bestimmung des Vorzeichens von
reellwertigen arithmetischen Ausdrücken, wie sie oft bei
geometrischen Berechnungen(z.B. an Kreis, Ellipse, ...)
auftreten, z.B.
5 3* 8
3
17 21 18 22
19
20
oder die Berechnung des Euklidischen Abstands von Punkten:
liegt P oder Q näher an R?
( px rx ) 2 ( p y ry ) 2 (qx rx ) 2 (q y ry ) 2
4
Berechnung & Bsp: dag
Man wandelt einen gegebenen Ausdruck entgegen den
Rechenregeln in einen dag (directed acylic graph) um:
die Operationen sind die inneren Knoten, die Zahlen sind
die Senken
E : 5 3 * 3 8
17 21 18 22
F :
19
20
5
Berechnung & Bsp: dag
Man wandelt einen gegebenen Ausdruck entgegen den
Rechenregeln in einen dag (directed acylic graph) um:
die Operationen sind die inneren Knoten, die Zahlen sind
die Senken
E : 5 3 * 3 8
17 21 18 22
F :
19
20
5
Berechnung & Bsp: U(E), L(E)
Man definiert nun induktiv folgende Regeln U(E), L(E)
E
U(E)
n
integer n
E1±E2 U(E1)*L(E2)±L(E1)*U(E2)
U(E1)*U(E2)
E1*E2
U(E1)*L(E2)
E1/E2
k
E1
k
U ( E1 )
L(E)
1
L(E1)*L(E2)
L(E1)*L(E2)
L(E1)*U(E2)
k
L( E1 )
U (E)
und berechnet E als Quotient
L( E )
indem man die Regeln von der Wurzel ausgehend auf die
Knoten anwendet und erhält somit den exakten Wert von E
6
Berechnung & Bsp: u(E), l(E)
Weiterhin definiert man nun nichtnegative reelle Zahlen
u(E) und l(E), die Abschätzungen zu den Werten U(E)
bzw. L(E) sind.
E
u(E)
|n|
integer n
E1±E2 u(E1)*l(E2)+l(E1)*u(E2)
E1*E2
u(E1)*u(E2)
u(E1)*l(E2)
E1/E2
k
E1
k
u( E1 )
l(E)
1
l(E1)*l(E2)
l(E1)*l(E2)
l(E1)*u(E2)
k
l ( E1 )
7
Eigenschaften und weitere Definitionen
Für die Regeln U(E), L(E), u(E), l(E) gilt:
•u(U(E)) = u(E)
•u(L(E)) = l(E)
•l(E) = 1
falls E keine Division enthält
8
weitere Definitionen
Die Zahl val(E ) ist eine algebraische Zahl,
d.h. es gibt ein Polynom p Z ( X ) mit p() 0.
Folglich gibt es auch ein Minimalpolynom m
mit Nullstelle .
Zur Erinnerung (Vortrag von Simon):
Das Minimalpolynom zu k a ist x k a ;
dieses Polynom hat aber noch weitere Nullstellen ausser k a
Der Grad deg () von ist definiert als der Grad des
Minimalpolynoms von .
9
weitere Definitionen
Kommen in einem Ausdruck E r Wurzeln
r
k1, ..., kr, so definiert man D( E ) ki
i 1
(ki: die Grade der Wurzeln)
Es gilt: deg () D ( E )
10
Hauptungleichung
Für Ausdrücke E, die keine Division enthalten, und
für deren Wert 0 gilt, besteht folgender
Zusammenhang:
1
u( E )
deg( ) 1
u(E)
Der rechte Teil der Ungleichung ist direkt ersichtlich.
Für den Beweis des linken Teils brauchen wir noch
etwas “Handwerkszeug”.
11
Hilfstheorem 1
Zuerst schauen wir uns an, dass val(E ) eine
ganzalgebraische Zahl ist, wobei E keine Division
enthält, d.h. alle op {,,*}.
12
Hilfstheorem 1
Zuerst schauen wir uns an, dass val(E ) eine
ganzalgebraische Zahl ist, wobei E keine Division
enthält, d.h. alle op {,,*}.
Seien die Polynome
m 1
n 1
p A ( X ) ai X X
i
i 0
n
j
m
p
(
X
)
b
X
X
j
und B
j 0
mit ganzzahligen Koeffizienten ai und bj gegeben.
12
Hilfstheorem 1
n 1
m 1
gegeben: p A ( X ) ai X X und pB ( X ) b j X j X m
i
n
i 0
j 0
Da ein Polynom vom Grad n bzw. m genau n bzw. m
komplexe Nullstellen hat, kann man pA und pB wie folgt
umschreiben:
m
n
pA ( X ) ( X i )
i 1
pB ( X ) ( X j )
j 1
13
Hilfstheorem 1
n 1
m 1
gegeben: p A ( X ) ai X X und pB ( X ) b j X j X m
i
n
i 0
j 0
Da ein Polynom vom Grad n bzw. m genau n bzw. m
komplexe Nullstellen hat, kann man pA und pB wie folgt
umschreiben:
m
n
pB ( X ) ( X j )
pA ( X ) ( X i )
j 1
i 1
Für op {,,*} hat dann das Polynom
n
m
p AopB ( X ) ( X ( i op j ))
i 1 j 0
(=Produkt aller Konjugierten von pA und pB)
ebenfalls wieder ganzzahlige Koeffizienten.
13
Hilfslemma 1
Lemma: (gegeben: Ausdruck E mit Wert ξ)
Es gibt ein Polynom
pE ( X ) ( X ei ) Z ( X )
i
so dass pE () 0 und ei u(E ) für alle Nullstellen ei
des Polynoms pE(X) gilt.
14
Hilfslemma 1
Lemma: (gegeben: Ausdruck E mit Wert ξ)
Es gibt ein Polynom
pE ( X ) ( X ei ) Z ( X )
i
so dass pE () 0 und ei u(E ) für alle Nullstellen ei
des Polynoms pE(X) gilt.
Beispiel:
Sei E 2 2 val( E ) 2 2 , u ( E ) 2 2
Das Minimalpolynom zu ist m ( X ) X 2 2 ( X 2 2 )( X (2 2 ))
m hat nicht nur die Nullstelle 2 2 , sondern auch 2 2
m erfüllt die Bedingungen von pE(X), da:
p E ( ) p E ( 2 2 ) 0
e1
2
2 2 2 u( E )
e2 2 2 2 2 u ( E )
14
Beweis von Lemma 1
durch strukturelle Induktion über den arithmetischen Ausdruck E:
1.Fall: E ist eine ganzzahlige Konstante: E = a
Dann erfüllt das Polynom pE ( X ) X a
offensichtlich schon alle Bedingungen des Lemmas.
15
Beweis von Lemma 1
2.Fall: E hat die Form E = A op B, op {,,*}
Nach Induktionsvoraussetzung existieren Polynome
n
pA ( X ) ( X i )
m
pB ( X ) ( X j )
und
i 1
j 1
mit (u.a.) Wurzeln (Nullstellen) val(A) bzw. val(B).
16
Beweis von Lemma 1
2.Fall: E hat die Form E = A op B, op {,,*}
Nach Induktionsvoraussetzung existieren Polynome
n
pA ( X ) ( X i )
m
pB ( X ) ( X j )
und
i 1
j 1
mit (u.a.) Wurzeln (Nullstellen) val(A) bzw. val(B).
Wir wählen pE ( X ) p AopB ( X ); nach Theorem 1 hat pE (X )
wieder ganzzahlige Koeffizienten und u.a. die Wurzel
val(E) = val(A) op val(B).
Nach Induktionsvoraussetzung gilt: i u ( A) und j u ( B)
16
Beweis von Lemma 1
2.Fall: (Fortsetzung)
Nach Induktionsvoraussetzung gilt: i u ( A) und j u ( B)
17
Beweis von Lemma 1
2.Fall: (Fortsetzung)
Nach Induktionsvoraussetzung gilt: i u ( A) und j u ( B)
In Theorem 1 haben wir gesehen, dass
pE ( X ) PAopB ( X )
die Wurzeln i op j hat. Dann gilt:
IV
•für op {,} : i op j i j u( A) u( B) u ( E )
•für
IV
op * :
i * j i * j u ( A) * u ( B) u ( E )
17
Beweis von Lemma 1
3.Fall: E hat die Form E k A
Nach Induktionsvoraussetzung existiert ein Polynom
n
p A ( X ) ( X i ) mit (u.a.)Wurzel (Nullstelle) val(A).
i 1
18
Beweis von Lemma 1
3.Fall: E hat die Form E k A
Nach Induktionsvoraussetzung existiert ein Polynom
n
p A ( X ) ( X i ) mit (u.a.)Wurzel (Nullstelle) val(A).
i 1
Wir wählen
pE ( X ) p A ( X k ):
n
n
k 1
p A ( X ) ( X i ) ( X k k i ) Z ( X )
k
k
i 1
i 1 0
wobei k die k-te komplexe Einheitswurzel ist.
Somit gilt für die Wurzeln(Nullstellen):
k
k
i
k
i
IV
k
i k u ( A) u ( E )
18
Beweis der Hauptungleichung
Wie wir im vorigen Lemma gesehen haben, kann man ein
Polynom pE(X) mit ganzzahligen Koeffizienten konstruieren,
das die Wurzel hat.
Da jedes Polynom mit Wurzel durch das Minimalpolynom m ( X )
geteilt werden kann, sind die Wurzeln des Minimalpolynoms
auch Wurzeln von pE(X).
D.h. m ( X ) hat die Form m ( X )
deg( )
(X e
j 1
ij
) , wobei i1 ,..., ideg( )
die Indizes der Wurzeln des Minimalpolynoms sind, die auch in
pE(X) auftreten.
19
Beweis der Hauptungleichung(2)
Da m ( X ) das Minimalpolynom ist, enthält es keine Wurzeln
mit Wert 0 (sonst könnte man nochmal durch (X-0) teilen).
Sei nun o.B.d.A. ei .
1
Desweiteren wissen wir aus Lemma 1: ei j u(E )
Somit können wir nun schließen:
20
Beweis der Hauptungleichung(2)
Da m ( X ) das Minimalpolynom ist, enthält es keine Wurzeln
mit Wert 0 (sonst könnte man nochmal durch (X-0) teilen).
Sei nun o.B.d.A. ei .
1
Desweiteren wissen wir aus Lemma 1: ei j u(E )
Somit können wir nun schließen:
deg( )
e
j 1
ij
*
deg( )
e
j 2
ij
1
deg( )
e
j 2
1
u ( E ) deg( )1
ij
20
Abgeleitete Korollare(1)
Korollar 1:
Für Ausdrücke E, die keine Division enthalten, und
für deren Wert 0 gilt, besteht folgender
Zusammenhang:
1
u( E )
D ( E ) 1
u( E )
r
Zur Erinnerung: D( E ) ki (ki: die Grade der Wurzeln)
i 1
deg () D( E )
21
Beweis Korollar 1
Es gilt: deg () D ( E )
u( E ) deg ( )1 u( E ) D ( E )1
1
1
D ( E ) 1
u( E)
u ( E ) deg ( ) 1
Dies setzen wir in unsere Hauptungleichung ein:
1
1
u( E )
D ( E ) 1
deg( ) 1
u(E)
u( E)
22
Abgeleitete Korollare(2)
Korollar 2:
Für Ausdrücke E, für deren Wert 0 gilt, besteht
folgender Zusammenhang:
1
l ( E )u ( E )
D 2 ( E ) 1
u ( E )l ( E )
D 2 ( E ) 1
23
Beweis Korollar 2
Wir wenden Korollar 1 auf U(E) statt auf E an:
1
u (U ( E ))
D (U ( E )) 1
u (U ( E ))
24
Beweis Korollar 2
Wir wenden Korollar 1 auf U(E) statt auf E an:
1
val(U ( E )) u (U ( E ))
D (U ( E )) 1
u (U ( E ))
Wir schätzen D(U(E)) durch D2(E) nach oben ab, da sich die
Zahl der Wurzel erhöhen kann.
Da außerdem u(U(E)) = u(E) gilt, erhalten wir:
1
u( E)
D 2 ( E ) 1
val(U ( E )) u( E )
24
Beweis Korollar 2
Dies tun wir auch für L(E) statt E und erhalten unter Verwendung
von u(L(E)) = l(E) analog zu vorhin:
1
l (E)
D 2 ( E ) 1
val( L( E )) l ( E )
val(U ( E ))
Da val( E )
gilt, können wir nun schließen:
val( L( E ))
25
Beweis Korollar 2(rechte Seite)
1
u( E ) D
1
2
( E ) 1
1
2
val(U ( E )) u ( E )
l (E)
D 2 ( E ) 1
3
4
val( L( E )) l ( E )
val(U ( E ))
val( L( E ))
26
Beweis Korollar 2(rechte Seite)
1
u( E) D
1
2
( E ) 1
1
2
u( E )
val(U ( E )) 2,3
val( L( E ))
l (E) D
u(E)
1
l(E)
2
3
( E ) 1
4
l (E)
u ( E )l ( E )
D 2 ( E ) 1
D 2 ( E ) 1
26
Beweis Korollar 2(linke Seite)
1
u( E) D
1
2
( E ) 1
2
u( E )
1
l (E) D
2
3
( E ) 1
4
l (E)
val(U ( E ))
val( L( E ))
27
Beweis Korollar 2(linke Seite)
1
u( E) D
1
2
( E ) 1
2
u( E )
1
l (E) D
2
3
( E ) 1
4
l (E)
val(U ( E )) 1, 4
1
1
1
*
D 2 ( E ) 1
D 2 ( E ) 1
val( L( E )) u ( E )
l ( E ) l ( E )u ( E )
27
Beweis Korollar 2(linke Seite)
1
u( E) D
1
2
( E ) 1
1
2
u( E )
l (E) D
2
3
( E ) 1
4
l (E)
val(U ( E )) 1, 4
1
1
1
*
D 2 ( E ) 1
D 2 ( E ) 1
val( L( E )) u ( E )
l ( E ) l ( E )u ( E )
Insgesamt erhalten wir:
1
l ( E )u ( E )
D 2 ( E ) 1
u ( E )l ( E )
D 2 ( E ) 1
27
Anwendung
Wie kann man nun das Vorzeichen eines Ausdrucks bestimmen?
Sei E ein reellwertiger Ausdruck und sep(E) ein separation
bound zu E.
28
Anwendung
Wie kann man nun das Vorzeichen eines Ausdrucks bestimmen?
Sei E ein reellwertiger Ausdruck und sep(E) ein separation
bound zu E.
Wir bestimmen nun ein Intervall I , das die Länge ε hat,
0 < ε < sep(E), und in dem der Wert von E liegt.
Zur Erinnerung: 0 sep( E)
Nun müssen wir uns ansehen, ob die Null in I liegt oder
nicht.
28
Anwendung(2)
Die einzige Möglichkeit, dass 0 in unserem Intervall
liegen kann, ist dass E den Wert 0 hat; ansonsten
enthält das Intervall nur positive oder nur negative
Werte.
Das Vorzeichen unseres Ausdrucks E ist somit das
Vorzeichen der Werte, die in unserem Intervall liegen.
29
Anwendung(3)
C
D
M
A
B
Problem: Welche Punkte liegen innerhalb des Kreises?
->Vorzeichentest wichtig
(z.B. bei Abstandsberechnungen von Punkten)
30
Anwendung(4)
Aus Vortrag von Prof. K. Mehlhorn
Problem: Liegt ein Punkt der Linie l3 innerhalb des
Kreises?
31
The End