co to są bazy gr¨obnera?

Transkrypt

co to są bazy gr¨obnera?
CO TO SĄ BAZY GRÖBNERA?
Wykład habilitacyjny, Toruń UMK, 5 czerwca 1995 roku
Andrzej Nowicki
W. Gröbner, 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öbner
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 nazywa. 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öbnera. 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öbnera) 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 ) = {h1 f1 + · · · + hs fs ; 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öbnera. Każdy ideał w k[X] ma bazę Gröbnera. Może ich mieć dużo. Możemy jeszcze zażądać by
baza Gröbner spełniała pewne dodatkowe warunki i mówić wtedy o tzw. zredukowanych bazach
Gröbnera. Wtedy można udowodnić, że każdy ideał w k[X] ma dokładnie jedną zredukowaną bazę
Gröbnera. 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?
2
Problem 4. Załóżmy, że dany jest jeszcze drugi ideał B = (g1 , . . . , gt ), gdzie g1 , . . . , gt są 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 homomorfizmu 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 domknię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öbnera. 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öbnera 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ć:
X
αn
1
f=
aα1 ...αn xα
1 · · · xn ,
(α1 ,...,αn )
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).
αn
1
Jeśli α = (α1 , . . . , αn ) ∈ Ω, to przez X α oznaczać będziemy jednomian xα
1 · · · xn . W szczególności
0
0
0
α
β
α+β
X = x1 · · · xn = 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:
X
f=
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.
A. Nowicki, 05.06.1995,
Co to są bazy Gröbnera?
3
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 porządkiem Gröbnera 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 nastę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 najmniejszy 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 = b1 X α1 + · · · + bs X α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∗
= a1 X α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öbnera. Załóżmy, że I jest ideałem w k[X].
Bazą Gröbnera 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öbnera.
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öbnera ideału I. Równie prosto dowodzi się (dowód zostawiam dla słuchacza), że baza Gröbnera ideału I jest istotnie
bazą tego ideału, tzn.:
Stwierdzenie 2. Jeśli F jest bazą Gröbnera 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.
4
Niech f, g ∈ k[X]. Przez S(f, g) oznaczać będziemy wielomian zdefiniowany następująco:
S(f, g) = cg X α f − cf X β 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 = 2x2 y + 1, g = 3xy 4 + 5x.
Wtedy deg f = (2, 1), deg g = (1, 4) i wtedy α = (0, 3), β = (1, 0). Mamy zatem: S(f, g) = 3x0 y 3 f −
2x1 y 0 g = 6x2 y 4 + 3y 3 − 6x2 y 4 − 5x2 = −5x2 + 3y 3 .
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 = b1 X α1 f1 + · · · + bs X αs fs ,
gdzie b1 , . . . , bs ∈ k r {0}, α1 , . . . .αs ∈ Ω, f1 , . . . , fs ∈ F oraz
deg(X α1 f1 ) > · · · > deg(X αs fs ).
Zauważmy, że R(F ) ⊆ (F ).
Teraz możemy podać następujące twierdzenie, które jest najważniejszym i najistotniejszym twierdzeniem teorii baz Gröbnera.
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öbnera 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öbnera 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öbnera ideału (F ) jest następujący. Sprawdzamy, czy F jest
bazą Gröbnera. 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öbnera 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
f2
= x2 y + y,
= xy 2 + x.
Znajdziemy bazę Gröbnera 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 + y 2 .
A. Nowicki, 05.06.1995,
Co to są bazy Gröbnera?
5
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 F 0 = {f1 , f2 , f3 }, gdzie
f1
f2
f3
= x2 y + y,
= xy 2 + x,
= x2 − y 2 .
Zauważmy, że I = (F 0 ).
Zauważmy następnie, że wielomian f1 można ”uprościć” przy pomocy wielomianu f3 :
f1 − yf3 = x2 y + y − x2 y + y 3 = y 3 + y.
Powyższa równość świadczy o tym, że gdy wielomian f1 zastąpimy wielomianem y 3 + y, to nadal
otrzymamy zbiór generatorów ideału I. Niech więc G = {g1 , g2 , g3 }, gdzie
g1
g2
g3
= y 3 + y,
= xy 2 + x,
= x2 − y 2 .
Wtedy I = (G) i szybko stwierdzamy (na mocy (3)), że zbiór G jest bazą Gröbnera 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 pozostałych zmiennych (np. zwykły porządek leksykograficzny).
2. Konstruujemy bazę Gröbnera 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öbnera 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.

Podobne dokumenty