Sunteți pe pagina 1din 90

Viviana Ene

———————————–
BAZE GRÖBNER ŞI APLICAŢII
Viviana Ene

BAZE GRÖBNER ŞI


APLICAŢII

OVIDIUS UNIVERSITY PRESS

CONSTANŢA 2009
Referent: Prof. univ. dr. Mirela Ştefănescu
Cuprins

Prefaţă 7

1 Ideale monomiale 9
1.1 Proprietăţi de bază ale idealelor monomiale . . . . . . . . . . 9
1.2 Lema lui Dickson şi consecinţe . . . . . . . . . . . . . . . . . . 12
1.3 Laticea idealelor monomiale. Operaţii cu ideale monomiale. . . 13
1.4 Primii paşi cu Singular . . . . . . . . . . . . . . . . . . . . . 18
1.5 Exerciţii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2 Ordonări monomiale şi ideale iniţiale 23


2.1 Ordonări monomiale . . . . . . . . . . . . . . . . . . . . . . . 23
2.2 Exemple de ordonări monomiale . . . . . . . . . . . . . . . . . 25
2.2.1 Ordonări monomiale ı̂n Singular . . . . . . . . . . . . 29
2.3 Ideale iniţiale şi definiţia bazei Gröbner . . . . . . . . . . . . . 30
2.4 Exerciţii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

3 Baze Gröbner. Algoritmul Buchberger 35


3.1 Teorema de ı̂mpărţire ı̂n inelul k[x1 , . . . , xn ] . . . . . . . . . . 35
3.2 Algoritmul Buchberger . . . . . . . . . . . . . . . . . . . . . . 40
3.3 Baze Gröbner reduse . . . . . . . . . . . . . . . . . . . . . . . 45
3.3.1 Baze Gröbner şi Singular . . . . . . . . . . . . . . . 47
3.4 Exerciţii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

4 Aplicaţii 51
4.1 Aplicaţii ı̂n teoria polinoamelor simetrice . . . . . . . . . . . . 51

5
4.2 Exerciţii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.3 Teorema eliminării şi aplicaţii la operaţii cu ideale . . . . . . . 56
4.4 Exerciţii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.5 Sisteme de ecuaţii algebrice cu un număr finit de soluţii . . . . 61
4.6 Rezolvarea sistemelor algebrice ı̂n Singular . . . . . . . . . . 67
4.7 Exerciţii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.8 Aplicaţii ı̂n teoria grafurilor . . . . . . . . . . . . . . . . . . . 73
4.9 Aplicaţii ı̂n programarea ı̂ntreagă . . . . . . . . . . . . . . . . 78

Bibliografie 87
Prefaţă

Teoria bazelor Gröbner a fost creată de Bruno Buchberger ı̂n teza sa de


doctorat din anul 1965 ([3]). Independent, Hironaka a construit un concept
similar noţiunii de bază Gröbner pentru inele locale.
Pe scurt, o bază Gröbner a unui ideal dintr-un inel de polinoame ı̂nseamnă
un sistem de generatori ai idealului cu proprietăţi suplimentare. Orice ideal
polinomial are o bază Gröbner. Mai mult, din orice sistem finit de generatori
ai idealului se poate obţine o bază Gröbner aplicând algoritmul ce-i poartă
numele lui Buchberger. Bazele Gröbner generalizează algoritmul euclidian
pentru calculul celui mai mare divizor comun din inelul de polinoame ı̂ntr-o
nedeterminată peste un corp şi eliminarea Gauss pentru sistemele de ecuaţii
liniare peste un corp.
De la apariţia acestei teorii şi până ı̂n prezent, domeniul a cunoscut o
dezvoltare de excepţie. O contribuţie specială la această dezvoltare, mai ales
dupa anii ’80, a avut-o şi perfecţionarea fără precedent a sistemelor de calcul.
Acestea permit manipularea unor exemple inaccesibile calculelor de mână.
Analiza acestor exemple conduce, de multe ori, la obţinerea unor rezultate
teoretice remarcabile, care, la rândul lor, determină progrese substanţiale ı̂n
diverse domenii ale matematicii şi nu numai. Există, ı̂n prezent, o gamă largă
de sisteme de calcul simbolic (numite şi Computer Algebra Systems) care au
implementaţi algoritmi de calcul ai bazelor Gröbner, iar unele dintre ele sunt
special proiectate pentru calcule polinomiale. Exemplificăm cu CoCoA, GAP,
Macaulay 2, Magma, Maple, Mathematica, SAGE, SINGULAR.
Intre timp, conceptul de bază Gröbner a fost extins la module şi la alge-
bre Weyl. Aria aplicaţiilor ı̂n ”afara” matematicii este impresionantă. Acest
fenomen este justificat ı̂n primul rând de faptul că rezolvarea ecuaţiilor al-

7
8

gebrice are aplicaţii ı̂n multe ştiinţe. Domenii ca robotica, teoria codurilor,
optimizarea, biomatematica, teoria jocurilor, statistica utilizează din plin
modelele polinomiale. Mulţimea soluţiilor unui sistem de ecuaţii algebrice
formează o varietate algebrică, obiectul de studiu de bază al geometriei al-
gebrice. Dezvoltarea recentă a algebrei simbolice şi a sistemelor de calcul
simbolic au revoluţionat geometria algebrică computaţională.
S-au scris, ı̂n ultimii ani, multe cărţi având ca subiect teoria bazelor
Gröbner şi aplicaţii ale ei. Exemplificăm cu unele dintre cele mai cunos-
cute: W. Adams şi P. Loustaunau ([1]), T. Becker şi V. Weispfenning ([4]),
D. Cox, J. Little, D. O’Shea ([6], [7]), R. Fröberg ([12]), G.-M. Greuel, G.
Pfister ([14]), M. Kreutzer, L. Robbiano ([19]). Multe dintre ele conţin părţi
substanţiale dedicate aplicaţiilor. S-au scris, de asemenea, cărţi care se ocupă
aproape exclusiv de aplicaţiile teoriei bazelor Gröbner ı̂n diverse domenii,
cum ar fi [5], [21] şi [22]. Există chiar un site, [16], care colectează arti-
colele din jurnale de specialitate sau proceedings-uri ale conferinţelor, cărţi,
rezumate, rapoarte de cercetare, tutoriale, note de curs, prezentări ale unor
conferinţe, toate având ca subiect bazele Gröbner, extinderi, generalizări şi
aplicaţiile lor.
In cartea de faţă ne-am propus o prezentare cât mai rapidă şi accesibilă
a noţiunii de bază Gröbner şi a unor aplicaţii ale ei ı̂n studiul idealelor poli-
nomiale şi ı̂n câteva domenii din afara algebrei, cum ar fi teoria grafurilor
şi programarea ı̂ntreagă. Aceste aplicaţii fac apel numai la proprietăţi rela-
tiv simple legate de noţiunea de bază Gröbner, dar rezultatele obţinute prin
aplicarea teoriei sunt semnificative. Probabil că şi acest fapt contribuie la
succesul teoriei ı̂n domenii conexe matematicii.
Această carte are la bază cursurile pe care le-am predat ı̂n ultimii ani
studenţilor din anii terminali de la specializarea Matematică. Exerciţiile şi
aplicaţiile ı̂n Singular care ı̂nsoţesc fiecare capitol contribuie la o mai bună
ı̂nţelegere a noţiunilor teoretice şi a algoritmilor folosiţi. Am ales să prezint
aplicaţii ı̂n Singular deoarece acest Computer Algebra System este cunoscut
studenţilor facultăţii noastre din expunerile făcute chiar de autorii sistemu-
lui ı̂n cadrul unor conferinţe şi sesiuni ştiinţifice organizate de universitatea
noastră.
In ı̂ncheiere, mulţumesc doamnei Prof. univ. dr. Mirela Ştefănescu
pentru comentariile şi sugestiile oferite după citirea atentă a manuscrisului.
Martie 2009
Viviana Ene
Capitolul 1
Ideale monomiale

In acest capitol prezentăm noţiunea de ideal monomial şi proprietăţile


sale de bază. Operaţiile cu ideale monomiale sunt mai simple decât cele cu
ideale polinomiale arbitrare. Idealele prime monomiale au şi ele o structură
simplă prin comparaţie cu idealele polinomiale prime arbitrare.
In tot cuprinsul acestei cărţi vom considera că toate inelele sunt comuta-
tive şi unitare (cu 1 6= 0) şi toate corpurile sunt comutative.

1.1 Proprietăţi de bază ale idealelor mono-


miale
Fie k un corp comutativ. Notăm cu S algebra polinoamelor k[x1 , . . . , xn ]
ı̂n n nedeterminate peste k. Dacă a = (a1 , . . . , an ) ∈ Nn , notăm cu xa
monomul xa11 . . . xann . Pentru monoamele xa , xb ∈ S, xa xb = xa+b . Gradul
monomului xa este
deg xa = |a| = a1 + . . . + an .
Mulţimea Mon(S) = {u : u monom ı̂n S} este o bază a spaţiului vectorial S
peste k deoarece orice polinom se scrie ı̂n mod unic ca o combinaţie liniara
finită de elemente din Mon(S),
X
f= au u, au ∈ k. (1.1)
u∈Mon(S)

In scrierea de mai sus, doar un număr finit dintre coeficienţii au sunt


nenuli.

9
10 Capitolul 1. Ideale monomiale

Orice polinom se poate reprezenta şi ca element ı̂n k[x1 , . . . , xn−1 ][xn ] sub
forma
X
f= fj xνnj , (1.2)
j≥0

unde fj , j ≥ 0, sunt polinoame ı̂n primele n − 1 nedeterminate. Ambele


reprezentări sunt folosite de către sistemele de calcul simbolic.
Dacă f 6= 0 este dat de (1.1), gradul lui f este

deg f = max{deg u : au 6= 0}.

Un element de forma au u care apare ı̂n scrierea lui f se numeşte termen


al lui f.
Proprietăţile inelelor de polinaome sunt studiate ı̂n cursurile de bază de
algebră. Reamintim că, ı̂n inelul polinoamelor ı̂ntr-o nedeterminată, avem
Teorema ı̂mpărţirii cu rest: pentru orice două polinoame f, g ∈ k[x], g 6= 0,
există şi sunt unice polinoamele q, r ∈ k[x], astfel ı̂ncât f = gq + r şi r = 0
sau r 6= 0 şi deg r < deg g. Această teoremă ne asigură că inelul k[x] este
euclidian, deci şi principal, adică orice ideal al său poate fi generat de un
singur polinom. Proprietatea de a fi principal nu mai rămâne adevărată pen-
tru inele de polinoame ı̂n mai multe nedeterminate. Un exemplu clasic este
idealul (x, y) ⊂ k[x, y] care nu este principal. Dar inelele de polinoame peste
un corp ı̂ntr-una sau mai multe nedeterminate sunt ı̂ntotdeauna factoriale.
Pentru toate aceste proprietăţi aritmetice de bază ale inelelor de polinoame
recomandăm [17].
Definiţia 1.1.1. Un ideal I al lui S se numeşte ideal monomial dacă admite
un sistem de generatori format numai cu monoame.
Exemplul 1.1.2. Idealul I = (x2 , xy 3 , xz) ⊂ k[x, y, z] este, ı̂n mod evident,
monomial. Idealul J = (x2 + xz, y 3 − xz, xz) ⊂ k[x, y, z] este, de asemenea,
monomial deoarece admite ca sistem de generatori mulţimea de monoame
{x2 , y 3 , xz}.
Pentru un ideal monomial I ⊂ S, notăm cu Mon(I) mulţimea monoamelor
din idealul I. Este evident că orice polinom care se scrie ca o combinaţie k–
liniară de monoame din I este element ı̂n I.
Propoziţia 1.1.3. Pentru un ideal monomial
P I din S, Mon(I) este o k–bază
a lui I. In particular, polinomul f = u∈Mon(S) au u ∈ I dacă şi numai dacă
1.1. Proprietăţi de bază ale idealelor monomiale 11

u ∈ I, pentru orice monom u care apare efectiv ı̂n scrierea lui f , adică pentru
orice monom u pentru care au 6= 0.

Demonstraţie. Trebuie să demonstrăm numai că Mon(I) este sistem de gen-
Prpeste k pentru I. Fie f ∈ I. Atunci f se poate scrie ca o combinaţie
eratori
f = i=1 hi wi, unde w1 , . . . , wr sunt generatori
Pr monomiali ai lui I şi h1 , . . . , hr
sunt
P polinoame din S. In dezvoltarea sumei i=1 hi wi sub forma (1.1), adică
v∈Mon(S) av v, av ∈ k, apar numai monoame v care sunt multipli P
de genera-
torii wi . Identificând termenii lui f cu termenii dezvoltarii v∈Mon(S) av v
rezultă că orice monom care apare ı̂n scrierea lui f este un monom din I.

Proprietatea care apare ı̂n propoziţia de mai sus caracterizează idealele


monomiale.

Propoziţia 1.1.4. Fie PI ⊂ S un ideal cu proprietatea că oricare ar fi un


polinom f, avem f = u∈Mon(S) au u ∈ I dacă şi numai dacă u ∈ I, pentru
orice monom u care apare efectiv ı̂n scrierea lui f , adică pentru orice monom
u pentru care au 6= 0. Atunci I este ideal monomial.

Demonstraţie. Fie G un sistem de generatori pentru I. Atunci toate monoamele


care apar ı̂n scrierea polinoamelor g, g ∈ G, generează I, prin urmare I are
un sistem de generatori format numai cu monoame.

Din Propoziţia 1.1.3 deducem şi următorul corolar util ı̂n probarea egalităţii
a două ideale monomiale.

Corolarul 1.1.5. Fie I şi J două ideale monomiale ale lui S. Atunci I = J
dacă şi numai dacă Mon(I) = Mon(J).

Să facem şi observaţia că un monom u ∈ S se află ı̂n idealul monomial
I dacă şi numai dacă u se divide cu un generator monomial al lui I. De
exemplu, dacă I = (x2 , xy 3 , xz) ⊂ k[x, y, z], x5 ∈ I, dar y 2 6∈ I.
Am văzut puţin mai devreme că mulţimea monoamelor din I formează
bază ı̂n spaţiul vectorial I. Mulţimea monoamelor din complementara mulţimii
Mon(I) ı̂n Mon(S) este ı̂n corespondenţă bijectivă cu o bază peste k a lui
S/I. Mai precis, are loc următorul rezultat.

Propoziţia 1.1.6. Fie I ⊂ S un ideal monomial şi W = Mon(S) \ Mon(I).


Mulţimea W = {w + I : w ∈ W } este bază ı̂n S/I peste k. Mai mult,
corespondenţa w 7→ w + I, w ∈ W, este bijecţivă.
12 Capitolul 1. Ideale monomiale
P P
Demonstraţie.
P Fie f = u au u ∈ S. Atunci f + I = u∈W au u + I =
u∈W au (u + I), unde suma se face după toate monoamele u ∈ W care apar
P
ı̂n scrierea lui f . Deci W generează S/IPpeste k. Fie w∈W aw (w + I) = 0.
Egalitatea este echivalentă cu condiţia w∈W aw w ∈ I. Folosind Propoziţia
1.1.3, deducem că aw = 0, pentru orice w ∈ W .

1.2 Lema lui Dickson şi consecinţe


Lema lui Dickson afirmă că un ideal monomial ı̂n inelul de polinoame ı̂n n
nedeterminate admite un sistem de generatori monomiali finit. După ce vom
demonstra lema, vom pune ı̂n evidenţă şi consecinţe sau posibile reformulări.
Teorema 1.2.1 (Lema lui Dickson). Orice ideal monomial al lui S are un
sistem finit de generatori monomiali.
Demonstraţie. Facem inducţie după n. Dacă n = 1 şi I = (xa : a ∈ A ⊂ N),
alegem d = min A şi obţinem egalitatea I = (xd ). Fie n > 1. Notăm cu S ′
inelul polinoamelor ı̂n primele n − 1 nedeterminate. Pentru fiecare s ≥ 0,
considerăm mulţimea de monoame Ms = {w ∈ S ′ : wxsn ∈ I} şi notăm
cu Js idealul generat ı̂n S ′ de Ms . Js are proprietatea că Js xsn ⊂ I. Şirul
(Js )s≥0 de ideale monomiale din S ′ este crescător. Rezultă că J = ∪s≥0 Js
este ideal ı̂n S ′ , evident, monomial, pentru că idealele Js sunt monomiale.
Din ipoteza de inducţie rezultă că J este generat de o mulţime finită de
monoame w1 , . . . , wr ı̂n nedeterminatele x1 , . . . , xn−1 . Pentru 1 ≤ i ≤ r, fie
si ≥ 0 astfel ı̂ncât wi ∈ Jsi . Notăm s = max{s1 , . . . , sr }. Atunci rezultă
că w1 , . . . , wr ∈ Js , prin urmare şirul (Js )s≥0 este staţionar de la s, adică
Js = Js+1 = . . . = J. Pentru 0 ≤ t ≤ s, fie Gt un sistem finit de generatori
monomiali pentru idealul Jt . Vom demonstra că mulţimea

G = G0 ∪ G1 xn ∪ . . . ∪ Gs xsn

generează idealul I, ceea ce ı̂ncheie demonstraţia. Este clar că G este submulţi-
me ı̂n I. Să considerăm v un monom din I. v se scrie v ′ xℓn , unde v ′ este un
monom din S ′ şi ℓ ≥ 0. Deci v ′ ∈ Jℓ . Dacă ℓ ≤ s, atunci v ′ ∈ Mℓ ⊂ Jℓ = (Gℓ ),
deci v ∈ (Gℓ xℓn ) ⊂ (G). Dacă ℓ > s, atunci v ′ ∈ Jℓ = Js = (Gs ). Obţinem că
v = v ′ xsn xℓ−s
n ∈ (Gs xsn ) ⊂ (G).
Corolarul 1.2.2. Fie I ⊂ S un ideal monomial. Din orice sistem de genera-
tori monomiali ai lui I se poate extrage un sistem de generatori finit.
1.3. Laticea idealelor monomiale. Operaţii cu ideale monomiale. 13

Demonstraţie. Fie X un sistem oarecare de generatori monomiali ai lui I şi


G = {w1 , . . . , wr } unul finit. Pentru fiecare i, 1 ≤ i ≤ r, alegem ui ∈ X şi
ui | wi . Atunci {u1 , . . . , ur } ⊂ X este un sistem de generatori pentru I.
Corolarul anterior are o consecinţă importantă. Elementele minimale
relativ la relaţia de divizibilitate din Mon(I) formează, ı̂n mod evident, un
sistem de generatori monomiali ai lui I, să-i spunem X. Din această mulţime
putem extrage un sistem finit de generatori, G. Cum nu există relaţii de
divizibiltate proprie ı̂ntre elementele lui X rezultă că X = G. Prin urmare,
mulţimea X a elementelor minimale ı̂n Mon(I) ordonată cu divizibilitatea
este finită. Mai mult, acastă mulţime formează un sistem de generatori mini-
mal pentru I deoarece nu putem omite niciun monom m din X păstrând in
acelaşi timp calitatea de sistem de generatori pentru mulţimea X − {m}.

Corolarul 1.2.3. Fie I ⊂ S un ideal monomial. I are un unic sistem


minimal de generatori monomiali. Acest sistem este format cu elementele
minimale din mulţimea monoamelor lui I ordonată cu divizibilitatea.

Pentru un ideal monomial I vom nota cu G(I) unicul său sistem minimal
de generatori monomiali.

Observaţia 1.2.4. Fie I = (x, y) ∈ k[x, y]. Evident G(I) = {x, y}. Dar I
are şi alte sisteme minimale de generatori. De exemplu, pentru orice a ∈ k,
{x + ay, y} este tot un sistem minimal de generatori, chiar omogen, dar nu
este monomial.

Corolarul 1.2.5. Fie A ⊂ Mon(S) o mulţime nevidă de monoame. Atunci


A are un număr finit de elemente minimale relativ la relaţia de divizibilitate.

Demonstraţie. Fie I ⊂ S idealul generat de mulţimea A. Elementele lui G(I)


sunt elementele minimale ale mulţimii A relativ la divizibilitate.

1.3 Laticea idealelor monomiale. Operaţii cu


ideale monomiale.
Fie I, J ⊂ S două ideale monomiale cu G(I) = {u1, . . . , ur } şi G(J) =
{v1 , . . . , vs }. Este evident că suma idealelor I şi J este tot un ideal monomial
care admite ca sistem de generatori (nu neapărat minimal) mulţimea G(I) ∪
G(J).
14 Capitolul 1. Ideale monomiale

Exemplul 1.3.1. Fie I = (x2 y, y 3, z 2 ), J = (xy, xz 2 ) ⊂ k[x, y, z]. Un sistem


de generatori pentru I + J este {x2 y, y 3, z 2 , xy, xz 2 }. Sistemul minimal de
generatori este G(I + J) = {xy, y 3, z 2 }.
Vom vedea imediat că intersecţia a două ideale monomiale este ideal
monomial. Vom folosi următoare notaţie. Date două monoame u, v ∈ S,
lcm(u, v) reprezintă cel mai mic multiplu comun al monoamelor u, v. Este
clar că, dacă u = xa11 . . . xann şi v = xb11 . . . xbnn , atunci
max(a1 ,b1 )
lcm(u, v) = x1 . . . xmax(a
n
n ,bn )
.

Propoziţia 1.3.2. Fie I şi J două ideale monomiale ı̂n inelul S cu G(I) =
{u1 , . . . , ur } şi G(J) = {v1 , . . . , vs }. Intersecţia I ∩ J este ideal monomial.
Un sistem de generatori pentru I ∩ J este dat de mulţimea

{lcm(ui , vj ) : 1 ≤ i ≤ r, 1 ≤ j ≤ s}.

Demonstraţie. Este suficient să demonstrăm că mulţimea M = {lcm(ui , vj ) :


1 ≤ i ≤ r, 1 ≤ j ≤ s} generează I ∩ J. Este clar că M ⊂ I ∩ J. Fie f un
polinom din I ∩ J şi w un monom arbitrar care apare ı̂n scrierea lui f. Cum
f ∈ I, f ∈ J şi I, J sunt ideale monomiale, rezultă că w ∈ I ∩J. Fie i, j astfel
ı̂ncât ui | w şi vj | w. Atunci lcm(ui , vj ) | w, deci w ∈ I ∩ J. Prin urmare,
f ∈ I ∩ J.
Exemplul 1.3.3. Fie I, J idealele din exemplul 1.3.1. Un sistem minimal
de generatori monomiali pentru I ∩ J este {x2 y, xy 3, xz 2 }.
Cum suma şi intersecţia a două ideale monomiale sunt tot ideale monomi-
ale, rezultă că mulţimea idealelor monomiale formează o sublatice ı̂n laticea
idealelor lui S. Această latice are o proprietate specifică: intersecţia este
distributivă faţă de adunarea idealelor.
Propoziţia 1.3.4. Fie I, J, K ideale monomiale ı̂n S. Atunci

I ∩ (J + K) = I ∩ J + I ∩ K.

Demonstraţie. Fie G(I) = {u1 , . . . , ur }, G(J) = {v1 , . . . , vs } şi G(K) =


{w1 , . . . , wt }. Atunci I ∩ (J + K) este generat de mulţimea

M = {lcm(ui, vj ), lcm(ui , wl ) : 1 ≤ i ≤ r, 1 ≤ j ≤ s, 1 ≤ l ≤ t}

care, ı̂n mod evident, generează şi idealul sumă I ∩ J + I ∩ K.


1.3. Laticea idealelor monomiale. Operaţii cu ideale monomiale. 15

In continuare ne ocupăm de alte operaţii cu ideale. Pentru definiţii şi


proprietăţi specifice ale fiecărei operaţii, recomandăm [2].

Incepem cu ı̂mpărţirea idealelor.

Definiţia 1.3.5. Dacă I, J sunt ideale ı̂ntr-un inel oarecare R,

