Wykład habilitacyjny, Toruń UMK, 5 czerwca 1995 roku
Andrzej Nowicki
W. Gr¨obner, 1899-1980, Austria.
B. Buchberger, Austria.
H. Hironaka, Japonia (medal Fieldsa).
Bazy, o których będzie mowa pojawiły się w 1965 roku w pracy doktorskiej Buchbergera. Gr¨obner był inicjatorem (i doradcą) tej pracy doktorskiej.
Te same bazy pojawiły się (niezależnie, ale rok wcześniej) w 1964 roku w pracy Hironaki o usuwaniu osobliwości. Hironaka nazywa je bazami standardowymi. Tak się je czasem jeszcze dzisiaj nazy- wa. Hironaka podał niekonstruktywny dowód istnienia. Buchberger natomiast podał prosty algorytm konstruowania tych baz.
Publikacja Buchbergera, z wynikami jego pracy doktorskiej, pojawiła się w 1976 roku. Od tego roku można zaobserwować szybki rozwój teorii baz Gr¨obnera. Udoskonalono algorytmy. Powstały i nadal powstają coraz to lepsze programy komputerowe. Odkrywane są przeróżne zastosowania.
Wspomnijmy jeszcze, że główna myśl (na której opiera się teoria baz Gr¨obnera) znana była już wcześniej. Można ją odczytać w pracach matematyków takich jak: D. Hilbert (1890), F. S. Macaulay (1916), G. Hermann (1926).
k - ciało (np. R, C, Q).
k[X] = k[x1, . . . , xn] - pierścień wielomianów n zmiennych nad k.
Przypomnijmy znane
Twierdzenie Hilberta o bazie. Każdy ideał w k[X] jest skończenie generowany.
Oznacza to, że jeśli I jest ideałem w pierścieniu k[X], to istnieje skończony podzbiór F = {f1, . . . , fs} ⊂ k[X] taki, że
I = (f1, . . . , fs) = {h1f1+ · · · + hsfs; h1, . . . , hs∈ k[X]}.
Ten skończony podzbiór nazywa się w tym przypadku bazą (ideału I). Twierdzenie Hilberta o bazie mówi zatem, że każdy ideał w k[X] ma bazę. Właśnie o takich bazach będziemy tu mówić.
Dany ideał w k[X] może mieć wiele różnych baz, nawet różnej mocy. Okazuje się jednak, że każdy ideał w k[X] ma bazę posiadającą pewne specjalne własności. Te specjalne bazy, to właśnie bazy Gr¨obnera. Każdy ideał w k[X] ma bazę Gr¨obnera. Może ich mieć dużo. Możemy jeszcze zażądać by baza Gr¨obner spełniała pewne dodatkowe warunki i mówić wtedy o tzw. zredukowanych bazach Gr¨obnera. Wtedy można udowodnić, że każdy ideał w k[X] ma dokładnie jedną zredukowaną bazę Gr¨obnera. Istnieje ponadto prosty algorytm na skonstruowanie takiej zredukowanej bazy.
Do czego to potrzebne?
Załóżmy, że dane są wielomiany f1, . . . , fs∈ k[X]. Rozważmy ideał A = (f1, . . . , fs).
Problem 1. Niech g ∈ k[X]. Jak sprawdzić (w skończonej ilości krokach) czy wielomian g należy do ideału A? W szczególności (gdy g = 1): jak sprawdzić czy ideał A jest różny od k[X]?
Problem 2. Znaleźć generatory ideału A ∩ k[x1, . . . , xp], dla p < n.
Problem 3. Znaleźć generatory radykału ideału A. Jak rozstrzygnąć czy dany wielomian należy do radykału?
Problem 4. Załóżmy, że dany jest jeszcze drugi ideał B = (g1, . . . , gt), gdzie g1, . . . , gtsą danymi wielomianami z k[X]. Znaleźć generatory ideału A ∩ B. Znaleźć generatory ideału A : B.
Problem 5. Znaleźć generatory jądra danego homomorfizmu wielomianowego (lub ogólniej homo- morfizmu k-algebr). W szczególności stwierdzić czy ten homomorfizm jest różnowartościowy lub ”na”
lub czy jest automorfizmem.
Problem 6. Dany jest wielomianowy układ równań:
f1 = 0 ...
fs = 0.
Rozstrzygnąć czy układ ten ma rozwiązanie, czy ma skończoną ilość rozwiązań (w algebraicznym do- mknięciu ciała k). Jeśli tak jest, to znaleźć wszystkie rozwiązania.
Problem 7. Opisać zbiór generatorów modułu syzygii danego ciągu wielomianów.
Problem 9. Jak rozstrzygnąć czy dany wielomian g z k[X] należy do k-podalgebry k[f1, . . . , fs] (najmniejszej k-podalgebry w k[X] zawierającej dane wielomiany f1, . . . fs)?
W związku z Problemem 9 proponuję spróbować rozwiązać następujące zadanie dla wielomianów jednej zmiennej.
Zadanie. Czy t5∈ k[t3− t, t2]?
Słynna hipoteza jakobianowa (która do dzisiaj nie jest rozstrzygnięta, nawet dla dwóch zmiennych) związana jest z Problemem 9. Stwierdza ona, że x1, . . . , xn ∈ k[f1, . . . , fn], gdzie f1, . . . , fn są danymi wielomianami w k[X] mającymi stały jakobian (char k = 0).
Tego rodzaju problemów można wypisać bardzo dużo. Podobne problemy istnieją np. w teorii równań różniczkowych.
Wszystkie powyższe problemy są stosunkowo łatwe, gdy znamy bazy Gr¨obnera. Dla wszystkich tych problemów istnieją proste algorytmy. Jest tu tylko jeden mały wyjątek. Pierwsza część Problemu 3, o generatorach radykału, jest nadal otwarta.
Bazy Gr¨obnera można definiować różnie. Istnieje kilka równoważnych definicji. Podamy teraz jedną z takich definicji.
Najpierw ustalmy pewne oznaczenia.
Rozważmy niezerowy wielomian f należący do k[X]. Wielomian ten ma następującą postać:
f = X
(α1,...,αn)
aα1...αnxα11· · · xαnn,
gdzie wszystkie współczynniki postaci aα1...αn są elementami ciała k, prawie wszystkie równe zero.
Sumowanie przebiega przez wszystkie ciągi (α1, . . . , αn), nieujemnych liczb całkowitych. Oznaczmy zbiór takich wszystkich ciągów przez Ω (lub Ωn). Zbiór ten jest półgrupą przemienną ze względu na dodawanie z zerem 0 = (0, . . . , 0).
Jeśli α = (α1, . . . , αn) ∈ Ω, to przez Xαoznaczać będziemy jednomian xα11· · · xαnn. W szczególności X0 = x01· · · x0n = 1. Ponadto, Xα· Xβ = Xα+β, dla wszystkich α, β ∈ Ω. Współczynniki postaci aα1...αn oznaczać będziemy odpowiednio przez aα.
Teraz nasz wielomian f ma przyjemniejszy zapis:
f =X
α∈Ω
aαXα.
Ustalmy w zbiorze Ω pewien porządek>, na przykład leksykograficzny. Zdajmy sobie sprawę z tego, że porządek leksykograficzny spełnia następujące trzy warunki.
1. (Ω,>) jest zbiorem liniowo uporządkowanym;
2. ∀α∈Ωα > 0;
3. ∀α,β,γ∈Ωα > β =⇒ α + γ > β + γ.
Każdą relację> (zbioru Ω) spełniającą powyższe trzy warunki nazywamy G-porządkiem (lub po- rządkiem Gr¨obnera lub porządkiem dopuszczalnym). Porządek leksykograficzny jest więc G-porządkiem.
Istnieje sporo innych G-porządków. Warto zaznaczyć, że z powyższych trzech warunków wynika na- stępujący warunek:
1’. (Ω,>) jest zbiorem dobrze uporządkowanym.
Przypomnijmy, że liniowy porządek jest dobry jeśli każdy niepusty podzbiór posiada element najmniej- szy lub równoważnie, gdy nie ma nieskończonych ciągów zstępujących postaci
α1> α2> . . . , gdzie α1, α2, · · · ∈ Ω.
Załóżmy zatem, że na zbiorze Ω ustalony jest pewien G-porządek i wróćmy do naszego niezerowego wielomianu f . Wielomian ten możemy teraz zapisać jednoznacznie tak:
f = b1Xα1+ · · · + bsXαs,
gdzie b1, . . . , bs są niezerowymi elementami ciała k, natomiast elementy α1, . . . , αs należą do Ω i spełniają nierówności
α1> · · · > αs. W tej sytuacji wprowadzamy następujące oznaczenia i nazwy.
f∗ = a1Xα1 − najwyższy jednomian, cf = b1 − najwyższy współczynnik, deg f = α1 − stopień.
Wprowadziliśmy te oznaczenia dla wielomianu niezerowego. Dla zera przyjmujemy: 0∗ = 0, c0 = 0, deg 0 = −∞. Stopień spełnia podstawowe własności zwykłego stopnia. Mamy w szczególności:
deg(f g) = deg f + deg g.
Jeśli A jest podzbiorem w k[X], to przez A∗oznaczmy zbór {f∗; f ∈ A}.
Teraz możemy podać już definicję bazy Gr¨obnera. Załóżmy, że I jest ideałem w k[X].
Bazą Gr¨obnera ideału I nazywamy każdy skończony podzbiór F ⊂ k[X] taki, że (I∗) = (F∗)
(równość ideałów w k[X]; ideał generowany przez zbiór I∗pokrywa się z ideałem generowanym przez zbiór F∗).
Stwierdzenie 1. Każdy ideał w k[X] posiada bazę Gr¨obnera.
Dowód. Niech I będzie ideałem w k[X]. Rozpatrzmy ideał (I∗). Z twierdzenia Hilberta o bazie wynika, że ideał ten jest skończenie generowany. Istnieje więc skończony zbiór F ⊂ I taki, że zbiór F∗ generuje ideał (I∗). Wtedy oczywiście F jest bazą Gr¨obnera ideału I.
Równie prosto dowodzi się (dowód zostawiam dla słuchacza), że baza Gr¨obnera ideału I jest istotnie bazą tego ideału, tzn.:
Stwierdzenie 2. Jeśli F jest bazą Gr¨obnera ideału I, to I = (F ).
Wprowadźmy dwa następne pojęcia. Będą to już ostatnie nowe pojęcia wprowadzone na tym wykładzie.
Niech f, g ∈ k[X]. Przez S(f, g) oznaczać będziemy wielomian zdefiniowany następująco:
S(f, g) = cgXαf − cfXβg, gdzie α, β są najmniejszymi elemenatami w Ω takimi, że
deg f + α = deg g + β.
Zauważmy, że powyższe elementy α i β zawsze istnieją i są wyznaczone jednoznacznie. Spójrzmy na przykład:
Przykład. Dwie zmienne x i y. Porządek leksykograficzny. Niech f = 2x2y + 1, g = 3xy4+ 5x.
Wtedy deg f = (2, 1), deg g = (1, 4) i wtedy α = (0, 3), β = (1, 0). Mamy zatem: S(f, g) = 3x0y3f − 2x1y0g = 6x2y4+ 3y3− 6x2y4− 5x2= −5x2+ 3y3.
Załóżmy, że F jest skończonym podzbiorem w k[X]r{0}. Przez R(F ) oznaczać będziemy podzbiór w k[X] zwierający wielomian zerowy oraz każdy niezerowy wielomian h ∈ k[X], który jest postaci:
h = b1Xα1f1+ · · · + bsXαsfs, gdzie b1, . . . , bs∈ k r {0}, α1, . . . .αs∈ Ω, f1, . . . , fs∈ F oraz
deg(Xα1f1) > · · · > deg(Xαsfs).
Zauważmy, że R(F ) ⊆ (F ).
Teraz możemy podać następujące twierdzenie, które jest najważniejszym i najistotniejszym twier- dzeniem teorii baz Gr¨obnera.
Twierdzenie (Buchberger). Niech F będzie skończonym podzbiorem w k[X]. Następujące trzy warunki są równoważne.
(1) F jest bazą Gr¨obnera ideału (F ).
(2) R(F ) = (F ).
(3) ∀f,g∈F S(f, g) ∈ R(F ).
Przejdźmy do algorytmów i zastosowań.
Algorytm na sprawdzanie czy dany wielomian należy do zbioru R(F ) jest oczywisty; wynika wprost z definicji zbioru R(F ).
Warunek (3) powyższego twierdzenia pozwala podać prosty algorytm na sprawdzanie czy dany skończony zbiór F ⊂ k[X] jest bazą Gr¨obnera ideału (F ). Wystarczy tylko sprawdzić czy S(f, g) ∈ R(F ), dla wszystkich f, g ∈ F . Par postaci (f, g) jest oczywiście tylko skończenie wiele.
Algorytm dla skonstruowania bazy Gr¨obnera ideału (F ) jest następujący. Sprawdzamy, czy F jest bazą Gr¨obnera. Jeśli tak, to koniec. W przeciwnym wypadku istnieje (na mocy (3)) wielomian postaci S(f, g), gdzie f, g ∈ F , który nie należy do R(F ). Dorzucamy ten wielomian do zbioru F . Z nowym zbiorem F postępujemy podobnie. Łatwo się wykazuje, że postępowanie to musi się zawsze zakończyć.
Znane programy komputerowe konstruują bazę Gr¨obnera przy pomocy powyższego algorytmu, wzbogaconego o procedurę eliminowania zbędnych wielomianów.
Przykład. Dwie zmienne x i y. Porządek leksykograficzny. F = {f1, f2}, gdzie f1 = x2y + y,
f2 = xy2+ x.
Znajdziemy bazę Gr¨obnera ideału I w k[x, y], generowanego przez zbiór F . W tym celu obliczamy najpierw wielomian S(f1, f2):
S(f1, f2) = yf1− xf2= −x2+ y2.
Szybko zauważamy (porównując stopnie), że wielomian ten nie należy do zbioru R(F ). Należy on jednak do ideału I. Tworzymy zatem nowy zbiór F0= {f1, f2, f3}, gdzie
f1 = x2y + y, f2 = xy2+ x, f3 = x2− y2. Zauważmy, że I = (F0).
Zauważmy następnie, że wielomian f1można ”uprościć” przy pomocy wielomianu f3: f1− yf3= x2y + y − x2y + y3= y3+ y.
Powyższa równość świadczy o tym, że gdy wielomian f1 zastąpimy wielomianem y3+ y, to nadal otrzymamy zbiór generatorów ideału I. Niech więc G = {g1, g2, g3}, gdzie
g1 = y3+ y, g2 = xy2+ x, g3 = x2− y2.
Wtedy I = (G) i szybko stwierdzamy (na mocy (3)), że zbiór G jest bazą Gr¨obnera ideału I.
Na zakończenie naszkicujemy w jaki sposób można znaleźć generatory przekroju dwóch ideałów.
W tym celu wyjaśniamy najpierw jak szuka się generatorów ideału C ∩ k[xr, . . . , xn], gdzie r > 1 i C jest danym ideałem w k[X] = k[x1, . . . , xn]. W tym przypadku postępujemy następująco.
1. Ustalamy G-porządek taki, by wszystkie zmienne zbioru {x1, . . . , xr−1} były ”większe” od po- zostałych zmiennych (np. zwykły porządek leksykograficzny).
2. Konstruujemy bazę Gr¨obnera ideału C (względem ustalonego porządku). Niech G będzie tą bazą.
3. Ze zbioru G (który jest zbiorem skończonym!) wybieramy te wszystkie wielomiany, które należą do k[xr, . . . , xn] (tzn., w których nie występują zmienne x1, . . . , xr−1). W ten sposób otrzymujemy zbiór G0, który jest bazą Gr¨obnera ideału C ∩ k[xr, . . . , xn]. Mamy zatem zbiór generatorów tego ideału.
Uwaga. Może się okazać, że G0 jest zbiorem pustym. W tym przypadku C ∩ k[xr, . . . , xn] = 0.
Niech A = (f1, . . . , fp), B = (g1, . . . , gq) będą ideałami w pierścieniu k[X]. Chcąc znaleźć zbiór generatorów ideału A ∩ B postępujemy tak:
1. Wprowadzamy jedną nową zmienną t i rozpatrujemy pierścień wielomianów k[t, X] = k[t, x1, . . . , xn].
2. Ustalamy G-porządek taki, by zmienna t była ”większa” od zmiennych x1, . . . , xn. 3. W pierścieniu k[t, X] rozważamy ideał
C = (tA, (t − 1)B) = (tf1, . . . , tfp, (t − 1)g1, . . . , (t − 1)gq).
4. Łatwo można udowodnić, że A ∩ B = C ∩ k[X]. Należy zatem zastosować algorytm poprzedni.