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