I : J = {a ∈ R : aJ ⊂ I}.

I : J definit mai sus este ideal al lui R. El se numeşte câtul idealelor


I şi J. Este cunoscută următoare proprietate: daca I, J1 , . . . , Jr sunt ideale
ı̂ntr-un inel R, atunci

I : (J1 + . . . + Jr ) = ∩ri=1 (I : Ji ).

Prin urmare, dacă I, J sunt două ideale monomiale cu G(J) = {v1 , . . . , vs },


este suficient să caracterizăm idealele I : (vj ).
Vom folosi următoare notaţie. Date două monoame u, v ∈ S, gcd(u, v)
reprezintă cel mai mare divizor comun al monoamelor u, v. Este clar că, dacă
min(a ,b ) min(a ,b )
u = xa11 . . . xann şi v = xb11 . . . xbnn , atunci gcd(u, v) = x1 1 1 . . . xn n n .
Este util de observat că două monoame u, v sunt relativ prime, cu alte cu-
vinte gcd(u, v) = 1, dacă şi numai dacă nu există nicio nedeterminată care
să le dividă pe amândouă. De multe ori vom folosi şi următoarea notaţie.
Pentru u monom ı̂n S, supp(u) = {i : xi | u}. Prin urmare, gcd(u, v) = 1
dacă şi numai dacă supp(u) ∩ supp(v) = ∅.

Propoziţia 1.3.6. Fie I ⊂ S un ideal monomial şi v un monom din S.


Atunci I : (v) este ideal monomial generat de {u/ gcd(u, v) : u ∈ G(I)}.
Demonstraţie. Este suficient să demonstrăm că mulţimea M = {u/ gcd(u, v) :
u ∈ G(I)} generează I : (v). Este evident că M ⊂ I : (v). Fie f un poli-
nom ı̂n I : (v) şi w un monom arbitrar al său. Cum vf ∈ I şi I este
ideal monomial, rezultă că wv ∈ I, prin urmare, există u ∈ G(I) astfel
u v
ı̂ncât u | vw. Simplificând prin gcd(u, v), obţinem că gcd(u,v) | gcd(u,v) w. Dar
u
supp(u/ gcd(u, v)) ∩ supp(v/ gcd(u, v)) = ∅, deci gcd(u,v) | w. Prin urmare
w ∈ (u/ gcd(u, v) : u ∈ G(I)), ceea ce ı̂ncheie demonstraţia.
Exemplul 1.3.7. Fie I, J idealele din Exemplul 1.3.1. Avem

I : J = I : (xy) ∩ I : (xz 2 ) = (x, y 2, z 2 ) ∩ S = (x, y 2 , z 2 ).


16 Capitolul 1. Ideale monomiale

Vom vedea ı̂n continuare care sunt idealele prime monomiale. Reamintim
mai ı̂ntâi definiţia idealului prim.
Definiţia 1.3.8. Un ideal P al inelului comutativ R, P 6= R, se numeşte
ideal prim dacă R/P este domeniu de integritate sau, echivalent, P satisface
condiţia: pentru orice a, b ∈ R, dacă ab ∈ P, atunci a ∈ P sau b ∈ P.
Idealele monomiale prime din S au o formă foarte particulară; ele sunt
generate de familii de nedeterminate.
Propoziţia 1.3.9. Fie P ⊂ S un ideal, P 6= S. P este ideal prim dacă şi
numai dacă P = (xi1 , . . . , xir ), unde {i1 , . . . , ir } ⊂ {1, . . . , n}.
Demonstraţie. Avem k[x1 , . . . , xn ]/(xi1 , . . . , xir ) ∼ = k[xj1 , . . . , xjs ], unde avem
{j1 , . . . , js } = {1, . . . , n} \ {i1 , . . . , ir }. Prin urmare idealele generate de nede-
terminate sunt prime. Invers, dacă P este prim, atunci niciunul dintre gen-
eratorii săi minimali nu poate fi un produs de nedeterminate cu cel puţin doi
factori deoarece S/P este domeniu de integritate.
Reamintim noţiunea de radical al unui ideal.

Definiţia 1.3.10. Fie I un ideal al unui inel R. Radicalul lui I, I, este
dat de √
I = {a ∈ R : există m ≥ 1 astfel ı̂ncât am ∈ I}.

Radicalul lui I este un ideal ı̂n R şi conţine idealul I. Când I = I,
spunem că I este ideal radical .
Definiţia 1.3.11. Un ideal monomial Q ⊂ S se numeşte ireductibil dacă
este generat de puteri pure ale nedeterminatelor, adică există 1 ≤ j1 < . . . <
jr ≤ n şi a1 , . . . , ar ≥ 1 astfel ı̂ncât Q = (xaj11 , . . . , xajrr ).
Lema 1.3.12. Fie Q = (xaj11 , . . . , xajrr ) ⊂ S un ideal ireductibil. Atunci

Q = (xj1 , . . . , xjr ). In particular, rezultă că radicalul unui ideal monomial
ireductibil este ideal prim.
Demonstraţie. Din proprietăţile radicalului unui ideal (Exerciţiul 1.5.7), avem
q rq q
p
Q = (xaj11 ) + . . . + (xajrr ) = (xaj11 ) + . . . + (xajrr ) =
q q
= (xj1 ) + . . . + (xjr ) = (xj1 , . . . , xjr ) = (xj1 , . . . , xjr ).
In acest şir de egalităţi am folosit faptul că idealul generat de una sau mai
multe nedeterminate este ideal prim.
1.3. Laticea idealelor monomiale. Operaţii cu ideale monomiale. 17

Propoziţia 1.3.13. Orice ideal monomial din S se poate scrie ca o intersecţie


finită de ideale monomiale ireductibile.
Demonstraţie. Fie G(I) = {w1 , . . . , wr } şi să presupunem că există cel puţin
un generator minimal care nu este putere pură a unei nedeterminate. Să
alegem, de exemplu, w1 = uv, unde supp(u) ∩ supp(v) 6= ∅ şi u, v 6= 1.
Atunci, rezultă imediat egalitatea

I = (u, w2, . . . , wr ) ∩ (v, w2 , . . . , wr ).

Folosind această observaţie, dacă w1 = u1 . . . us , unde u1 , . . . , us sunt puteri


pure ale nedeterminatelor, obţinem

I = (u1 , w2 , . . . , wr ) ∩ . . . ∩ (us , w2 , . . . , wr ).

Apoi continuăm descompunerea fiecăruia dintre idealele care apar ı̂n intersec-
ţie. Este evident că, după un număr finit de asemenea operaţii, obţinem
descompunerea lui I ca intersecţie de ideale monomiale ireductibile.
Exemplul 1.3.14. Fie I = (xy 2 , xyz, xz 2 , y 3, y 2z) ∈ k[x, y, z]. Avem

I = (x, y 3 , y 2z)∩(y 2 , xyz, xz 2 ) = (x, y 2 )∩(x, y 3, z)∩(x, y 2 , z 2 )∩(y, z 2 )∩(y 2 , z).

Pentru ceea ce urmează trebuie


√ să introducem mai ı̂ntâi o notaţie. Pentru √
un
Q monom w ∈ S, notăm cu w partea sa liberă de pătrate, adică √w =
3 4
x
i∈supp(w) i . De exemplu, dacă w = x x x
1 2 3 ∈ k[x 1 , x2 , x3 ], atunci w =
x1 x2 x3 .

√ 1.3.15. Fie I ⊂ S un ideal monomial √


Propoziţia cu G(I) = {w1 , . . . , wr }.

Atunci I este ideal radical generat de mulţimea { w1 , . . . , wr }.
√ √ √
Demonstraţie. Incluziunea ( w1 , . . . , wr ) ⊂ I este evidentă. Fie I =
Q1 ∩ . . . ∩ Qs descompunerea
√ √ lui I ı̂n
√ intersecţie de ideale monomiale √ ire-
ductibile. Avem I = Q1 ∩ . . . ∩ √ Qs . In particular, rezultă că I este
ideal monomial. Fie w un monom din I. Există m ≥ 1 astfel ı̂ncât w m ∈ I.
Prin urmare, există wi un generator minimal al lui I astfel ı̂ncât wi | w m .
√ √ √
Această divizibilitate implică wi | √ w, deci w ∈ ( w1 , . . . , wr ). Prin ur-
√ √
mare, am demonstrat şi incluziunea I ⊂ ( w1 , . . . , wr ).

Exemplul 1.3.16. Fie I idealul din Exemplul 1.3.1. Avem I = (xy, y, z) =
(y, z).
18 Capitolul 1. Ideale monomiale

1.4 Primii paşi cu Singular


Singular este un sistem de calcul simbolic axat pe calcule polinomiale.
De aceea, calculele ”netriviale” ı̂n Singular necesită definirea prealabilă a
unui inel de polinoame. Unele calcule simple se pot face ı̂nsă şi fără declararea
unui inel.

> 37+5;// calcul aritmetic


42
> int k=2;
> k==2;
1
> k;
2
> int j;
j=k+1;
j;
3
> intmat m[3][3]=1,2,3,4,5,6,7,8,9;
// declararaea unei matrice cu elemente intregi
m;
1,2,3,
4,5,6,
7,8,9

> //Pentru a calcula urma matricei m folosim un loop:

int tr;// Fiind variabila intreaga, tr se initializeaza cu 0


for (int j=1;j<=3;j++) // j++ este echivalent cu j=j+1
{
tr=tr+m[j,j];
}
tr;
15

?for;// sintaxa structurii for


1.5. Exerciţii 19

> // Pentru a numara elementele pare si impare din linia


//a doua a matricei m vom folosi if and else si un loop while

j=0;
int even,odd;
while(j<3)
{
j++;
if((m[2,j] mod 2)==0)
{even++;}
else{odd++;}
}
even;
odd;
2
1

?if;// sintaxa structurii if


?while;// sintaxa structurii while

> //Variabilele de tip "string" pot fi de asemenea definite


// fara a avea un inel activ.

"exemple pentru string";// string se delimiteaza cu "


string s="acesta este ";
s=s+"primul laborator ";
s=s+"de algebra computationala";
s;
exemple pentru string
acesta este primul laborator de algebra computationala

1.5 Exerciţii
E 1.5.1. (a) Scrieţi toate monoamele de grad 3 din inelul k[x, y, z].

(b) Fie d ≥ 1 un ı̂ntreg. Determinaţi numărul de monoame de grad d din


20 Capitolul 1. Ideale monomiale

inelul polinoamelor ı̂n n nedeterminate.

E 1.5.2. Fie idealul monomial I = (x51 , x31 x2 , x1 x22 , x42 ) ⊂ K[x1 , x2 ].

(a) Determinaţi un monom de gradul 4 care nu se află ı̂n idealul I.

(b) Demonstraţi că toate monomale de grad ≥ 5 se află ı̂n I.

E 1.5.3. (a) Fie I ⊂ S un ideal monomial. Demonstraţi că dimk (S/I) este
finită dacă şi numai dacă, pentru orice 1 ≤ i ≤ n, I conţine o putere
pură a nedeterminatei xi .

(b) Determinaţi dimk (k[x, y, z]/(x3 , x2 y, y 5, yz 3 , z 4 )).

(c) Fie a1 , . . . , an ∈ N∗ . Determinaţi dimk (S/(xa11 , . . . , xann )) ı̂n funcţie de


a1 , . . . , an .

E 1.5.4. (a) Fie I ⊂ S un ideal monomial şi u, v ∈ S două monoame


relativ prime. Demonstraţi că (I, u) ∩ (I, v) = I + (uv).

(b) Demonstraţi că (x1 x2 , x1 x3 , x2 x3 ) = (x1 x3 , x2 ) ∩ (x1 x2 , x3 ).

(c) Scrieţi ca intersecţie de ideale monomiale prime idealul

I = (xi xj : 1 ≤ i < j ≤ 4) ⊂ k[x1 , x2 , x3 , x4 ].

E 1.5.5. Scrieţi ca intersecţie de ideale monomiale ireductibile ı̂n k[x, y, z]


idealul I = (x3 , x2 y, x2z, xyz, y 2 z).

E 1.5.6. Fie Q ⊂ S un ideal monomial. Q este ideal ireductibil dacă şi


numai dacă satisface condiţia: pentru orice ideale monomiale I, J ⊂ S,

Q = I ∩ J ⇒ Q = I sau Q = J.

E 1.5.7. Fie R un inel şi I, J două ideale ı̂n R. Atunci:


√ p√ √
(a) I ⊃ I, I = I.
√ √ √ √ √ p√ √
(b) IJ = I ∩ J = I ∩ J , I + J = I + J.

(c) Dacă p este ideal prim ı̂n R, atunci pn = p, pentru orice n ≥ 1.
1.5. Exerciţii 21

E 1.5.8. Fie I ⊂ S un ideal monomial generat


√ de monoame libere de pătrate,
adică monoame w cu proprietatea w = w. Demonstraţi că

I = (I : x1 ) ∩ (I, x1 ).

Scrieţi apoi ca intersecţie de ideale monomiale prime idealul

I = (xi xj : 1 ≤ i < j ≤ 4) ⊂ k[x1 , x2 , x3 , x4 ].

E 1.5.9. Demonstraţi că un ideal monomial este radical dacă şi numai dacă
este minimal generat de monoame libere de pătrate.

E 1.5.10. Ce rezultat afişează Singular după execuţia următoarei secvenţe


de instrucţiuni?

int sum=0;
int a=3;
int b=20;
for(int i=a;i<=b;i=i+1)
{
if (i-prime(i)<>0)
{
i=i+1;
continue;
}
sum=sum+i;
}
sum;

E 1.5.11. Calculaţi (10!)5 cu Singular.

E 1.5.12. Realizaţi o procedură ı̂n Singular care să calculeze suma primilor
n termeni ai şirului lui Fibonacci.
22 Capitolul 1. Ideale monomiale
Capitolul 2
Ordonări monomiale şi ideale iniţiale

In inelul k[x] al polinoamelor ı̂ntr-o singură nedeterminată, monoamele


se pot ordona total după grad: xm < xn dacă şi numai dacă m < n. Această
ordonare este compatibilă cu ı̂nmulţirea monoamelor, iar monomul constant
1 este cel mai mic. In inelele de polinoame ı̂n cel puţin două nedeterminate
există monoame diferite care au acelaşi grad. De exemplu, ı̂n k[x, y] avem
două monoame de gradul 1, trei de gradul 2, etc. Prin urmare nu putem
ordona monoamele din k[x1 , . . . , xn ], pentru n ≥ 2, după grad, aşa cum se
ı̂ntâmplă ı̂n cazul unei singure nedeterminate.

2.1 Ordonări monomiale


Definiţia 2.1.1. O relaţie de ordine totală, notată ≤ sau <, pe mulţimea
Mon(S), se numeşte ordonare monomială pe S dacă satisface condiţiile:

(a) pentru orice monoame u, v, w ∈ S, dacă u ≤ v, atunci uw ≤ vw, cu


alte cuvinte relaţia ≤ este compatibilă cu ı̂nmulţirea monoamelor.

(b) 1 < u, pentru orice monom u, u 6= 1.

Observaţia 2.1.2. Fie ≤ o ordonare monomială pe S. Dacă u, v ∈ Mon(S)


şi u | v, atunci u ≤ v. Intr-adevăr, v se poate scrie v = uw. Cum 1 ≤ w,
obţinem u ≤ uw = v.

Observaţia 2.1.3. In inelul k[x] există o singură ordonare monomială, cea


după grad. Intr-adevăr, din 1 < x deducem x < x2 , apoi x2 < x3 , etc.

23
24 Capitolul 2. Ordonări monomiale şi ideale iniţiale

Vom da imediat exemple de ordonări monomiale ı̂n inelul de polinoame


ı̂n mai multe nedeterminate. Dar, până atunci, vom pune ı̂n evidenţă două
caracterizări ale ordonărilor monomiale.

Propoziţia 2.1.4. Fie ≤ o relaţie de ordine totală pe mulţimea Mon(S)


compatibilă cu ı̂nmulţirea monoamelor. Atunci ≤ este ordonare monomială
pe S dacă şi numai dacă (Mon(S), ≤) este bine ordonată, adică satisface una
din condiţiile echivalente:

(a) Orice submulţime nevidă a mulţimii Mon(S) are un prim element.

(b) Orice şir strict descrescător de monoame din S este finit.

Demonstraţie. Echivalenţa celor două condiţii este cunoscută ([20]). Fie ≤ o


ordonare monomială pe S şi A ⊂ Mon(S), A 6= ∅. Vom demonstra că A are
prim element. Din Corolarul 1.2.5 ştim că A are un număr finit de elemente
minimale, să le notăm u1 , . . . , ur , relativ la divizibilitate. Cum ≤ este relaţie
de ordine totală, putem presupune că u1 < . . . < ur . Atunci u1 este primul
element al lui A. Intr-adevăr, dacă w ∈ A, există 1 ≤ i ≤ r astfel ı̂ncât
ui | w. Din 2.1.2 avem că ui ≤ w. Cum u1 ≤ ui, deducem u1 ≤ w, deci
u1 = min A. Reciproc, să presupunem că orice şir descrescător de monoame
din Mon(S) este finit. Dacă există u ∈ Mon(S) astfel ı̂ncât u < 1, obţinem,
din aproape ı̂n aproape, următorul şir infinit strict descrescător ı̂n Mon(S) :
1 > u > u2 > . . . > um > . . . , contradicţie. Prin urmare, avem 1 ≤ u, pentru
orice monom u ∈ Mon(S).

Propoziţia 2.1.4 ne asigură că orice ordonare monomială ≤ pe S este o


relaţie de bună ordonare. In consecinţă, vom putea folosi Principiul inducţiei
transfinite ı̂n demonstrarea unor enunţuri care implică proprietăţi ale mulţimii
ordonate (Mon(S), ≤). Să reamintim acest principiu ([20], [10]) care extinde
principiul inducţiei finite la orice mulţime bine ordonată:

Teorema 2.1.5 (Principiul inducţiei transfinite). Fie A o mulţime nevidă


bine ordonată, cu primul element a şi B ⊆ A o submulţime cu proprietăţile:

(i) a ∈ B.

(ii) Pentru orice x ∈ A, {a : a < x} ⊆ B ⇒ x ∈ B.


In aceste condiţii, A = B.
2.2. Exemple de ordonări monomiale 25

Corolarul 2.1.6. Fie A o mulţime bine ordonată şi nevidă şi ℘(a) o pro-
prietate care depinde de elementele lui A. Presupunem că sunt ı̂ndeplinite
condiţiile:

(1) ℘(a) este adevărată pentru primul element al lui A.

(2) Dacă ℘(y) este adevărată pentru orice y ∈ A cu y < x, atunci ℘(x) este
adevărată. In aceste condiţii, ℘(a) este adevărată pentru orice element
al mulţimii A.

Demonstraţie. Fie mulţimea

B = {x ∈ A| ℘(x) este adevărată }.

Din ipoteză, mulţimea B verifică cele două condiţii din Principiul inducţiei
transfinite. Deci B = A.

2.2 Exemple de ordonări monomiale


Definiţia 2.2.1 (Ordonarea (pur) lexicografică). Fie u = xa11 . . . xann , v =
xb11 . . . xbnn monoame ı̂n S. Spunem că u >lex v dacă există 1 ≤ s ≤ n astfel
ı̂ncât a1 = b1 , . . . , as−1 = bs−1 şi as > bs , adică ı̂n vectorul diferenţă a − b
cea mai din stânga componentă nenulă este strict pozitivă. Relaţia ≥lex se
numeşte ordonare (pur) lexicografică.

Uneori vom folosi şi denumirea de ordonare pur lexicografică pentru a o


distinge de ordonarea lexicografică graduată pe care o vom defini mai jos.

Propoziţia 2.2.2. Ordonarea lexicografică este o ordonare monomială.

Demonstraţie. Fie u = xa , v = xb două monoame arbitrare ı̂n S. Dacă u 6= v


există indici t pentru care at 6= bt . Fie s primul asemenea indice. Dacă as > bs
avem u >lex v, iar dacă as < bs , atunci u <lex v. In orice caz, u şi v se pot
compara.
Fie u = xa , v = xb cu u >lex v şi w = xc un monom arbitrar. Obţinem
imediat uw = xa+c >lex xb+c = vw pentru că avem egalitatea (a + c) − (b +
c) = a − b.
Inegalitatea 1 < u, pentru orice monom u 6= 1, este evidentă.
26 Capitolul 2. Ordonări monomiale şi ideale iniţiale

Exemplul 2.2.3. 1. In inelul S = k[x1 , . . . , xn ] avem

x1 >lex x2 >lex . . . >lex xn

pentru că nedeterminatelor le corespund, ca exponenţi, vectorii

(1, 0, . . . , 0), (0, 1, 0, . . . , 0), . . . , (0, 0, . . . , 0, 1).

Evident, schimbând ordinea nedeterminatelor ı̂n scrierea lor ı̂n inelul


S, putem schimba şi ordonarea lor lexicografică. Sunt posibile n! or-
donări ale nedeterminatelor ı̂n inelul S. Dar, ı̂n absenţa unor comentarii
speciale, vom subı̂nţelege ı̂ntotdeauna că ordinea nedeterminatelor este
x1 , x2 , . . . , xn .

2. In inelul k[x1 , x2 , x3 ] avem x31 x3 >lex x1 x42 x33 , x1 x3 >lex x22 . In acelaşi
inel, monoamele de gradul 2 se ordonează descrescător astfel:

x21 >lex x1 x2 >lex x1 x3 >lex x22 >lex x2 x3 >lex x23 .

In general, dată o ordonare monomială arbitrară ≤, putem considera


varianta sa graduată, adică aceea ı̂n care facem mai inâi ordonarea după grad
a monoamelor şi abia apoi după ≤ . Un asemenea exemplu este ordonarea
pe care o definim ı̂n continuare.

Definiţia 2.2.4 (Ordonarea lexicografică graduată). Fie u, v monoame ı̂n


S. Spunem că u >deglex v dacă deg u > deg v sau deg u = deg v şi u >lex v.
Exemplul 2.2.5. 1. In inelul S = k[x1 , . . . , xn ], avem

x1 >deglex x2 >deglex . . . >deglex xn .

2. In inelul k[x1 , x2 , x3 ] avem x31 x3 <deglex x1 x42 x33 , x1 x3 >deglex x22 . In


acelaşi inel, monoamele de gradul 2 se ordonează descrescător după
deglex ca şi după ordonarea pur lexicografică.
Propoziţia 2.2.6. Ordonarea lexicografică graduată este o ordonare mono-
mială.

Demonstraţie. Fie u = xa , v = xb două monoame diferite ı̂n S. Dacă deg u 6=


deg v, atunci u >deglex v sau u <deglex v după cum deg u > deg v sau
deg u < deg v. Dacă deg u = deg v atunci avem u >lex v sau u <lex v,
2.2. Exemple de ordonări monomiale 27

deci u >deglex v sau, respectiv, u <deglex v


Fie u, v, w monoame ı̂n S cu u >deglex v. Dacă deg u > deg v, atunci deg(uw) =
deg u + deg w > deg v + deg w = deg(vw), de unde uw >deglex vw. Dacă
deg u = deg v, atunci u >lex v, deci uw >lex vw, ceea ce implică uw >deglex
vw, deoarece deg(uw) = deg(vw).
Inegalitatea 1 <deglex u, pentru orice u 6= 1, este evidentă din comparaţia
gradelor.

Ordonrea revlexicografică este un alt exemplu des folosit de ordonare


monomială graduată.

Definiţia 2.2.7 (Ordonarea revlexicografică). Fie monoamele u = xa11 . . . xann ,


v = xb11 . . . xbnn ∈ S. Spunem că u >revlex v dacă deg u > deg v sau deg u =
deg v şi există 1 ≤ s ≤ n astfel ı̂ncât an = bn , . . . , as+1 = bs+1 şi as < bs ,
adică ı̂n vectorul diferenţă a − b cea mai din dreapta componentă nenulă este
strict negativă. Relaţia ≥revlex se numeşte ordonare revlexicografică.

