7

Nullstellen polynomialer Systeme

K

bezeichnen wir mit Pn = 7.1 Notation und Motivation F¨ ur einen beliebigen K¨orper [x1 , . . . , xn ] den Raum der Polynome in den Variablen x1 , . . . , xn . utzliches Hilfsmittel zur BeschreiEin Vektor α ∈ n0 heißt Multiindex. Der Multiindex ist ein n¨ bung von Polynomen (und auch partiellen Ableitungen). Wir setzen

K

N

ur x = (x1 , . . . , xn ) ∈ xα = xα1 1 . . . xαnn f¨

Kn.

Mit xα haben wir eine kompakte Schreibweise f¨ ur Monome in n Variablen gefunden. Das allgemeine Polynom p ∈ Pn l¨ asst sich dann schreiben als X p(x) = c α xα , c α ∈ ,

K

α

wobei nur endlich viele cα nicht verschwinden. Auf den Multiindizes definieren wir eine Halbordnung durch α≤β



αi ≤ βi f¨ ur i = 1, . . . , n.

Dann ist das Monom xα genau dann ein Teiler von xβ , wenn α ≤ β. Der Raum der Polynome Pn ist ein unendlich dimensionaler Vektorraum. Mit der u ¨blichen Polynommultiplikation wird er zu einer kommutativen Algebra. Eine nichtleere Menge I ⊂ Pn heißt Ideal, wenn ∀h1 , . . . , hm ∈ Pn ∀p1 , . . . , pm ∈ I h1 p1 + h2 p2 + . . . + hm pm ∈ I. Diese Definition erinnert etwas an den Unterraum in der linearen Algebra, nur sind in den Li” nearkombinationen“ nicht nur Skalare, sondern alle Elemente hi von Pn zugelassen. Da wir hier hi = ci ∈ setzen k¨ onnen, ist ein Ideal immer ein Unterraum von Pn . Sind p1 , . . . , pm ∈ Pn , so heißt hp1 , . . . , pm i = {p = h1 p1 + . . . + hm pm : hi ∈ Pn }

K

das von p1 , . . . , pm erzeugte Ideal. Dass dies tats¨achlich ein Ideal ist, folgt direkt aus der Definition. Man beachte, dass in hp1 , . . . , pm i die Zahl m nichts u ¨ber die Gr¨oße“ des Ideals aussagt, denn ” beispielsweise ist h1i = Pn . In diesem Kapitel geben wir Algorithmen zur L¨osung der beiden folgenden Probleme an. Das erste ist das Ideal-Zugeh¨ origkeitsproblem: Gegeben f1 , . . . , fm ∈ Pn und f ∈ Pn . Liegt dann f in hf1 , . . . , fm i oder nicht? Dies verallgemeinert das Unterraum-Zugeh¨origkeitsproblem der linearen Algebra: Seien Vektoren a1 , . . . , am ∈ n gegeben. Liegt dann ein vorgegebenes b ∈ n im von diesen Vektoren aufgespannten Unterraum oder nicht? Man l¨ost dieses Problem, indem man die ai als Spaltenvektoren zu einer Matrix A zusammenstellt und dann die L¨osbarkeit von Ax = b untersucht. Das zweite Problem ist das Auffinden der gemeinsamen Nullstellen von Polynomen f1 , . . . , fm ∈ Pn . Dazu betrachtet man das Ideal I = hf1 , . . . , fm i und beobachtet, dass nun jedes f ∈ I die ge¨ meinsamen Nullstellen der fi als Nullstellen besitzt. Durch Ubergang zu einem anderen erzeugenden System kann dieses Problem einer algorithmischen L¨osung zugef¨ uhrt werden. Das zugeh¨orige Problem der linearen Algebra ist das Auffinden der Nullstellen einer affin-linearen Funktion. Da diese affin-lineare Funktion von der Form Ax − b ist, reduziert sich auch dieses Problem auf die L¨ osung eines linearen Gleichungssystems.

