Algebra Computazionale...mento, l’algoritmo termina. Nel caso generale, supponiamo dapprima che...

29
Algebra Computazionale Alessio Borz` ı

Transcript of Algebra Computazionale...mento, l’algoritmo termina. Nel caso generale, supponiamo dapprima che...

Page 1: Algebra Computazionale...mento, l’algoritmo termina. Nel caso generale, supponiamo dapprima che fsia costituito da un solo termine. Sia X i il valore di Xall’i-esima iterazione.

Algebra Computazionale

Alessio Borzı

Page 2: Algebra Computazionale...mento, l’algoritmo termina. Nel caso generale, supponiamo dapprima che fsia costituito da un solo termine. Sia X i il valore di Xall’i-esima iterazione.

2

Page 3: Algebra Computazionale...mento, l’algoritmo termina. Nel caso generale, supponiamo dapprima che fsia costituito da un solo termine. Sia X i il valore di Xall’i-esima iterazione.

Indice

Basi di Grobner 51.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.2 Ordinamenti monomiali . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.3 Algoritmo di divisione in k[x1, . . . , xn] . . . . . . . . . . . . . . . . . . . . 81.4 Basi di Grobner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.5 S-polinomio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121.6 Base di Grobner ridotta . . . . . . . . . . . . . . . . . . . . . . . . . . . 151.7 Lo spazio vettoriale k[x1,...,xn]

I. . . . . . . . . . . . . . . . . . . . . . . . . 16

1.8 Eliminazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181.9 Mappe polinomiali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191.10 Basi di Grobner e sizigie . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3

Page 4: Algebra Computazionale...mento, l’algoritmo termina. Nel caso generale, supponiamo dapprima che fsia costituito da un solo termine. Sia X i il valore di Xall’i-esima iterazione.

4

Page 5: Algebra Computazionale...mento, l’algoritmo termina. Nel caso generale, supponiamo dapprima che fsia costituito da un solo termine. Sia X i il valore di Xall’i-esima iterazione.

Basi di Grobner

1.1 Introduzione

Siano k un campo, x1, x2, . . . , xn n indeterminate su k. Indichiamo con

T n = {xβ11 xβ22 . . . xβnn : βi ∈ N, i = 1, . . . , n}

l’insieme dei monomi di k[x1, . . . , xn].

Definizione 1.1.1. Dato F ⊆ k[x1, . . . , xn] poniamo

V (F ) = {P ∈ kn : f(P ) = 0 ∀f ∈ F} ⊆ kn.

L’insieme V (F ) e detto varieta algebrica affine.

Osserviamo che se I = 〈F 〉 = {∑n

i=1 aifi : ai ∈ k[x1, . . . , xn], fi ∈ F} e l’idealegenerato da F allora

V (F ) = V (I).

Dato che k[x1, . . . , xn] e noetheriano allora ogni suo ideale e finitamente generato. Per-tanto ogni varieta algebrica affine e l’insieme dei punti di kn che soddisfano un numerofinito di equazioni polinomiali

fi(x1, . . . , xn) = 0 (i = 1, . . . ,m).

Proposizione 1.1.2.

1. I ⊆ I (V (I))

2. I ⊆ J ⇒ V (I) ⊇ V (J)

3. V (I (V (I))) = V (I)

4. V (1) = ∅, V (0) = An(k).

5. V(∑

λ∈Λ Iλ)

=⋂λ∈Λ V (Iλ)

6. V (IJ) = V (I ∩ J) = V (I) ∪ V (J)

1. X ⊆ V (I (X))

2. X ⊆ Y ⇒ I (X) ⊇ I (Y )

3. I (V (I (X))) = I (X)

4. I (An(k)) = (0),I (∅) = k[x ]

5. I (⋃λ∈ΛXλ) =

⋂λ∈Λ I (Xλ)

6. I (X ∩ Y ) ⊇ I (X) + I (Y )

A ogni polinomio f ∈ k[x1, . . . , xn] possiamo associare la sua funzione polinomialecorrispondente (detta anche funzione di valutazione) f : kn → k definita con la legge(a1, . . . , an) 7→ f(a1, . . . , an). Questa associazione e iniettiva solamente nel caso k infinito.

5

Page 6: Algebra Computazionale...mento, l’algoritmo termina. Nel caso generale, supponiamo dapprima che fsia costituito da un solo termine. Sia X i il valore di Xall’i-esima iterazione.

Infatti se k e un campo finito in generale possono esserci polinomi che originano la stessafunzione polinomiale (ad esempio k = Z2 in cui f(x) = x(x + 1) da luogo alla funzionenulla).

Osserviamo che un ideale I E k[x1, . . . , xn] puo avere insiemi di generatori di cardi-nalita diversa. Ad esempio

(x, y) = (x, x+ y) = (x+ xy, x2, y2, y + xy).

Definizione 1.1.3. Dati f, g ∈ k[x1, . . . , xn], il massimo comune divisore di f e ge il polinomio MCD(f, g) = d tale che

1. d|f , d|g

2. Se h|f e h|g allora h|d

3. lc(d) = 1

Analogamente si definisce minimo comune multiplo di f e g il polinomio mcm(f, g) =l tale che

1. f |l, g|l

2. Se f |h e g|h allora l|h

3. lc(l) = 1

L’esistenza del massimo comune divisore e del minimo comune multiplo e garantitadal fatto che k[x1, . . . , xn] e un UFD. Inoltre risulta fg = MCD(f, g) ·mcm(f, g).

1.2 Ordinamenti monomiali

Adottiamo la seguente notazione per i monomi

xβ11 xβ22 . . . xβnn = xβ dove β = (β1, β2, . . . , βn) ∈ Nn.

Definizione 1.2.1. Per ordinamento monomiale < su T n intendiamo un ordina-mento totale su T n tale che

1. 1 < xβ per ogni xβ ∈ T n \ {1}.

2. xα < xβ ⇒ xαxγ < xβxγ per ogni xγ ∈ T n.

Vediamo tre esempi di ordinamenti monomiali.

1. L’ordinamento lessicografico <lex con x1 > x2 > . . . > xn, dove, dati α =(α1, . . . , αn), β = (β1, β2, . . . , βn) ∈ Nn,

xα < xβ ⇔ α1 = β1, . . . , αk−1 = βk−1, αk < βk per qualche k = 1 . . . n.

6

Page 7: Algebra Computazionale...mento, l’algoritmo termina. Nel caso generale, supponiamo dapprima che fsia costituito da un solo termine. Sia X i il valore di Xall’i-esima iterazione.

2. L’ordinamento lessicografico graduato <deglex con x1 > x2 > . . . > xn, dove,dati α = (α1, . . . , αn), β = (β1, β2, . . . , βn) ∈ Nn,

xα < xβ ⇔

∑n

i=1 αi <∑n

i=1 βi

oppure∑ni=1 αi =

∑ni=1 βi, x

α <lex xβ.

3. L’ordinamento lessicografico graduato inverso <degrevlex con x1 > x2 > . . . >xn, dove, dati α = (α1, . . . , αn), β = (β1, β2, . . . , βn) ∈ Nn,

xα < xβ ⇔

∑n

i=1 αi <∑n

i=1 βi

oppure∑ni=1 αi <

∑ni=1 βi, αn = βn, . . . , αk+1 = βk+1, αk > βk per qualche k = 1 . . . n.

Proposizione 1.2.2. Se xα|xβ allora xα ≤ xβ, dove ≤ e un qualsiasi ordinamentomonomiale su T n.

Dimostrazione. Per ipotesi esiste xγ ∈ T n tale che xβ = xγxα. Adesso

xγ ≥ 1⇒ xγxα ≥ xα ⇒ xβ ≥ xα.

Teorema 1.2.3. Ogni ordinamento monomiale e un buon ordinamento.

Dimostrazione. Supponiamo per assurdo che esista una catena discendente

xα1 > xα2 > xα3 > . . .

Proviamo che la seguente catena ascendente di ideali di k[x1, . . . , xn]

(xα1) ⊆ (xα1 , xα2) ⊆ . . .

non puo essere stazionaria, contraddicendo il teorema della base di Hilbert.Infatti se fosse xαi+1 ∈ (xα1 , . . . , xαi) allora

xαi =i∑

j=1

ujxαj .

Adesso dato che xαi+1 e un monomio allora la somma del secondo membro deve dareluogo a un monomio, ne segue che xαi+1 deve essere divisibile per uno degli ujx

αj . Dallaproposizione precedente segue che xαj ≤ xαi+1 , assurdo. Cio conclude la dimostrazione.

Definizione 1.2.4. Sia < un ordinamento monomiale, f = c1xα1 + . . . + ckx

αk ∈k[x1, . . . , xn] con αi ∈ Nn e ci ∈ k e supponiamo che xαj ≤ xα1 ∀j ∈ {1, . . . , n}. Diamole seguenti definizioni:

lm(f) = xα1 leading monomiallc(f) = c1 leading coefficientlt(f) = c1x

α1 leading term

Dalla definizione segue subito che se f, g ∈ k[x1, x2, . . . , xn] allora

lm(f · g) = lm(f) · lm(g)lc(f · g) = lc(f) · lc(g)lt(f · g) = lt(f) · lt(g)

7

Page 8: Algebra Computazionale...mento, l’algoritmo termina. Nel caso generale, supponiamo dapprima che fsia costituito da un solo termine. Sia X i il valore di Xall’i-esima iterazione.

1.3 Algoritmo di divisione in k[x1, . . . , xn]

Fissiamo un ordinamento monomiale <.

Definizione 1.3.1. Siano f, g ∈ k[x1, . . . , xn] con g 6= 0. Diciamo che f si riduce a h

modulo g e scriveremo fg−→ h se lt(g) divide un termine non nullo X di f e h = f− X

lt(g)g.

Definizione 1.3.2. Siano f, h, f1, . . . , fk ∈ k[x1, . . . , xn] con fi 6= 0 per i = 1, . . . , k e sia

F = {f1, . . . , fk}. Diciamo che f si riduce a h modulo F e scriviamo fF−→+ h se esiste

una sequenza di indici i1, i2, . . . , it ∈ {1, . . . , k} e polinomi h1, . . . , ht−1 ∈ k[x1, . . . , xn]tali che

ffi1−→ h1

fi2−→ h2

fi3−→ . . .fit−1−−−→ ht−1

fit−→ h.

Definizione 1.3.3. Un polinomi f e detto ridotto rispetto a un insieme di polinomi nonnulli F = {f1, . . . , fk} se f = 0 oppure nessun termine di f e divisibile per alcun leadingterm di un polinomio in F . In altri termini se non si riduce modulo F .

Se fF−→+ r e r e ridotto rispetto a F allora r e un resto di f rispetto a F .

Fissato un ordinamento monomiale < e dati f, f1, . . . , fs ∈ k[x1, . . . , xn] con fi 6= 0descriviamo un algoritmo (detto algoritmo di divisione) tramite il quale otteniamodei polinomio quozienti u1, . . . , us ∈ k[x1, . . . , xn] e un polinomio resto r ∈ k[x1, . . . , xs]ridotto rispetto a F = {f1, . . . , fs} tali che1

f = u1f1 + . . .+ usfs + r,

lm(f) = max{lm(u1f1), . . . , lm(usfs), lm(r)}.

Data: f ∈ k[x1, . . . , xn], F = {f1, . . . , fs} ⊆ k[x1, . . . , xn] \ {0}Result: r, u1, . . . , us ∈ k[x1, . . . , xn] tali che r e ridotto rispetto a F e

f = u1f1 + . . .+ usfs + rInitialization: u1 := 0, . . . , us := 0, r := 0, h := fwhile h 6= 0 do

Scegli un termine X di h;if esiste i tale che lt(fi) divide X then

ui := ui + Xlt(fi)

;

h := h− Xlt(fi)

fi;

elser := r +X;h := h−X;

end

end

Osserviamo che il precedente algoritmo di divisione non e deterministico. In parti-colare l’output non e unico. Per rendere l’algoritmo deterministico possiamo decidere discegliere X = lt(h) e i ogni volta il minimo possibile.

Proviamo adesso che l’algoritmo di divisione descritto si ferma.

1La seconda condizione ci dice che non ci sono cancellazioni tra i leading terms dei polinomi elencati.

8

Page 9: Algebra Computazionale...mento, l’algoritmo termina. Nel caso generale, supponiamo dapprima che fsia costituito da un solo termine. Sia X i il valore di Xall’i-esima iterazione.

Lemma 1.3.4. Sia T un albero con la proprieta che ogni vertice V ha solo un numerofinito di vertici figli. Supponiamo che T non contiene nessun cammino2 infinito che partedalla radice. Allora T ha un numero finito di vertici.

Dimostrazione. Per assurdo supponiamo che T abbia un numero infinito di vertici. Con-sideriamo la radice V0. Essa ha un numero finito di vertici figli. Per ipotesi almeno unodi essi, diciamo V1, deve avere infiniti vertici sotto di lui. Adesso supponiamo di avercostruito Vn, similmente a prima poniamo Vn+1 uguale a un vertice figlio di Vn con infinitivertici sotto di lui. In questo modo abbiamo costruito per induzione un cammino infinitoche parte dalla radice V0, assurdo.

Teorema 1.3.5. Dati f ∈ k[x1, . . . , xn], F = {f1, . . . , fs} ⊆ k[x1, . . . , xn] \ {0}, l’algo-ritmo di divisione si ferma producendo polinomi quoziente u1, . . . , us ∈ k[x1, . . . , xn] e unpolinomio resto r ∈ k[x1, . . . , xs] ridotto rispetto a F = {f1, . . . , fs} tali che

f = u1f1 + . . .+ usfs + r,

lm(f) = max{lm(u1f1), . . . , lm(usfs), lm(r)}.

Dimostrazione. Prima di procedere col dimostrare il teorema, osserviamo che se sceglies-simo di volta in volta X = lt(h), dopo ogni ciclo while il polinomio h avra leading termstrettamente minore, pertanto, dato che ogni ordinamento monomiale e un buon ordina-mento, l’algoritmo termina.Nel caso generale, supponiamo dapprima che f sia costituito da un solo termine. Sia Xi

il valore di X all’i-esima iterazione. Consideriamo il grafo formato dagli indici i, colle-gando l’indice i all’indice j quando Xj e stato introdotto in h durante il processo che hautilizzato Xi. Dalla costruzione si ha che ogni indice ha un solo genitore, quindi il grafoche consideriamo e un albero. Osserviamo che se {i, j} e un segmento del grafo alloraXj < Xi. Essendo < un buon ordinamento ogni cammino che parte dalla radice e finito.La tesi segue dal lemma precedente.Se f non e un termine allora basta considerare la foresta di alberi formati da ogni singolotermine di f e aggiungere un nodo fittizio che abbia come figli le radici dei vari alberi.Adesso la prima condizione segue dalla definizione dell’algoritmo. Per dimostrare laseconda condizione, cioe che

lm(f) = max{lm(u1f1), . . . , lm(usfs), lm(r)},

notiamo innanzitutto che durante l’esecuzione dell’algoritmo lt(h) non auementa mai,infatti nel passo di divisione i termini che aggiungiamo sono minori o uguali (rispettoall’ordinamento monomiale) di

lt

(X

lt(fi)fi

)= lt

(X

lt(fi)

)lt(fi) =

X

lt(fi)lt(fi) = X ≤ lt(h).

Se siamo nel passo del resto rimuoviamo un termine di h, quindi il nuovo leading term eminore o uguale del vecchio. In questo modo lm(uifi) non potra mai essere piu grandedi lt(h).

2con cammino intendiamo una successione di vertici in cui ogni vertice e figlio del vertice precedente.

9

Page 10: Algebra Computazionale...mento, l’algoritmo termina. Nel caso generale, supponiamo dapprima che fsia costituito da un solo termine. Sia X i il valore di Xall’i-esima iterazione.

Osservazione 1.3.6. Dati f ∈ k[x1, . . . , xn], F = {f1, . . . , fs} ⊆ k[x1, . . . , xn] \ {0}, conl’algoritmo di divisione otteniamo

f = u1f1 + . . .+ usfs + r.

Pertanto se r = 0 allora f ∈ 〈f1, . . . , fs〉. In generale il viceversa non vale.

1.4 Basi di Grobner

Definizione 1.4.1. Sia I un ideale di polinomi. Un insieme G = {g1, . . . , gt} e dettobase di Grobner (o base standard) per I se

∀f ∈ I \ {0},∃i ∈ {1, . . . , t} : lm(gi)|lm(f).

In particolare se G e una base di Grobner per I allora nessun polinomio f ∈ I \ {0}e ridotto rispetto a G.

Definizione 1.4.2. Sia S ⊆ k[x1, . . . , xn], l’ideale dei leading terms di S e l’ideale

Lt(S) = 〈lt(s) : s ∈ S〉 ⊆ k[x1, . . . , xn].

Teorema 1.4.3. Siano I ⊆ k[x1, . . . , xn] un ideale e G = {g1, . . . , gt} ⊆ I, sonoequivalenti

1. G e una base di Grobner per I;

2. f ∈ I ⇔ fG−→+ 0;

3. f ∈ I ⇔ f =∑t

i=1 higi con lm(f) = max{lm(h1g1), . . . , lm(htgt)};

4. Lt(G) = Lt(I).

Dimostrazione.

(1)⇒ (2) Sia f ∈ k[x1, . . . , xn], dall’algoritmo di divisione sappiamo che f si riduce a unpolinomio r ∈ k[x1, . . . , xn] ridotto rispetto a G. Se f ∈ I allora r ∈ I, pertanto,dato che G e una base di Grobner per I, deve aversi r = 0. Viceversa se r = 0allora f ∈ I.

(2)⇒ (3) Supponiamo che f ∈ I, dall’algoritmo di divisione f si riduce a r ∈ I ridottorispetto a G, quindi, applicando l’ipotesi su r deve aversi r = 0. Adesso la tesisegue dalle ipotesi dell’algoritmo di divisione. Il Viceversa e ovvio.

(3)⇒ (4) G ⊆ I ⇒ Lt(G) ⊆ Lt(I). Viceversa se f ∈ I allora per ipotesi

lm(f) = max{lm(h1)lm(g1), . . . , lm(ht)lm(gt)} ∈ Lt(G),

pertanto Lt(I) ⊆ Lt(G).

10

Page 11: Algebra Computazionale...mento, l’algoritmo termina. Nel caso generale, supponiamo dapprima che fsia costituito da un solo termine. Sia X i il valore di Xall’i-esima iterazione.

(4)⇒ (1) Sia f ∈ I, allora lt(f) ∈ Lt(I) = Lt(G) quindi

lt(f) =t∑i=1

hilt(gi),

pertanto, dato che il primo membro e un termine, lm(f) sara divisibile per qualchelm(gi).

Corollario 1.4.4. Se G = {g1, . . . , gt} e una base di Grobner per un ideale I alloraI = 〈G〉.

Dimostrazione. Sia f ∈ I, dal punto 3 del teorema precedente abbiamo che f ∈ 〈G〉.L’inclusione inversa e ovvia.

Lemma 1.4.5 (Lemma di Dickson). Sia S un insieme di termini non nulli e I = 〈S〉.Sia f ∈ k[x1, . . . , xn] allora

f ∈ I ⇔ per ogni termine X di f , esiste Y ∈ S tale che Y |X.

Inoltre esiste un insieme finito S0 ⊆ S tale che I = 〈S0〉.

Dimostrazione. Risulta f ∈ I se e solo se f =∑k

i=1 hiXi con hi ∈ k[x1, . . . , xn] e Xi ∈ Sse e solo se ogni termine X di f e divisibile per qualche termine Y ∈ S.Adesso, dal teorema della base di Hilbert sappiamo che I = 〈f1, . . . , ft〉, inoltre

fi =

ki∑j=1

hijXij con hij ∈ k[x1, . . . , xn], Xij ∈ S

quindi I = 〈Xij〉.

Corollario 1.4.6. Ogni ideale I di k[x1, . . . , xn] ha una base di Grobner.

Dimostrazione. Dal lemma precedente sappiamo che, considerando l’ideale Lt(I) = 〈lt(f) :f ∈ I〉, esistono g1, . . . , gt ∈ I tali che Lt(I) = 〈lt(g1), . . . , lt(gt)〉, allora posto G ={g1, . . . , gt} si ha Lt(I) = Lt(G), quindi G e una base di Grobner per I.

Diremo che G ⊆ k[x1, . . . , xn] e una base di Grobner se lo e per 〈G〉.

Teorema 1.4.7. Sia G = {g1, . . . , gt} ⊆ k[x1, . . . , xn] \ {0}, risulta

G e base di Grobner ⇐⇒ per ogni f ∈ k[x1, . . . , xn] il restodella divisione di f per G e unico.

Dimostrazione.

⇒ Supponiamo che f si riduca a due polinomi r1 e r2 ridotti rispetto a G. La differenzar1 − r2 e ridotta rispetto a G, inoltre r1 − r2 = (f − r1)− (f − r2) ∈ 〈G〉, pertantodal fatto che G e una base di Grobner deve aversi r1 − r2 = 0⇒ r1 = r2.

11

Page 12: Algebra Computazionale...mento, l’algoritmo termina. Nel caso generale, supponiamo dapprima che fsia costituito da un solo termine. Sia X i il valore di Xall’i-esima iterazione.

⇐ Proviamo il punto 2 del Teorema 1.4.3. Se fG−→+ 0 allora f ∈ 〈G〉. Viceversa

sia f ∈ 〈G〉 e supponiamo che fG−→+ r con r ridotto rispetto a G. Proviamo che,

dati X ∈ T n e c ∈ k \ {0}, si ha f − cXgiG−→+ r. Sia d ∈ k il coefficiente del

termine Xlt(gi) in f (nel caso in cui f non possieda tale termine porremo d = 0).Distinguiamo vari casi.

– Se d = 0 allora riduciamo f − cXgi tramite gi, da cui f − cXgigi−→ f

G−→+ r ⇒f − cXgi

G−→+ r.

– Se d = c 6= 0 riduciamo f tramite gi, da cui fgi−→ f−cXgi

G−→+ r′ con r′ ridotto,

quindi fG−→+ r′, dall’unicita del resto segue r′ = r, pertanto f − cXgi

G−→+ r.

– Se 0 6= d 6= c allora f e f − cXgi si riducono a f − dXgi mediante i terminirispettivamente dXgi e (d− c)Xgi. Risulta

fgi−→ f − dXgi

G−→+ r′

f − cXgigi−→ f − dXgi

G−→+ r′

con r′ ridotto rispetto a G. Pertanto fG−→+ r′, dall’unicita del resto r′ = r e

quindi si ha anche f − cXgiG−→+ r.

Adesso, dato che f ∈ 〈G〉 scriviamo

f =t∑i=1

higi =∑v

cvXvgiv ,

iterando piu volte quanto appena dimostrato risulta 0 = f −∑

v cvXvgivG−→+ r

allora r = 0 .

Osserviamo che anche se il resto della divisione e unico, i quozienti possono non essereunici (nel caso in cui l’insieme di generatori non e minimale).

1.5 S-polinomio

Definizione 1.5.1. Siano f, g ∈ k[x1, . . . , xn] \ {0} e sia L = mcm(lm(f), lm(g)), ilpolinomio

S(f, g) =L

lt(f)f − L

lt(g)g

e detto S-polinomio di f e g.

Lemma 1.5.2. Siano f1, . . . , fs ∈ k[x1, . . . , xn] con lm(fi) = X 6= 0 per i = 1, . . . , s. Siaf =

∑si=1 cifi con ci ∈ k. Se lm(f) < X allora f e combinazione lineare a coefficienti in

k di S(fi, fj) con 1 ≤ i ≤ j ≤ s.

12

Page 13: Algebra Computazionale...mento, l’algoritmo termina. Nel caso generale, supponiamo dapprima che fsia costituito da un solo termine. Sia X i il valore di Xall’i-esima iterazione.

Dimostrazione. Poniamo fi = aiX + gi, con ai ∈ k. Per ipotesi∑s

i=1 ciai = 0, inoltrerisulta

S(fi, fj) =1

aifi −

1

ajfj,

pertanto si ha

f = c1f1 + c2f2 + . . . csfs = c1a1

(1

a1

f1

)+ c2a2

(1

a2

f2

)+ . . .+ csas

(1

asfs

)=

= c1a1

(1

a1

f1 −1

a2

f2

)+ (c1a1 + c2a2)

(1

a2

f2 −1

a3

f3

)+ . . .+

+(c1a1 + . . .+ cs−1as−1)

(1

as−1

fs−1 −1

asfs

)+ (c1a1 + . . .+ csas)

(1

asfs

)=

= b1S(f1, f2) + b2S(f2, f3) + . . .+ bs−1S(fs−1, fs),

con bi = c1a1 + . . .+ aici ∈ k (bs = 0).

Teorema 1.5.3 (Buchberger). Sia G = {g1, . . . , gt} ⊆ k[x1, . . . , xn] \ {0},

G e base di Grobner ⇐⇒ S(gi, gj)G−→+ 0 per ogni i 6= j.

Dimostrazione.

⇒ Segue da S(gi, gj) ∈ 〈G〉.

⇐ Proviamo il punto 3 tel Teorema 1.4.3. Se f =∑t

i=1 higi allora ovviamente f ∈ 〈G〉.Viceversa sia f ∈ 〈G〉, scriviamo f come combinazione dei gi

f =t∑i=1

higi

in modo che X = max{lm(higi) : i = 1, . . . , t} sia minimo (> e un buon ordina-mento). Se X = lm(f) la tesi e acquisita. Altrimenti supponiamo per assurdoche X > lm(f). Sia S = {i : lm(hi)lm(gi) = X}, per gli indici i ∈ S sceriviamolt(hi) = ciXi, dove Xi sono monomi. Scriviamo

f =∑i∈S

lt(hi)gi +∑i∈S

(hi − lt(hi))gi +∑i/∈S

higi. (1.1)

Poniamog =

∑i∈S

lt(hi)gi =∑i∈S

ciXigi =∑i∈S

cifi

dove fi = Xigi = lm(hi)gi. Per definizione, per ogni i ∈ S risulta lm(fi) =lm(hi)lm(gi) = X, inoltre lm(g) ≤ lm(f) < X (poiche f e somma di g e terminipiu piccoli di lt(g)). Possiamo applicare il lemma precedente a g, pertanto esistonodij ∈ k tali che

g =∑i,j∈Si 6=j

dijS(fi, fj) =∑i,j∈Si 6=j

dijS(Xigi, Xjgj).

13

Page 14: Algebra Computazionale...mento, l’algoritmo termina. Nel caso generale, supponiamo dapprima che fsia costituito da un solo termine. Sia X i il valore di Xall’i-esima iterazione.

Poiche X = lm(Xigi) = lm(Xjgj) = LCD(lm(Xigi), lm(Xjgj)) allora

S(Xigi, Xjgj) =X

lt(Xigi)Xigi −

X

lt(Xjgj)Xjgj =

X

lt(gi)gi −

X

lt(gj)gj =

=X

Xij

(Xij

lt(gi)gi −

Xij

lt(gj)gj

)=

X

Xij

S(gi, gj),

dove Xij = LCD(lm(gi), lm(gj)). Per ipotesi S(gi, gj)G−→+ 0, pertanto, in base

alla relazione precedente, S(Xigi, Xjgj)G−→+ 0. Dall’algoritmo di divisione (che

possiamo effettuare con le stesse divisioni della riduzione S(Xigi, Xjgj)G−→+ 0)

sappiamo che

S(Xigi, Xjgj) =t∑

v=1

hijvgv con lm(S(Xigi, Xjgj)) = max{lm(hijvgv)}. (1.2)

Inoltre scriviamo

S(Xigi, Xjgj) =X

lt(Xigi)Xigi −

X

lt(Xjgj)Xjgj =

1

lc(Xigi)Xigi −

1

lc(Xjgj)Xjgj,

pertanto i termini di S(Xigi, Xjgj) sono minori di X, da cui lm(S(Xigi, Xjgj)) < X.Da cio, scrivendo g come combinazione degli S(Xigi, Xjgj) e sostituendo come in1.2, seguirebbe che possiamo trovare una scrittura del tipo 1.1 che contraddice laminimalita di X, assurdo. .

Il precedente teorema suggerisce un algoritmo (detto algoritmo di Buchberger)per ottenere una base di Grobner di un ideale I da una base data.

Data: F = {f1, . . . , fs} ⊆ k[x1, . . . , xn] \ {0}Result: G = {f1, . . . , fk} base di Grobner per I = 〈F 〉 (k ≥ s)Initialization: G := {f1, f2, . . . , fs}, t := s

while S(fi, fj)G−→+ h 6= 0 per qualche i, j ≤ t do

ft+1 := S(fi, fj) ;Aggiungi ft+1 a G ;t := t+ 1 ;

end

Teorema 1.5.4. Dato F = {f1, . . . , fs} l’algoritmo di Buchberger si ferma restituendociuna base di Grobner per I = 〈F 〉.Dimostrazione. Per assurdo, supponiamo che l’algoritmo non si fermi. Indichiamo conGi l’insieme G al passo i. Se l’algoritmo non si ferma otteniamo la catena di insiemi

G1 ( G2 ( G3 ( . . .

Dato che al passo i+ 1 aggiungiamo all’insieme Gi+1 l’S-polinomio di due elementi di Gi,alla precedente catena corrisponde la catena di ideali monomiali

Lt(G1) ( Lt(G2) ( Lt(G3) ( . . .

contro il teorema della base di Hilbert.Inoltren tutti gli S-polinomi di G si riducono al polinomio nullo e da F ⊆ G ⊆ I segueI = 〈F 〉 = 〈G〉, pertanto dal teorema di Buchberger G e una base di Grobner per I.

14

Page 15: Algebra Computazionale...mento, l’algoritmo termina. Nel caso generale, supponiamo dapprima che fsia costituito da un solo termine. Sia X i il valore di Xall’i-esima iterazione.

1.6 Base di Grobner ridotta

Definizione 1.6.1. Una base di Grobner G = {g1, . . . , gt} e detta minimale se

• lc(gi) = 1

• lm(gi) - lm(gj) per i 6= j.

Di immediata dimostrazione e il seguente

Lemma 1.6.2. Se G = {g1, . . . , gt} e una base di Grobner per I e lm(gi)|lm(gj) perqualche i 6= j allora anche G \ {gj} e una base di Grobner.

Corollario 1.6.3. Sia G = {g1, . . . , gt} una base di Grobner per I. Per ottenere unabase minimale da G basta eliminare tutti i gi tali che esiste j 6= i con lm(gj)|lm(gi), epoi dividere i rimanenti gi per lc(gi).

Proposizione 1.6.4. Se G = {g1, . . . , gt} e F = {f1, . . . , fs} sono due basi di Grobnerminimali per I allora t = s e, a meno di riordinamento degli indici, risulta lm(fi) =lm(gi).

Dimostrazione. Per ipotesi f1 ∈ I, quindi lm(gi)|lm(f1) per qualche i. A meno di riordi-namento degli indici possiamo suppore che i = 1. Adesso g1 ∈ I, allora lm(fj)|lm(g1)⇒lm(fj)|lm(f1), da cui necessariamente j = 1, pertanto lm(g1) = lm(f1). Adesso suppo-niamo s ≤ t, ripetiamo lo stesso ragionamento per f2, . . . , fs ottenendo lm(gi) = lm(fi)e s = t. Per provare l’ultima asserzione, supponiamo per assurdo s < t, allora gs+1 ∈ I,da cui lm(gi) = lm(fi)|lm(gs+1) per qualche i, contro la minimalita di G.

Definizione 1.6.5. Una base di Grobner G = {g1, . . . , gt} e detta ridotta se per ognii ∈ {1, . . . , t}

• lc(gi) = 1

• gi e ridotto rispetto a G \ {gi}

Ogni base di Grobner ridotta e minimale.

Corollario 1.6.6. Sia G = {g1, . . . , gt} una base di Grobner minimale per I. Conside-riamo il seguente processo di riduzione

g1H1−→+ h1 con h1 ridotto rispetto a H1 = {g2, . . . , gt},

g2H1−→+ h2 con h2 ridotto rispetto a H2 = {h1, g3, . . . , gt},

...

g1H1−→+ ht con ht ridotto rispetto a Ht = {h1, . . . , ht−1}.

Allora H = {h1, . . . , ht} e una base di Grobner ridotta per I.

Dimostrazione. Dato che G e una base minimale si ha lm(hi) = lm(gi), quindi H e unabase di Grobner minimale per I. Infine poiche la riduzione di gi per Hi e fatta utilizzandoi termini lm(h1) = lm(g1), . . . , lm(hi−1) = lm(gi−1), lm(gi+1), . . . , lm(gt), ne segue che He ridotta.

15

Page 16: Algebra Computazionale...mento, l’algoritmo termina. Nel caso generale, supponiamo dapprima che fsia costituito da un solo termine. Sia X i il valore di Xall’i-esima iterazione.

Teorema 1.6.7. Fissato un ordinamento monomiale, ogni ideale I di k[x1, . . . , xn] haun unica base di Grobner ridotta.

Dimostrazione. Siano G = {g1, . . . , gt} e H = {h1, . . . , ht} due basi di Grobner ridotte.In base a una proposizione precedente possiamo supporre lm(gi) = lm(hi). Per assurdosupponiamo che gi 6= hi. Consideriamo la differenza gi − hi ∈ I, per ipotesi esiste j taleche lm(gj) = lm(hj)|lm(gi − hi), ovviamente j 6= i dato che lm(gi − hi) < lm(gi) =lm(hi). Otteniamo che lm(gj) = lm(hj) divide qualche termine di gi oppure di hj, il checontraddice il fatto che G e H sono ridotte, assurdo.

1.7 Lo spazio vettoriale k[x1,...,xn]I

Vogliamo trovare una base del k-spazio vettoriale k[x1,...,xn]I

.

Definizione 1.7.1. Siano G = {g1, . . . , gn} una base di Grobner per l’ideale I e f ∈k[x1, . . . , xn]. Il polinomio r ∈ k[x1, . . . , xn] ridotto rispetto a G, tale che f

G−→+ r, e dettoforma normale di f rispetto a G, ed e denotato con NG(f).

Osservazione 1.7.2. Dall’algoritmo di divisione si ha che f ≡ NG(f) (mod I) per ognif ∈ k[x1, . . . , xn]

Lemma 1.7.3. Sia G una base di Grobner per I e siano r, f ∈ k[x1, . . . , xn] con r ridotto

rispetto a G. Se f − r ∈ I allora fG−→+ r.

Dimostrazione. Risulta NG(f) ≡ f ≡ r (mod I), quindi NG(f) − r ∈ I ridotto rispettoa G, pertanto NG(f)− r deve essere il polinomio nullo, cioe NG(f) = r.

Proposizione 1.7.4. Siano f, g ∈ k[x1, . . . , xn], allora

f ≡ g (mod I)⇐⇒ NG(f) = NG(g).

Percio {NG(f) : f ∈ k[x1, . . . , xn]} e un insieme di rappresentanti dei laterali in k[x1,...,xn]I

.Inoltre la mappa NG : k[x1, . . . , xn]→ k[x1, . . . , xn], con f 7→ NG(F ), e k-lineare.

Dimostrazione. Dall’osservazione precedente se NG(f) = NG(g) allora f ≡ NG(f) =NG(g) ≡ g (mod I). Viceversa se f ≡ g (mod I) allora NG(f) ≡ NG(g) (mod I), cioeNG(f)−NG(g) ∈ I; quest’ultimo e un polinomio ridotto rispetto a G, pertanto deve essereil polinomio nullo, cioe NG(f) = NG(g). Adesso siano c1, c2 ∈ k e f1, f2 ∈ k[x1, . . . , xn],risulta

c1f1 + c2f2 − (c1NG(f1) + c2NG(f2)) = c1(f1 −NG(f1)) + c2(f2 −NG(f2)) ∈ I,

ma c1NG(f1) + c2NG(f2) e ridotto rispetto a G, pertanto dal lemma precedente

NG(c1f1 + c2f2) = c1NG(f1) + c2NG(f2).

Proposizione 1.7.5. Sia G = {g1, . . . , gt} una base di Grobner per I. Una base per

il k-spazio vettoriale k[x1,...,xn]I

consiste dei laterali di tutti i monomi non nulli X ∈ T n

ridotti rispetto a G.

16

Page 17: Algebra Computazionale...mento, l’algoritmo termina. Nel caso generale, supponiamo dapprima che fsia costituito da un solo termine. Sia X i il valore di Xall’i-esima iterazione.

Dimostrazione. Sia f ∈ k[x1, . . . , xn], allora f + I = NG(f) + I e NG(f) e combianzionek-lineare di monomi ridotti rispetto a G. Cio prova che i laterali di monomi ridottiformano un insieme di generatori del k-spazio vettoriale k[x1,...,xn]

I. Infine tali laterali sono

linearmente indipendenti, poiche ogni combinazione lineare di polinomi ridotti e ancoraun polinomio ridotto e se r ∈ I ridotto allora r = 0.

Osservazione 1.7.6. Un polinomio f ∈ k[x1, . . . , xn] e invertibile nel quoziente k[x1,...,xn]I

se e solo se (f, I) = (1).

Siano I = 〈f1, . . . , fs〉 ⊆ k[x1, . . . , xn] un ideale e G = {g1, . . . , gt} una base di Grobnerridotta per I. Il teorema degli zeri di Hilbert debole ci dice che Vk(I) = ∅ ⇔ G = {1}.

Teorema 1.7.7. Sono equivalenti

1. |Vk(I)| <∞

2. Per ogni i ∈ {1, . . . , n}, esiste j ∈ {1, . . . , t} tale che lm(gj) = xvii , per qualche vi

3. dimk

(k[x1,...,xn]

I

)<∞

Dimostrazione.

(1)⇒ (2) Se Vk(I) = ∅ allora G = {1}, quindi vi = 0 per ogni i ∈ {1, . . . , n}. Supponiamoche Vk(I) 6= ∅, fissato i ∈ {1, . . . , n} siano aij con j = 1, . . . , l le i-esime coordinatedistinte dei punti di Vk(I) (dato che le prendiamo distinte, in generale si potrebberoavere ripetizioni, quindi l dipende da i). Per ogni j = 1, . . . , l, sia fj ∈ k[xi]monico tale che fj(aij) = 0, e sia f = f1 · . . . · fl ∈ k[xi] ⊆ k[x1, . . . , xn]. Perogni (α1, . . . , αn) ∈ Vk(I), f(α1, . . . , αn) = f1(α1, . . . , αn) · . . . · fl(α1, . . . , αn) =f1(αi) · . . . ·fl(αi) = 0, in quanto αi = aij per qualche j, quindi fj(αi) = 0. Pertantof ∈ I (Vk(I)) =

√I, da cui fm ∈ I per qualche m ∈ N, ma dato che f e monico

si ha che lm(fm) = xm′

i per qualche m′ ∈ N, quindi esiste j tale che lm(gj)|xm′

i

pertanto lm(gj) = xvii .

(2)⇒ (3) Una k-base per k[x1,...,xn]I

e l’insieme dei laterali di monomi ridotti rispetto a G.Dall’ipotesi sappiamo che tali monomi sono in numero finito.

(3)⇒ (1) Sia i ∈ {1, . . . , n}, consideriamo i laterali

1 + I, xi + I, x2i + I, . . . , xki + I, . . .

essi sono linearmente dipendenti per ipotesi, quindi esistono m ∈ N e cj ∈ k nontutti nulli tali che p(xi) =

∑mj=0 cjx

ji ∈ I. Sia adesso P = (α1, . . . , αn) ∈ Vk(I), al-

lora p(P ) = p(αi) = 0, pertanto la i-esima coordinata di un qualsiasi punto di Vk(I)e radice del polinomio p, ma p ha un un numero finito di radici. Dall’arbitrarietadi i segue che Vk(I) e finito.

Definizione 1.7.8. Un ideale I ( k[x1, . . . , xn] che soddisfa una delle precedenti condi-zioni equivalenti e detto zerodimensionale.

17

Page 18: Algebra Computazionale...mento, l’algoritmo termina. Nel caso generale, supponiamo dapprima che fsia costituito da un solo termine. Sia X i il valore di Xall’i-esima iterazione.

Corollario 1.7.9. Sia I un ideale zerodimensionale e G = {g1, . . . , gt} la base di Grobnerridotta per I rispetto a >lex con xn > xn−1 > . . . > x1. E possibile ordinare g1, . . . , gt inmodo tale che

g1 ∈ k[x1]g2 ∈ k[x1, x2] lm(g2) = xa22

g3 ∈ k[x1, x2, x3] lm(g3) = xa33...gn ∈ k[x1, x2, . . . , xn] lm(gn) = xann

Dimostrazione. Dalla (2) del teorema precedente, a meno di riordinamento degli indici siha che lm(gj) = x

ajj . Dato che e xn > xn−1 > . . . > x1 allora gj ∈ k[x1, . . . , xj].

Teorema 1.7.10. Sia I = (f1, . . . , fs) un ideale di k[x1, . . . , xn], allora

f ∈√I ⇐⇒ (I, 1− wf) = k[x1, . . . , xn, w].

Dimostrazione.

⇒ Per assurdo (a1, . . . , an, b) ∈ Vk(I, 1−wf) 6= ∅ allora fi(a1, . . . , an) = 0 per ogni i ∈{1, . . . , s} e 1− bf(a1, . . . , an) = 0, ma f ∈

√I = I (Vk(I)), quindi f(a1, . . . , an) =

0, assurdo. Pertanto Vk(I, 1− wf) = ∅ ⇔ (I, 1− wf) = k[x1, . . . , xn, w].

⇐ Dal momento che 1 ∈ (I, 1− wf) allora

1 =s∑i=1

hifi + (1− wf)h hi, h ∈ k[x1, . . . , xn, w].

Adesso sia (a1, . . . , an) ∈ Vk(I), si ha

1 = (1− wf(a1, . . . , an))h(a1, . . . , an, w),

se per assurdo f(a1, . . . , an) 6= 0 allora sostituendo alla precedente w = f(a1, . . . , an)−1

otteniamo 1 = 0, assurdo. Quindi f(a1, . . . , an) = 0, cioe f ∈ I (Vk(I)) =√I.

In base al teorema precedente f ∈√I ⇐⇒ (I, 1− wf) ha base di Grobner {1}.

1.8 Eliminazione

Teorema 1.8.1. Siano I un ideale di k[y1, . . . , ym, x1, . . . , xn] e >lex con xi > yj per ognii, j. Se G e una base di Grobner per I allora G∩ k[y1, . . . , ys] e una base di Grobner perI ∩ k[y1, . . . , ym] (che e detto ideale di eliminazione).

Dimostrazione. Prima di tutto osserviamo che G ∩ k[y1, . . . , ym] ⊆ I ∩ k[y1, . . . , ym]. Siaadesso f ∈ I ∩ k[y1, . . . , ym] non nullo, allora esiste i tale che lm(gi)|lm(f), da cui gi ∈G ∩ k[y1, . . . , ym].

Proposizione 1.8.2. Siano I e J due ideali di k[x1, . . . , xn] e w una variabile su k.Allora

I ∩ J = (wI, (1− w)J) ∩ k[x1, . . . , xn].

18

Page 19: Algebra Computazionale...mento, l’algoritmo termina. Nel caso generale, supponiamo dapprima che fsia costituito da un solo termine. Sia X i il valore di Xall’i-esima iterazione.

Dimostrazione.

⊆ Sia f ∈ I ∩ J allora f = wf + (1− w)f ∈ (wI, (1− w)J) ∩ k[x1, . . . , xn].

⊇ Sia f ∈ (wI, (1 − w)J) ∩ k[x1, . . . , xn], allora esistono g ∈ I e h ∈ J tali chef = wg + (1− w)h, da cui

f = wg + (1− w)h = h+ w(g − h) ∈ k[x1, . . . , xn],

pertanto g − h = 0⇒ g = h = f ∈ I ∩ J .

Lemma 1.8.3. Siano f, g ∈ k[x1, . . . , xn] \ {0}, se l = mcm(f, g), si ha (f) ∩ (g) = (l).

Dimostrazione. Se h ∈ (f)∩(g) allora f |h e g|h, quindi l|h, cioe h ∈ (l), quindi (f)∩(g) ⊆(l). Viceversa, dato che f |l e g|l allora l ∈ (f) ∩ (g), cioe (l) ⊆ (f) ∩ (g).

Lemma 1.8.4. Siano I = (f1, . . . , fs) e J due ideali di k[x1, . . . , xn], allora

(J : I) =s⋂i=1

(J : fi).

Dimostrazione. g ∈ (J : I) se e solo se gI ⊆ J se e solo se per ogni i si ha gfi ∈ J se esolo se g ∈

⋂si=1(J : fi).

Lemma 1.8.5. (J : f) = 1f(J ∩ (f)).

1.9 Mappe polinomiali

Consideriamo un omomorfismo di anelli φ : k[y1, . . . , ym] → k[x1, . . . , xn] che sia ancheun’applicazione lineare di k-spazi vettoriali, cioe un omomorfismo di k-algebre. Talemappa e univocamente determinata da φ(yi) per ogni i ∈ {1, . . . ,m}. Infatti per ognih ∈ k[y1, . . . , ym] con h(y1, . . . , ym) =

∑v cvy

v11 . . . yvmm , dove v = (v1, . . . , vm), si ha

φ(h(y1, . . . , ym)) =∑v

cvφ(y1)v1 . . . φ(ym)vm = h(φ(y1), . . . , φ(ym)).

Se poniamo φ(yi) = fi ∈ k[x1, . . . , xn] risulta Imφ = k[f1, . . . , fm], da cui otteniamo ilseguente isomorfismo di k-algebre

k[y1, . . . , ym]

kerφ' k[f1, . . . , fm], g + kerφ 7→ φ(g).

Osserviamo che h ∈ kerφ⇔ φ(h) = 0⇔ h(f1, . . . , fm) = 0, infatti il nucleo di φ e dettoideale delle relazioni tra f1, . . . , fm.

Lemma 1.9.1. Siano R un anello commutativo unitario e a1, . . . , an, b1, . . . , bn ∈ R.Allora

a1 . . . an − b1 . . . bn ∈ (a1 − b1, . . . , an − bn)

19

Page 20: Algebra Computazionale...mento, l’algoritmo termina. Nel caso generale, supponiamo dapprima che fsia costituito da un solo termine. Sia X i il valore di Xall’i-esima iterazione.

Dimostrazione. Procediamo per induzione su n. Ovviamente a1 − b1 ∈ (a1 − b1). Per ilpasso induttivo, risulta

a1 . . . an − b1 . . . bn = a1(a2 . . . an − b2 . . . bn) + b2 . . . bm(a1 − b1) ∈ (a1 − b1, . . . , an − bn).

Proposizione 1.9.2. Sia J = (y1 − f1, . . . , yn − fn) ⊆ k[y1, . . . , ym, x1, . . . , xn], con lenotazioni precedenti si ha kerφ = J ∩ k[y1, . . . , ym].

Dimostrazione.

⊆ Sia g ∈ kerφ, g =∑

v cvyv11 . . . yvmm con cv ∈ k, v = (v1, . . . , vm). Poiche g(f1, . . . , fm) =

0 allora, in base al lemma precedente, si ha

g = g(y1, . . . , ym)−g(f1, . . . , fm) =∑v

cv(yv11 . . . yvmm −f

v11 . . . f vmm ) ∈ J∩k[y1, . . . , ym]

⊇ Sia g ∈ J∩k[y1, . . . , ym], allora g =∑m

i=1(yi−fi)hi con hi ∈ k[y1, . . . , ym, x1, . . . , xn],da cui φ(g) = 0⇒ g ∈ kerφ.

In base alla proposizione precedente, per calcolare una base di Grobner per kerφ bastacalcolare una base di Grobner G per J rispetto a >lex, x > y allora la base di Grobnercercata sara G ∩ k[y1, . . . , yn].

Proposizione 1.9.3. Sia J come nella proposizione precedente e sia G una base diGrobner per J rispetto a >lex con x > y, allora

f ∈ k[x1, . . . , xm] ∩ Imφ⇐⇒ ∃h ∈ k[y1, . . . , ym] : fG−→+ h,

in questo caso f = φ(h).

Dimostrazione.

⇒ Sia f ∈ k[x1, . . . , xn] ∩ Imφ, allora f = g(f1, . . . , fm) con g ∈ k[y1, . . . , ym]. Dallemma precedente abbiamo

f(x1, . . . , xn)− g(y1, . . . , ym) = g(f1, . . . , fm)− g(y1, . . . , ym) ∈ J

pertanto NG(f) = NG(g) = h, ma g ∈ k[y1, . . . , ym] da cui NG(g) ∈ k[y1, . . . , ym].

Dunque fG−→+ h ∈ k[y1, . . . , ym].

⇐ Per ipotesi f(x1, . . . , xn)−h(y1, . . . , ym) =∑n

i=1(yi−fi)hi ∈ J , quindi f(x1, . . . , xn)−h(f1, . . . , fm) = 0⇒ f(x1, . . . , xn) = h(f1, . . . , fm) = φ(h).

Corollario 1.9.4. Con la stessa notazione della proposizione precedente, se f ∈ k[x1, . . . , xn]allora f ∈ Imφ⇔ NG(f) ∈ k[y1, . . . , ym].

Dimostrazione.

⇒ Se f ∈ Imφ allora fG−→+ h ∈ k[y1, . . . , ym], quindi NG(f) = NG(h) ∈ k[y1, . . . , ym].

20

Page 21: Algebra Computazionale...mento, l’algoritmo termina. Nel caso generale, supponiamo dapprima che fsia costituito da un solo termine. Sia X i il valore di Xall’i-esima iterazione.

⇐ Segue dalla proposizione precedente.

Proposizione 1.9.5. Sia J = (y1 − f1, . . . , ym − fm) ⊆ k[y1. . . . , ym, x1, . . . , xn] e sia Gla base di Grobner ridotta per J rispetto a >lex con x > y. Allora

φ e suriettiva⇐⇒ ∀i ∈ {1, . . . , n},∃gi ∈ G : gi = xi − hi con hi ∈ k[y1, . . . , ym]

Dimostrazione.

⇒ Possiamo supporre xn > xn−1 > . . . > x1. Sia i ∈ {1, . . . , n}, dato che xi ∈ Imφ

allora xiG−→+ h′i ∈ k[y1, . . . , ym], da cui xi − h′i ∈ J , quindi esiste gj ∈ G tale che

lm(gj)|lm(xi − h′i) = xi. A meno di riordinamento degli indici, possiamo supporrej = i, quindi gi = xi − hi con hi ∈ k[y1, . . . , ym].

⇐ Se xi−hi ∈ G allora xiG−→+ hi ∈ k[y1, . . . , ym], quindi dalla proposizione precedente

si ha xi ∈ Imφ.

Definizione 1.9.6. Una k-algebra e detta affine se e isomorfa a k[x1,...,xn]I

per qualcheideale I di k[x1, . . . , xn].

Siano L ⊆ k[y1, . . . , ym] e I ⊆ k[x1, . . . , xn] ideali e sia

φ :k[y1, . . . , ym]

L→ k[x1, . . . , xn]

Idefinita con yi + L 7→ fi + I.

Osserviamo che φ e ben definita se e solo se, posto L = (g1, . . . , gt), allora risultagi(f1, . . . , fm) ∈ I. Infatti se φ e ben definita allora gi ∈ L ⇒ gi(f1, . . . , fm) ∈ I.Viceversa, se h+ L = h′ + L allora h− h′ ∈ L, quindi h− h′ =

∑ti=1 higi, da cui

h(f1, . . . , fm)− h′(f1, . . . , fm) =t∑i=1

hi(f1, . . . , fm)gi(f1, . . . , fm) ∈ I,

ossia h(f1, . . . , fm) + I = h′(f1, . . . , fm) + I ⇒ φ(h+ L) = φ(h′ + L).

Teorema 1.9.7. Sia J = (I, y1−f1, . . . , ym−fm) ⊆ k[y1, . . . , ym, x1, . . . , xn], sotto questeipotesi, se J ∩ k[y1, . . . , ym] = (f ′1, . . . , f

′t) allora kerφ = (f ′1 + L, . . . , f ′t + L).

Dimostrazione.

⊆ Sia f ′ ∈ kerφ, quindi φ(f ′ + L) = 0 k[x1,...,xn]I

, da cui f ′(f1, . . . , fm) ∈ I. Poniamo

f ′(y1, . . . , ym) =∑

v cvyv11 . . . yvmm con cv ∈ k, v = (v1, . . . , vm). Risulta

f ′(y1, . . . , ym) =(f ′(y1, . . . , ym)− f ′(f1, . . . , ym)

)+ f ′(f1, . . . , fm) =

=∑v

cv(yv11 . . . yvmm − f

v11 . . . f vmm )︸ ︷︷ ︸

∈J

+ f ′(f1, . . . , fm)︸ ︷︷ ︸∈I

∈ J ∩ k[y1, . . . , ym].

21

Page 22: Algebra Computazionale...mento, l’algoritmo termina. Nel caso generale, supponiamo dapprima che fsia costituito da un solo termine. Sia X i il valore di Xall’i-esima iterazione.

⊇ Sia f ′ ∈ J ∩ k[y1, . . . , ym], allora possiamo scrivere

f ′(y1, . . . , ym) =m∑i=1

(yi − fi(x1, . . . , xn))hi +∑v

avuv,

dove av, hi ∈ k[y1, . . . , ym, x1, . . . , xn], uv ∈ I. Si ha

φ(f ′ + L) = f ′(f1, . . . , fm) + I =∑v

av(f1, . . . , fm, x1, . . . , xn)uv + I = I,

pertanto f ′ + L ∈ kerφ.

Teorema 1.9.8. Siano J = (I, y1 − f1, . . . , ym − fm) ⊆ k[y1, . . . , ym, x1, . . . , xn], G unabase di Grobner per J rispetto a >lex con x > y e f ∈ k[x1, . . . , xn], allora

f + I ∈ Imφ⇔ fG−→+ h ∈ k[y1, . . . , ym],

in tal caso f + I = φ(h+ L) = h(f1, . . . , fm) + L

Dimostrazione.

⇒ Per ipotesi esiste g ∈ k[y1, . . . , ym] tale che g(f1, . . . , fm) + I = φ(g+L) = f + I dacui f − g(f1, . . . , fm) ∈ I. Risulta

f(x1, . . . , xn)− g(y1, . . . , ym) =

=(f(x1, . . . , xn)− g(f1, . . . , fm)

)+(g(f1, . . . , fm)− g(y1, . . . , ym)

)∈ J

da cui NG(f) = NG(g) = h, e dato che g ∈ k[y1, . . . , ym] si ha NG(g) ∈ k[y1, . . . , ym].

Dunque fG−→+ h ∈ k[y1, . . . , ym].

⇐ Per ipotesi fG−→+ h ∈ k[y1, . . . , ym], quindi f − h ∈ J , da cui

f − h =m∑i=1

(yi − fi)hi +∑v

avuv

da cui f + I = h(f1, . . . , fm) + I = φ(h+ L).

Corollario 1.9.9. f + I ∈ Imφ⇐⇒ NG(f) ∈ k[y1, . . . , ym].

Proposizione 1.9.10. Sia G una base di Grobner ridotta di J rispetto a >lex con x > y.Allora φ e suriettaiva se e solo se per ogni i ∈ {1, . . . ,m} esiste gi = xi − hi ∈ G conhi ∈ k[y1, . . . , ym]

Dimostrazione. Simile alla dimostrazione della Proposizione 1.9.5.

Abbreviamo Vk(I) con V (I). Consideriamo le proiezioni π : km+n → k

m, con

π(a1, . . . , am, b1, . . . , bn) = (a1, . . . , am).

Proposizione 1.9.11. Se S ⊆ kn

allora V (I (S)) e la piu piccola varieta contenente Sdetta chiusura di Zariski di S.

22

Page 23: Algebra Computazionale...mento, l’algoritmo termina. Nel caso generale, supponiamo dapprima che fsia costituito da un solo termine. Sia X i il valore di Xall’i-esima iterazione.

Dimostrazione. Sia W = V (J) ⊆ kn, allora

S ⊆ W ⇒ I (S) ⊇ I (W )⇒ V (I (S)) ⊆ V (I (W )) = W.

Proposizione 1.9.12. Se V,W ⊆ kn, allora I (V \W ) = (I (V ) : I (W )).

Dimostrazione. Risulta

f ∈ I (V \W )⇔ f(P ) = 0 ∀P ∈ V \W ⇔ ∀g ∈ I (W ) fg ∈ I (V )⇔ f ∈ (I (V ) : I (W ))

Teorema 1.9.13. Sia I ⊆ k[y1, . . . , ym, x1, . . . , xn]. La chiusura di Zariski di π(V (I)) eV (I ∩ k[y1, . . . , ym]), cioe

V

(I(π(V (I)

)))= V (I ∩ k[y1, . . . , ym]).

Dimostrazione. Poniamo V = V (I) e Iy = I ∩ k[y1, . . . , ym].

⊆ Basta verificare che π(V ) ⊆ V (Iy). Sia P = (a1, . . . , am, b1, . . . , bn) ∈ V , π(P ) =(a1, . . . , am) ∈ π(V ). Se f ∈ Iy allora 0 = f(a1, . . . , an, b1, . . . , bm) = f(a1, . . . , am),da cui π(P ) ∈ V (Iy).

⊇ Proviamo che I (π(V )) ⊆√Iy. Siano f ∈ I (π(V )) e (a1, . . . , am, b1, . . . , bn) ∈ V ,

allora, vedendo f ∈ k[y1, . . . , ym, x1, . . . , xn], si ha

f(a1, . . . , am, b1, . . . , bn) = f(a1, . . . , am) = 0.

Da cui f ∈ I (V (I)) =√I, quindi esiste k ∈ N tale che fk ∈ I, ma f ∈

k[y1, . . . , ym], da cui fk ∈ Iy, cioe f ∈√Iy. Infine da I (π(V )) ⊆

√Iy segue

V (I (π(V ))) ⊇ V (√Iy) = V (Iy).

Sia ϕ : kn → k

mdata da ϕ(a1, . . . , an) = (f1(a1, . . . , an), . . . , fm(a1, . . . , an)) con

fi ∈ k[x1, . . . , xn]. L’immagine Imϕ ⊆ km

e parametrizzata dai polinomi fiy1 = f1(x1, . . . , xn)...

ym = fm(x1, . . . , xn)

Queste equazioni definiscono una varieta V = V (y1−f1, . . . , ym−fm) ⊆ km+n

. La varietaV e il grafico di ϕ, infatti risulta

V ={(a1, . . . , an, f1(a1, . . . , an), . . . , fm(a1, . . . , an)

): (a1, . . . , an) ∈ kn

}.

In generale, non sempre le equazioni parametriche definiscono una varieta. Per calco-lare la chiusura di Zariski di Imϕ basta applicare il teorema precedente a V . Infattisi ha Imϕ = π(V), dove π(x1, . . . , xn, f1(x1, . . . , xn), . . . , fm(x1, . . . , xn)) = (f1, . . . , fm).E sufficiente quindi calcolare una base di Grobner per I = (y1 − f1, . . . , ym − fm) ⊆

23

Page 24: Algebra Computazionale...mento, l’algoritmo termina. Nel caso generale, supponiamo dapprima che fsia costituito da un solo termine. Sia X i il valore di Xall’i-esima iterazione.

k[y1, . . . , ym, x1, . . . , xn] rispetto a >lex con x > y; i polinomi di G nella sola y sono ipolinomi cercati.

Piu in generale siano V ⊆ kn, W ⊆ k

mdue varieta, e consideriamo la mappa di

polinomi α : V → W con (a1, . . . , an) 7→ (f1(a1, . . . , an), . . . , fm(a1, . . . , an)) con fi ∈k[x1, . . . , xn]. Questa mappa tra varita genera un omomorfismo tra k-algebre affini

α∗ :k[y1, . . . , ym]

I (W )→ k[x1, . . . , xn]

I (V )con yi + I (W ) 7→ fi + I (V ).

Osserviamo che α∗ e ben definita. Infatti per ogni (a1, . . . , an) ∈ V e per ogni g ∈ I (W )si ha α(a1, . . . , an) ∈ W , da cui

0 = g(α(a1, . . . , an)) = g(f1(a1, . . . , an), . . . , fm(a1, . . . , an)),

pertanto g(f1, . . . , fm) ∈ I (V ).

Vogliamo determinare la chiusura di Zariski di Imα = α(V ).

Proposizione 1.9.14. g ∈ I (α(V ))⇔ g + I (W ) ∈ kerα∗.

Dimostrazione. Risulta

g ∈ I (α(V ))⇔ ∀P ∈ V g(α(P )) = 0⇔⇔ g ◦ α ∈ I (V )⇔ α∗(g + I (W )) = 0⇔ g + I (W ) ∈ kerα∗.

Definizione 1.9.15. Due varieta V ⊆ kn, W ⊆ k

msono isomorfe se esistono α : V →

W e β : W → V date da polinomi a coefficienti in k tali che α ◦ β = 1W e β ◦ α = 1V .

Teorema 1.9.16. Due varieta V ⊆ kn

e W ⊆ km

sono isomorfe se e solo se esiste unisomorfismo tra le k-algebre affini k[y1,...,yn]

I (W )e k[x1,...,xn]

I (V ).

Dimostrazione.

⇒ Siano

α : V → W con α(a1, . . . , an) = (f1(a1, . . . , an), . . . , fm(a1, . . . , an)), fi ∈ k[x1, . . . , xn]

β : W → V con β(b1, . . . , bm) = (g1(b1, . . . , bm), . . . , gn(b1, . . . , bm)), gi ∈ k[y1, . . . , ym];

come dall’ipotesi. Tali funzioni inducono i seguenti omomorfismi di k-algebre

α∗ :k[y1, . . . , ym]

I (W )→ k[x1, . . . , xn]

I (V )con yi + I (W ) 7→ fi + I (V )

β∗ :k[x1, . . . , xn]

I (V )→ k[y1, . . . , ym]

I (W )con xi + I (V ) 7→ gi + I (W ).

Per ipotesi β ◦ α = 1V , quindi

α∗ ◦ β∗ = (β ◦ α)∗ = (1V )∗ = 1 k[x1,...,xn]I (V )

.

Analogamente β∗ ◦ α∗ = 1 k[y1,...,ym]I (W )

, da cui α∗ e β∗ sono isomorfisimi.

24

Page 25: Algebra Computazionale...mento, l’algoritmo termina. Nel caso generale, supponiamo dapprima che fsia costituito da un solo termine. Sia X i il valore di Xall’i-esima iterazione.

⇐ Sia

τ :k[y1, . . . , ym]

I (W )→ k[x1, . . . , xn]

I (V )

un isomorfismo di k-algebre. Poniamo

τ(yi + I (W )) = fi + I (V ) fi ∈ k[x1, . . . , xn]

τ−1(xi + I (V )) = gi + I (W ) gi ∈ k[y1, . . . , ym].

Sia α : V → W con α(a1, . . . , an) = (f1(a1, . . . , an), . . . , fm(a1, . . . , an)). Osservia-mo che, poiche τ e ben definita allora lo e anche α, procediamo in modo analogoper β : W → V . Infine si verifica facilmente che β = α−1.

1.10 Basi di Grobner e sizigie

Poniamo A = k[x1, . . . , xn] e sia I = (f1, . . . , fs) un ideale di A. Consideriamo l’omomor-fismo di A-moduli

φ : As → I con φ(h1, . . . , hs) =s∑i=1

hifi.

In questo modo risulta I ' As

kerφ. Il nucleo kerφ e detto modulo delle sizigie della matri-

ce 1×s [f1 . . . fs] denotato con Syz(f1, . . . , fs). Un elemento (h1, . . . , hs) ∈ Syz(f1, . . . , fs)e detto sizigia di [f1 . . . fs], e soddisfa

h1f1 + . . . hsfs = 0.

Osservazione 1.10.1. La mappa φ puo essere vista come moltiplicazione tra matrici

φ(h1, . . . , hs) =[f1 . . . fs

h1...hs

=s∑i=1

hifi.

Se poniamo F = [f1 . . . fs] e h = [h1 . . . hs]t ∈ As, allora φ(h1, . . . , hs) = F · h e

Syz(f1, . . . , fs) e l’insieme di tutte le soluzioni h dell’equazione F · h = 0.

Definizione 1.10.2. Definiamo multigrado del monomio X = xv11 xv22 . . . xvnn il vettore

v = (v1, . . . , vn) ∈ Nn.

Proposizione 1.10.3. Siano c1, . . . , cs ∈ k \ {0} e X1, . . . , Xs ∈ A monomi. Per i, j ∈{1, . . . , s} con i 6= j, sia Xij = mcm(Xi, Xj), allora

Syz(c1X1, . . . , csXs) =

({Xij

ciXi

ei −Xij

cjXj

ej ∈ As : 1 ≤ i < j ≤ s

})dove ei = (0, . . . , 1︸︷︷︸

posto i

, . . . , 0) ∈ As.

Dimostrazione.

25

Page 26: Algebra Computazionale...mento, l’algoritmo termina. Nel caso generale, supponiamo dapprima che fsia costituito da un solo termine. Sia X i il valore di Xall’i-esima iterazione.

⊇ Basta osservare che per ogni i 6= j risultaXij

ciXiei − Xij

cjXjej ∈ Syz(c1X1, . . . , csXs).

⊆ Sia (h1, . . . , hs) ∈ Syz(c1X1, . . . , csXs), allora

c1X1h1 + . . .+ csXshs = 0.

In particolare, la somma di tutti i monomi di un fissato multigrado v ∈ Nn e nulla.Poniamo X = xv e sia, per ogni i ∈ {1, . . . , n}, aiYi il termine di hi tale che ai ∈ ke YiXi = X. Basta considerare il caso (h1, . . . , hs) = (a1Y1, . . . , asYs). Risulta

s∑i=1

ciaiXiYi =s∑i=1

ciaiX =

(s∑i=1

ciai

)X = 0⇒

s∑i=1

ciai = 0

da cui possiamo scrivere

(h1, . . . , hs) = (a1Y1, . . . , asYs) =s∑i=1

aiYiei =s∑i=1

ciaiX

ciXi

ei =

= c1a1X

X12

(X12

c1X1

e1 −X12

c2X2

e2

)+ (c1a1 + c2a2)

X

X23

(X23

c2X2

e2 −X23

c3X3

e3

)+ . . .+

+(c1a1 + . . .+ cs−1as1)X

Xs−1 s

(Xs−1 s

cs−1Xs−1

es−1 −Xs−1 s

csXs

es

).

Osservazione 1.10.4. La sizigiaXij

ciXiei− Xij

cjXjej di [lt(f1) . . . lt(fs)] da luogo all’S-polinomio

S(fi, fj), infatti

[f1 . . . fs] ·(Xij

ciXi

ei −Xij

cjXj

ej

)=

Xij

ciXi

fi −Xij

cjXj

fj = S(fi, fj).

Definizione 1.10.5. Siano X1, . . . , Xs, X monomi e c1, . . . , cs ∈ k \ {0} . Diciamo cheuna sizigia h = (h1, . . . , hs) ∈ Syz(c1X1, . . . , csXs) e omogenea di grado X se ognihi 6= 0 e un termine non nullo e Xilm(hi) = X per ogni i ∈ {1, . . . , s}. Diciamo cheh ∈ Syz(c1X1, . . . , csXs) e omogenea se e omogenea di grado X per qualche X ∈ T n.

Ad esempio, l’insieme dei generatori della proposizione precedente e un insieme finitodi sizigie omogenee.

Teorema 1.10.6. Sia G = {g1, . . . , gt} un insieme di polinomi non nulli in A e sia B uninsieme omogeneo di generatori di Syz(lt(g1), . . . , lt(gt)). Allora G e una base di Grobner

se e solo se per ogni (h1, . . . , ht) ∈ B si ha h1g1 + . . .+ htgtG−→+ 0.

Dimostrazione.

⇒ Se G e una base di Grobner allora sappiamo che h1g1 + . . .+ htgtG−→+ 0 in quanto

h1g1 + . . .+ htgt ∈ 〈G〉.

⇐ Sia g ∈ 〈G〉. Tra tutte le rappresentazioni di g del tipo

g = u1g1 + . . .+ utgt (1.3)

26

Page 27: Algebra Computazionale...mento, l’algoritmo termina. Nel caso generale, supponiamo dapprima che fsia costituito da un solo termine. Sia X i il valore di Xall’i-esima iterazione.

scegliamo quella con X = max1≤i≤t{lm(ui)lm(gi)} minimo. Dal teorema di ca-ratterizzazione delle basi di Grobner basta provare che g puo essere scritto comein 1.3 con X = lm(g). Per assurdo supponiamo lm(g) < X e proviamo che pos-siamo ottenere una rappresentazione del tipo 1.3 con valore minore di X. SiaS = {i ∈ {1, . . . , t} : lm(ui)lm(gi) = X}, cosı risulta

∑i∈S lt(ui)lt(gi) = 0. Po-

niamo h =∑

i∈S lt(ui)ei ∈ At, si ha cosı h ∈ Syz(lt(g1), . . . , lt(gt)) e inoltre h eomogeneo di grado X. Sia B = {h1, . . . , hk} ⊆ At3, dove per ogni j ∈ {1, . . . , k}poniamo hj = (h1j, . . . , htj), da cui h =

∑kj=1 ajhj, con aj ∈ A. Essendo h sizigia

omogenea di grado X, espandendo gli ai e sommando i termini simili, possiamosupporre che aj siano termini tali che lm(aj)lm(hij)lm(gj) = X. Per ipotesi, dato

che per ogni j ∈ {1, . . . , k} si ha hj ∈ B, abbiamo∑t

i=1 hijgjG−→+ 0. Ne segue che

possiamo scriveret∑i=1

hijgj =t∑i=1

vijgi

con vij tali che

max1≤i≤t{lm(vij)lm(gi)} = lm

(t∑i=1

vijgi

)= lm

(t∑i=1

hijgi

)< max{lm(hi)lm(gi)},

in quanto, dal momento che hj ∈ B, risulta∑t

i=1 hijlm(gj) = 0. Scriviamo

g = u1g1 + . . .+ utgt =∑i∈S

lt(ui)gi +∑i∈S

(ui − lt(ui))gi +∑i/∈S

uigi︸ ︷︷ ︸termini piu piccoli di X

.

Per quanto scritto finora si ha

∑i∈S

lt(ui)gi = [g1 . . . gt] · h = [g1 . . . gt] ·k∑j=1

ajhj =k∑j=i

t∑i=1

ajhijgi =k∑j=1

t∑i=1

ajvijgi.

Poiche maxi,j{lm(aj)lm(vij)lm(gi)} < maxi,j{lm(aj)lm(hij)lm(gi)} = X, ne segueche possiamo scrivere g come somma di termini minori di X, assurdo.

Adesso mostreremo come calcolare Syz(f1, . . . , fs) per f1, . . . , fs ∈ A. Sia {g1, . . . , gt}una base di Grobner per (f1, . . . , fs), con gi monici. Per i ∈ {1, . . . , t}, poniamo lt(gi) =Xi e per i 6= j poniamo Xij = mcm(Xi, Xj). Con questa notazione si ha che

S(gi, gj) =Xij

Xi

gi −Xij

Xj

gj.

Dal teorema di caratterizzazione della base di Grobner sappiamo che S(gi, gj)G−→+ 0,

quindi S(gi, gj) =∑t

v=1 hijvgv con hijv ∈ A tali che

max1≤v≤t

{lm(hijv)lm(gv)} = lm

(t∑

v=1

hijvgv

)= lm(S(gi, gj)).

3Syz(lt(g1), . . . , lt(gt)) e finitamente generato in quanto At e noetheriano.

27

Page 28: Algebra Computazionale...mento, l’algoritmo termina. Nel caso generale, supponiamo dapprima che fsia costituito da un solo termine. Sia X i il valore di Xall’i-esima iterazione.

I polinomi hijv sono ottenuti mediante l’algoritmo di divisione. Definiamo per i, j ∈{1, . . . , t}, i 6= j

sij =Xij

Xi

ei −Xij

Xj

ej − (hij1, . . . , hijt) ∈ At.

Risulta sij ∈ Syz(g1, . . . , gt) in quanto

[g1 . . . gt] · sij = [g1 . . . gt] ·(Xij

Xi

ei −Xij

Xj

ej

)− [g1 . . . gt] · (hij1, . . . , hijt) =

= S(gi, gj)−t∑

v=1

hijvgv = 0

Teorema 1.10.7. L’insieme {sij : 1 ≤ i < j ≤ t} e un insieme di generatori perSyz(g1, . . . , gt).

Dimostrazione. Supponiamo per assurdo che esista

(u1, . . . , ut) ∈ Syz(g1, . . . , gt) \({sij : 1 ≤ i < j ≤ t}

)e scegliamo (u1, . . . , ut) in modo tale che X = max1≤i≤t{lm(ui)lm(gi)} sia minimo. SiaS = {i ∈ {1, . . . , t} : lm(ui)lm(gi) = X}. Per ogni i ∈ {1, . . . , t} definiamo

Yi =

{0 i /∈ Slt(ui) i ∈ S

, u′i = ui − Yi.

Osserviamo che risulta (Y1, . . . , Yt) ∈ Syz(X1, . . . , Xt). Dalla Proposizione 1.10.3 si ha

(Y1, . . . , Yt) =∑i<j

aij

(Xij

Xi

ei −Xij

Xj

ej

)poiche ogni coordinata del vettore a sinistra e omogenea e poiche YiXi = X, allorapossiamo supporre aij un multiplo secondo una costante di X

Xij. Risulta

(u1, . . . , ut) = (Y1, . . . , Yt) + (u′1, . . . , u′t) =

∑i<j

aij

(Xij

Xi

ei −Xij

Xj

ej

)+ (u′1, . . . , u

′t) =

=∑i<j

aijsij + (u′1, . . . , u′t) +

∑i<j

aij(hij1, . . . , hijt).

Definiamo (l1, . . . , lt) = (u′1, . . . , u′t) +

∑i<j aij(hij1, . . . , hijt). Osserviamo che

(l1, . . . , lt) = (u1, . . . , ut)−∑i<ji,j∈S

aijsij ∈ Syz(g1, . . . , gt) \({sij : 1 ≤ i < j ≤ t}

).

Inoltre lm(li)lm(gi) < X, contraddicendo la minimalita di X, infatti

lm(u′i)lm(gi) < lm(ui)lm(gi) = X

lm(aij)lm(hijk)lm(gk) ≤X

Xij

max1≤k≤t

{lm(hijk)lm(gk)} =X

Xij

lm(S(gi, gj)) < X.

28

Page 29: Algebra Computazionale...mento, l’algoritmo termina. Nel caso generale, supponiamo dapprima che fsia costituito da un solo termine. Sia X i il valore di Xall’i-esima iterazione.

Siano {f1, . . . , fs} ⊆ A e {g1, . . . , gt} una base di Grobner per {f1, . . . , fs}. Poniamo

F = [f1 . . . fs] G = [g1 . . . gt],

come visto in precedenza, esistono una matrice S di dimensione t× s e una matrice T didimensione s× t ad elementi in A tali che

F = G · S G = F · T.

Usando l’ultimo teorema calcoliamo {s1, . . . , ss} di generatori per Syz(G), si ha

0 = Gsi = FTsi = F (Tsi),

da cui 〈Tsi : i ∈ {1, . . . , r}〉 ⊆ Syz(F ). Inoltre, se Is denota la matrice identita s × s,allora

F (Is − TS) = F − FTS = F −GS = F − F = 0.

Pertanto le colonne r1, . . . , rs di Is − TS stanno in Syz(F ).

Teorema 1.10.8. Risulta Syz(f1, . . . , fs) = 〈Ts1, . . . , T sr, r1, . . . , rs〉.

Dimostrazione.

⊇ Vista in precedenza.

⊆ Sia s = (a1, . . . , as) ∈ Syz(f1, . . . , fs), allora 0 = Fs = GSs, da cui Ss ∈ Syz(G),quindi Ss =

∑ri=1 hisi, con hi ∈ A, da cui TSs = T

∑ri=1 hisi =

∑ri=1 hi(Tsi).

Otteniamo infine

s = s− TSs+ TSs = (Is − TS)s+r∑i=1

hi(Tsi) =

=s∑i=1

airi +r∑i=1

hi(Tsi) ∈ 〈Ts1, . . . , T sr, r1, . . . , rs〉.

29