Exemplul 2.2.8. 1. In inelul S = k[x1 , . . . , xn ], avem

x1 >revlex x2 >revlex . . . >revlex xn .

2. In inelul k[x1 , x2 , x3 ] avem x31 x3 <revlex x1 x42 x33 , x1 x3 <revlex x22 . In


acelaşi inel, monoamele de gradul 2 se ordonează descrescător astfel:

x21 >revlex x1 x2 >revlex x22 >revlex x1 x3 >revlex x2 x3 >revlex x23 .

Propoziţia 2.2.9. Ordonarea revlexicografică este o ordonare monomială.

Demonstraţie. Demonstraţia este foarte asemănătoare cu cea precedentă.

Presupunem că am fixat o ordonare monomială ≤ pe S. Atunci, dat un


polinom nenul f ∈ S, putem să scriem termenii săi ı̂n ordine strict de-
screscătoare relativ la ordonarea fixată: f = a1 u1 + a2 u2 + . . . + ar ur , unde
u1 > u2 > . . . > ur sunt monoame şi a1 , . . . , ar ∈ k, nenuli. Monomul cel
mai mare, adică u1 , se numeşte monomul iniţial sau dominant al lui f. Il
vom nota in< (f ). Termenul lt< (f ) = a1 u1 se numeşte termenul iniţial sau
dominant al lui f, iar coeficientul lc< (f ) = a1 se numeşte coeficientul iniţial
sau dominant al lui f.
28 Capitolul 2. Ordonări monomiale şi ideale iniţiale

Exemplul 2.2.10. Fie polinomul f = 3x3 + 2x2 y 4 − 5xz + 7z 5 + x2 yz ∈


R[x, y, z]. Avem
inlex (f ) = x3 , ltlex (f ) = 3x3 , lclex (f ) = 3,
iar
inrevlex (f ) = x2 y 4 , ltrevlex (f ) = 2x2 y 4, lcrevlex (f ) = 2.
Propoziţia 2.2.11. Dacă f, g ∈ S sunt polinoame nenule şi ≤ este o or-
donare monomială fixată pe S, atunci in< (f g) = in< (f ) in< (g).
Demonstraţie. Fie in< (f ) = u şi in< (g) = v. In scrierea polinomului f g apar
numai produse de monoame ı̂n care unul din factori este monom din scrierea
lui f, iar celălalt din scrierea lui g. Fie ww ′ un asemenea produs, unde w
apare ı̂n scrierea lui f, iar w ′ a lui g. Avem uv ≥ wv ≥ ww ′, prin urmare
in< (f g) = uv.
Prezentăm ı̂n continuare şi alte exemple de ordonări monomiale.
Fie ω = (ω1 , . . . , ωn ) un vector cu componente ı̂ntregi strict pozitive pe care
ı̂l vom numi pondere. Fiecărui monom u = xa = xa11 . . . xann ı̂i putem asocia
gradul ponderat cu ponderea ω definit prin
ω − deg(u) = hω, ai = ω1 a1 + . . . ωn an .
De exemplu, gradului uzual al lui u ı̂i corespunde ponderea ω = (1, 1, . . . , 1).
Fie ≤ o ordonare monomială pe S. Aşa cum am procedat şi ı̂n cazul ordonării
lexicografice graduate, putem considera ≤ω , ordonarea ponderat graduată
indusă de ≤ şi de vectorul pondere ω.
Definiţia 2.2.12. Fie ≤ o ordonare monomială pe S şi ω un vector pondere.
Pentru u, v monoame ı̂n S definim u <ω v dacă ω − deg(u) < ω − deg(v) sau
ω − deg(u) = ω − deg(v) şi u < v.
Se poate demonstra uşor că ordonarea definită mai sus este o ordonare
monomială pe S.
Un alt tip de ordonare des folosit este ordonarea produs sau pe blocuri.
Definiţia 2.2.13. Fie ≤1 o ordonare monomială pe mulţimea Mon(x1 , . . . , xn )
a monoamelor ı̂n nedeterminatele x1 , . . . , xn şi ≤2 pe mulţimea Mon(y1 , . . . , ym )
a nedeterminatelor y1 , . . . , ym . Produsul ordonărilor ≤1 şi ≤2 este ordonarea
monomială pe mulţimea de nedeterminate x1 , . . . , xn , y1 , . . . , ym definită ast-
fel: dacă u, u′ ∈ Mon(x1 , . . . , xn ) şi v.v ′ ∈ Mon(y1 , . . . , ym ), atunci
uv < u′ v ′ dacă u <1 u′ sau u = u′ şi v <2 v ′ .
2.2. Exemple de ordonări monomiale 29

Se verifică imediat că ordonarea produs este monomială. Ea are proprie-


tatea semnificativă că orice monom din Mon(x1 , . . . , xn , y1 , . . . , ym ) care se
divide cu cel puţin una din nedeterminatele x1 , . . . , xn este strict mai mare
decât orice monom format numai cu nedeterminate din blocul y1 , . . . , ym .

2.2.1 Ordonări monomiale ı̂n Singular


Singular este un sistem de calcul simbolic capabil să efectueze calcule
netriviale ı̂n inele de polinoame, localizate şi câturi ale lor. Un asemenea inel
ı̂n care efectuăm calculele se numeşte inel de bază (base ring). Definiţia unui
inel ı̂n Singular cuprinde trei părţi. Prima parte precizează corpul peste care
este definit inelul de polinoame. Acesta poate fi Q, un corp prim Fp , unde p
este un număr prim, p ≤ 214783629, un corp finit cu pn elemente, cu pn ≤ 215 ,
extinderi transcendente ale lui Q sau Fp , extinderi algebrice simple ale lui Q
sau Fp , corpul R sau C. In a doua parte, se indică numele nedeterminatelor,
care pot fi date ca o listă de nedeterminate distincte, x, y, z, . . . sau indexate,
x(1..3). In ultima parte se indică ordonarea monomială folosită. Singular
lucrează cu oricare din exemplele de ordonări monomiale de mai sus. Denu-
mirile sunt următoarele: lp pentru ordonarea lexicografică, Dp pentru cea
graduat lexicografică şi dp pentru ordonarea revlexicografică graduată.
Pentru o pondere dată ω, ı̂n Singular se pot considera ordonarea lexi-
cografică ponderată Wp sau ordonarea revlexicografică ponderată, wp.
Singular lucrează nu numai cu ordonări de tipul celor de mai sus, numite
şi ordonări globale, ci şi cu ordonări locale, cu ajutorul cărora se pot defini
localizate ale inelelor de polinoame. Aceste tipuri de ordonări nu fac obiectul
expunerii de faţă, de aceea nu vom vorbi despre ele.
Iată câteva exemple de declaraţii ale unui inel ı̂n Singular.

> ring A=0,(x,y,z),lp;

Inelul A este un inel de polinoame peste corpul Q ı̂n nedeterminatele


x, y, z, pe care considerăm ordonarea pur lexicografică.

> ring B=(3^3,b),(x,y,z,t),lp;

Corpul coeficienţilor este corpul Galois cu 27 de elemente.

ring C=(0,a,b,c),x(1..7),dp;
30 Capitolul 2. Ordonări monomiale şi ideale iniţiale

Inelul C este un inel de polinoame ı̂n 7 nedeterminate peste extinderea


transcendentă Q(a, b, c) a lui Q cu ordonarea revlexicografică.

ring D=(0,u),(y(1..3),z(1..5)),Dp;
minpoly=u2+u+1;

In inelul D corpul de bază este extindere algebrică simplă a lui Q generată


de elementul u al cărui polinom minimal peste Q este x2 + x + 1. Ordonarea
monomială este cea lexicografică graduată.
Să considerăm următoarea secvenţă de instrucţiuni ı̂n Singular:

ring A1=0,(x,y,z),lp;
poly f=x3yz+y5+z4+x3+xy2;
f;// termenii lui f vor fi ordonati descrescator
leadmonom(f);// monomul initial
leadexp(f);// multi-exponentul monomului initial
lead(f); // termenul initial
leadcoef(f);// coeficientul initial
f-lead(f);

După execuţia ei, Singular afişează:

x3yz+x3+xy2+y5+z4
x3yz
3,1,1
x3yz
1
x3+xy2+y5+z4

2.3 Ideale iniţiale şi definiţia bazei Gröbner


Definiţia 2.3.1. Fie ≤ o ordonare monomială fixată pe S şi I ⊂ S un ideal.
Idealul iniţial al lui I este idealul monomial generat de toate monoamele
iniţiale ale polinoamelor nenule din I. El se notează in< (I).
Este evident că putem considera idealul iniţial al lui I ca fiind generat de
termenii iniţiali ai polinoamelor nenule din I.
Este interesant de observat că monoamele iniţiale ale polinoamelor dintr-
un sistem de generatori ai unui ideal din S nu generează, ı̂n general, idealul
2.3. Ideale iniţiale şi definiţia bazei Gröbner 31

iniţial al lui I. Evident, dacă {f1 , . . . , fr } este un sistem de generatori ai


idealului I atunci (in< (f1 ), . . . , in< (fr )) ⊂ in< (I), dar incluziunea este, de
foarte multe ori, strictă.
Exemplul 2.3.2. Fie I = (xy − 1, x − y 2 ) ⊂ k[x, y]. Considerăm ordonarea
lexicografică pe k[x, y] cu x > y. Monoamele iniţiale ale generatorilor lui I
generează idealul (x). Polinomul f = y 3 − 1 = xy − 1 − y(x − y 2) ∈ I are
monomul iniţial in(f ) = y 3, care, ı̂n mod evident, nu se află ı̂n idealul generat
de x.
Dată o ordonare monomială ≤ pe S şi I ⊂ S un ideal, folosind Lema
lui Dickson, rezultă că in< (I) are un sistem finit de generatori monomiali,
fie acesta {w1 , . . . , wr }. Evident, pentru fiecare monom wi , 1 ≤ i ≤ r, putem
alege un polinom gi ∈ I astfel ı̂ncât wi = in< (gi ).
Definiţia 2.3.3. Fie ≤ o ordonare monomială pe S şi I ⊂ S un ideal.
O mulţime finită de polinoame G = {g1, . . . , gr } ⊂ I cu proprietatea că
{in< (g1 ), . . . , in< (gr )} generează idealul iniţial al lui I, in< (I), se numeşte
bază Gröbner a lui I relativ la ordonarea ≤ .
Din comentariul anterior definiţiei, este clar că orice ideal al lui S admite
o bază Gröbner relativ la o ordonare monomială arbitrară. Vom vedea ı̂n
capitolul următor că dacă G este o bază Gröbner a lui I, atunci G este şi
sistem de generatori pentru I. Prin urmare, o bază Gröbner a lui I este un
sistem de generatori G cu proprietatea că monoamele iniţiale ale polinoamelor
din G generează idealul iniţial al lui I. Exemplul 2.3.2 ne arată că nu orice
sistem de generatori ai unui ideal este şi o bază Gröbner a sa. Vom prezenta,
tot ı̂n capitolul următor, care este condiţia necesară şi suficientă pentru ca
un sistem de generatori ai unui ideal să fie şi bază Gröbner. Există chiar
exemple ı̂n care un sistem de generatori nu este bază Gröbner a idealului
pentru nicio ordonare monomială pe inelul de polinoame. Vom prezenta un
asemenea exemplu mai jos. Deocamdată, dăm un exemplu simplu de bază
Gröbner.
Exemplul 2.3.4. Fie I = (x − z 2 , y − z 3 ) ∈ R[x, y, z]. Atunci {f1 =
x − z 2 , f2 = y − z 3 } formează bază Gröbner a lui I relativ la ordonarea
lexicografică. Intr-adevăr, vom demonstra că inlex (I) = (x, y). Este suficient
să demonstrăm că, pentru orice polinom f ∈ I, f 6= 0, inlex (f ) ∈ (x, y).
Să presupunem, prin absurd, că există f ∈ I, f 6= 0, cu inlex (f ) 6∈ (x, y).
Atunci inlex (f ) este un monom ı̂n z. Rezultă că f este un polinom ı̂n z. Fie
32 Capitolul 2. Ordonări monomiale şi ideale iniţiale

f = a1 (x − z 2 ) + a2 (y − z 3 ), a1 , a2 ∈ k[x, y, z]. Substituind x cu z 2 şi y cu


z 3 ı̂n egalitatea de mai sus obţinem că f = 0, contradicţie. Prin urmare,
inlex (f ) ∈ (x, y).
Exemplul 2.3.5. Fie

f1 = x1 x3 − x2 x4 , f2 = x1 x2 − x3 x4 ∈ k[x1 , x2 , x3 , x4 ]

şi I = (f1 , f2 ). Să presupunem că există ≤, o ordonare monomială, astfel


ı̂ncât G = {f1 , f2 } să fie bază Gröbner a lui I. Să alegem, de exemplu,
x1 x3 > x2 x4 . Atunci in< (f1 ) = x1 x3 . Polinomul x2 f1 − x3 f2 = x23 x4 − x22 x4
aparţine lui I. Cum x2 x4 6∈ in< (I), trebuie să avem x3 x4 > x1 x2 . Polinomul
x4 f1 + x1 f2 = x21 x2 − x2 x24 ∈ I, deci monomul său iniţial ar trebui să fie
divizibil cu unul din monoamele x1 x3 sau x3 x4 , ceea ce este imposibil. In
mod asemănător se tratează cazul când x1 x3 < x2 x4 . Cum ambele situaţii
posibile conduc la contradicţie, rezultă că G nu este bază Gröbner pentru I
pentru nicio ordonare monomială pe k[x1 , x2 , x3 , x4 ].
Dată o ordonare monomială ≤ pe S, şi I un ideal ı̂n S, vom numi monoame
standard relativ la I monoamele w ∈ Mon(S) \ Mon(in< (I)). Din Propoziţia
1.1.6 ştim că monoamele standard determină o bază peste k ı̂n spaţiul vec-
torial S/ in< (I).
Propoziţia 2.3.6. Fie ≤ o ordonare monomială pe S şi I ⊂ S un ideal.
Mulţimea Wf = {w + I : w monom standard } este o bază a lui S/I peste
k. Mai mult, corespondenţa w 7→ w + I este bijectivă. In particular, spaţiile
vectoriale S/I şi S/ in< (I) au aceeaşi dimensiune.
Demonstraţie. Fie G o bază Gröbner a lui I relativ la ≤ . Pentru orice
f ∈ S, există un unic polinom r ∈ S cu proprietăţile: f − r ∈ I, deci
f + I = r + I şi r = 0 sau r este o combinaţie k–liniară de monomae
standard. Prin urmare, W f este sistem de generatori pentru S/I peste k. Cu
f este sistem liniar independent peste
acelaşi argument deducem şi faptul că W
k. Restul afirmaţiilor rezultă cu Propoziţia 1.1.6.

2.4 Exerciţii
E 2.4.1. Ordonaţi descrescător, după ordonarea lexicografică şi revlexicografi-
că, toate monoamele de grad 3 din inelul polinoamelor k[x1 , x2 , x3 ].
2.4. Exerciţii 33

E 2.4.2. Fie > o ordonare monomială pe k[x, y] cu x > y şi compatibilă cu


gradul monoamelor, adică pentru u, v monoame ı̂n k[x, y], u ≥ v ⇒ deg u ≥
deg v. Demonstraţi că > coincide cu ordonarea lexicografică graduată.

E 2.4.3. Fie polinomul f = x2 + xy + y 2 ∈ k[x, y]. Demonstraţi că, oricare


ar fi ordonarea monomială < pe k[x, y], xy 6= in< (f ).

E 2.4.4. [21] Fie I ⊂ S un ideal. Demonstraţi că I are un număr finit de


ideale iniţiale distincte.

E 2.4.5. Demonstraţi că ı̂n inelul k[x, y] există exact o ordonare monomială
≤ cu proprietatea că y i < x pentru orice i ≥ 2.

E 2.4.6. Pentru monoamele de grad cel mult 2 din k[x, y, z] găsiţi toate
ordonările induse de ordonările monomiale pe k[x, y, z] compatibile cu gradul.
Puteţi considera ı̂ntotdeauna ordonarea naturală a nedeterminatelor: x >
y > z. Scrieţi un program ı̂n Singular care să creeze polinomul egal cu
suma tuturor monoamelor de grad cel mult 2 din k[x, y, z] şi care să precizeze
termenul iniţial al lui f pentru fiecare ordonare ı̂n parte.

E 2.4.7. Declaraţi ı̂n Singular un polinom ı̂n 4 nedeterminate peste corpul


finit cu 8 elemente.

E 2.4.8. După execuţia următoarei secvenţe

> ring A2=(2^3,a),x,dp;


> number n =a+a2;
n;
n^5;

Singular afişează rezultatul care urmează.

a4
a6

In secvenţa următoare se calculează acelaşi element, n5 , unde n = a +


a2 , tot ı̂n inelul polinoamelor ı̂ntr-o nedeterminată peste corpul finit cu 8
elemente, dar urmărind rezultatul dat de Singular acesta pare să fie diferit.
Care este justificarea?
34 Capitolul 2. Ordonări monomiale şi ideale iniţiale

> ring A3=(2,a),x,dp;


minpoly=a3+a+1;
number n=a+a2;
n^5;

(a2+1)
>

E 2.4.9. Scrieţi o procedură ı̂n Singular care să depindă de doi ı̂ntregi p, d
cu p prim, care să genereze toate polinoamele de grad d din Fp [x] care au
funcţia polinomială ataşată egală cu zero. Folosiţi această procedură pentru
a afişa toate polinoamele peste Z5 de grad ≤ 6 care au funcţia polinomială
nulă.

E 2.4.10. Scrieţi o procedură ı̂n Singular care să genereze toate monoamele
libere de pătrate de un grad dat d ı̂ntr-un număr dat n de nedeterminate.
Capitolul 3
Baze Gröbner. Algoritmul Buchberger

In acest capitol vom prezenta un criteriu pentru ca un sistem de gen-


eratori ai unui ideal din S să fie bază Gröbner relativ la o ordonare fixată.
Algoritmul Buchberger de determinare a unei baze Gröbner pornind de la un
sistem de generatori arbitrar foloseşte acest criteriu.
Pentru ı̂nceput vom prezenta teorema care generalizează ı̂mpărţirea poli-
noamelor din inelul polinoamelor ı̂ntr-o singură nedeterminată, k[x].

3.1 Teorema de ı̂mpărţire ı̂n inelul k[x1, . . . , xn]


Teorema 3.1.1. Fie ≤ o ordonare monomială fixată pe S şi F = (f1 , . . . , fs )
o familie ordonată de polinoame din S. Atunci, pentru orice polinom f ∈ S,
există a1 , . . . , as , r ∈ S, cu următoarele proprietăţi:

(i) f = a1 f1 + . . . + as fs + r;

(ii) r = 0 sau r 6= 0 şi pentru orice monom w care apare ı̂n scrierea lui f,
avem w 6∈ (in< (f1 ), . . . , in< (fs ));

(iii) pentru orice i cu proprietatea că ai fi 6= 0, avem in< (f ) ≥ in< (ai fi ).

O exprimare a polinomului f ca ı̂n enunţul acestei teoreme se numeşte


reprezentare standard a lui f. Vom vedea mai târziu că un polinom poate
avea mai multe reprezentări standard relativ la o familie de polinoame F.
Prin analogie cu situaţia din inelul polinoamelor ı̂ntr-o singură nedetermi-
nată, vom numi câturi polinoamele a1 , . . . , as , iar polinomul r, rest. Condiţia

35
36 Capitolul 3. Baze Gröbner. Algoritmul Buchberger

(ii) din definiţia de mai sus exprimă faptul că niciunul din monoamele care
apar ı̂n scrierea restului, ı̂n cazul când acesta este nenul, nu este divizibil cu
vreunul din monoamele iniţiale ale polinoamelor din familia F.
Demonstraţia teoremei are la bază principiul inducţiei transfinite şi, ı̂n esenţă,
generalizează algoritmul de ı̂mpărţire din inelul polinoamelor ı̂ntr-o singura
nedeterminată.

Demonstraţie. Vom proceda prin inducţie transfinită după monomul iniţial


al lui f. Dacă in< (f ) < in< (fi ) pentru orice i, alegem ai = 0, pentru orice i
şi r = f. Cum in< (f ) este strict mai mic decât orice monom in< (fi ), rezultă
că orice monom care apare ı̂n scrierea lui f este strict mai mic decaât oricare
din monoamele in< (fi ), prin urmare este nedivizibil cu oricare din ele. Deci
r satisface condiţia (ii) din teoremă.
Fie acum un polinom f cu proprietatea că există i astfel ı̂ncât in< (f ) ≥
in< (fi ) şi presupunem că teorema este adevărată pentru toate polinoamele
g ∈ S cu proprietatea că in< (g) < in< (f ). Avem două cazuri de analizat.
Cazul I. in< (f ) 6∈ (in< (f1 ), . . . , in< (fs )). Fie g = f − lt< (f ). Dacă g = 0,
am terminat: a1 = . . . = as = 0 şi r = lt< (f ). Dacă g 6= 0, avem in< (g) <
in< (f ) şi aplicăm ipoteza de inducţie. Rezultă că putem scrie

g = b1 f1 + . . . bs fs + r ′ ,

unde b1 , . . . , bs , r ′ satisfac condiţiile din enunţul teoremei. Atunci

f = b1 f1 + . . . bs fs + (r ′ + lt< (f )).

Putem alege ai = bi , pentru orice 1 ≤ i ≤ s şi r = r ′ + lt< (f ). r verifică ı̂n


mod evident condiţia (ii). Pentru condiţia (iii), observăm că pentru orice ai
nenul avem
in< (ai fi ) = in< (bi fi ) ≤ in< (g) < in< (f ).
Cazul II. Există cel puţin un indice i astfel ı̂ncât in< (fi ) | in< (f ). Fie
j primul indice cu proprietatea că in< (fj ) | in< (f ) şi fie polinomul g =
f − (lt< (f )/ lt< (fj ))fj . Dacă g este nul, am terminat: ai = 0, pentru i 6= j,
r = 0 şi aj = lt< (f )/ lt< (fj ). Altfel, observăm că g are monomul iniţial strict
mai mic decât monomul iniţial al lui f, prin urmare putem aplica ipoteza de
inducţie. Rezultă că putem scrie

g = b1 f1 + . . . bs fs + r ′ ,
3.1. Teorema de ı̂mpărţire ı̂n inelul k[x1 , . . . , xn ] 37

unde b1 , . . . , bs , r ′ satisfac condiţiile din enunţul teoremei. De aici obţinem


că f se poate scrie

f = b1 f1 + . . . + (bj + lt< (f )/ lt< (fj ))fj + . . . + bs fs + r ′ .

Atunci luăm ai = bi , pentru orice i 6= j, aj = bj + lt< (f )/ lt< (fj ), iar r = r ′ .


Este evident din ipoteza de inducţie că r satisface condiţia (ii). Condiţia (iii)
este ı̂ndepilinită pentru orice i 6= j pentru care ai 6= 0 deoarece

in< (ai fi ) = in< (bi fi ) ≤ in< (g) < in< (f ).

Pentru i = j avem

in< (aj fj ) = in< (bj fj +(lt< (f )/ lt< (fj ))fj ) ≤ max{in< (bj fj ), in< (f )} = in< (f ).

In concluzie, teorema este demonstrată prin inducţie transfinită.

In fapt, demonstraţia, ca şi ı̂n cazul inelelor de polinoame ı̂ntr-o nede-