K

K

7.2 Der Divisionsalgoritmus Bei einem Polynom in einer Variablen k¨onnen wir problemlos den Grad und damit auch das Leitmonom, also das Monom mit dem h¨ochsten Grad, definieren. Um

75

das gleiche auch bei Polynomen mehrerer Variablen zu erreichen, verwenden wir f¨ ur die Multiindizes n in 0 die lexikographische Ordnung, also

N

α lex

xβ = LM(f ) = Leitmonom von f, cβ = LK(f ) = Leitkoeffizient von f, cβ xβ = LT(f ) = Leitterm von f = LK(f ) · LM(f ). Beispiel Wie u ¨blich bezeichnen wir in P2 die Variablen mit x, y. p(x, y) = 2xy 3 + 5y 5 setzt sich aus den Monomen mit Exponenten (1, 3) >lex (0, 5) zusammen. Damit ist multigrad(p) = (1, 3),

LM(p) = xy 3 ,

LK(p) = 2,

LT(p) = 2xy 3 .

In P1 gilt der Euklidische Algorithmus: Zu f, g ∈ P1 gibt es eindeutige a, r ∈ P1 mit f = ag + r mit grad r < grad g. Im Pn bleibt davon leider nur wenig u ¨brig: Satz Sei F = (f1 , . . . , fm ) ein Tupel von Polynomen f1 , . . . , fm ∈ Pn . Dann l¨asst sich jedes f ∈ Pn schreiben als f = a1 f1 + . . . + am fm + r, ai , r ∈ Pn , wobei r = 0 oder keines der Leitterme LT(f1 ), . . . , LT(fm ) ein Teiler eines der Monome von r ist. Die Konstruktion der ai und r erfolgt dabei durch den folgenden Algorithmus: Eingabe: f1 , . . . , fm , f Ausgabe: a1 , . . . , am , r 1) Initialisierung: a1 = . . . = am = 0, r = 0, p = f 2) Ist p = 0, so STOP. Andernfalls: F¨ ur i = 1, 2, . . . bestimme das erste i0 , so dass LT(fi0 ) ein Teiler von LT(p) ist. 2a) Falls ein solches i0 gefunden wurde: Setze ai0 = ai0 + LT(p)/LT(fi0 ) p = p − (LT(p)/LT(fi0 ))fi0 Gehe nach 2) 2b) Falls kein solches i0 gefunden wurde: Setze r = r + LT(p) p = p − LT(p) Gehe nach 2) 76

Beweis: Die Gleichung f = a 1 f1 + . . . + a m fm + p + r ist zu Anfang des Algorithmus erf¨ ullt und bleibt w¨ahrend des ganzen Algorithmus erhalten: Was in 2a) auf ai0 (×fi0 ) addiert wird, wird von p abgezogen; gleiches gilt f¨ ur r und p in 2b). Wenn in 2a) der Leitterm von p eliminiert werden kann, so wird mit dem neuen p Schritt 2) weitergef¨ uhrt. Ist dagegen keine Elimination m¨ oglich, so wird in 2b) der Leitterm von p dem r zugeschlagen. Dieser Term von r l¨ asst sich dann wie behauptet nicht durch einen der Leitterme der fi teilen. Da in jedem dieser Schritte der Leitterm von p eliminiert wird, endet der Algorithmus nach endlich vielen Schritten. Bemerkung F¨ ur die Anwendung dieses Divisionsalgorithmus sagen wir auch: Wir teilen f durch F mit Rest r. Nachteil dieses Algorithmus ist die Abh¨angigkeit des Ergebnisses von der Reihenfolge der fi : Beispiel Seien f = x2 + xy, f1 = x2 und f2 = x + y. Zu Anfang ist p = f und ai = 0. Der Leitterm von p ist x2 und der Leitterm von f1 ist ebenfalls x2 . Die Elimination ist daher m¨oglich und der erste Schritt des Algorithmus liefert a1 = 1,

