Algebraische Zahlen: Exaktes Rechnen mit Wurzeln Theorie und Praxis geometrischer Algorithmen Sascha...

Post on 05-Apr-2015

107 views 1 download

Transcript of Algebraische Zahlen: Exaktes Rechnen mit Wurzeln Theorie und Praxis geometrischer Algorithmen Sascha...

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

Sei E ein arithmetischer Ausdruck, der den Wert hat.

Ein Separation Bound sep(E) ist

• eine positive reelle Zahl

• mit der Eigenschaft

k /,*, -, ,

)(0 Esep

)(Eval

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.

20

2218

19

2117

3 8*35

oder die Berechnung des Euklidischen Abstands von Punkten: liegt P oder Q näher an R?

2222 )()()()( yyxxyyxx rqrqrprp

4

Berechnung & Bsp: dag

20

2218

19

2117:

F

3 8*35: E

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

5

Berechnung & Bsp: dag

20

2218

19

2117:

F

3 8*35: E

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

5

Berechnung & Bsp: U(E), L(E)

Man definiert nun induktiv folgende Regeln U(E), L(E)

E integer n

E1±E2

E1*E2

E1/E2

k E1

U(E) n

U(E1)*L(E2)±L(E1)*U(E2)

U(E1)*U(E2)

U(E1)*L(E2)k EU )( 1

L(E) 1

L(E1)*L(E2)

L(E1)*L(E2)

L(E1)*U(E2)k EL )( 1

und berechnet E als Quotient

indem man die Regeln von der Wurzel ausgehend auf die Knoten anwendet und erhält somit den exakten Wert von E

)(

)(

EL

EU

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.

k E1

u(E) |n|

u(E1)*l(E2)+l(E1)*u(E2)

u(E1)*u(E2)

u(E1)*l(E2)k Eu )( 1

l(E) 1

l(E1)*l(E2)

l(E1)*l(E2)

l(E1)*u(E2)k El )( 1

E integer n

E1±E2

E1*E2

E1/E2

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 )(Eval ist eine algebraische Zahl,d.h. es gibt ein Polynom )(XZp mit .0)( p

Folglich gibt es auch ein Minimalpolynom mit Nullstelle .

Der Grad von ist definiert als der Grad des Minimalpolynoms von .

)(deg

m

Zur Erinnerung (Vortrag von Simon):

Das Minimalpolynom zu k a ist ;axk

dieses Polynom hat aber noch weitere Nullstellen ausser k a

9

weitere Definitionen

Kommen in einem Ausdruck E r Wurzeln

k1, ..., kr, so definiert man

(ki: die Grade der Wurzeln)

r

iikED

1

)(

Es gilt: )()( EDdeg

10

Hauptungleichung

Für Ausdrücke E, die keine Division enthalten, und für deren Wert gilt, besteht folgender Zusammenhang:

0

)( )(

11)deg(

EuEu

Der rechte Teil der Ungleichung ist direkt ersichtlich. Für den Beweis des linken Teils brauchen wir noch etwas “Handwerkszeug”.

11

Hilfstheorem 1Zuerst schauen wir uns an, dass eine ganzalgebraische Zahl ist, wobei E keine Division enthält, d.h. alle .

)(Eval

,*},{ op

12

Hilfstheorem 1Zuerst schauen wir uns an, dass eine ganzalgebraische Zahl ist, wobei E keine Division enthält, d.h. alle .

)(Eval

,*},{ op

Seien die Polynome

nn

i

iiA XXaXp

1

0

)( mm

j

jjB XXbXp

1

0

)(und

mit ganzzahligen Koeffizienten ai und bj gegeben.

12

Hilfstheorem 1n

n

i

iiA XXaXp

1

0

)( mm

j

jjB XXbXp

1

0

)(gegeben: und

Da ein Polynom vom Grad n bzw. m genau n bzw. m komplexe Nullstellen hat, kann man pA und pB wie folgt umschreiben:

n

iiA XXp

1

)()(

m

jjB XXp

1

)()(

13

Hilfstheorem 1n

n

i

iiA XXaXp

1

0

)( mm

j

jjB XXbXp

1

0

)(und

Da ein Polynom vom Grad n bzw. m genau n bzw. m komplexe Nullstellen hat, kann man pA und pB wie folgt umschreiben:

n

iiA XXp

1

)()(

m

jjB XXp

1

)()(

Für ,*},{ op hat dann das Polynom

n

i

m

jjiAopB XXp

1 0

)) op (()(

ebenfalls wieder ganzzahlige Koeffizienten.(=Produkt aller Konjugierten von pA und pB)

gegeben:

13

Hilfslemma 1Lemma:

Es gibt ein Polynom )()()( XZeXXpi

iE

so dass 0)( Ep und )(Euei für alle Nullstellen ie

des Polynoms pE(X) gilt.

14

(gegeben: Ausdruck E mit Wert ξ)

Hilfslemma 1Lemma:

Es gibt ein Polynom )()()( XZeXXpi

iE

so dass 0)( Ep und )(Euei für alle Nullstellen

des Polynoms pE(X) gilt.

Beispiel:

Sei 222 2)( ,2)( 2 EuEvalEDas Minimalpolynom zu ist ))2()(2(2)( 222 XXXXm

hat nicht nur die Nullstelle , sondern auchm 2 2 2 2m erfüllt die Bedingungen von pE(X), da:

0)2()( 2 EE pp

)(22 221 Eue )(22 22

2 Eue 14

ie

(gegeben: Ausdruck E mit Wert ξ)

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 aXXpE )(

offensichtlich schon alle Bedingungen des Lemmas.

15

Beweis von Lemma 12.Fall: E hat die Form E = A op B, ,*},{ op

Nach Induktionsvoraussetzung existieren Polynome

n

iiA XXp

1

)()(

m

jjB XXp

1

)()(und

mit (u.a.) Wurzeln (Nullstellen) val(A) bzw. val(B).

16

Beweis von Lemma 12.Fall: E hat die Form E = A op B, ,*},{ op

Nach Induktionsvoraussetzung existieren Polynome

n

iiA XXp

1

)()(

m

jjB XXp

1

)()(und

Wir wählen ; nach Theorem 1 hat wieder ganzzahlige Koeffizienten und u.a. die Wurzel

)()( XpXp AopBE )(XpE

val(E) = val(A) op val(B).

Nach Induktionsvoraussetzung gilt: )( )( BuAu ji und

16

mit (u.a.) Wurzeln (Nullstellen) val(A) bzw. val(B).

Beweis von Lemma 12.Fall: (Fortsetzung)

Nach Induktionsvoraussetzung gilt: )( )( BuAu ji und

17

Beweis von Lemma 12.Fall: (Fortsetzung)

Nach Induktionsvoraussetzung gilt: )( )( BuAu ji und

In Theorem 1 haben wir gesehen, dass )()( XPXp AopBE

die Wurzeln hat. Dann gilt:ji op

)()()( op EuBuAuIV

jiji •für : },{ op

•für : *op )()(*)(* * EuBuAuIV

jiji

17

Beweis von Lemma 13.Fall: E hat die Form k AE

Nach Induktionsvoraussetzung existiert ein Polynom

n

iiA XXp

1

)()(

18

mit (u.a.)Wurzel (Nullstelle) val(A).

Beweis von Lemma 13.Fall: E hat die Form k AE

Nach Induktionsvoraussetzung existiert ein Polynom

n

iiA XXp

1

)()( mit (u.a.)Wurzel (Nullstelle) val(A).

Wir wählen :)()( kAE XpXp

)()()()(1

1

01

XZXXXpn

i

kk

ik

n

ii

kkA

wobei die k-te komplexe Einheitswurzel ist.k

Somit gilt für die Wurzeln(Nullstellen):

)()( EuAukIV

ki

ki

kik

18

Beweis der HauptungleichungWie 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 geteilt werden kann, sind die Wurzeln des Minimalpolynoms auch Wurzeln von pE(X).

)(Xm

D.h. hat die Form , wobei)(Xm

)deg(

1

)()(j

i jeXXm )deg(1,..., ii

die Indizes der Wurzeln des Minimalpolynoms sind, die auch in pE(X) auftreten.

19

Beweis der Hauptungleichung(2)

Da das Minimalpolynom ist, enthält es keine Wurzeln mit Wert 0 (sonst könnte man nochmal durch (X-0) teilen).

)(Xm

Sei nun o.B.d.A. .1ie

Somit können wir nun schließen:

Desweiteren wissen wir aus Lemma 1:

20

)(Eue ji

Beweis der Hauptungleichung(2)

Da das Minimalpolynom ist, enthält es keine Wurzeln mit Wert 0 (sonst könnte man nochmal durch (X-0) teilen).

)(Xm

Sei nun o.B.d.A. .1ie

Somit können wir nun schließen:

1)deg()deg(

2

)deg(

2

)deg(

1

)(

11

*

Eu

eeej

ij

ij

i jjj

Desweiteren wissen wir aus Lemma 1: )(Eue ji

20

Abgeleitete Korollare(1)

Für Ausdrücke E, die keine Division enthalten, und für deren Wert gilt, besteht folgender Zusammenhang:

0

)( )(

11)(

EuEu ED

r

iikED

1

)(Zur Erinnerung: (ki: die Grade der Wurzeln)

Korollar 1:

)()( EDdeg 21

Beweis Korollar 1)()( EDdeg Es gilt:

1)(1)( )()( EDdeg EuEu

1)(1)( )(

1

)(

1

degED EuEu

)( )(

1

)(

11)deg(1)(

EuEuEu ED

Dies setzen wir in unsere Hauptungleichung ein:

22

Abgeleitete Korollare(2)

Für Ausdrücke E, für deren Wert gilt, besteht folgender Zusammenhang:

0

Korollar 2:

1)(

1)(

2

2 )()()()(

1

ED

EDElEu

EuEl

23

Beweis Korollar 2Wir wenden Korollar 1 auf U(E) statt auf E an:

24

))(( ))((

11))((

EUuEUu EUD

Beweis Korollar 2Wir wenden Korollar 1 auf U(E) statt auf E an:

))(( ))(( ))((

11))((

EUuEUvalEUu EUD

Da außerdem u(U(E)) = u(E) gilt, erhalten wir:

)( ))(( )(

11)(2 EuEUval

Eu ED

Wir schätzen D(U(E)) durch D2(E) nach oben ab, da sich die Zahl der Wurzel erhöhen kann.

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:

)( ))(( )(

11)(2 ElELval

El ED

))((

))(()(

ELval

EUvalEval Da gilt, können wir nun schließen:

25

Beweis Korollar 2(rechte Seite)

)( ))(( )(

1 43

1)(2 ElELvalEl ED

))((

))((

ELval

EUval

)( ))(( )(

1 21

1)(2 EuEUvalEu ED

26

Beweis Korollar 2(rechte Seite)

)( )(

1 43

1)(2 ElEl ED

1)(

1)(

3,2 2

2

)()(

)(

1)(

))((

))((

ED

ED

ElEu

El

Eu

ELval

EUval

)( )(

1 21

1)(2 EuEu ED

26

Beweis Korollar 2(linke Seite)

)( )(

1 43

1)(2 ElEl ED

)( )(

1 21

1)(2 EuEu ED

27

))((

))((

ELval

EUval

Beweis Korollar 2(linke Seite)

)( )(

1 43

1)(2 ElEl ED

)( )(

1 21

1)(2 EuEu ED

27

1)(1)(

4,1

22

)()(

1

)(

1*

)(

1

))((

))((

EDED EuElElEuELval

EUval

Beweis Korollar 2(linke Seite)

)( )(

1 43

1)(2 ElEl ED

)( )(

1 21

1)(2 EuEu ED

1)(

1)(

2

2 )()()()(

1

ED

EDElEu

EuEl

Insgesamt erhalten wir:

27

1)(1)(

4,1

22

)()(

1

)(

1*

)(

1

))((

))((

EDED EuElElEuELval

EUval

AnwendungWie kann man nun das Vorzeichen eines Ausdrucks bestimmen?

Sei E ein reellwertiger Ausdruck und sep(E) ein separation bound zu E.

28

AnwendungWie 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 , das die Länge ε hat, 0 < ε < sep(E), und in dem der Wert von E liegt.

I

Nun müssen wir uns ansehen, ob die Null in liegt oder nicht.

I

28

)(0 EsepZur Erinnerung:

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)

A BC

Problem: Welche Punkte liegen innerhalb des Kreises?

->Vorzeichentest wichtig (z.B. bei Abstandsberechnungen von Punkten)

30

DM

Anwendung(4)

Problem: Liegt ein Punkt der Linie l3 innerhalb des Kreises?

Aus Vortrag von Prof. K. Mehlhorn

31

The End