terminată, ne dă şi algoritmul după care efectuăm ı̂mpărţirea unui polinom
la o familie ordonată de polinoame. Fiind dat un polinom ”deı̂mpărţit” f ,
iniţializăm mai ı̂ntâi toate câturile şi restul cu 0. Apoi testăm dacă mono-
mul iniţial al lui f se divide cu vreunul dintre monoamele iniţiale ale poli-
noamelor din F. In caz afirmativ alegem primul indice j cu proprietatea că
in< (fj ) | in< (f ). Trecem câtul lt< (f )/ lt< (fj ) la aj şi continuăm cu poli-
nomul f − (lt< (f )/ lt< (fj ))fj . Daca niciunul din monoamele initiale in< (fi )
nu divide in< (f ), trecem termenul lt< (f ) la rest şi continuăm cu polinomul
f − lt< (f ). După un număr finit de paşi algoritmul se termină deoarece <
este relaţie de bună ordonare pe mulţimea monoamelor din S. Ilustrăm acest
algoritm pe un exemplu.

Exemplul 3.1.2. Fie f = x2 y + xy 2 + y 2 , f1 = y 2 − 1, f2 = xy − 1 ∈ k[x, y].


Să ı̂mpărţim polinomul f la familia F = (f1 , f2 ) considerând ordonarea lexi-
cografică pe k[x, y]. Monomul iniţial al lui f este x2 y. El se divide cu in(f2 ).
Avem g = f − xf2 = xy 2 + x + y 2 . Continuăm cu g, al cărui monom iniţial,
xy 2 , se divide cu in(f1 ), deci vom lua polinomul h = g − xf1 . Obţinem, ı̂n
final, a1 = x + 1, a2 = x şi restul r = 2x + 1, adică

f = (x + 1)f1 + xf2 + 2x + 1 = (x + 1)(y 2 − 1) + x(xy − 1) + 2x + 1.


38 Capitolul 3. Baze Gröbner. Algoritmul Buchberger

Observaţia 3.1.3. Să observăm că, dacă schimbăm ordinea polinoamelor


ı̂n familia F, la care facem ı̂mpărţirea, polinoamele ai şi restul r se schimbă,
chiar dacă păstrăm aceeaşi ordonare monomială. De exemplu, dacă ı̂mpărţim
polinomul f din exemplul anterior la familia ordonată (f2 , f1 ) obţinem f =
(x + y)(xy − 1) + (y 2 − 1) + x + y + 1.
Se ştie că, ı̂n inelul polinoamelor ı̂ntr-o singură nedeterminată peste un
corp, orice ideal este principal. Teorema ı̂mpărţirii ı̂n inelul k[x] ne permite
să decidem dacă un polinom f ∈ k[x] se află ı̂n idealul generat de un polinom
nenul g. Intr-adevăr, f ∈ (g) dacă şi numai dacă restul ı̂mpărţirii lui f la g
este zero. In inelul polinoamelor ı̂n n ≥ 2 nedeterminate, Teorema 3.1.1, care
generalizează teorema de ı̂mpărţire din k[x], nu mai dă un criteriu pentru
apartenenţa unui polinom la un ideal. Este clar că dacă restul ı̂mpărţirii
polinomului f ∈ S la familia ordonată F = (f1 , . . . , fs ) ∈ S s este zero,
atunci f se află ı̂n idealul generat de familia F, dar reciproc nu mai este
adevărat.
Exemplul 3.1.4. Să considerăm polinoamele f, f1 , f2 din Exemplul 3.1.2.
Am găsit următoarele reprezentări ale lui f :

f = (x + 1)f1 + xf2 + 2x + 1

şi
f = (x + y)f2 + f1 + x + y + 1.
Prin scăderea celor două egalităţi obţinem

x − y = yf1 − xf2 ,

deci x − y ∈ (f1 , f2 ), dar, evident, restul ı̂mpărţirii lui x − y la familia


F = (f1 , f2 ) este tot x − y, deci este nenul.
Deşi Teorema 3.1.1 nu rezolvă problema apartenenţei la ideal , ea este
esenţială ı̂n caracterizarea idealelor din inelul polinoamelor. Se ştie ca ı̂n
inelul polinoamelor ı̂n n ≥ 2 nedeterminate idealele nu sunt, in general,
principale. Vom vedea că ele au o proprietate importantă, sunt finit generate.
Acest rezultat, pe care ı̂l vom demonstra mai jos pentru idealele inelului S,
este adevărat ı̂ntr-un context mai general şi este cunoscut sub denumirea de
Teorema lui Hilbert a bazei.
Teorema 3.1.5. Orice ideal al inelului S este finit generat.
3.1. Teorema de ı̂mpărţire ı̂n inelul k[x1 , . . . , xn ] 39

Demonstraţie. Fie I ⊂ S un ideal nenul. Vom demonstra că orice bază


Gröbner a lui I este sistem de generatori. Fie ≤ o ordonare monomială fixată
pe S şi G = {g1 , . . . , gs } o bază Gröbner a lui I relativ la ≤ . Incluziunea
(g1 , . . . , gs ) ⊂ I este evidentă. Fie f ∈ I un polinom nenul. Impărţim f
la familia G şi obţinem că există a1 , . . . , as , r ∈ S astfel ı̂ncât f = a1 g1 +
. . . as gs + r şi r = 0 sau r 6= 0 şi niciun monom care apare ı̂n scrierea lui r
nu se află ı̂n (in< (g1 ), . . . , in< (gs )) = in< (I). Să presupunem că r 6= 0. Cum
r = f − (a1 g1 + . . . as gs ) ∈ I, obţinem că in< (r) ∈ in< (I), contradicţie. Prin
urmare, r = 0, deci f ∈ (g1 , . . . , gs ), ceea ce ı̂ncheie demonstraţia.
Definiţia 3.1.6. Un inel R cu proprietatea că orice ideal al său este finit
generat se numeşte inel Noetherian.
Teorema 3.1.5 arată că orice inel de polinoame peste un corp este inel
Noetherian. Această teoremă este un caz particular al teoremei lui Hilbert
a bazei care afirmă că dacă inelul R este Noetherian, atunci orice inel de
polinoame ı̂ntr-un număr finit de nedeterminate peste R este, de asemenea,
Noetherian. Pentru demonstraţia aceste teoreme se poate consulta, de ex-
emplu, [2].
Inelele noetheriene au următoarea proprietate.
Propoziţia 3.1.7. Fie R un inel Noetherian. Atunci orice şir crescător de
ideale din R este staţionar.
Demonstraţie. Fie S I1 ⊂ I2 ⊂ . . . ⊂ Im ⊂ . . . un şir crescător de ideale din
R. Atunci I = j≥1 Ij este ideal al lui R. Cum I este finit generat, există
a1 , . . . , ar ∈ I astfel ı̂ncât I = (a1 , . . . , ar ). Fie ai ∈ Iji pentru 1 ≤ i ≤ r
şi m = max{j1 , . . . , jr }. Cum Iji ⊂ Im pentru orice i, obţinem I = Im =
Im+1 = . . . , deci şirul este staţionar de la rangul m incolo.
Noţiunea de bază Gröbner rezolvă şi problema apartenenţei la ideal ı̂n
inelul S.
Propoziţia 3.1.8. Fie ≤ o ordonare monomială fixată pe S şi I ⊂ S un
ideal. Atunci, pentru orice polinom f din S există un unic polinom r ∈ S cu
proprietăţile:
(a) f = g + r, cu g ∈ I;

(b) r = 0 sau r 6= 0 şi niciun monom care apare ı̂n scrierea lui r nu se află
ı̂n in< (I).
40 Capitolul 3. Baze Gröbner. Algoritmul Buchberger

Demonstraţie. Fie G = {g1 , . . . , gs } o bază Gröbner a lui I. Rezultă că


in< (I) = (in< (g1 ), . . . in< (gs )). Existenţa polinomului r este dată de Teo-
rema 3.1.1. Să demonstrăm unicitatea lui r. Fie două reprezentări ale lui f
de forma f = g1 + r1 = g2 + r2 , cu g1 , g2 ∈ I şi r1 , r2 polinoame ce satisfac
condiţia (b) din enunţ. Atunci r1 − r2 = g2 − g1 ∈ I. Dacă r1 − r2 6= 0,
atunci in< (r1 − r2 ) ∈ in< (I). Dar este evident că in< (r1 − r2 ) este unul din
monoamele care apar ı̂n scrierea lui r1 sau r2 . Obţinem o contradicţie cu
proprietăţile polinoamelor r1 şi r2 . Rezultă r1 − r2 = 0, adică r1 = r2 .
Rezultatul anterior spune, ı̂n fapt, că dacă f este un polinom din S, ı̂n
orice formă standard a sa relativ la o bază Gröbner G oarecare a lui I, restul
este acelaşi, adică nu depinde nici de bază şi nici de ordinea polinoamelor ı̂n
G.
Definiţia 3.1.9. Fie ≤ o ordonare monomială fixată pe S, I ⊂ S un ideal şi
G = {g1 , . . . , gs } o bază Gröbner a lui I relativ la ≤ . Pentru orice polinom
G
f din S, restul ı̂mpărţirii lui f la familia G se notează cu f şi se numeşte
forma redusă (normală) a lui f relativ la G (sau la I).

Corolarul 3.1.10. Fie ≤ o ordonare monomială fixată pe S şi I ⊂ S un


ideal cu baza Gröbner G. Atunci, pentru un polinom f ∈ S, avem: f ∈ I
G
dacă şi numai dacă f = 0.
Prin urmare, pentru a decide dacă un polinom f ∈ S se află ı̂n idealul
I ⊂ S trebuie să determinăm mai ı̂ntâi o bază Gröbner a lui I, fie aceasta
G G
G. Determinăm apoi f . Dacă f = 0, atunci f ∈ I, altfel f 6∈ I.

3.2 Algoritmul Buchberger


Mai ı̂ntâi vom prezenta un criteriu prin care să decidem dacă un sistem
de generatori dat al unui ideal din S este bază Gröbner relativ la o ordonare
monomială fixată. Pentru aceasta avem nevoie de noţiunea de S–polinom.
Definiţia 3.2.1. Fie ≤ o ordonare monomială fixată pe S şi f, g două poli-
noame nenule din S. Polinomul
lcm(in< (f ), in< (g)) lcm(in< (f ), in< (g))
S< (f, g) = f− g
lt< (f ) lt< (g)
se numeşte S–polinomul perechii (f, g).
3.2. Algoritmul Buchberger 41

Exemplul 3.2.2. Fie f = y − x2 , g = z − x3 ∈ k[x, y, z]. S–polinomul


perechii (f, g) relativ la ordonarea lexicografică este Slex (f, g) = −xy + z.

Teorema 3.2.3 (Criteriul Buchberger). Fie ≤ o ordonare monomială fixată


pe S, I ⊂ S un ideal şi G = {g1 , . . . , gs } un sistem de generatori ai lui I. G
este o bază Gröbner a lui I relativ la ≤ dacă şi numai dacă restul ı̂mpărţirii
lui S< (gi , gj ) la familia G este zero, pentru orice 1 ≤ i < j ≤ n.

Demonstraţie. ⇒ . Fie G = {g1 , . . . , gs } o bază Gröbner a lui I. Cum


G
S< (gi , gj ) ∈ I, rezultă S< (gi , gj ) = 0, pentru orice 1 ≤ i < j ≤ n.

⇐ . Vom demonstra că in< (I) = (in< (g1 ), . . . , in< (gs )). Fie f ∈ S, f 6= 0.
Cum {g1 , . . . , gs } generează I, rezultă că f se poate scrie sub forma
s
X
f= hi gi, unde h1 , . . . , hs ∈ S. (3.1)
i=1

Fie w = max{in< (hi gi ) : 1 ≤ i ≤ s}. Dintre toate scrierile de tipul (3.1)


ale lui f o alegem pe aceea pentru care w este minim. Demonstrăm că, ı̂n
acest caz, in< (f ) = w, ceea ce implică in< (f ) ∈ (in< (gP
1 ), . . . , in< (gs )).
Să presupunem, prin absurd, că in< (f ) = in< ( si=1 hi gi )P< w. Vom
demonstra că putem obţine o scriere a lui f de forma (3.1), f = si=1 h′i gi , cu
max{in< (h′i gi ) : 1 ≤ i ≤ s} < w, ceea ce contrazice alegerea lui w şi ı̂ncheie
demonstraţia.
Fie deci o scriere a lui f ca ı̂n (3.1) cu

in< (f ) < w = max{in< (hi gi ) : 1 ≤ i ≤ s}.

O parte din polinoamele hi gi au monomul iniţial egal cu w, iar restul au mono-


mul iniţial strict mai mic decât w. Renumerotând, eventual, polinoamele
g1 , . . . , gs , putem presupune că in< (hi gi ) = w, pentru 1 ≤ i ≤ t, iar in< (hi gi ) <
w, pentru t + 1 ≤ i ≤ s. Scriem f sub forma

t
X s
X t
X t
X s
X
f= hi gi + hi gi = lt< (hi )gi + (hi −lt< (hi ))gi + hi gi . (3.2)
i=1 i=t+1 i=1 i=1 i=t+1

Este clar că ultimele două sume au monoamele iniţiale strict mai mici
decât w. Cum avem şi in< (f ) < w, rezultă că
42 Capitolul 3. Baze Gröbner. Algoritmul Buchberger

t
X
in< ( lt< (hi )gi ) < w. (3.3)
i=1

Fie lt< (hi ) = ci ui, ci ∈ k ∗ şiPlt< (gi ) = divi , di ∈ k ∗ , pentru 1 ≤ i ≤ t. Din


inegalitatea (3.3) deducem că ti=1 ci di = 0. Fie
1
pi = ui gi , 1 ≤ i ≤ t.
di
Atunci
t
X t
X
lt< (hi )gi = ci di pi = c1 d1 (p1 − p2 ) + (c1 d1 + c2 d2 )(p2 − p3 ) + . . .
i=1 i=1

. . . + (c1 d1 + . . . + ct−1 dt−1 )(pt−1 − pt ) + (c1 d1 + . . . + ct dt )pt .


Rezultă

t
X t−1
X t−1
X
lt< (hi )gi = (c1 d1 + . . . + cj dj )(pj − pj+1) = c̃j (pj − pj+1), (3.4)
i=1 j=1 j=1

unde c̃j = c1 d1 + . . . + cj dj , pentru orice 1 ≤ j ≤ t − 1. Pentru orice 1 ≤ j ≤


t − 1 avem
uj vj = uj+1vj+1 = w,
deci lcm(vj , vj+1) | w. Exprimând S< (gj , gj+1 ), obţinem
w
S< (gj , gj+1) = pj − pj+1.
lcm(vj , vj+1 )

Mai mult, observăm că in< ( lcm(vjw,vj+1 ) S< (gj , gj+1)) < w. Din ipoteză, S–
polinomul S< (gj , gj+1) se poate exprima sub forma
s
X
S< (gj , gj+1) = Aℓj gℓ ,
ℓ=1

cu A1 , . . . , As polinoame ı̂n S astfel ı̂ncât

in< (Aℓj gℓ ) ≤ in< (S< (gj , gj+1 )),


3.2. Algoritmul Buchberger 43

pentru orice ℓ, j pentru care Aℓj este nenul. Prin urmare, putem scrie

t
X t−1
X X s XX s t−1
w w
lt< (hi )gi = c̃j Aℓj gℓ = c̃j Aℓj gℓ .
i=1 j=1
lcm(vj , vj+1) ℓ=1 ℓ=1 j=1
lcm(vj , vj+1 )

Dar !
t−1
X w
in< ( c̃j Aℓj )gℓ ≤
j=1
lcm(vj , vj+1 )
 
w
≤ max in< S< (gj , gj+1) < w.
1≤j≤t−1 lcm(vj , vj+1)
P
Rezultă că ti=1 lt< (hi )gi se poate exprima ı̂n final ca o combinaţie de poli-
noamele g1 , . . . gs ı̂n care fiecare termen al sumei are monomul iniţial strict
mai mic decât w. Având ı̂n vedere Ps expresia lui f din relaţia (3.2), deducem că
f se poate scrie sub forma f = i=1 hi gi , cu max{in< (h′i gi) : 1 ≤ i ≤ s} < w,

ceea ce contrazice alegerea lui w.

Exemplul 3.2.4. Fie g1 = x − z 2 , g2 = y − z 3 ∈ k[x, y, z]. Considerăm


ordonarea lexicografică pe k[x, y, z] şi I = (g1 , g2 ). Slex (g1 , g2 ) = xz 3 − yz 2 =
z 3 (x − z 2 − z 2 (y − z 3 )). Cum restul ı̂mpărţirii lui S< (g1 , g2 ) la familia G =
{g1 , g2 } este zero, rezultă că G este o bază Gröbner a lui I relativ la ordonarea
lexicografică.

Exemplul 3.2.5. Fie polinoamele f1 = 2xy 2 − x, f2 = 3x2 y − y − 1 ∈ R[x, y].


Sdeglex (f1 , f2 ) = − 21 x2 + 13 y 2 + 13 dă restul nenul la ı̂mpărţirea cu {f1 , f2 }, deci
mulţimea {f1 , f2 } nu este bază Gröbner pentru idealul pe care-l generează.

Algoritmul următor determină o bază Gröbner a unui ideal I ⊂ S pornind


de la un sistem de generatori finit F = {g1 , . . . , gs } al lui I.

Algoritmul Buchberger

Input: F = (g1 , . . . , gs ) // F este un sistem de generatori pentru idealul I.


Output: G = (g1 , . . . , gt ) // G este bază Gröbner pentru I.
44 Capitolul 3. Baze Gröbner. Algoritmul Buchberger

G := F
REPEAT
G′ = G
FOR p, q ∈ G′ , p 6= q DO
S := restul ı̂mpărţirii lui S(p, q) la G′
IF S 6= 0 THEN G := G ∪ {S}
UNTIL G = G′
Prin urmare, plecăm de la un sistem de generatori F şi iniţializăm G cu
F. Ori de câte ori găsim un S–polinom al unei perechi de polinoame care dă
rest nenul la ı̂mpărţirea cu familia G adăugăm acest rest la G şi continuăm
testarea cu S–polinoamele noii familii G. Algoritmul se opreşte după un
număr finit de paşi. Intr-adevăr, când adăugăm un rest nenul S, atunci