p = x2 + xy − 1 · x2 = xy.

x2 ist nun kein Teiler von xy, aber der Leitterm von f2 , n¨amlich x, ist einer. Der zweite Schritt liefert a2 = y, p = xy − y · (x + y) = −y 2 . −y 2 ist kein Teiler von x2 oder x, der Algorithmus endet mit 2b), a1 = 1,

a2 = y,

r = −y 2 .

Kehren wir stattdessen die Reihenfolge von f1 und f2 um, so liefert der Algorithmus mit f = xf2 , r = 0, bereits nach einem Schritt ein (anderes) Endergebnis. Bedenkenswert an diesem Beispiel ist ferner, dass der Algorithmus nicht zwangsl¨aufig erkennt, dass f bereits im von f1 , f2 erzeugten Ideal liegt. Das Ideal-Zugeh¨origkeitsproblem kann daher mit diesem Divisionsalgorithmus nicht gel¨ ost werden. 7.3 Monomiale Ideale und der Hilbertsche Basissatz In diesem Abschnitt setzen wir voraus, dass alle angef¨ uhrten Ideale nicht pathologisch sind, also I 6= {0} erf¨ ullt ist. F¨ ur eine nicht notwendig endliche Menge A von Multiindizes heißt I = hxα : α ∈ Ai monomiales Ideal, also ein nur von Monomen erzeugtes Ideal. Mit xα ∈ I ist f¨ ur β ≥ α auch xβ ∈ I. Es gilt hiervon auch die Umkehrung: Lemma [Zugeh¨ origkeit zu einem monomialen Ideal] Sei I = hxα : α ∈ Ai. Dann ist xβ ∈ I genau dann, wenn es ein α ∈ A gibt mit β ≥ α. P Beweis: Ist xβ ∈ I, so ist xβ = si=1 hi xαi mit αi ∈ A. Wir k¨onnen die hi nach Monomen entwickeln und erhalten β

x =

t X

cj xβj mit βj ≥ αj f¨ ur ein αj ∈ A.

j=1

Da auf der linken Seite ein Monom herauskommt, muss auch dieses β ≥ αj f¨ ur ein αj ∈ A erf¨ ullen. Jedes xα , α ∈ A, tr¨ agt sozusagen alle xβ , β ≥ α auf seinem R¨ ucken, wie die nebenstehende Zeichnung zeigt. 77

n

(2,5) (3,4)

(4,2)

m

Monome in hx4 y 2 , x3 y 4 , x2 y 5 i

