Polynomial Root Isolation by Michael Arnold Allgemeines zu Polynomen • Ein Polynom vom Grad n hat die Form i a x i0 i n • Es besitzt bei reellen Koeffizienten a0 ,.., an genau r reelle und 2s komplexe Nullstellen und es gilt: r + 2s = deg(P(x)) • Die Nullstellen eines Polynoms bezeichnet man auch als dessen “Wurzeln” Was wollen wir machen? • Wir wollen alle reellen Nullstellen in getrennte Intervalle auf der xAchse einschließen. • Jedes Intervall darf also höchstens eine reelle Nullstelle enthalten. Uspensky’s Algorithmus • Benötigtes Theorem: – Descartes rule of sign (Definition, Beweis, Folgerungen) • Algorithmus: – Nullstellenisolierung eines Polynoms für Nullstellen im Intervall (0,1) – Terminierungsbeweis des Approximationsalgorithmus – Verallgemeinerung des Algorithmus für alle reellen Nullstellen Definition von V(P) und pos(P) n ai Q • Sei P( x) ai x i ein Polynom mit reellen Koeffizienten i 0 • Eine Vorzeichenvariation von P ist ein Paar i, j mit 0 i j n so dass a ... a 0 i 1 und j 1 ai a j 0 • Mit V(P) bezeichnen wir die Anzahl der Vorzeichenvariationen von P • Mit pos(P) bezeichnen wir die Anzahl der reellen Nullstellen von P. Dabei zählen wir mehrfache Nullstellen auch mehrfach. Descartes rule of sign • Sei P ein Polynom mit reellen Koeffizienten. Dann ist V(P) - pos(P) ein gerade natürliche Zahl. • Folgerungen: » Wenn V(P)=0 => pos(P)=0 » Wenn V(P)=1 => pos(P)=1 Nullstellenisolierung im Intervall (0,1) • Sei P(x) ein Polynom mit reellen Koeffizienten und Grad n. • Wir betrachten nun folgendes Polynom: 1 Q ( x) (1 x) n P 1 x • Für x betrachten wir nun die Werte (0, ). • 1/(1+x) bildet für x aus (0, ) auf (0,1) ab. • Mit (1+x)^n wird dafür gesorgt, dass Q(x) auch ein Polynom ist. • =>Zu allen reellen positiven Nullstellen von Q(x) gehört eine reelle Nullstelle von P(x) im Intervall (0,1) Beispiele P( x) x 3 3 x 2 2 x 1 • 1 Q( x) (1 x)3 P 1 x V(Q)=0 => Die Funktion hat keine Nullstellen im Intervall (0,1) Beispiele P( x) ( x 0.5)( x 3) • 1 Q( x) (1 x) 2 P 1 x V(Q)=1 =>Die Funktion hat genau eine Nullstelle im Intervall (0,1) Nullstellenisolierung im Intervall (0,1) • Wenn V(Q)=1 oder V(Q)=0 ist, sind wir also fertig, weil wir wissen ob es genau eine oder keine reelle Nullstelle im von uns untersuchten Intervall existiert. • Was passiert aber wenn V(Q)>1 ist? • Angenommen V(Q)=2, dann könnte nach Descartes rule of sign pos(Q) = 0 oder 2 sein ! • Wenn V(Q)=3, dann könnte pos(Q)= 1 oder 3 sein! • Usw.... Nullstellenisolierung im Intervall (0,1) • Wenn V(Q)>1 ist prüfen wir zuerst ob P(1/2)=0 ist. • Ist das der Fall, haben wir ein isoliertes Intervall gefunden, in dem eine reelle Nullstelle ist (nämlich [1/2,1/2]). • Als nächstes berechnen wir P1(x) und P2(x) wie folgt: x P1 ( x ) P 2 x 1 P2 ( x) P 2 • Die reellen Wurzeln von P1(x) in (0,1) haben eine zugehörige Wurzel bei P(x) in (0,1/2). • Die reellen Wurzeln von P2(x) in (0,1) haben eine zugehörige Wurzel bei P(x) in (1/2,1). • => Wir wenden diese Methode nun rekursiv auf P1(x) und P2(x) an und können somit unsere gewünschten Intervalle berechnen. Terminiert der Algorithmus? • Der Algorithmus terminiert, wenn das Polynom P(x) keine mehrfachen Nullstellen aufweist, es sei denn diese Wurzeln sind von der Form i 2k • Mit i,k und 1 i 2k • In diesem Fall werden die Nullstellen vom Algorithmus direkt gefunden. Lemmata • • • • i i 1 Wir suchen Schritt für Schritt die Wurzeln von P(x) im Intervall I k , k 2 2 Es gilt: i,k und 0 i 2 k ix Wir bilden (0,1) auf I ab, indem wir x auf abbilden. k 2 i x Sei A(x)= P 2 und Q(x)= (1 x) n 1 k 1 x • Lemma 1: Falls Q(x) keine Wurzeln innerhalb des Radius von 1/2 zentriert um den Punkt (1/2, 0) besitzt, so gilt V(Q(x))=0. • Lemma 2: Falls Q(x) genau eine reelle Wurzel in (0,1) und keine 1 i komplexe Wurzeln in den offenen Scheiben um die Punkte 2 2 3 besitz und durch den Ursprung gehen, (also Radius 13 haben,) dann ist V(Q(x))=1. Terminierungsbeweis • Wenn Lemma 1 oder Lemma 2 erfüllt sind, folgt aus Descartes rule of sign die Terminierung des Algorithmus. • Wir müssen also zeigen, dass wenn das Intervall I klein genug ist, die Bedingungen für eines der Lemmata auf jeden Fall erfüllt sind. Terminierungsbeweis • Sei min{| 1 2 |: i C, P( i ) 0, 1 2 } • Falls 2 k gilt für unser Polynom Q(x): i min{| 1 2 |: i C , Q( i ) 0 P k i P( i ) i 2 k i i , 1 2 } 2 2 min{| 2 k 1 i 2 k 2 i |: i C , P( i ) 0, 1 2 } 2k 2 • Somit haben die Wurzeln von Q(x) mindestens Abstand 2. Terminierungsbeweis • Falls Q(x) keine Wurzeln mit Radius 1/2 um den Punkt (1/2,0) besitzt, ist die Bedingung für Lemma 1 erfüllt. • Falls Q(x) genau eine Nullstelle in diesem Bereich besitzt, muss es eine reelle Wurzel sein. Wären in diesem Bereich komplexe Wurzeln, würden sie in konjugierten Paaren auftreten und müssten beide in dem Bereich liegen. Somit sind die Bedingungen für Lemma 2 erfüllt. • Der Fall das mehrere Nullstellen in dem Bereich auftreten ist nicht möglich, da sonst der Abstand zwischen den Nullstellen zu klein wäre. Dieser Fall kann also nicht eintreten. • Wenn aber mehrfache Nullstellen auftreten, können die Bedingungen der Lemmata nicht mehr erfüllt werden. • => Terminierung des Algorithmus für Polynome ohne mehrfache Nullstellen mit Außnahme mehrfacher Nullstellen die direkt gefunden werden können (, also der Form i/(2^k)). Verallgemeinerung des Algorithmus • Wir wollen zuerst ein B finden für das alle reellen Nullstellen des zu untersuchenden Polynoms P vom Grad n im Intervall [-B,B] liegen müssen. • Wie bestimmen wir nun ein geeignetes B? • Wir testen einfach für k=1,2,3,... Bis folgende Gleichung erfüllt ist: n 1 | an | (2 k ) n | ai | (2 k ) i 0 i 0 • Unser gesuchtes B hat hier folgende Form: B=2^k • Die Gleichung ist genau dann erfüllt, wenn die höchste x-Potenz alle anderen x-Potenzen dominiert und deshalb keine Nullstellen mehr auftreten können für x-Einsetzungen kleiner -B oder größer B. P( x) x 3 x 2 x 1 3 2 Verallgemeinerung des Algorithmus • Nun sei das Polynom Pa ( x) P(4 Bx ) • Alle Wurzeln von Pa(x) liegen jetzt also im Intervall [-1/4,1/4] • Eine reelleWurzel w von Pa(x) gehört also zu der reellen Wurzel 4Bw von P(x) Pa ( x) P(4 4 x) 4096 x 768 x 32 x 1 3 2 Verallgemeinerung des Algorithmus 1 2 • Nun sei das Polynom Pb ( x) Pa x • Alle Wurzeln von Pb(x) liegen jetzt also im Intervall [1/4, 3/4] • Die reelle Wurzel w von Pb(x) gehört also zu der reellen Wurzel 1/2 von Pa(x) w- 1 3 2 Pb ( x) Pa x 4096 x 6912 x 3808 x 687 2 Verallgemeinerung des Algorithmus • Wir können nun unseren Algorithmus auf Pb(x) anwenden und erhalten nach der Korrektur unserer Intervallgrenzen die gewünschten Intervalle für unser Polynom P(x). Rekursionsübersicht für Intervallgrenzen ... ... ... ...