(in< (g) : g ∈ G) ( (in< (g) : g ∈ G ∪ S).

Dar inelul S este Noetherian. Aplicând Propoziţia 3.1.7, deducem că, după
un număr finit de paşi, ı̂n algoritmul Buchberger toate S–polinoamele perechi-
lor (p, q) dau restul zero la ı̂mpărţirea cu familia G, ceea ce, conform criteri-
ului din Teorema 3.2.3, arată că am obţinut o bază Gröbner a idealului I.
Exemplul 3.2.6. Fie I idealul generat de

g1 = y − x2 , g2 = z − x3 ∈ R[x, y, z].

Considerăm fixată ordonarea lexicografică cu x > y > z.


S−polinomul S(g1 , g2 ) este −xy + z şi restul la ı̂mpărţirea cu familia G =
{g1 , g2 } este
g3 = −xy + z.
Adăugăm g3 la G. S−polinomul S(g1 , g3 ) este xz−y 2 . Acesta dă la ı̂mpărţirea
cu G = {g1 , g2 , g3 } restul
g4 = xz − y 2 .
Adăugăm polinomul g4 la familia G. Cum S(g1 , g4 ) dă restul zero la ı̂mpărţirea
cu G = {g1 , g2 , g3 , g4} continuăm cu calculul polinomului S(g2 , g3 ). Obţinem
restul zero şi continuăm testarea cu S(g2 , g4 ) = y 3 − z 2 , care dă restul

g5 = y 3 − z 2 .

Rezultă noul sistem de generatori G = {g1 , g2, g3 , g4 , g5 }. S−polinoamele


S(g1 , g5), S(g2 , g5 ), S(g3, g5 ), S(g4 , g5 ) dau toate restul zero la ı̂mpărţirea cu
3.3. Baze Gröbner reduse 45

G. Este clar că aceste verificări sunt suficiente pentru a decide că

G = {g1 , g2, g3 , g4 , g5 }

este o bază Gröbner pentru I. In particular, rezultă că idealul iniţial al lui I
este
inlex (I) = (x2 , x3 , xy, xz, y 3) = (x2 , xy, xz, y 3 ).

Chiar din exemplul anterior putem deduce că un ideal nu are o unică
bază Gröbner relativ la o ordonare monomială fixată. In exemplul anterior,
G′ = {g1 , g3, g4 , g5 } formează o bază Gröbner a idealului I = (g1 , g2 ) deoarece
monomalele iniţiale ale polinoamelor din G′ generaeză idealul inlex (I). Vom
vedea ı̂n secţiunea următoare că un ideal are o unică bază Gröbner cu pro-
prietăţi suplimentare.

3.3 Baze Gröbner reduse


Definiţia 3.3.1. Fie I ⊂ S un ideal şi G o bază Gröbner a lui I relativ la o
ordonare monomială ≤ fixată pe S. G se numeşte bază Gröbner redusă dacă
satisface următoarele două condiţii:

(i) lc< (p) = 1, pentru orice p ∈ G;

(ii) orice polinom p ∈ G este redus modulo G − {p}, adică orice monom
care apare ı̂n scrierea lui p nu aparţine idealului (in< (g) : g ∈ G − {p}).

Teorema 3.3.2. Fie I ⊂ S un ideal. I are o unică bază Gröbner redusă


relativ la o ordonare monomială fixată pe S.

Demonstraţie. Existenţa. Fie ≤ o ordonare fixată pe S şi G o bază Gröbner


a lui I. Este clar că putem elimina din G toate acele polinoame p cu propri-
etatea că in< (p) ∈ (in< (g) : g ∈ G − {p}). De asemenea, putem ı̂nmulţi con-
venabil polinoamele rămase cu constante nenul din k astfel ı̂ncât coeficienţii
lor dominanţi să fie 1. Cu alte cuvinte, pornind de la o bază Gröbner arbitrară
putem obţine o nouă bază Gröbner G, astfel ı̂ncât lc< (p) = 1, pentru orice
p ∈ G. Să notăm g1 , . . . , gs elementele lui G. In continuare demonstrăm că
putem ı̂nlocui elementele lui G cu polinoame care să respecte condiţia a doua
din enunţ, fără să pierdem calitatea de bază Gröbner prin aceste ı̂nlocuiri.
Fie g1′ restul ı̂mpărţirii polinomului g1 la familia G − {g1 }. Evident, g1′ este
46 Capitolul 3. Baze Gröbner. Algoritmul Buchberger

redus modulo G − {g1 }. In plus, observăm că in< (g1 ) = in< (g1′ ) deoarece
in< (g1 ) ∈ (in< (g) : g ∈ G − {g1 }). Prin urmare, G′ = {g1′ , g2 , . . . , gs } este
bază Gröbner a lui I. Procedăm analog cu toate celelalte polinoame g2 , . . . , gs .
In final obţinem o bază Gröbner redusă a lui I.
Unicitatea. Este clar că orice două baze Gröbner reduse G1 şi G2 ale lui I
au acelaşi număr de elemente deoarece {in< (g) : g ∈ G1 } = {in< (g) : g ∈
G2 } = G(in< (I)). Fie G1 = {g1 , . . . , gr } şi G2 = {g1′ , . . . , gr′ }. Vom demon-
stra că G1 = G2 . Există 1 ≤ j1 ≤ r astfel ı̂ncât in< (g1 ) = in< (gj′ 1 ). Vom
arăta că g1 = gj′ 1 . Să presupunem, prin absurd, că g1 − gj′ 1 6= 0. Atunci
in< (g1 − gj′ 1 ) ∈ in< (I) = {in< (g) : g ∈ G1 } = {in< (g) : g ∈ G2 }, ceea ce
conduce la o contradicţie deoarece in< (g1 − gj′ 1 ) este unul din monoamele lui
g1 sau gj′ 1 , iar G1 şi G2 sunt baze reduse. Prin urmare, g1 = gj′ 1 . Analog,
pentru g2 , găsim 1 ≤ j2 ≤ r, j2 6= j1 , astfel ı̂ncât g2 = gj2 . Din aproape ı̂n
aproape obţinem că elementele lui G1 sunt o permutare a elementelor lui G2 ,
ceea ce ı̂ncheie demonstraţia.
Corolarul 3.3.3. Fie I, J ⊂ S două ideale. Atunci I = J dacă şi numai
dacă au aceeaşi bază Gröbner redusă relativ la o ordonare monimială fixată
pe S.
Corolarul de mai sus furnizează şi un algoritm pentru testarea egalităţii a
două ideale. Date idealele I, J ale lui S, determinăm câte o bază Gröbner re-
dusă G1 , respectiv G2 , pentru fiecare din ele, relativ la o ordonare monomială
oarecare de pe S. Dacă G1 = G2 , atunci I = J, altfel, I 6= J.
Exemplul 3.3.4. Fie I = (y − x2 , xz − y 2 ), J = (y − x2 , xz − x4 ) ⊂ Q[x, y, z].
Ambele ideale au baza Gröbner {x2 − y, y 2 − xz} relativ la ordonarea revlex-
icografică, prin urmare sunt egale.
Incheiem această secţiune cu un exemplu de bază Gröbner a unui ideal
relativ la orice ordonare monomială. O asemenea bază Gröbner se numeşte
universală.
Exemplul 3.3.5. [21] Fie inelul de polinoame k[{xij : 1 ≤ i ≤ 2, 1 ≤ j ≤ 3}]
şi I idealul generat de minorii de ordin 2 ai matricei (xij ),

x11 x12 x11 x13 x12 x13
D12 = ,D = şi D23 =
x22 x23 .
x21 x22 13 x21 x23
Vom demonstra că {D12 , D13 , D23 } este bază Gröbner a idealului pe care ı̂l
generează pentru orice ordonare monomială pe inelul k[xij ]. Fie ≤ o asemenea
3.3. Baze Gröbner reduse 47

ordonare. Avem următoarele cazuri posibile:

(1) x11 x22 > x12 x21 , x11 x23 > x13 x21 şi x12 x23 > x13 x22 .
(2) x11 x22 > x12 x21 , x11 x23 > x13 x21 şi x12 x23 < x13 x22 .
(3) x11 x22 > x12 x21 , x11 x23 < x13 x21 şi x12 x23 > x13 x22 .
(4) x11 x22 > x12 x21 , x11 x23 < x13 x21 şi x12 x23 < x13 x22 .
(5) x11 x22 < x12 x21 , x11 x23 > x13 x21 şi x12 x23 > x13 x22 .
(6) x11 x22 < x12 x21 , x11 x23 > x13 x21 şi x12 x23 < x13 x22 .
(7) x11 x22 < x12 x21 , x11 x23 < x13 x21 şi x12 x23 > x13 x22 .
(8) x11 x22 < x12 x21 , x11 x23 < x13 x21 şi x12 x23 < x13 x22 .

Idealul I este invariant la permutarea coloanelor matricei (xij ). Această


acţiune a grupului simetric S3 induce o acţiune asupra celor 8 cazuri de mai
sus cu două orbite: {(1), (2), (4), (5), (7), (8)} şi {(3), (6)}. De aceea este sufi-
cient să analizăm cazurile (1) şi (3). In cazul (3) observăm că, dacă ı̂nmulţim
inegalităţile termen cu termen, obţinem, reordonând factorii,
Y Y
xij > xij ,
i,j i,j

inegalitate imposibilă. Prin urmare acest caz nu poate să apară. Să con-
siderăm aşadar, cazul (1). Vom demonstra cu ajutorul criteriului Buchberger
că {D12 , D13 , D23 } este bază Gröbner a idealului I. Avem

S(D12 , D13 ) = x23 D12 − x22 D13 = −x21 D23 .

Analog se demonstrează că şi celelalte două S–polinoame se reduc la zero


după ı̂mpărţirea la familia {D12 , D13 , D23 }.

3.3.1 Baze Gröbner şi Singular


In Singular se poate determina o bază Gröbner redusă a unui ideal
relativ la o ordonare dată cu ajutorul funcţilor std sau groebner. Funcţia
groebner se poate folosi numai pentru ordonările globale.
Exemplul 3.3.6. Considerăm un inel de polinoame ı̂n două nedeterminate
cu ordonarea revlexicografică.

> ring A=0,(x,y),dp;


ideal I=x10+x9y2,y8-x2y7;
48 Capitolul 3. Baze Gröbner. Algoritmul Buchberger

std(I);
groebner(I);

_[1]=x2y7-y8
_[2]=x9y2+x10
_[3]=x12y+xy11
_[4]=x13-xy12
_[5]=y14+xy12
_[6]=xy13+y12

_[1]=x2y7-y8
_[2]=x9y2+x10
_[3]=x12y+xy11
_[4]=x13-xy12
_[5]=xy13+y12
_[6]=y14+xy12

Testăm apartenenţa unui polinom la idealul I cu ajutorul funcţiei reduce:


> poly f=x2y7+y14;
reduce(f,std(I));

-xy12+y8
Rezultatul afişat de Singular arată că polinomul considerat nu se află ı̂n
idealul I. Repetăm testul pentru polinomul g = xy 13 + y 12 .
> poly g=xy13+y12;
reduce(g,std(I));

0
Prin urmare, cum g se reduce la zero, avem g ∈ I.

3.4 Exerciţii
E 3.4.1. Fie idealul I = (xy 2 −x, x−y 3 ) ⊂ k[x, y]. Determinaţi baza Gröbner
redusă a lui I relativ la ordonarea lexicografică şi revlexicografică. In fiecare
caz ı̂n parte determinaţi idealul iniţial al lui I.
3.4. Exerciţii 49

E 3.4.2. Determinaţi un sistem de generatori finit pentru

I = (y − x2 , y − x3 , y − x4 , . . .) ⊂ Q[x, y],

apoi calculaţi o bază Gröbner a lui I ı̂ntr-o ordonare la alegere.


E 3.4.3. Determinaţi o bază Gröbner pentru idealul

I = (x + y 2 + z 3 , x2 + y 3 + z 4 , x3 + y 4 + z 5 , . . .) ⊂ Q[x, y, z].

E 3.4.4. Fie idealul I = (yz−z 2 , xz−z 2 , xy−z 2 ) ⊂ k[x, y, z]. Demonstraţi că
există exact 5 baze Gröbner reduse posibile ale lui I. Determinaţi, ı̂n fiecare
caz, idealul iniţial al lui I.
E 3.4.5. După execuţia următoarei secvenţe de instrucţiuni din Singular

> ring r=0,(x,y,z),lp;


> ideal I=x2y+xy3,x4+x2y2+z2,z3-y3z;
> std(I);

programul afişează rezultatul:

_[1]=z15+z11+3z9+3z7+z5
_[2]=yz3-z13+z11-2z9-z7-z5
_[3]=y3z-z3
_[4]=xz4+y5z2
_[5]=xyz2+y3z2
_[6]=xy7+xy5-yz2
_[7]=x2z3+xy5z
_[8]=x2y+xy3
_[9]=x4+x2y2+z2

Ce ordonare monomială s-a folosit?


Determinaţi idealul iniţial al lui I relativ la ordonarea folosită.
E 3.4.6. Se consideră următoarea secvenţă de instrucţiuni ı̂n Singular:
ring A=0,(x,y,z),dp;
poly g=xy3-z2+y5-z3;
ideal I=-x3+y,x2y-z;
ideal J=std(I);
J;
50 Capitolul 3. Baze Gröbner. Algoritmul Buchberger

Ce output se va afişa?
Dar după execuţia următoarei instrucţiuni?

reduce(g,J);

E 3.4.7. Ce rezultat afişează Singular după execuţia următoarei secvenţe


de instrucţiuni?

ring A=0,(x,y,z),dp;
poly f=x2yz+xy2z+y2z+z3+xy;
poly f1=xy+y2-1;
poly f2=xy;
ideal G=f1,f2;
ideal S=std(G);
S;
reduce(f,S);

E 3.4.8. Calculaţi cu Singular baza Gröbner redusă a fiecăruia dintre ide-


alele de mai jos folosind ordonarea lexicografică şi revlexicografică. In fiecare
caz ı̂n parte observaţi diferenţa dintre numărul de elemente ale bazei realtiv
la cele două ordonări considerate.

(a) I = (x5 + y 4 + z 3 − 1, x3 + y 2 + z 2 − 1) ⊂ k[x, y, z].

(b) I = (x5 +y 4 +z 3 −1, x3 +y 3 +z 2 −1) ⊂ k[x, y, z]. Observaţi că generatorii


acestui ideal diferă doar prin exponentul lui y ı̂n al doilea generator.

(c) I = (x4 − yz 2 w, xy 2 − z 3 , x3 z − y 3w) ⊂ k[x, y, z, w].


Capitolul 4
Aplicaţii

4.1 Aplicaţii ı̂n teoria polinoamelor simetrice


Incepem cu o aplicaţie directă a teoriei bazelor Gröbner ı̂n studiul poli-
noamelor simetrice.
Reamintim definiţia polinomului simetric şi Teorema fundamentală a poli-
noamelor simetrice. Proprietăţile polinoamelor simetrice sunt studiate ı̂n
orice curs de bază de algebră.

Definiţia 4.1.1. Un polinom f ∈ k[x1 , . . . , xn ] se numeşte simetric dacă


f (xσ(1) , . . . , fσ(n) ) = f (x1 , . . . , xn ), pentru orice permutare σ ∈ Sn .

Mulţimea polinoamelor simetrice formează subinel ı̂n inelul S. Cu S notăm,


ca şi ı̂n capitolele anterioare, inelul k[x1 , . . . , xn ]. Următoarele polinoame sunt
simetrice:
s1 (x1 , . . . , xn ) = x1 P
+ . . . + xn ,
s2 (x1 , . . . , xn ) = xi xj ,
1≤i<j≤n
..
. P
sm (x1 , . . . , xn ) = xi1 . . . xim
1≤i1 <...<im ≤n
..
.
sn (x1 , . . . , xn ) = x1 x2 . . . xn .
Ele se numesc polinoamele simetrice fundamentale ı̂n n nedeterminate.

51
52 Capitolul 4. Aplicaţii

Teorema 4.1.2 (Teorema fundamentală a polinoamelor simetrice). Fie f ∈


S un polinom simetric. Atunci există un unic polinom g ∈ S astfel ı̂ncât
f = g(s1, . . . , sn ).
Cu alte cuvinte, teorema de mai sus afirmă că orice polinom simetric se
poate exprima ı̂n mod unic ca un polinom de polinoamele simetrice funda-
mentale.
De exemplu, polinomul f = x31 + x32 + x33 = k[x1 , x2 , x3 ] se exprimă

f = s31 − 3s21 s2 + 3s3 ,

unde s1 , s2 , s3 sunt polinoamele simetrice fundamentale ı̂n trei nedeterminate.


In teorema următoare vom vedea cum se poate determina polinomul g
din Teorema 4.1.2 cu ajutorul bazei Gröbner a unui anumit ideal din inelul
polinoamelor ı̂n nedeterminatele x1 , . . . , xn , y1 , . . . , yn .
Teorema 4.1.3. Fie inelul R = k[x1 , . . . , xn , y1 , . . . , yn ] ı̂nzestrat cu or-
donarea lexicografică cu x1 > . . . > xn > y1 > . . . > yn şi G o bază Gröbner
a idealului

I = (s1 (x1 , . . . , xn ) − y1 , s2 (x1 , . . . , xn ) − y2 , . . . , sn (x1 , . . . , xn ) − yn ).


G
Fie f ∈ S şi g = f . Atunci:
(a) f este simetric dacă şi numai dacă g ∈ k[y1 , . . . , yn ].

(b) Când f este simetric, g este unicul polinom cu proprietatea că f =


g(s1, . . . , sn ).
Demonstraţie. Să presupunem că g ∈ k[y1 , . . . , yn ]. Cum f se poate scrie f =
u+g, cu u ∈ I, rezultă că există nişte polinoame a1 , . . . , an ı̂n nedeterminatele
x1 , . . . , xn , y1, . . . , yn astfel ı̂ncât

f = a1 (s1 − y1 ) + . . . + an (sn − yn ) + g.

Substituind yi cu si , pentru orice 1 ≤ i ≤ n, obţinem f = g(s1, . . . , sn ), deci


f este simetric şi am găsit exprimarea sa ca polinom de polinoamele simetrice
fundamentale. Prin urmare, am demonstrat implicaţia ⇐ ı̂n (a) şi afirmaţia
de la (b).
Să demonstrăm implicaţia ⇒ ı̂n (a). Fie f un polinom simetric. Trebuie
G
să demonstrăm că f ∈ k[y1 , . . . , yn ]. Conform Teoremei 4.1.2, există h ∈ S
4.1. Aplicaţii ı̂n teoria polinoamelor simetrice 53
P i1 in
astfel ı̂ncât f = h(s1 , . . . , sn ). Fie h = α=(i1 ,...,in ) aα x1 . . . xn , aα ∈ k.
Atunci
X X
f= aα si11 . . . sinn = aα (y1 + (s1 − y1 ))i1 . . . (yn + (sn − yn ))in =
α α

X
= aα y1i1 . . . ynin + h′ ,
α

unde h′ este o combinaţie de generatorii lui I, deci g ∈ I. Vom demon-


G P i1 in
stra că f = α aα y1 . . . yn , ceea ce va ı̂ncheia demonstraţia. Pentru
aceasta este suficient să demonstrăm că orice monom care apare ı̂n scrierea
P i1 in i1 in
α aα y1 . . . yn nu este ı̂n idealul inlex (I). Fie y1 . . . yn un asemenea monom.
Să presupunem, prin absurd, că există un polinom nenul p ∈ I astfel ı̂ncât
inlex (p) | y1i1 . . . ynin . Rezultă că inlex (p) este un monom ı̂n y1 , . . . , yn . Atunci,
datorită ordonării monomiale folosite, p este un polinom ı̂n nedeterminatele
y1i1 . . . ynin . Dar p ∈ I, deci există nişte polinoame b1 , . . . , bn ı̂n inelul de poli-
noame ı̂n nedeterminatele {x1 , . . . , xn , y1 , . . . , yn } astfel ı̂ncât

p = b1 (s1 − y1 ) + . . . + bn (sn − yn ).

Substituind yi cu si , pentru orice 1 ≤ i ≤ n, obţinem p(s1 , . . . , sn ) = 0.


Aplicând, din nou, Teorema 4.1.2, obţinem p = 0, contradicţie.

Pentru idealul I din teorema de mai sus putem determina efectiv o bază
Gröbner relativ la ordonarea lexicografică.
Pentru ı̂nceput avem nevoie de un rezultat ajutător. Pentru o familie de
nedeterminate u1 , . . . , us , notăm cu hi (u1 , . . . , us ) suma tuturor monoamelor
de grad i ı̂n nedeterminatele u1 , . . . , us .

Lema 4.1.4. Pentru orice 1 ≤ ℓ ≤ n, avem identităţile:



X
hℓ (xℓ , . . . , xn ) + (−1)i hℓ−i (xℓ , . . . , xn )si (x1 , . . . , xn ) = 0,
i=1

unde s1 , . . . , sn sunt polinoamele simetrice fundamentale ı̂n nedeterminatele


x1 , . . . , xn .

Demonstraţie. Procedăm prin inducţie după n. Pentru n = 1 avem o singură


identitate care este trivial verificată.
54 Capitolul 4. Aplicaţii

Fie n > 1. Pentru orice ℓ şi orice j avem

hj (xℓ , . . . , xn ) = hj (xℓ , . . . , xn−1 )+xn hj−1 (xℓ , . . . , xn−1 )+x2n hj−2(xℓ , . . . , xn−1 )+
+ . . . + xnj−1 h1 (xℓ , . . . , xn−1 ) + xjn .
Folosind şi relaţiile de recurenţă pentru polinoamele simetrice fundamen-
tale şi notând cu s′i polinoamele simetrice fundamentale ı̂n nedeterminatele
x1 , . . . , xn−1 , obţinem:

X
hℓ (xℓ , . . . , xn ) + hℓ−i (xℓ , . . . , xn )si (x1 , . . . , xn ) =
i=1

= hℓ (xℓ , . . . , xn−1 ) + xn hℓ−1 (xℓ , . . . , xn−1 ) + . . . + xℓn +



X
+ (−1)i (hℓ−i (xℓ , . . . , xn−1 )+xn hℓ−i−1 (xℓ , . . . , xn−1 )+. . .+xℓ−i ′ ′
n )(si +xn si−1 ).
i=1
Regrupând termenii ı̂n suma de mai sus astfel ı̂ncât să punem ı̂n evidenţă
factorul xjn , pentru j = 0, 1, . . . , ℓ, şi folosind ipoteză de inducţie, obţinem
egalitatea cu zero ı̂n suma din enunţ.
Propoziţia 4.1.5. Fie inelul R = k[x1 , . . . , xn , y1, . . . , yn ] ı̂nzestrat cu or-
donarea lexicografică cu x1 > . . . > xn > y1 > . . . > yn şi idealul

I = (s1 (x1 , . . . , xn ) − y1 , s2 (x1 , . . . , xn ) − y2 , . . . , sn (x1 , . . . , xn ) − yn ) ⊂ R.


O bază Gröbner a lui I este dată de G = {g1 , . . . , gn }, unde
j
X
gj = hj (xj , . . . , xn ) + (−1)i hj−i (xj , . . . , xn )yi,
i=1

pentru 1 ≤ j ≤ n.
Demonstraţie. Scriem polinoamele gj sub forma

j
X
gj = hj (xj , . . . , xn ) + (−1)i hj−i (xj , . . . , xn )(si + yi − si ) =
i=1

j
X
= hj (xj , . . . , xn ) + (−1)i hj−i (xj , . . . , xn )si +
i=1
4.2. Exerciţii 55

j
X
+ (−1)i hj−i (xj , . . . , xn )(yi − si ).
i=1

Folosind identităţile din lema anterioară, obţinem imediat că (g1 , . . . , gn ) ⊂ I.


Pentru incluziunea inversă, scriem polinoamele gj sub forma
j−1
X
gj = (−1)i hj−i(xj , . . . , xn )(si − yi ) + (−1)j (yi − si ).
i=1

Folosind aceste relaţii, din aproape ı̂n aproape, deducem că

si − yi ∈ (g1 , . . . , gn ),

pentru orice 1 ≤ i ≤ n. Prin urmare G este sistem de generatori pentru


I. Pentru 1 ≤ i < j ≤ n, avem inlex (gi ) = xii şi inlex (gj ) = xjj , deci
gcd(inlex (gi ), inlex (gj )) = 1. Rezultă că, pentru orice 1 ≤ i < j ≤ n, S–
polinomul S(gi, gj ) se reduce la zero modulo G, deci G este o bază Gröbner
pentru I.

4.2 Exerciţii
E 4.2.1. Folosind Singular, scrieţi ca polinom ı̂n polinoamele simetrice fun-
damentale următoarele polinoame:
(a) x41 + x42 + x43 − 2x21 x22 − 2x21 x23 − 2x21 x23 ;

(b) (x1 + x2 )(x2 + x3 )(x1 + x3 );

(c) (x21 + x22 )(x22 + x23 )(x21 + x23 );

(d) (2x1 − x2 − x3 )(2x2 − x1 − x3 )(2x3 − x1 − x2 );

(e) x4 + y 4 + z 4 + t4 − x2 y 2 z 2 t2 .
E 4.2.2. Demonstraţi identităţile lui Newton:

Pk − s1 Pk−1 + . . . + (−1)k−1 sk−1 P1 + (−1)k ksk = 0, 1 ≤ k ≤ n,

Pk − s1 Pk−1 + . . . + (−1)n−1 sn−1 Pk−n+1 + (−1)n sn Pk−n = 0, k > n.


Am notat Pk = xk1 + xk2 + . . . + xkn , k ≥ 1.
56 Capitolul 4. Aplicaţii

4.3 Teorema eliminării şi aplicaţii la operaţii


cu ideale
Pentru un ideal I ⊂ S şi un ı̂ntreg 1 ≤ t ≤ n + 1, notăm It =
I ∩ k[xt , . . . , xn ]. Convenim că In+1 = (0). Idealele It se numesc idealele
de eliminare ale lui I.

Teorema 4.3.1 (Teorema eliminării). Fie I ⊂ S un ideal. Dacă G este


o bază Gröbner a lui I relativ la ordonarea lexicografică pe S, atunci Gt =
G ∩ k[xt , . . . , xn ] este o bază Gröbner a lui It , pentru orice t ≥ 1.

Demonstraţie. Fie G = {g1 , . . . , gs }. Să presupunem că Gt = {g1 , . . . , gr },


adică g1 , . . . , gr ∈ k[xt , . . . , xn ] şi gr+1 , . . . , gs 6∈ k[xt , . . . , xn ]. Vom demonstra
că Gt este un sistem de generatori pentru It care satisface criteriul Buch-
berger. Evident (Gt ) ⊂ It . Invers, fie f ∈ It . In particular, avem f ∈ I.
G
Cum G este bază Gröbner a lui I, rezultă f = 0. Deci există a1 , . . . , as ∈ S
astfel ı̂ncât f = a1 g1 + . . . ar gr + ar+1 gr+1 + . . . + as gs . Să presupunem că
există i ≥ r + 1 astfel ı̂ncât ai 6= 0. In acest caz, inlex (f ) ≥ inlex (ai gi ).
Dar această inegalitate este imposibilă deoarece f ∈ k[xt , . . . , xn ], pe când
gi 6∈ k[xt , . . . , xn ], deci inlex (gi ) se divide cu cel puţin o nedeterminată din
mulţimea x1 , . . . , xt−1 . Prin urmare, ai = 0, pentru orice i ≥ t + 1, deci
f ∈ (Gt ).
Pentru verificarea criteriului Buchberger, să alegem 1 ≤ i < j ≤ t şi să
G
considerăm S–polinomul S(gi , gj ). Evident Slex (gi , gj ) = 0. Cu acelaşi tip
Gt
de argumentare ca mai sus deducem că Slex (gi , gj ) = 0.

Observaţia 4.3.2. Teorema eliminării se poate enunţa pentru orice ordonare


de eliminare a primelor t − 1 nedeterminate, adică are proprietatea că orice
monom care se divide cu una din nedeterminatele x1 , . . . , xt−1 este strict
mai mare decât orice monom format numai cu nedeterminatele xt , . . . , xn .
De exemplu, ı̂n loc de ordonarea lexicografică, se poate folosi o ordonare pe
blocuri. Punem ı̂n primul bloc nedeterminatele x1 , . . . , xt−1 , ordonate după
o ordonare arbitrară <1 , iar ı̂n al doilea, restul nedeterminatelor, ordonate
după o ordonare <2 .

Vom aplica Teorema eliminării pentru a obţine algoritmi de determinare


a bazelor Gröbner pentru operaţii cu ideale polinomiale.
4.3. Teorema eliminării şi aplicaţii la operaţii cu ideale 57

Fixăm, mai ı̂ntâi, următoarea notaţie. Pentru I ⊂ S un ideal şi f (t) ∈ k[t]
un polinom, notăm cu f (t)I idealul din S[t] generat de {f (t)p : p ∈ I}. Este
uşor de demonstrat că, dacă I este generat de p1 , . . . , pr ∈ S, atunci f (t)I
este generat de f (t)p1 , . . . , f (t)pr .

Propoziţia 4.3.3. Fie I, J ⊂ S două ideale. Atunci I ∩ J = (tI + (1 −


t)J)S[t] ∩ S.

Demonstraţie. Fie f ∈ I ∩ J. Atunci f = tf + (1 − t)f ∈ (tI + (1 − t)J)S[t] ∩ S.


Invers, fie g ∈ (tI + (1 − t)J)S[t] ∩ S. Atunci g = h1 + h2 , h1 ∈ tI şi h2 ∈
(1 − t)J. Rezultă că h1 = th′ , cu h′ ∈ IS[t], iar h2 = (1 − t)h′′ , cu h′′ ∈
JS[t]. Rezultă g = th′ + (1 − t)h′′ . Substituind t cu 0 ı̂n această egalitate,
obţinem g = h′′ (0, x1 , . . . , xn ) ∈ J. Apoi, substituind t cu 1, obţinem g =
h′ (1, x1 , . . . , xn ) ∈ I. prin urmare, g ∈ I ∩ J.

Propoziţia de mai sus ne arată că I ∩ J se poate obţine ca ideal de


eliminare pentru idealul tI + (1 − t)J ⊂ S[t]. Prin urmare, pentru a obţine o
bază Gröbner a intersecţiei I ∩ J, procedăm astfel. Pe inelul k[t, x1 , . . . , xn ]
considerăm ordonarea lexicografică cu t > x1 > . . . > xn sau orice altă
ordonare de eliminare a lui t. Determinăm o bază Gröbner a idealului tI +
(1 − t)J ⊂ S[t] şi apoi intersectăm această bază cu S. Rezultatul va fi o bază
Gröbner pentru I ∩ J.

Exemplul 4.3.4. Fie idealele

I = (x2 − 3xy + 2y 2 ), J = (x2 − y 2) ⊂ R[x, y].

O bază Gröbner pentru idealul tI + (1 − t)J ⊂ R[t, x, y], cu ordonarea lexi-


cografică, este

G = {tx2 − ty 2 − x2 + y 2 , 3txy − 3ty 2 − x2 + y 2 , x3 − 2x2 y − xy 2 + 2y 3}.

Primul ideal de eliminare al lui tI + (1 − t)J are baza

G1 = {x3 − 2x2 y − xy 2 + 2y 3 },

deci idealul I ∩ J este generat de polinomul

x3 − 2x2 y − xy 2 + 2y 3 = (x − y)(x + y)(x − 2y).


58 Capitolul 4. Aplicaţii

Pentru câtul idealelor, reamintim


Ts că, dacă I, J sunt ideale ı̂n S, J =
(g1 , . . . , gs ), avem I : J = i=1 I : (gi ). Prin urmare, pentru a determina
o bază Gröbner a lui I : J, e suficient să ştim să calculăm o bază Gröbner
pentru un ideal de forma I : (g), g ∈ S.
Propoziţia 4.3.5. Fie I ⊂ S un ideal şi g ∈ S un polinom. Dacă {q1 , . . . , qr }
este un sistem de generatori pentru I ∩(g), atunci { qg1 , . . . , ggr } este un sistem
de generatori pentru I : (g).
Demonstraţie. Fie H = { qg1 , . . . , ggr }. Este evident că (g)H ⊂ (q1 , . . . , qr ) ⊂
I, deci (H) ⊂ I : (g). Reciproc, fie f ∈ I : (g). Rezultă f g ∈ I ∩ (g),
deci f g ∈ (q1 , . . . , qr ). Cum toate polinoamele q1 , . . . , qr sunt divizibile cu g,
rezultă f ∈ (H).
Propoziţia 4.3.6. Fie I ⊂ S un ideal şi f ∈ S. Notăm

I : f ∞ = {g ∈ S : există m > 0 astfel ı̂ncât f m g ∈ I}.

Atunci:
(a) I : f ⊂ I : f 2 ⊂ . . . ⊂ I : f m ⊂ . . . .

(b) Există un ı̂ntreg N astfel ı̂ncât

I : f N = I : f N +1 = I : f N +2 = . . . = I : f ∞ .

In particular, rezultă că I : f ∞ este un ideal ı̂n S.


Demonstraţie. (a). Fie m > 0 şi h ∈ I : f m . Atunci hf m ∈ I, deci hf m+1 ∈ I,
adică h ∈ I : f m+1 . S
(b). Din definiţia lui I : f ∞ avem I : f ∞ = m>0 (I : f m ). Cum inelul
S este noetherian, şirul crescător de ideale de la (a) este staţionar de la un
rang ı̂ncolo, deci există un ı̂ntreg N astfel ı̂ncât

I : f N = I : f N +1 = I : f N +2 = . . . = I : f ∞ .

Definiţia 4.3.7. Fie I ⊂ S un ideal şi f ∈ S. Idealul

I : f ∞ = {g ∈ S : există m > 0 astfel ı̂ncât f m g ∈ I}

se numeşte saturatul lui I ı̂n raport cu f .


4.4. Exerciţii 59

In propoziţia următoare arătăm că saturatul unui ideal ı̂n S ı̂n raport cu
un polinom f ∈ S se poate determina folosind Teorema 4.3.1.

Propoziţia 4.3.8. Fie I ⊂ S un ideal şi f ∈ S un polinom. Fie t o nouă


nedeterminată şi Ie idealul generat de I şi 1−f t ı̂n S[t]. Atunci I : f ∞ = Ie∩S.

Demonstraţie. Fie g ∈ I : f ∞ . Rezultă că există m > 0 astfel ı̂ncât gf m =


u ∈ I. Atunci

g = f m tm g+(1−f mtm )g = utm +(1−f t)(1+f t+. . .+(f t)m−1 )g ∈ (I, 1−f t)S[t] .

Invers, fie g ∈ (I, 1 − f t)S[t] . Atunci putem scrie g = u + v(1 − tf ), unde


u ∈ IS[t] şi v ∈ S[t]. Dacă I ⊂ S este generat de polinoamele f1 , . . . , fs ,
putem scrie u sub forma u = a1 f1 + . . . as fs , unde a1 , . . . , as sunt polinoame
ı̂n S[t]. Substituind t cu 1/f ı̂n expresia lui g obţinem

1 1
g = a1 ( , x1 , . . . , xn )f1 + . . . as ( , x1 , . . . , xn )fs .
f f

Eliminând numitorii ı̂n egalitatea de mai sus, găsim o putere m, suficient de


mare, astfel ı̂ncât f m g să se exprime ca o combinaţie de polinoamele f1 , . . . fs
cu coeficienţi ı̂n S, ceea ce implică f m g ∈ I, deci g ∈ I : f ∞ .

Prin urmare, dacă dorim să determinăm o bază Gröbner a saturatului


I : f ∞ , e suficient să găsim o bază Gröbner G a idealului Ie ⊂ S[t], relativ
la o ordonare de eliminare a lui t, de exemplu ordonarea lexicografică, unde
t > x1 > . . . > xn , iar apoi să intersectăm G cu S.
Calculul saturatului poate fi folosit şi ca procedeu de testare
√ a apartenenţei
la radicalul unui ideal. Intr-adevăr, este evident că f ∈ I dacă şi numai
dacă I : f ∞ = S, deci, dacă şi numai dacă 1 ∈ I.e

4.4 Exerciţii
E 4.4.1. Folosind Singular, calculaţi ı̂n Q[x, y, z],

(x, y) ∩ (xz − y 2, x3 − yz, z 2 − x2 y)

şi
(xz − y 2, x3 − yz) : (x, y).
60 Capitolul 4. Aplicaţii

E 4.4.2. Fie R un inel oarecare şi a ∈ R. a se numeşte element nilpotent


ı̂n R dacă există un ı̂ntreg raţional m > 0 astfel ı̂ncât am = 0. Pentru un
element nilpotent a ∈ R, numărul min{m > 0 : am = 0} se numşte indicele
de nilpotenţă al lui a.
(a) Demonstraţi că elementele nilpotente formează un ideal ı̂n inelul R.

(b) Fie I ⊂ R un ideal. Demonstraţi că a +√I este element nilpotent ı̂n
inelul factor R/I dacă şi numai dacă a ∈ I.
E 4.4.3. Realizaţi o procedură ı̂n Singular care, pentru un polinom f ∈ S
şi un ideal I ⊂ S, să testeze dacă f + I este element nilpotent ı̂n inelul factor
S/I. In caz afirmativ, procedura trebuie să precizeze şi indicele de nilpotenţă
al clasei lui f.
E 4.4.4. Fie R un inel şi I ⊂ R un ideal. Elementul f1 ∈ R se numeşte
regulat pe R/I dacă din egalitatea f1 (g + I) = 0, rezultă g + I = 0, adică
g ∈ I. Şirul f1 , . . . , fm de elemente din R se numeşte şir regulat pe R/I
dacă fi este regulat pe R/(I, f1 , . . . , fi−1 ) pentru orice i ≥ 1. Demonstraţi că
următoarele condiţii sunt echivalente:
(a) f1 , . . . , fm este şir regulat pe R/I.

(b) Pentru orice 1 ≤ j ≤ m, (I, f1 , . . . , fj−1) : (fj ) = (I, f1 , . . . , fj−1 ).


E 4.4.5. Testaţi cu Singular dacă şirul f1 = x1 x4 − x2 x3 , f2 = x1 x3 − x22
este regulat pe k[x1 , x2 , x3 , x4 ]/(x2 x4 − x23 ).
E 4.4.6. Fie f = x3 + y 3 + z 3 = 3xyz şi I idealul generat de f şi de derivatele
sale parţiale ı̂n inelul Q[x, y, z], respectiv F3 [x, y, z], unde F3 este corpul finit
cu 3 elemente. Fie A = Q[x, y, z]/I şi B = F3 [x, y, z]/I. Testaţi, cu Singular
dacă xyz este element regulat pe A, respectiv B.
E 4.4.7. Fie ϕ : k[x1 , . . . , xn ] → k[y1 , . . . , ym ] un morfism de k–algebre
definit de ϕ(xi ) = fi , pentru 1 ≤ i ≤ n, unde f1 , . . . , fn sunt polinoame
ı̂n k[y1 , . . . , ym]. Fie J = (g1 , . . . , gs ) un ideal ı̂n k[y1 , . . . , ym ] şi

ϕ : k[x1 , . . . , xn ] → k[y1 , . . . , ym ]/J

compunerea lui ϕ cu surjecţia canonică

k[y1 , . . . , ym ] → k[y1 , . . . , ym ]/J.


4.5. Sisteme de ecuaţii algebrice cu un număr finit de soluţii 61

Demonstraţi că

ker(ϕ) = (g1 , . . . , gs , x1 − f1 , . . . , xn − fn ) ∩ k[x1 , . . . , xn ].

E 4.4.8. Determinaţi o bază Gröbner pentru nucleul morfismului Q[x, y, z] →


Q[t]/(t12 ) indus de x 7→ t5 , y 7→ t7 + t8 , z 7→ t11 .

E 4.4.9. Demonstraţi că inelul Q[s4 , s3 t, st3 , t4 ] ⊂ Q[s, t] este izomorf cu


Q[x1 , . . . , x4 ]/I, unde I = (x2 x3 − x1 x4 , x33 − x2 x24 , x32 − x21 x3 , x1 x23 − x22 x4 ).

4.5 Sisteme de ecuaţii algebrice cu un număr


finit de soluţii
Rezolvarea sistemelor de ecuaţii algebrice cu mai multe necunoscute este
o problemă clasică ı̂n matematică şi are aplicaţii ı̂ntr-o varietate foarte largă
de probleme din matematică şi din afara ei. O prezentare sistematică a
unor clase reprezentative de aplicaţii ale ecuaţiilor polinomiale găsim ı̂n [22].
Cărţile autorilor Cox, Little şi O’Shea, [6], [7] şi volumul editat de Cohen,
Cuypers şi Sterk, [5], prezintă, de asemenea, rolul bazelor Gröbner ı̂n re-
zolvarea problemelor din diverse domenii pe baza modelelor polinomiale.
Noi vom prezenta aici doar caracterizarea idealelor polinomiale ale căror
varietăţi afine asociate au un număr finit de puncte, adică aşa numitele ide-
ale zero-dimensionale. In secţiunile următoare vom prezenta două clase de
probleme ı̂n care vom aplica aceste rezultate.
In această secţiune considerăm inele de polinoame peste corpuri algebric
ı̂nchise.
Fie sistemul de ecuaţii algebrice

(S) : f1 = 0, . . . , fs = 0, unde f1 , . . . , fs ∈ k[x1 , . . . , xn ].

Un element a = (a1 , . . . , an ) ∈ k n se numeşte soluţie a sistemului (S) dacă


fi (a) = 0, pentru orice 1 ≤ i ≤ s, adică dacă este rădăcină comună a tuturor
polinoamelor fi .
Notăm cu V (f1 , . . . , fs ) mulţimea soluţiilor sistemului (S) din k n . Mulţimea
V (f1 , . . . , fs ) se numeşte varietate algebrică afină definită de polinoamele
f1 , . . . , fs . Mai general, pentru un ideal I ⊂ S, se notează cu V (I) şi se
numeşte varietatea algebrică afină definită de I, mulţimea rădăcinilor co-
mune ale tuturor polinoamelor din I.
62 Capitolul 4. Aplicaţii

Lema 4.5.1. Fie I = (f1 , . . . , fs ) ⊂ S un ideal. Atunci



V (f1 , . . . , fs ) = V (I) = V ( I).
Demonstraţie. Fie a ∈ V (f1 , . . . , fs ) şi g un polinom ı̂n I. Există nişte poli-
noame a1 , . . . , as ∈ S astfel ı̂ncât g = a1 f1 + . . . + as fs . Atunci
g(a) = a1 (a)f (a) + . . . + as (a)fs (a) = 0,
deci a ∈ V (I). Prin urmare, avem V (f1 , . . . , fs ) ⊂ V (I). Incluziunea V (I) ⊂
V (f√1 , . . . , fs ) este, ı̂n mod evident, adevărată.
√ Pentru egalitatea √ V (I) =
V ( I), observăm, mai ı̂ntâi că V (I) ⊃ V ( I), deoarece√ I ⊂ I. Pentru
cealaltă incluziune, considerăm a ∈ V (I) şi g ∈ I. Există m > 0 astfel
ı̂ncât g m ∈ I, deci g m (a) = 0, ceea ce implică, mai √ departe, g(a) = 0. Prin
urmare, am demonstrat şi incluziunea V (I) ⊂ V ( I).
Ne interesează urmaătoarele probleme legate de sistemele de ecuaţii alge-
brice:
(a) Compatibilitatea. Un sistem de ecuaţii algebrice se numeşte compatibil
dacă mulţimea soluţiilor sale din k n este nevidă.
(b) In cazul când sistemul (S) este compatibil, să găsim condiţii necesare
şi suficiente pentru ca sistemul să aibă un număr finit de soluţii.
Răspunsul la prima problemă este dat de Teorema lui Hilbert a zerourilor
(forma slabă), cunoscută şi sub denumirea sa originală, Nullstellensatz.
Teorema 4.5.2 (Forma slabă a Teoremei lui Hilbert a zerourilor). Fie k un
corp algebric ı̂nchis şi I ⊂ k[x1 , x2 , . . . , xn ] un ideal. Atunci V (I) = ∅ dacă
şi numai dacă I = (1).
Nu vom prezenta aici demonstraţia acestei teoreme. Ea ar necesita o
pregătire substanţială. Pentru demonstraţii ale acestei teoreme putem reco-
manda [2], [9] sau [6].
Să remarcăm doar că implicaţia I = (1) ⇒ V (I) = ∅ nu depinde de
ipoteza asupra corpului k de a fi algebric ı̂nchis. Pe de alta parte, pentru
implicaţia inversă, ipoteza aceasta este esenţială. De exemplu, V (x2 +1) ⊂ R
este mulţimea vidă, dar, evident, idealul (x2 + 1) nu coincide cu R[x].
Corespondenţa I 7→ V (I) defineşte o aplicaţie de la mulţimea idealelor lui
S la mulţimea varietăţilor algebrice din k n . Evident, această corespondenţă
este antimonotonă, adică I ⊂ J ⇒ V (I) ⊃ V (J).
4.5. Sisteme de ecuaţii algebrice cu un număr finit de soluţii 63

Putem defini şi o corespondenţă inversă, adică o aplicaţie de la submulţimile


lui k n la mulţimea idealelor lui S, astfel:

Z 7→ I(Z) = {f ∈ S : f (a) = 0, pentru orice a ∈ Z}.

Se poate verifica imediat că I(Z) este un ideal al lui S, deci aplicaţia de
mai sus este corect definită. Avem, şi ı̂n acest caz, antimonotonie, adică
Z1 ⊂ Z2 ⇒ I(Z1 ) ⊃ I(Z2 ).

Exemplul 4.5.3. Fie Z = {(a1 , . . . , an )} ⊂ k n . Atunci I(Z) = (x1 −


a1 , . . . , xn − an ). Intr-adevăr, observăm imediat că generatorii idealului I(Z)
se anulează ı̂n a = (a1 , . . . , an ). Invers,
P fie f un polinom ı̂n S cu proprietatea
că f (a) = 0. Să considerăm f = α cα uα , unde cα ∈ k şi uα = xi11 . . . xinn
sunt mnoame ı̂n S. Avem
X X X
f= cα u α − cα uα (a) = cα (uα − uα (a)).
α α α

Dar

uα − uα (a) = xi11 . . . xinn − ai11 . . . ainn = (xi11 . . . xinn − ai11 xi22 . . . xinn )+

i i
+(ai11 xi22 . . . xinn −ai11 ai22 xi33 . . . xinn )+. . .+(ai11 ai22 . . . an−1 xn −ai11 ai22 . . . an−1
n−1 in n−1 in
an ).
In dezvoltarea de mai sus, prima paranteză se divide cu x1 − a1 , a doua cu
x2 − a2 , etc. Rezultă că uα − uα (a) ∈ (x1 − a1 , . . . , xn − an ), pentru orice α,
deci f ∈ (x1 − a1 , . . . , xn − an ).
Vom nota idealul (x1 −a1 , . . . , xn −an ) cu ma . Să observăm că ma este ideal
maximal ı̂n S, pentru că avem izomorfismul S/ma ∼ = k indus de morfismul
surjectiv de k–algebre S → k, definit de xi 7→ ai , pentru 1 ≤ i ≤ n.

Ne punem ı̂n mod natural ı̂ntrebarea: Ce legătură există ı̂ntre cele două
aplicaţii? Adică, de exemplu, dată varietatea algebrică V (I) ⊂ k n , este
adevărată egalitatea I(V (I)) = I? Răspunsul la această ı̂ntrebare este neg-
ativ, chiar dacă lucrăm peste un corp algebric ı̂nchis. Un exemplu ime-
2
diat, dar sugestiv,p este următorul. Dacă luam idealul I = (x ) ⊂ C[x],
I(V (I)) = (x) = (x2 ) 6= (x).
Legătura exactă dintre ideale şi varietăţi afine este dată de Teorema lui
Hilbert a zerourilor (forma tare) pe care o putem obţine din forma ”slabă”.
64 Capitolul 4. Aplicaţii

Teorema 4.5.4 (Teorema lui Hilbert a zerourilor). Fie k un corp algebric


ı̂nchis. Dacă I = (f1 , f2 , . . . , fs ) ⊂ k[x1 , x2 , . . . , xn ] este un ideal, atunci

I(V (I)) = I

sau, echivalent, pentru orice f ∈ k[x1 , x2 , . . . , xn ],

f ∈ I(V (I)) dacă şi numai dacă există m ≥ 1 astfel ı̂ncât f m ∈ I.

Demonstraţie. Mai ı̂ntâi considerăm f cu proprietatea că f m ∈ I. Atunci


f m (x) = 0, deci f (x) = 0, pentru orice x ∈ V (I), adică f ∈ I(V (I)).
Reciproc, fie f ∈ I(V (I)), deci f (x) = 0, pentru orice x ∈ k n care este
rădăcină comună a polinoamelor f1 , f2 , . . . , fs . Fie idealul

I˜ = (f1 , f2 , . . . , fs , 1 − yf ) ⊂ k[x1 , x2 , . . . , xn , y].

Demonstrăm că V (I) ˜ = ∅. Fie (a1 , . . . , an , b) ∈ k n+1 .


Dacă (a1 , . . . , an ) ∈ V (I), atunci f (a1 , . . . , an ) = 0, deoarece f ∈ I(V (I)),
deci
(1 − yf )(a1 , . . . , an , b) = 1 6= 0,
˜
adică (a1 , . . . , an , b) 6∈ V (I).
Dacă (a1 , . . . , an ) 6∈ V (I), atunci este evident că (a1 , . . . , an , b) 6∈ V (I). ˜
˜
In concluzie, V (I) = ∅. Din forma slabă a Teoremei lui Hilbert a zerourilor
rezultă că I˜ = (1), deci există polinoamele p1 , p2 , . . . , ps , q ∈ k[x1 , x2 , . . . , xn , y]
astfel ı̂ncât
1 = p1 f1 + p2 f2 + . . . + ps fs + q(1 − f y).
1
Cu substituţia y = f
, rezultă următoarea egalitate, ı̂n corpul de fracţii
k(x1 , x2 , . . . , xn ),
1 1
1 = p1 (x1 , x2 , . . . , xn , )f1 + . . . + ps (x1 , x2 , . . . , xn , )fs .
f f
Inmulţind ambii termeni ai egalităţii de mai sus cu o putere suficient de mare
a lui f, deducem o egalitate de tipul
s
X
fm = Ai fi ,
i=1

unde Ai ∈ k[x1 , x2 , . . . , xn ], deci f ∈ I.
4.5. Sisteme de ecuaţii algebrice cu un număr finit de soluţii 65

Folosind Teorema 4.5.2 putem caracteriza idealele maximale ale inelului


de polinoame ı̂n n nedeterminate peste un corp algebric ı̂nchis. Această
caracterizare ne va fi de folos ı̂n rezolvarea celei de-a doua probleme pe care
ne-am propus s-o studiem.
Să reamintim mai ı̂ntâi definiţia idealului maximal.

Definiţia 4.5.5. Fie R un inel. Un ideal M ⊂ R, M 6= R, se numeşte ideal


maximal al lui R dacă M este elemnt maximal ı̂n mulţimea idealelor lui R
diferite de R sau, echivalent, inelul factor R/M este corp.

Propoziţia 4.5.6. Fie k un corp algebric ı̂nchis. Orice ideal maximal al


lui S este de forma ma = (x1 − a1 , . . . , xn − an ), cu a = (a1 , . . . , an ) ∈ k n .
In particular, idealele maximale ale lui S sunt in corespondenţă bijectivă cu
punctele spaţiului afin k n .

Demonstraţie. Din Exemplul 4.5.3 ştim că idealele ma sunt maximale. Fie
M un ideal maximal al lui S. Cum M 6= (1), rezultă, din Teorema 4.5.2,
că V (M) 6= ∅. Fie a = (a1 ,√ . . . , an ) ∈ V (M). Atunci {a} ⊂ V (M), ceea ce
implică ma ⊃ I(V (M)) = M ⊃ M. Dar M şi ma sunt ideale maximale,
deci avem, ı̂n fapt, egalitate.

In continuare caracterizăm sistemele de ecuaţii algebrice cu un număr


finit de soluţii.

Teorema 4.5.7. Fie k un corp algebric ı̂nchis şi I = (f1 , . . . , fs ) ⊂ S un


ideal. Următoarele afirmaţii sunt echivalente;

(a) V (I) este o mulţime finită, cu alte cuvinte, sistemul de ecuaţii algebrice
(S) are un număr finit de soluţii.

(b) Există un număr finit de ideale maximale ale lui S care conţin idealul
I.

(c) dimk (S/I) este finită.

(d) Mulţimea Mon(S)\Mon(in< (I)) este finită, pentru orice ordonare mono-
mială ≤ pe S.

(e) Pentru orice ordonare monomială ≤ pe S şi pentru orice 1 ≤ i ≤ n,


există un polinom gi ∈ I cu in< (gi ) = xνi i , νi ≥ 0.
66 Capitolul 4. Aplicaţii

(f ) Dacă G este o bază Gröbner a lui I relativ la o ordonare monomială


≤, atunci, pentru orice 1 ≤ i ≤ n, există un polinom g ∈ G cu
in< (g) = xνi i , νi ≥ 0.

Demonstraţie. Mai ı̂ntâi facem observaţia că un ideal maximal ma al lui S,


a = (a1 , . . . , an ) ∈ k n , are proprietatea ma ⊃ I dacă şi numai dacă a ∈ V (I).
De aici deducem echivalenţa afirmaţiilor (a) şi (b).
Din Propoziţia 2.3.6 deducem imediat echivalenţa afirmaţiilor (c) şi (d).
(e) şi (f ) sunt, ı̂n mod evident, echivalente.
(d) ⇔ (e). Fie 1 ≤ i ≤ n. Considerăm o ordonare fixată pe S. Cum
mulţimea Mon(S) \ Mon(in< (I)) este finită, există νi ≥ 0 astfel ı̂ncât xνi i ∈
in< (I), ceea ce implică afirmaţia (e). Invers este evident.
Să demonstrăm acum (a) ⇒ (e). Dacă V (I) = ∅, atunci I = (1) şi
condiţia (e) este verificată. Fie V (I) finită şi nevidă. Să notăm punctele
lui V (I) cu ai = (ai1 , . . . , ain ) ∈ k n , 1 ≤ i ≤ t. Pentru fiecare 1 ≤ j ≤ n,
considerăm polinomul
gj (xj ) = (xj − a1j ) . . . (xj − atj ).

Atunci gj (a) = 0, pentru orice a ∈ V (I). Rezultă că gj ∈ I(V (I)) = I,
pentru orice 1 ≤ j ≤ n. Prin urmare, pentru orice 1 ≤ j ≤ n, există mj ≥ 1,
m
astfel ı̂ncât gj j ∈ I. Este evident că in< (gj ) este o putere a lui xj , pentru
orice j, indiferent de ordonarea monomială ≤ pe S.
Pentru a ı̂ncheia demonstraţia, să arătăm că (c) ⇒ (b). Dacă dimk (S/I) =
0, rezultă că I = (1), deci nu există niciun ideal maximal al lui S care conţine
I. Fie dimk (S/I) = t, t ∈ N, t 6= 0. Să presupunem că există o infinitate
de ideale maximale care conţin idealul I. Atunci putem alege t + 1 ideale
maximale distincte m1 , . . . , mt+1 , care conţin idealul I, deci
I ⊂ m1 ∩ . . . ∩ mt+1 .
De aici deducem că există un morfism surjectiv de k–algebre
Y S t+1
S S ∼
ϕ: → = .
I m1 ∩ . . . ∩ mt+1 i=1
mi

Izomorfismul de mai sus rezultă din faptul că idealele Q


m1 , . . . , mt+1 sunt co-
maximale ı̂n perechi. Atunci t = dimk (S/I) ≥ dimk t+1 i=1 (S/mi ) = t + 1,
contradicţie. Prin urmare, există un număr finit de ideale maximale care
conţin idealul I.
4.6. Rezolvarea sistemelor algebrice ı̂n Singular 67

Observaţia 4.5.8. Din demonstraţia implicaţiei (c) ⇒ (b) din teorema an-
terioară rezultă şi faptul că dacă V (I) este finită, atunci

|V (I)| ≤ dimk (S/I) = dimk (S/ in< (I)),

pentru orice ordonare monomială ≤ pe S.

4.6 Rezolvarea sistemelor algebrice ı̂n Singular


Sistemele de algebrice cu un număr finit de soluţii, adică sistemele zero-
dimensionale, se pot rezolva cu ajutorul sistemului Singular. Mai mult,
ı̂n Singular există o bibliotecă pentru rezolvarea prin metode numerice a
sistemelor de ecuaţii.

> ring r=0,(x,y,z),dp;


ideal i=x3+z-2y2,y3+x-2z2,z3+y-2x2;
ideal g=groebner(i);
g;

g[1]=z3-2x2+y
g[2]=y3-2z2+x
g[3]=x3-2y2+z

Forma polinoamelor din baza Gröbner arată că sistemul de ecuaţii

x3 + z − 2y 2 = 0, y 3 + x − 2z 2 = 0, z 3 + y − 2x2 = 0,

are un număr finit de soluţii ı̂n corpul numerelor complexe.


Cu ajutorul bibliotecii de calcul numeric putem obţine toate soluţiile com-
plexe ale sistemului, cu precizie de 6 zecimale pentru partea reală şi coefi-
cientul părţii imaginare ale fiecăreia dintre ele.

> LIB"solve.lib";
solve(g,6);

[1]:
[1]:
68 Capitolul 4. Aplicaţii

0
[2]:
0
[3]:
0
[2]:
[1]:
1
[2]:
1
[3]:
1
[3]:
[1]:
(-1.35276-i*1.8176)
[2]:
(2.133927-i*0.370281)
[3]:
(-2.098658+i*0.813046)
[4]:
[1]:
(-1.35276+i*1.8176)
[2]:
(2.133927+i*0.370281)
[3]:
(-2.098658-i*0.813046)
[5]:
[1]:
(0.316556+i*1.756806)
[2]:
(-0.717799+i*1.683793)
[3]:
(-1.74055+i*0.0595173)
[6]:
[1]:
(0.316556-i*1.756806)
[2]:
(-0.717799-i*1.683793)
4.6. Rezolvarea sistemelor algebrice ı̂n Singular 69

[3]:
(-1.74055-i*0.0595173)
[7]:
[1]:
(2.133927+i*0.370281)
[2]:
(-2.098658-i*0.813046)
[3]:
(-1.35276+i*1.8176)
[8]:
[1]:
(2.133927-i*0.370281)
[2]:
(-2.098658+i*0.813046)
[3]:
(-1.35276-i*1.8176)
[9]:
[1]:
(-1.74055+i*0.0595173)
[2]:
(0.316556+i*1.756806)
[3]:
(-0.717799+i*1.683793)
[10]:
[1]:
(-1.74055-i*0.0595173)
[2]:
(0.316556-i*1.756806)
[3]:
(-0.717799-i*1.683793)
[11]:
[1]:
(0.297051-i*0.371248)
[2]:
(-0.0441281-i*0.515142)
[3]:
(-0.430235+i*0.138037)
[12]:
70 Capitolul 4. Aplicaţii

[1]:
(0.297051+i*0.371248)
[2]:
(-0.0441281+i*0.515142)
[3]:
(-0.430235-i*0.138037)
[13]:
[1]:
(1.712071-i*1.37901)
[2]:
(1.0144-i*1.856994)
[3]:
(-0.0898719+i*1.969072)
[14]:
[1]:
(1.712071+i*1.37901)
[2]:
(1.0144+i*1.856994)
[3]:
(-0.0898719-i*1.969072)
[15]:
[1]:
(-0.430235-i*0.138037)
[2]:
(0.297051+i*0.371248)
[3]:
(-0.0441281+i*0.515142)
[16]:
[1]:
(-0.430235+i*0.138037)
[2]:
(0.297051-i*0.371248)
[3]:
(-0.0441281-i*0.515142)
[17]:
[1]:
(-0.0441281+i*0.515142)
[2]:
4.6. Rezolvarea sistemelor algebrice ı̂n Singular 71

(-0.430235-i*0.138037)
[3]:
(0.297051+i*0.371248)
[18]:
[1]:
(-0.0441281-i*0.515142)
[2]:
(-0.430235+i*0.138037)
[3]:
(0.297051-i*0.371248)
[19]:
[1]:
(-0.717799+i*1.683793)
[2]:
(-1.74055+i*0.0595173)
[3]:
(0.316556+i*1.756806)
[20]:
[1]:
(-0.717799-i*1.683793)
[2]:
(-1.74055-i*0.0595173)
[3]:
(0.316556-i*1.756806)
[21]:
[1]:
(-0.0898719-i*1.969072)
[2]:
(1.712071+i*1.37901)
[3]:
(1.0144+i*1.856994)
[22]:
[1]:
(-0.0898719+i*1.969072)
[2]:
(1.712071-i*1.37901)
[3]:
(1.0144-i*1.856994)
72 Capitolul 4. Aplicaţii

[23]:
[1]:
(1.0144+i*1.856994)
[2]:
(-0.0898719-i*1.969072)
[3]:
(1.712071+i*1.37901)
[24]:
[1]:
(1.0144-i*1.856994)
[2]:
(-0.0898719+i*1.969072)
[3]:
(1.712071-i*1.37901)
[25]:
[1]:
(-2.098658-i*0.813046)
[2]:
(-1.35276+i*1.8176)
[3]:
(2.133927+i*0.370281)
[26]:
[1]:
(-2.098658+i*0.813046)
[2]:
(-1.35276-i*1.8176)
[3]:
(2.133927-i*0.370281)

4.7 Exerciţii
E 4.7.1. Determinaţi toate soluţiile complexe ale sistemului
x2 + 2y 2 − 2 = 0, x2 + xy + y 2 − 2 = 0.
E 4.7.2. Fie idealul I = (x2 − y 3 ) ⊂ k[x, y]. Determinaţi V (I) ⊂ k 2 .
E 4.7.3. Folosind Singular, determinaţi varietatea V (I) ⊂ C3 , pentru ide-
alul I = (xz−y, xy+2z 2 , y−z), apoi pentru J = (x2 +y 2 +z 2 −1, y 2 −z, x2 +y 2 ).
4.8. Aplicaţii ı̂n teoria grafurilor 73

4.8 Aplicaţii ı̂n teoria grafurilor


Vom prezenta două exemple sugestive de aplicare a teoriei bazelor Gröbner
ı̂n probleme de colorare a grafurilor. Incepem cu discuţia unui exemplu sim-
plu preluat din [19, Tutorial 26].
Fie Γ = (V (Γ), E(Γ)) un graf simplu, adică fără bucle, fără muchii mul-
tiple şi neorientat, cu mulţimea de vârfuri V (Γ) = {v1 , . . . , vn } şi mulţimea
muchiilor E(Γ).
Ne propunem să studiem următoarea problemă. Să presupunem că avem
la dispoziţie c culori. Este posibilă o colorare a vârfurilor lui Γ cu cele c
culori astfel ı̂ncât oricare două vârfuri adiacente să fie colorate diferit?
Pentru modelarea problemei alegem un caz simplu: c = 3. Etichetăm
cele trei culori cu elementele −1, 0, 1 ale corpului F3 . Atunci, o colorare a
vârfurilor lui Γ se poate identifica cu un n–uplu a = (a1 , . . . , an ) ∈ Fn3 , unde
ai este culoarea vârfului vi . Evident, mulţimea tuturor colorărilor posibile ale
grafului Γ este V (I) ⊂ Fn3 , unde I = (x3i − xi : 1 ≤ i ≤ n).

Definiţia 4.8.1. O colorare a ∈ Fn3 se numeşte admisibilă dacă orice două


vârfuri ale grafului G au culori diferite.

Lema 4.8.2. In colorarea a = (a1 , . . . , an ) ∈ Fn3 , vârfurile vi şi vj au culori


diferite dacă şi numai dacă a este rădăcină a polinomului f = x2i + xi xj +
x2j − 1 ∈ F3 [x].

Demonstraţie. Dacă a are două componente egale, ai = aj şi este rădăcină


a lui f, obţinem 3a2i − 1 = 0 ı̂n F3 , ceea ce, evident, este imposibil. Invers,
cum a3i − ai = 0 şi a3j − aj = 0, obţinem, a3i − a3j − (ai − aj ) = 0. Dar ai 6= aj ,
deci f (a) = 0.

Definiţia 4.8.3. Idealul I = (x2i + xi xj + x2j − 1 : {vi , vj } ∈ E(G)) ⊂ F3 [x]


se numeşte idealul colorărilor admisibile ale grafului Γ.

Teorema 4.8.4. Fie G o bază Gröbner a idealului I al colorărilor admisibile


ale grafului Γ relativ la o ordonare monomială arbitrară pe F3 [x1 , . . . , xn ].
Graful Γ admite cel puţin o colorare admisibilă dacă şi numai dacă 1 6∈ G.

Demonstraţie. Fie J = (I, x3i −xi , 1 ≤ i ≤ n) ⊂ F3 [x], unde F3 este ı̂nchiderea


algebrică a lui F3 . Este clar că V (I) = V (J) ⊂ Fn3 , deci V (I) 6= ∅ dacă şi
numai dacă V (J) 6= ∅. Cu Teorema 4.5.2, avem V (J) 6= ∅ dacă şi numai
dacă J 6= (1). Dar J 6= (1) dacă şi numai dacă I 6= (1). Intr-adevăr, dacă
74 Capitolul 4. Aplicaţii

J 6= (1), atunci I 6= (1). Invers,


q fie I 6= (1). Rezultă că F3 [x]/I 6= (0), deci
√ √
IF3 [x] 6= F3 [x]. Dar J = IF3 [x], pentru că V (I) = V (J). Deci J 6= (1),
ceea ce implică J 6= (1).

Să considerăm câteva exemple pe care să le analizăm cu ajutorul lui


Singular.

Exemplul 4.8.5. Fie Γ graful din Figura 4.1:

1 5

2 6 7

3 4

Figura 4.1: Exemplul 1

Inainte de a defini idealul colorărilor admisibile şi a calcula baza lui


Gröbner, observăm că putem fixa culoarea vârfului v1 , de exemplu. Să alegem
culoarea lui v1 egală cu 0. Atunci vârfurile 2 şi 4 vor avea culorile 1 şi −1.
Să alegem, de exemplu, culoarea 1 pentru v2 . Aceste alegeri implică faptul
că generatorii idealului colorărilor admisibile ale lui Γ care implică nedeter-
minatele x1 , x2 şi x4 sunt x1 , x2 − 1 şi x4 + 1.

ring R=3,(x(1..7)),lp;
ideal I=x(2)^2+x(2)*x(3)+x(3)^2-1,x(3)^2+x(3)*x(4)+x(4)^2-1,
x(3)^2+x(3)*x(5)+x(5)^2-1,x(4)^2+x(4)*x(6)+x(6)^2-1,
x(5)^2+x(5)*x(6)+x(6)^2-1,x(4)^2+x(4)*x(7)+x(7)^2-1,
x(5)^2+x(5)*x(7)+x(7)^2-1,x(2)^2+x(2)*x(6)+x(6)^2-1,
x(2)^2+x(2)*x(5)+x(5)^2-1,x(1),x(2)-1,x(4)+1;
std(I);

_[1]=x(7)^2-x(7)
_[2]=x(6)
_[3]=x(5)-x(6)^2+1
4.8. Aplicaţii ı̂n teoria grafurilor 75

_[4]=x(4)+1
_[5]=x(3)+x(4)^2-1
_[6]=x(2)-1
_[7]=x(1)

Rezultatul afişat de Singular arată că avem următoarele colorări posibile


pentru alegerile fixate pentru vârfurile v1 şi v2 :

vârf 1 2 3 4 5 6 7
culoare 0 1 0 −1 −1 0 0
culoare 0 1 0 −1 −1 0 1
Exemplul 4.8.6. Considerăm graful Γ format prin unirea centrului unui
heptagon regulat cu toate vârfurile sale. Deci Γ are 8 vârfuri şi 14 muchii.
Acest graf nu are colorări admisibile, aşa cum rezultă din secvenţa Singular
de mai jos.

ring S=3,(x(1..8)),lp;
ideal J=x(1)^2+x(1)*x(2)+x(2)^2-1,x(1)^2+x(1)*x(3)+x(3)^2-1,
x(1)^2+x(1)*x(4)+x(4)^2-1,x(1)^2+x(1)*x(5)+x(5)^2-1,
x(1)^2+x(1)*x(6)+x(6)^2-1,x(1)^2+x(1)*x(7)+x(7)^2-1,
x(1)^2+x(1)*x(8)+x(8)^2-1,x(2)^2+x(2)*x(3)+x(3)^2-1,
x(3)^2+x(3)*x(4)+x(4)^2-1,x(4)^2+x(4)*x(5)+x(5)^2-1,
x(5)^2+x(5)*x(6)+x(6)^2-1,x(6)^2+x(6)*x(7)+x(7)^2-1,
x(7)^2+x(7)*x(8)+x(8)^2-1,x(8)^2+x(8)*x(2)+x(2)^2-1;
std(J);

_[1]=1

Multe probleme se pot modela ca probleme de colorare a grafurilor.


Exemplificăm cu a aplicaţie mai ”exotică”, jocul Sudoku, foarte popular ı̂n
ı̂ntreaga lume. Jocul de bază, aşa cum a apărut iniţial, poate fi modelat ca o
problemă de colorare cu 9 culori a unui graf. Pentru descrierea şi modelarea
jocului Sudoku, a unor variante ale lui şi a altor jocuri similare, recomandăm
[13].
Cum se joacă Sudoku? Se consideră o tablă pătratică de dimensiuni 9×9.
Aceasta este ı̂mpărţită ı̂n 9 regiuni de dimensiuni 3×3. Unele din celule conţin
ı̂ncă de la ı̂nceput cifre de la 1 la 9. Jocul cere să completăm toate celulele cu
76 Capitolul 4. Aplicaţii

cifre de la 1 la 9, păstrându-le pe cele iniţiale, astfel ı̂ncât să nu avem nicio


repetiţie pe linii, pe coloane sau ı̂ntr-una din cele 9 regiuni 3 × 3.
Modelarea jocului ca o problemă de colorare a unui graf Γ se poate face
astfel. Vârfurile grafului sunt cele 81 de celule ale tabloului, numerotate, pe
linie, de la stânga la dreapta, de la 1 la 81. Astfel, pe prima linie celulele
corespund vârfurilor v1 , . . . , v9 , cele de pe a doua linie, vârfurilor v10 , . . . , v18 ,
etc. Muchiile grafului Γ se obţin ı̂n felul următor. Vârfurile vi , vj determină
o muchie ı̂n Γ dacă şi numai dacă vi , vj sunt pe aceeaşi linie sau pe aceeaşi
coloană sau ı̂n aceeaşi regiune 3×3. Prin urmare, fiecare vârf al lui Γ are câte
20 de vârfuri adiacente, deci numărul total de muchii ı̂n graf este 81 · 20/2 =
810.
Modelul matematic al jocului se poate formula acum astfel: dat graful Γ
şi 9 culori etichetate cu cifrele de la 1 la 9, este posibilă o colorare a vârfurilor
lui Γ cu cele 9 culori astfel ı̂ncât oricare două vârfuri adiacente să aibă culori
diferite?
Cum traducem problema ı̂n limbajul polinoamelor? Asociem la fiecare
vârf vj polinomul ı̂n nedeterminata xj ,
9
Y
F (xj ) = (xj − i).
i=1

Pentru două vârfuri adiacente vi şi vj , avem

F (xi ) − F (xj ) = (xi − xj )G(xi , xj ).

Condiţia ca vi şi vj să aibă culori diferite este G(xi , xj ) = 0. Avem 810
asemenea generatori G(i, j). Cele 810 ecuaţii generate cu ajutorul programu-
lui Singular sunt disponibile pe Internet. De altfel ele se pot genera foarte
uşor cu o procedură simplă ı̂n Singular.
Prin urmare, idealul colorărilor admisibile, I ⊂ Q[x1 , . . . , x81 ], este gene-
rat de polinoamele

F (xj ), 1 ≤ j ≤ 81 şi G(xi , xj ), unde {vi , vj } este muchie ı̂n graf.

In plus, trebuie să adăugăm generatorii care apar pentru colorările iniţiale
ale unor vârfuri. De exemplu, dacă avem culorile iniţiale din Figura 4.2,
trebuie să mai adăugăm generatorii x1 − 9, x9 − 8, x10 − 5, x13 − 2, x15 −
8, x17 − 6, x21 − 3, x22 − 7, x23 − 1, x27 − 9, x32 − 7, x33 − 3, x35 − 5, x37 − 2, x45 −
4, x47 − 5, x49 − 1, x50 − 6, x55 − 8, x59 − 2, x60 − 7, x61 − 3, x65 − 4, x67 − 3, x69 −
4.8. Aplicaţii ı̂n teoria grafurilor 77

9 8
5 2 8 6
3 7 1 9
7 3 5
2 4
5 1 6
8 2 7 3
4 3 9 1
7 2

Figura 4.2: Exemplu Sudoku

9, x72 − 1, x73 − 7, x81 − 2. După ce am adăugat aceşti generatori, este evident


că generatorii F (xj ), 1 ≤ j ≤ 81, sunt redundanţi.
Mulţimea colorărilor admisibile ale grafului Γ este mulţimea zerourilor
idealului I, adică V (I) ⊂ Q81 . Caracterizarea grafurilor Sudoku ce admit
colorări admisibile se face ca şi ı̂n exemplul prezentat anterior.

9 2 6 5 3 4 7 1 8
5 7 1 2 9 8 4 6 3
4 8 3 7 1 6 5 2 9
1 9 8 4 7 3 2 5 6
2 6 7 9 8 5 1 3 4
3 5 4 1 6 2 9 8 7
8 1 9 6 2 7 3 4 5
6 4 2 3 5 9 8 7 1
7 3 5 8 4 1 6 9 2

Figura 4.3: Soluţia jocului Sudoku

Teorema 4.8.7. Un joc Sudoku admite soluţie dacă şi numai dacă I 6=
Q[x1 , . . . , x81 ], adică dacă şi numai dacă G 6= {1}, pentru orice bază Gröbner
a lui I.
De exemplu, pentru jocul din Figura 4.2, obţinem o soluţie unică dată ı̂n
Figura 4.3, pe care o citim ı̂n bază Gröbner a idealului colorărilor admisibile.
78 Capitolul 4. Aplicaţii

4.9 Aplicaţii ı̂n programarea ı̂ntreagă


In această secţiune prezentăm aplicaţii ale teoriei bazelor Gröbner ı̂n
probleme de programare ı̂ntreagă. Expunerea urmăreşte ı̂n principal [7].
Pentru ı̂nceput plecăm cu o problemă concretă simplă, pe care o vom
discuta de mai multe ori de-a lungul acestei secţiuni. Pe acest exemplu vom
vedea cum se pot modela probleme concrete din domeniul economic şi cum
putem aplica teoria bazelor Gröbner ı̂n rezolvarea lor.
Iată enunţul problemei. O firmă de transport are doi clienţi, A şi B, pen-
tru care oferă servicii de transport de mărfuri la aceeaşi destinaţie. Pentru
clientul A, firma trebuie să transporte marfa ı̂n containere de câte 400 kg şi
de volum 2 metri cubi, iar pentru clientul B, ı̂n containere de câte 500 kg şi
volum 3 metri cubi. Firma foloseşte camioane care pot transporta câte 300
kg şi un volum maxim de 20 metri cubi. Clientul B are mărfuri perisabile.
Din acest motiv, el este dispus să plătească mai mult pentru transportul rapid
al mărfurilor sale. Mai precis, B plăteşte câte 15 euro pentru un container,
iar clientul A câte 11 euro pentru fiecare container.
Problema transportatorului este, evident, următoarea: câte containere de
la fiecare client trebuie să cuprindă ı̂ntr-un transport pentru a maximiza profi-
tul?
Cum modelăm această problemă? Să notăm cu A numărul de containere
de la clientul A şi cu B numărul de containere de la clientul B pe care
transportatorul le pune ı̂ntr-un transport. Pentru a obţine un profit maxim
trebuie să maximizăm funcţionala 11A + 15B, dar cu restricţiile:

4A + 5B ≤ 37,

2A + 3B ≤ 20,

A, B ∈ Z, A, B ≥ 0.
(In prima restricţie am făcut simplificarea cu 100.)
Prin urmare, avem o problemă de programare ı̂ntreagă.
Forma generală a unei probleme de programare ı̂ntreagă este următoarea:

max / min ℓ(A1 , . . . , An ) = c1 A1 + . . . + cn An ,


unde Aj ∈ Z, Aj ≥ 0, cj ∈ Z, pentru orice 1 ≤ j ≤ n. In plus, A1 , . . . , An
satisfac următoarele inegalităţi liniare:
4.9. Aplicaţii ı̂n programarea ı̂ntreagă 79

a11 A1 + . . . + a1n An ≤ (≥) b1


a21 A1 + . . . + a2n An ≤ (≥) b2
..
.
am1 A1 + . . . + amn An ≤ (≥) bm ,
unde aij şi bi sunt numere ı̂ntregi pentru orice 1 ≤ i ≤ m, 1 ≤ j ≤ n.
Primul pas ı̂n rezolvarea unei probleme de programare ı̂ntreagă cu aju-
torul bazelor Gröbner este să o aducem la o formă standardizată. Acest lucru
se face ı̂n felul următor.
In primul rând obsevăm că putem considera numai probleme de minim
pentru funcţionale liniare, pentru că a afla max(ℓ) este totuna cu a afla
min(−ℓ).
Prin ı̂nmulţirea inegalităţilor ≥ cu −1 putem presupune că toate ine-
galităţile sunt ≤ . Apoi, introducând variabile suplimentare pozitive, putem
transforma toate inegalităţile ı̂n egalităţi. De exemplu, ı̂n problema noastră
de transport, putem introduce variabilele suplimentare C, D ∈ Z, C, D ≥ 0,
şi transformăm inegalităţile ı̂n

4A + 5B + C = 37,

2A + 3B + D = 20.
Prin urmare, o problemă de programare ı̂ntreagă ı̂n formă standard este
dată de:

min ℓ(A1 , . . . , An ) = c1 A1 + . . . + cn An , cu condiţiile:


a11 A1 + . . . + a1n An = b1
a21 A1 + . . . + a2n An = b2 (4.1)
..
.
am1 A1 + . . . + amn An = bm ,
unde Aj , cj , aij , bi ∈ Z, Aj ≥ 0, pentru orice 1 ≤ i ≤ m, 1 ≤ j ≤ n.

Cum transpunem acum problema noastră ı̂n limbajul polinoamelor?


Vom considera, mai ı̂ntâi, cazul aij , bi ≥ 0 pentru orice i, j. Introducem
câte o nedeterminată zi pentru fiecare ecuaţie din (4.1). Obţinem egalităţile

ziai1 A1 +ai2 A2 +...+ain An = zibi ,


80 Capitolul 4. Aplicaţii

pentru orice 1 ≤ i ≤ m. Multiplicând aceste egalităţi şi regrupând factorii ı̂n


produsul din stânga, obţinem:
n Y
Y m m
Y
aij Aj
( zi ) = zibi .
j=1 i=1 i=1

Următoarea lemă se demonstrează foarte uşor.

Lema 4.9.1. Fie k un corp şi ϕ : k[w1 , . . . , wn ] → k[z1 , . . . , zm ] definit prin


m
Y a
ϕ(wj ) = zi ij , j = 1, n.
i=1

Atunci (A1 , . . . , An ) satisface restricţiile din problema (4.1) dacă şi numai
dacă
m
Y
ϕ(w1A1 . . . wnAn ) = zibi .
i=1

De exemplu, pentru problema noastră de transport, unde aveam condiţiile

4A + 5B + C = 37, 2A + 3B + D = 20,

avem ϕ : k[w1 , w2 , w3 , w4 ] → k[z1 , z2 ] definit de

ϕ(w1 ) = z14 z22 , ϕ(w2) = z15 z23 , ϕ(w3 ) = z1 , ϕ(w4) = z2 .

A, B, C, D ∈ Z, A, B, C, D ≥ 0, satisfac condiţiile problemei noastre dacă şi


numai dacă
ϕ(w1A w2B w3C w4D ) = z137 z220 .
Q aij
Pentru orice 1 ≤ j ≤ n, notăm fj = m i=1 zi . Atunci, pentru un polinom
g ∈ k[w1 , . . . , wn ],

ϕ(g) = g(ϕ(w1 ), . . . , ϕ(wn )) = g(f1 , . . . , fn ).

Prin urmare, Im ϕ = k[f1 , . . . , fn ].

Propoziţia 4.9.2. Fie f1 , . . . , fn o familie de polinoame din k[z1 , . . . , zm ].


Fixăm o ordonare monomială ≤ pe k[z1 , . . . , zm , w1 , . . . , wn ] cu următoarea
4.9. Aplicaţii ı̂n programarea ı̂ntreagă 81

proprietate de eliminare: orice monom care conţine cel puţin una din nede-
terminatele z1 , . . . , zm este mai mare decât orice monom care conţine numai
nedeterminatele w1 , . . . , wn . Fie G o bază Gröbner a idealului

I = (f1 − w1 , . . . , fn − wn ) ∈ k[z1 , . . . , zm , w1 , . . . , wn ]
G
relativ la ≤ . Pentru un polinom f ∈ k[z1 , . . . , zm ] notăm cu f forma sa
normală relativ la G. Atunci:
G
(a) f ∈ k[f1 , . . . , fn ] dacă şi numai dacă g = f ∈ k[w1 , . . . , wn ]. In
acest caz, expresia lui f ca polinom ı̂n polinoamele f1 , . . . , fn este f =
g(f1 , . . . , fn ).

(b) Dacă f, f1 , . . . , fn sunt monoame ı̂n k[z1 , . . . , zm ] şi f ∈ k[f1 , . . . , fn ],


atunci g este, de asemenea, un monom.
G
Demonstraţie. Să considerăm mai ı̂ntâi că g = f ∈ k[w1 , . . . , wn ]. Atunci,
cum f se scrie f = u + g, u ∈ I, substituind wi cu fi , pentru orice i, obţinem
f = g(f1 , . . . , fn ) ∈ k[f1 , . . . , fn ].
Fie f ∈ k[f1 , . . . , fn ]. Rezultă că f are forma
X
f= aα f1i1 . . . fnin =
α=(i1 ,...,in )

X
= aα (w1 + (f1 − w1 ))i1 . . . (wn + (fn − wn ))in = v + h,
α

unde v ∈ I şi h = f (w1 , . . . , wn ) ∈ k[w1 , . . . , wn ]. Fie

G′ = G ∩ k[w1 , . . . , wn ] = {g1′ , . . . , gs′ }.

Conform Teoremei 4.3.1, rezultă că G′ este bază Gröbner pentru I∩k[w1 , . . . , wn ].
Fie
h = c1 g1′ + . . . + cs gs′ + r, (4.2)
G
o exprimare standard a lui h relativ la baza G′ . Afirmăm că r = f . Intr-
adevăr, dacă există un monom m care apare ı̂n scrierea lui r astfel ı̂ncât
m ∈ (in< (g) : g ∈ G), atunci găsim g ∈ G astfel ı̂ncât in< (g) | m. Cum
m ∈ k[w1 , . . . , wn ], rezultă că g ∈ G′ , imposibil, din (4.2). Prin urmare,
G
f ∈ k[w1 , . . . , wn ].
82 Capitolul 4. Aplicaţii

Pentru partea a doua a propoziţiei, observăm că, datorită faptului că


I este generat de binoame, rezultă că şi baza G este formată numai din
G
binoame. Cum f este monom, din algoritmul Buchberger urmează că f
este tot monom.

Corolarul 4.9.3. Dacă z1b1 . . . zm bm


∈ Im ϕ, adică z1b1 . . . zmbm
∈ k[f1 , . . . , fn ],
n
atunci există (A1 , . . . , An ) ∈ Z , A1 , . . . , An ≥ 0, astfel ı̂ncât

ϕ(w1A1 , . . . , wnAn ) = z1b1 . . . zm


bm
,

cu alte cuvinte, n-uplul (A1 , . . . , An ) verifică restricţiile din problema stan-


dard (4.1).

Exemplul 4.9.4. Pentru problema noastră concretă de transport, cu Singular,


obţinem:

> ring r=0,(z(1..2),w(1..4)),(dp(2),dp(4));


ideal i=z(1)^4*z(2)^2-w(1),z(1)^5*z(2)^3-w(2),z(1)-w(3),z(2)-w(4);
std(i);

_[1]=w(1)*w(3)*w(4)-w(2)
_[2]=w(2)^2*w(3)^2-w(1)^3
_[3]=w(2)*w(3)^3*w(4)-w(1)^2
_[4]=w(1)^4*w(4)-w(2)^3*w(3)
_[5]=w(3)^4*w(4)^2-w(1)
_[6]=z(2)-w(4)
_[7]=z(1)-w(3)

> poly f=z(1)^37*z(2)^20;


reduce(f,std(i));

w(1)^4*w(2)^4*w(3)

Prin urmare, (4, 4, 1, 0) verifică restricţiile problemei noastre ı̂n forma


standard.

Pentru a rezolva complet problema standard (4.1), adică pentru a găsi


(A1 , . . . , An ) cu componente ı̂ntregi pozitive care minimizează forma liniară
ℓ, trebuie să folosim ordonări monomiale cu proprietăţi suplimentare.
4.9. Aplicaţii ı̂n programarea ı̂ntreagă 83

Definiţia 4.9.5. O ordonare monomială pe k[z1 , . . . , zm , w1 , . . . , wn ] se numeşte


adaptată la problema standard dacă satisface condiţiile:

(a) (Eliminare) Orice monom care conţine cel puţin una din nedetermi-
natele z1 , . . . , zm este strict mai mare decât orice monom format numai
cu nedeterminatele w1 , . . . , wn .

(b) (Compatibilitate cu ℓ) Pentru A = (A1 , . . . , An ), A′ = (A′1 , . . . , A′n ) cu



proprietatea că ϕ(w A ) = ϕ(w A ), dacă ℓ(A1 , . . . , An ) > ℓ(A′1 , . . . , A′n ),

atunci w A > w A .

Teorema 4.9.6. Fie problema de programare ı̂ntreagă ı̂n forma standard


(4.1).PPresupunem că aij , bi ≥ 0, pentru orice 1 ≤ i ≤ m, 1 ≤ j ≤ n. Fie
aij
fj = m i=1 zi , j = 1, n şi G o bază Gröbner a idealului

I = (f1 − w1 , . . . , fn − wn ) ⊂ k[z1 , . . . , zm , w1 , . . . , wn ]

relativ la o ordonare monomială adapatată problemei.


G
Dacă f = z1b1 . . . zmbm
∈ k[f1 , . . . , fn ], atunci forma normală f este o
G
soluţie a problemei (4.1). Mai precis, dacă f = w A , atunci A = (A1 , . . . , An )
verifică restricţiile problemei şi minimizează funcţionala ℓ.
G
Demonstraţie. Din Propoziţia 4.9.2 avem că f este un monom din inelul
G
k[w1 , . . . , wn ]. Fie w A = f . Atunci A verifică restricţiile problemei (4.1).
Mai trebuie demonstrat că A minimizează ℓ. Să presupunem, prin absurd,

că există A′ astfel ı̂ncât ϕ(w A ) = ϕ(w A ) şi ℓ(A′ ) < ℓ(A). Din condiţia

de compatibilitate cu ℓ a ordonării monomiale, rezultă că w A > w A . Fie

h = w A − w A . Evident, h 6= 0 şi in< (h) = w A . Pe de altă parte, ϕ(h) = 0,
deci h(f1 , . . . , fn ) = 0, ceea ce implică h ∈ I ∩ k[w1 , . . . , wn ]. In particular,
G G G
h = 0. Dar w A = in< (h) trebuie să apară ı̂n h deoarece w A = f . Prin
G
urmare, h 6= 0, contradicţie. Deci A minimizează ℓ.
Cum putem construi o ordonare monomială adaptată la o problemă de
programare ı̂ntreagă ı̂n formă standard?
Considerăm mai ı̂ntâi cazul când toţi coeficienţii cj , j = 1, n, sunt ı̂ntregi
strict pozitivi. In această situaţie luăm o ordonare monomială oarecare pe
k[w1 , . . . , wn ] pe care o ponderăm cu vectorul c = (c1 , . . . , cn ). Apoi con-
siderăm o ordonare monomială oarecare pe k[z1 , . . . , zm ] si luăm ordonarea
produs a celor două ordonări pentru a obţine ordonarea ı̂n inelul polinoamelor
84 Capitolul 4. Aplicaţii

k[z1 , . . . , zm , w1 , . . . , wn ]. In acest fel asigurăm condiţia de eliminare din defini-


ţia ordonării adaptate. Condiţia de compatibilitate cu funcţionala ℓ este
asigurată de vectorul pondere c.
Dacă c are şi componente negative, procedăm astfel: fie σ o ordonare
monomială oarecare pe k[z1 , . . . , zm , w1 , . . . , wn ] pe care o ponderăm după
cum urmează. In primul rând atribuim nedeterminatelor P următoarele grade:
deg(zi ) = 1, pentru orice 1 ≤ i ≤ m, deg(wj ) = dj = m i=1 aij , pentru orice
1 ≤ j ≤ n. Observăm că dj > 0 pentru orice j, deoarece, ı̂n caz contrar,
nu ar exista restricţii pentru unele din variabilele Aj . Definim apoi următorii
vectori: u1 este (m + n)–vectorul care are primele componente egale cu 1, iar
celelalate egale cu 0, iar u2 = (0, . . . , 0, c1 , . . . , cn ) + µ(0, . . . , 0, d1, . . . , dn ),
cu primele m componente egale cu 0 şi cu µ ales astfel ı̂ncât ultimele n
componente să fie strict pozitive.
Cu aceste alegeri, definim o ordonare pe k[z1 , . . . , zm , w1 , . . . , wn ] astfel:
pentru două monoame m1 , m2 , avem m1 > m2 dacă u1 − deg(m1 ) > u1 −
deg(m2 ) sau u1 −deg(m1 ) = u1 −deg(m2 ) şi u2 −deg(m1 ) > u2 −deg(m2 ) sau
u1 −deg(m1 ) = u1 −deg(m2 ), u2 −deg(m1 ) = u2 −deg(m2 ) şi m1 >σ m2 . Este
uşor de verificat că > este o ordonare monomială pe k[z1 , . . . , zm , w1 , . . . , wn ].
Să vedem de ce este adaptată la problema standard. Condiţia de elimi-
nare este verificată deoarece, dacă luăm un monom ce conţine cel puţin
o nedeterminată zi , acesta va avea gradul u1 –ponderat strict pozitiv, ori
fiecare monom din k[w1 , . . . , wn ] are gradul u1 –ponderat egal cu zero. Pen-

tru condiţia de compatibilitate cu ℓ observăm că dacă w A şi w A satisfac

ϕ(w A ) = ϕ(w A ) şi ℓ(A) > ℓ(A′ ), atunci u1 − deg(m1 ) = u1 − deg(m2 ) şi

u2 − deg(m1 ) > u2 − deg(m2 ), deci w A > w A .
Să revenim la exemplul nostru cu mica problemă de transport. In prob-
lema standard asociată vom considera min(−11A − 15B). Avem

u1 = (1, 1, 0, 0, 0, 0)

şi
u2 = (0, 0, −11, −15, 0, 0) + µ(0, 0, 6, 8, 1, 1).
Alegem µ = 2 şi obţinem

u2 = (0, 0, 1, 1, 2, 2).

> ring r=0,(z(1..2),w(1..4)),(a(1,1,0,0,0,0),a(0,0,1,1,2,2),dp);


ideal i=z(1)^4*z(2)^2-w(1),z(1)^5*z(2)^3-w(2),z(1)-w(3),z(2)-w(4);
4.9. Aplicaţii ı̂n programarea ı̂ntreagă 85

std(i);

_[1]=w(1)*w(3)*w(4)-w(2)
_[2]=w(2)^2*w(3)^2-w(1)^3
_[3]=w(1)^4*w(4)-w(2)^3*w(3)
_[4]=w(2)*w(3)^3*w(4)-w(1)^2
_[5]=w(3)^4*w(4)^2-w(1)
_[6]=z(2)-w(4)
_[7]=z(1)-w(3)

> poly f=z(1)^37*z(2)^20;


reduce(f,std(i));

w(1)^4*w(2)^4*w(3)

Prin urmare, o soluţie a problemei noastre este (A, B, C, D) = (4, 4, 1, 0).


Cazul general, când coeficienţii aij , bi , ai restricţiilor sunt numere ı̂ntregi
arbitrare, se tratează ı̂ntr-un mod asemănător. Diferenţa ı̂n modelarea alge-
brică a problemei constă ı̂n faptul că, ı̂n loc să lucrăm cu inelul k[z1 , . . . , zm ],
vom considera inelul Laurent k[z1±1 , . . . , zm ±1
] ı̂n nedeterminatele
Q z1 ,Q
. . . , zm .
aij
Această nouă abordare este impusă de faptul că fj = m z
i=1 i şi f = m
i=1 zi
bi

nu sunt neapărat monoame ı̂n k[z1 , . . . , zm ]. Inelul polinoamelor Laurent se


poate identifica ı̂n mod natural cu inelul
Qm k[z 1 , . . . , zm , t]/(tz1 . . . zm − 1). Prin
bi
acest izomorfism, monomul f = i=1 zi se poate reprezenta sub forma
e
Qm b′i
t i=1 zi + (tz1 . . . zm − 1), unde e, b′i ∈ Z, e, b′i ≥ 0, b′i = e + bi , pentru
orice 1 ≤ i ≤ m. De exemplu, monomul z12 z2−3 z3−4 din inelul k[z1±1 , z2±1 , z3±1 ]
se poate reprezenta ca t4 z16 z2 + (tz1 z2 z3 − 1) sau t5 z17 z22 z3 + (tz1 z2 z3 − 1).
Q a′ij
Scriind monoamele fj = tej m ′ ′
i=1 i , unde ej , aij ≥ 0, şi aij = aij + ej ,
z
pentru orice i, j, egalitatea
n m
!A j m
Y Y a
Y
zi ij = zibi
j=1 i=1 i=1

ı̂n inelul polinoamelor Laurent devine echivalentă cu egalitatea


n m
!A j m
Y Y a′ Y b′
tej zi ij = te zi i mod(tz1 . . . zm − 1)
j=1 i=1 i=1
86 Capitolul 4. Aplicaţii

ı̂n inelul k[z1 , . . . , zm , t]/(tz1 . . . zm − 1).


Lema 4.9.1 se reformulează ı̂n acest nou context astfel.

Lema 4.9.7. Fie


±1 ∼
ϕ : k[w1 , . . . , wn ] → k[z1±1 , . . . , zm ] = k[z1 , . . . , zm ]/(tz1 . . . zm − 1),

morfismul definit de
m
Y
ej a′
ϕ(wj ) = t zi ij mod(tz1 . . . zm − 1), 1 ≤ j ≤ n.
i=1

Atunci A = (A1 , . . . , An ) ∈ Z, Aj ≥ 0, pentru orice 1 ≤ j ≤ n, satisface


restricţiile din problema standard (4.1) dacă şi numai dacă
m
Y
A e b′
ϕ(w ) = t zi i mod(tz1 . . . zm − 1).
i=1

Se pot formula, de asemenea, rezultate similare Propoziţiei 4.9.2 şi Teore-


mei 4.9.6, dar trebuie să considerăm inelul k[z1 , . . . , zm , t, w1 , . . . , wn ] ı̂n locul
inelului k[z1 , . . . , zm , w1 , . . . , wn ], idealul

I = (tz1 . . . zm − 1, f1 − w1 , . . . , fn − wn ),

şi o ordonre monomială adaptată pe inelul k[z1 , . . . , zm , t, w1 , . . . , wn ] cu condiţia


de eliminare impusă nedeterminatelor z1 , . . . , zm şi t.
Bibliografie

[1] W. Adams, P. Loustaunau, An Introduction to Gröbner Bases, Amer.


Math. Soc., Providence RI, 1994.

[2] M. F. Atiyah, I. G. MacDonald, Introduction to Commutative Algebra,


Addison-Wesley, Reading, Massachusetts, 1962.

[3] B. Buchberger, Ein Algorithmus zum Auffinden der Basiselemente des


Restklassenringes nach einem nulldimensionalen Polynomideal, PhD
Thesis, Mathematical Institute, University of Innsbruck, Austria, 1965.

[4] T. Becker, V. Weispfenning, Gröbner Bases, Springer-Verlag, 1995.

[5] A. M. Cohen, H. Cuypers, H. Sterk (Eds.), Some Tapas of Computer


Algebra, Algorithms and Computation in Mathematics, Vol. 4, Springer-
Verlag, 1999.

[6] D. Cox, J. Little, D. O’Shea, Ideals, Varieties and Algorithms, Springer-


Verlag, 1997.

[7] D. Cox, J. Little, D. O’Shea, Using Algebraic Geometry, Springer-


Verlag, 1998.

[8] CoCoATeam: CoCoA: a system for doing Computations in Commuta-


tive Algebra, http://cocoa.dima.unige.it

[9] D. Eisenbud, Commutative Algebra with a View towards Algebraic Ge-


ometry, Springer-Verlag, 1995.

[10] V. Ene, Lecţii de teoria mulţimilor, ExPonto, Constanţa, 2002.

87
88 Bibliografie

[11] V. Ene, Capitole de algebră asistată de calculator, ExPonto, Constanţa,


2002.

[12] R. Fröberg, An Introduction to Gröbner Bases, Wiley & Sons, 1997.

[13] J. Gago-Vargas, I. Hartillo-Hermoso, J. Martin-Morales, J.M. Ucha- En-


riquez, Sudokus and Gröbner bases: not only a Divertimento, in Com-
puter Algebra in Scientific Computing, V. G. Ganzha, E. W. Mayr, and
E. V. Vorozhstov (Eds.), Lecture Notes in Computer Science, 4194,
Springer-Verlag, 2006, 155–165.

[14] G.-M. Greuel, G. Pfister, A Singular Introduction to Commutative Al-


gebra, Springer-Verlag, 2002.

[15] G.-M. Greuel, G. Pfister, H. Schönemann, Singular, a System


for Computation in Algebraic Geometry and Singularity Theory,
http://www.singular.uni-kl.de/

[16] Gröbner Bases Bibliography, http://www.ricam.oeaw.ac.at/


Groebner-Bases-Bibliography/index.php

[17] Ion D. Ion, N. Radu, Algebră, Editura Didactică şi Pedagogică, Bu-
cureşti, 1991.

[18] E. Kunz, Introduction to Commutative Algebra and Algebraic Geometry,


Birkhäuser, Boston Basel Stuttgart, 1985.

[19] M. Kreutzer, L. Robbiano, Computational Commutative Algebra I,


Springer-Verlag, 2000.

[20] C. Năstăsescu, Introducere ı̂n teoria mulţimilor, Editura Didactică şi


Pedagogică, Bucureşti, 1974.

[21] B. Sturmfels, Gröbner Bases and Convex Polytopes, Amer. Math. Soc.,
Providence, RI, 1996.

[22] B. Sturmfels, Solving Systems of Polynomial Equations, Amer. Math.


Soc., CBMS Regional Conferences Series, No 97, Providence, RI, 2002.
Glosar

Algoritmul Buchberger, 40, 43 idealul colorărilor admisibile, 73


inducţie transfinită, 24
bază Gröbner, 31 inel noetherian, 39
redusă, 45 inelul polinoamelor Laurent, 85
universală, 46
bună ordonare, 24 Lema lui Dickson, 12
coeficient iniţial, 27 monom iniţial, 27
colorare a unui graf, 73 monom standard, 32
colorare admisibilă, 73
Criteriul Buchberger, 41 ordonare
(pur) lexicografică, 25
element nilpotent, 60 adaptată la problema standard,
element regulat, 60 83
de eliminare, 56
forma normală, 40
lexicografică graduată, 26
grad ponderat, 28 pe blocuri, 28
graf simplu, 73 ponderat graduată, 28
produs, 28
ideal revlexicografică, 27
iniţial, 30 ordonare monomială, 23
maximal, 65
monomial, 10 polinoamele simetrice fundamentale,
ireductibil, 16 51
prim, 16 polinom simetric, 51
radical, 21 problemă de programare ı̂ntreagă,
radical, 16 78
zero-dimensional, 61, 65 forma generală, 78
ideal de eliminare, 56 forma standard, 79

89
90 Glosar

problema apartenenţei la ideal, 38–


40

reprezentare standard, 35

S-polinom, 40
saturatul unui ideal, 58
Sudoku, 75

Teorema eliminării, 56
Teorema lui Hilbert a bazei, 38
Teorema lui Hilbert a zerourilor, 62,
64
termen iniţial, 27

varietate algebrică afină, 61

S-ar putea să vă placă și