ur ein monomiales Ideal ist auch die Frage leicht zu beantworten, wann f ∈ I gilt. In f = P F¨ α ur cα 6= 0 das Monom xα zu I geh¨oren. Damit gilt f ∈ I genau dann, wenn f eine α cα x muss f¨ Linearkombination von Monomen aus I ist. Lemma [Lemma von Dickson] Jedes monomiale Ideal wird endlich erzeugt, d.h. zu I = hxα : α ∈ Ai gibt es α1 , . . . , αs ∈ A mit I = hxα1 , . . . , xαs i. Beweis: F¨ ur P2 folgt das Lemma aus der obenstehenden Zeichnung. Ist (m, n) ∈ A, so bestimmen wir f¨ ur k = 0, . . . , n − 1 ein minimales mk mit (mk , k) ∈ A (sofern vorhanden). Genauso suchen wir (m, nk ) ∈ A f¨ ur k = 0, . . . , m − 1. Die so erhaltenen maximal m + n + 1 Paare bilden zusammen mit (m, n) ein erzeugendes System von I. F¨ ur Pn , n > 2, kann man ganz analog argumentieren. Sei I ein Ideal. Dann bezeichnen wir mit LT (I) die Menge der Leitterme der Elemente von I, also LT (I) = {cxα : Es gibt ein f ∈ I mit LT (f ) = cxα }. Weiter sei hLT (I)i das von den Elementen von LT (I) erzeugte Ideal. In cxα ∈ LT (I) gilt nach Definition des Leitterms c 6= 0 und damit ist auch xα ∈ LT (I). Demnach stimmt hLT (I)i mit dem von den Leitmonomen der f ∈ I erzeugten Ideals u ¨berein. Insbesondere ist hLT (I)i ein monomiales Ideal. hLT (I)i hat mit I nicht viel zu tun. In P1 gilt z.B. f¨ ur I = hx + 1i, dass hLT (I)i = hxi, aber x+1 ∈ / hxi und x ∈ / hx+1i. Dies sieht man schon an den unterschiedlichen Nullstellen der Polynome x und 1 + x. Satz [Hilbertscher Basissatz] Jedes Ideal I ⊂ Pn hat ein endliches erzeugendes System, d.h. es gilt I = hg1 , . . . , gt i f¨ ur g1 , . . . , gt ∈ I. Beweis: Falls I = {0}, so ist das Ideal endlich erzeugt. Sei daher I 6= {0}. Nach dem Lemma von Dickson gilt hLT(I)i = hLT(g1 ), . . . , LT(gt )i, da hLT(I)i ein monomiales Ideal ist. Wir zeigen, dass diese g1 , . . . , gt das Ideal I erzeugen. Sei f ∈ I. Nach dem Divisionsalgorithmus in Satz 7.2 l¨asst sich f darstellen in der Form f = a1 g1 + . . . + at gt + r, wobei kein LT(gi ) ein Teiler von einem Term von r ist. Falls r = 0, so sind wir fertig. Andernfalls gilt wegen f ∈ I r = f − a1 g1 − . . . − at gt ∈ I. Daher ist LT(r) ∈ hLT(I)i = hLT(g1 ), . . . , LT(gt )i. Nach dem Lemma u ¨ber die Zugeh¨origkeit zu einem monomialen Ideal gilt dies genau dann, wenn multigrad(r) ≥ multigrad(gi ) f¨ ur ein i. Daher ist im vorliegenden Fall LT(gi ) ein Teiler von LT(r), was einen Widerspruch zur Konstruktion von r ergibt. Eine zum Hilbertschen Basissatz ¨ aquivalente Aussage ist Korollar [Ascending Chain Condition (ACC)] Ist I1 ⊂ I2 ⊂ . . . ⊂ Pn eine aufsteigende Kette von Idealen, so gibt es einen Index N mit IN = IN +1 = IN +2 = . . . Beweis: Die Menge I = ∪Ii ist selber ein Ideal: Zu f1 , . . . , fs ∈ I gibt es einen Index P j mit fi ∈ Ij f¨ ur alle i, weil die Ideale eine aufsteigende Kette bilden. Da Ij ein Ideal ist, ist auch i hi fi ∈ Ij f¨ ur beliebige hi ∈ Pn . Nach dem Hilberschen Basissatz gibt es eine endliche erzeugende Menge I = hf1 , . . . , fs i. Da auch diese fi in einem IN liegen, haben wir die Behauptung gezeigt. 7.4 Gr¨ obner-Basen Prinzipien:

Aus dem Beweis des Hilbertschen Basissatzes entnehmen wir drei wichtige

1) Wird f ∈ I mit dem Divisionsalgorithmus durch (f1 , . . . , fs ), fi ∈ I, geteilt, so geh¨ort der Rest r ebenfalls zum Ideal. 78

2) Ist hLT(I)i = hLT(g1 ), . . . , LT(gt )i, gi ∈ I, so ist g1 , . . . , gt ein erzeugendes System von I. 3) F¨ ur erzeugende Systeme aus 1) gilt: f ∈ I genau dann, wenn die Division von f durch g1 , . . . , gt (bei beliebiger Reihenfolge der gi ) ohne Rest aufgeht. Daher definieren wir: Eine endliche Teilmenge G = {g1 , . . . , gt } eines Ideals I heißt Gr¨ obner-Basis, wenn hLT(g1 ), . . . , LT(gt )i = hLT(I)i. Das Konzept der Gr¨ obner-Basen wurde von Bruno Buchberger (*1942) entwickelt, der sie nach seinem Lehrer Wolfgang Gr¨ obner (1899-1980) benannte. Im Beweis des Hilbertschen Basissatzes wurde eine Gr¨obner-Basis konstruiert, womit gleichzeitig gezeigt ist, dass eine Gr¨ obner-Basis immer existiert. Nach Prinzip 3) geht bei f ∈ I die Division durch eine Gr¨ obner-Basis immer ohne Rest auf. F¨ ur eine Gr¨obner-Basis bekommen wir im Divisionsalgorithmus sogar immer den gleichen Rest: Lemma Sei {g1 , . . . gt } eine Gr¨ obner-Basis eines Ideals I. Ist f¨ ur beliebiges f ∈ Pn f = a1 g1 + . . . + at gt + r, so dass kein LT(gi ) ein Teiler eines Terms von r ist, so ist r eindeutig bestimmt. Insbesondere erhalten wir immer den gleichen Rest, wenn wir f durch G teilen, unabh¨angig von der Reihenfolge der Elemente von G. Beweis: Sei f = g +r = g ′ +r′ mit g, g ′ ∈ I und kein LT(gi ), ist ein Teiler eines Terms von r oder r′ . Es folgt r − r′ = g − g ′ ∈ I. Wenn also r 6= r′ , so gilt LT(r − r′ ) ∈ hLT(I)i = hLT(g1 ), . . . , LT(gt )i. Damit ist f¨ ur ein i LT(gi ) ein Teiler von LT(r − r′ ). Das ist aber unm¨oglich, weil LT(gi ) kein Teiler eines Terms von r oder r′ ist. Kommen wir nun zum Hauptgrund, warum ein erzeugendes System {f1 , . . . , ft } keine Gr¨ obnerBasis zu sein braucht. Es kann n¨ amlich sein, dass in axα fi − bxβ fj

(7.1)

die Leitterme von fi und fj zum Verschwinden gebracht wird und ein niedrigerer Term als Leitterm u ¨brig bleibt. Dieser mag mit einem LT(gi ) in hLT(I)i = hLT(g1 ), . . . , LT(gs )i u ¨bereinstimmen, kommt aber in hLT(f1 ), . . . , LT(ft )i nicht vor. Die n¨achste Aufgabe ist daher, ein Verfahren anzugeben, um an die in (7.1) m¨ oglicherweise versteckten wichtigen Leitterme zu gelangen. F¨ ur Multiindizes α, β setzen wir γ = max{α, β}



γi = max{αi , βi } f¨ ur i = 1, . . . , n.

Seien f, g ∈ Pn nichtverschwindende Polynome mit multigrad(f ) = α und multigrad(g) = β. Dann heißt xγ , γ = max{α, β}, das kleinste gemeinsame Vielfache von LM(f ) und LM(g) und wird mit xγ = KgV(LM(f ), LM(g)) bezeichnet. Mit diesem γ ist das S-Polynom von f und g definiert durch S(f, g) =

xγ xγ ·f − · g. LT(f ) LT(g)

Offenbar werden im S-Polynom die Leitterme von f und g eliminiert: Beispiel F¨ ur f = x3 y 2 − x2 y 3 + x und g = 3x4 y + h2 in und S(f, g) =

R[x, y] ist KgV(LM(f ), LM(g)) = x4y2

x4 y 2 1 x4 y 2 · f − ·g =x·f − y·g 3 2 4 x y 3x y 3

1 = −x3 y 3 + x2 − y 3 . 3 79

Lemma Seien fi ∈ Pn mit multigrad(fi ) = δ. Wenn f¨ ur c i ∈ gibt es cjk ∈ mit s X X cjk S(fj , fk ) c i fi =

K

i=1

K multigrad(Psi=1 cifi)