COMPUTERALGEBRA - fu-berlin.de

38
COMPUTERALGEBRA (KOMPAKTKURS, FU BERLIN; March 6, 2015) KLAUS ALTMANN 1. Erste Schritte in Singular “Computer-Algebra” = Algorithmische Algebra(ische Geometrie) CA-System “Singular” http://www.singular.uni-kl.de/ 1.1. Die ganzen Zahlen Z + Standardbefehle. int k=2; k == 2; intmat m[2][3] = 1,2,3,4,5,6; ncols(m); nrows(m); m[2,2] = 10; int tr; int j; for ( j=1; j <= 2; j++ ) { tr=tr + m[j,j];} tr; j=0; int even, odd; while (j<2) { j++; if( (m[2,j] mod 2) == 0) {even++;} else {odd++;} } even; odd; 1.2. Ringe. ring A = 0,x,dp; // Grundkoerper ist Q number n=123456789; 1

Transcript of COMPUTERALGEBRA - fu-berlin.de

Page 1: COMPUTERALGEBRA - fu-berlin.de

COMPUTERALGEBRA

(KOMPAKTKURS, FU BERLIN; March 6, 2015)

KLAUS ALTMANN

1. Erste Schritte in Singular

“Computer-Algebra” = Algorithmische Algebra(ische Geometrie)CA-System “Singular” http://www.singular.uni-kl.de/

1.1. Die ganzen Zahlen Z + Standardbefehle.

int k=2;

k == 2;

intmat m[2][3] = 1,2,3,4,5,6;

ncols(m);

nrows(m);

m[2,2] = 10;

int tr;

int j;

for ( j=1; j <= 2; j++ ) { tr=tr + m[j,j];}

tr;

j=0;

int even, odd;

while (j<2)

{

j++;

if( (m[2,j] mod 2) == 0) {even++;}

else {odd++;}

}

even;

odd;

1.2. Ringe.

ring A = 0,x,dp; // Grundkoerper ist Q

number n=123456789;1

Page 2: COMPUTERALGEBRA - fu-berlin.de

2 KLAUS ALTMANN (MARCH 6, 2015)

n^5;

number q = 123/456;

q^7;

ring B = (0,a,b),(x,y),(dp(2)); // a,b = Parameter

ring C = 7, (x,y,x1,x(1..3)), (dp(6));

n^5;

setring A;

n^5;

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

// F8 = F2[a]/ mp(a)

minpoly;

number n1 = a^2 + 1;

number n2 = a^7; // a ist sogar Erzeuger der multiplikativen Gruppe F*

number n3 = (a+1)/(a^3+1);

ring F2t20 = (2,a),x,dp; // das allein gibt F2(a)

factorize(a^20 + a^3 + 1);

minpoly = a^20 + a^3 + 1; // Singular prueft keine Irreduzibilitaet

number n = a^2 +1;

1.3. Polynome.

ring C = 7, (x,y,x1,x(1..3)), (dp(6));

factorize(x^2+2xy+y^2);

poly f = x^3*y - 4*x;

poly f1 = f^2 + 3*f;

diff(f,x); // Ableitung nur nach x

jacob(f); // Ableitung nach allen Variablen

ring D = 7, (r,s,t),(dp(3));

poly g = s*t^2+t;

setring C;

map F = D, x-y, x^3-y, 3*x;

// gibt F: D -> C; wir sind weiterhin in C

poly h = F(g);

LIB "algebra.lib";

is_surjective(F,D);

// "0" ist "nein"

string k = alg_kernel(F,D);

// kann nur string sein, da k = Ideal in D, wir aber im Ring C sind

ideal Z;

Page 3: COMPUTERALGEBRA - fu-berlin.de

KOMPAKTKURS “COMPUTERALGEBRA” 2013, FUB (March 6, 2015) 3

// Nullideal

setring D;

ideal K = preimage(C,F,Z);

1.4. Idealoperationen.

ring A = 101,(x,y),dp;

ideal I = x^8, x+y^4;

print(I);

diff(I,x); // fasst I als Liste auf

jacob(I);

ideal J = x^7-y^3, 10*x*y+x^5+1;

I+J;

ideal P = I*J;

ideal D = intersect(I,J);

// I*J ist enthalten in intersect(I,J);

// Vergleich mittels reduce(D,std(P));

quotient(I,J);

// bedeutet I:J = {a\in A | aJ \subseteq I}

help quotient;

LIB "primdec.lib";

radical(I);

Aufgabe 1. Programmiere eine Prozedur, die I und J vegleicht und als Ergebnisausgibt, wer in wem enthalten ist. (Benutze die Kommandos reduce(a,std(b)).)

1.5. Matrizen und Moduln.

ring A = 101,(x,y),dp;

matrix m[2][3] = x, x^2, x, y^2, 1, x*y;

// entspricht A-linearer Abbildung A^3 -> A^2

print(m); m;

matrix mt = transpose(m);

matrix n[2][1] = y, 1;

matrix p = mt*n;

module M = m;

print(M); M;

// M = im(m), Untermodul von freiem Modul A^2 - erzeugt von den m-Spalten

M[2]; // gibt zweiten M-Erzeuger

module N = n;

M+N;

intersect(M,N);

Page 4: COMPUTERALGEBRA - fu-berlin.de

4 KLAUS ALTMANN (MARCH 6, 2015)

ideal I = x^3, x^2*y^2, x-1;

I*M;

freemodule(2);

1.6. ggT.

ring A = 101,(x,y),dp;

poly f = x+y;

poly g = x*y;

gcd(f,g);

extgcd(f,g);

// fuer "extgcd" nur 1 Variable moeglich: Hauptidealring!

ring R = 0,x,dp;

poly f = x^3+x^2-3;

poly g = x^4-1;

list L = extgcd(f,g);

L[2]*f + L[3]*g - L[1]; // check L[2]*f + L[3]*g = ggT(f,g) = L[1]

LIB "jacobson.lib";

matrix m[3][2]=x, x^4+x^2+21, x^4+x^2+x, x^3+x, 4*x^2+x, x;

list s=smith(m,1);

print(s[2]);

// non-normalized Smith form of m

print(s[1]*m*s[3] - s[2]); // check U*m*V = D

list t = divideUnits(s);

print(t[2]);

// the Smith form of m

// anderes Beispiel:

matrix g[2][2]=x, 0, 0, x-1;

det(g);

list sg=smith(g,1);

Aufgabe 2. Programmiere eine Prozedur, die fur zwei ganze Zahlen f, g ∈ Z) (oderzwei Polynome f, g ∈ k[x]) den ggT ausgibt und ihn als Linearkombination von fud g ausgibt.

Programmiere die Smithsche Normalform fur Z oder k[x].

Aufgabe 3. Man wahle zwei irreduzible Polynome f, g ∈ Fp[x] gleichen Grades und

konstruiere einen Korper-Isomorphismus Fp[x]/f(x)∼→ Fp[y]/g(y).

1.7. Nutzliche Extras.

timer = 1;

system("--ticks-per-sec",1000); // set timer resolution to ms

Page 5: COMPUTERALGEBRA - fu-berlin.de

KOMPAKTKURS “COMPUTERALGEBRA” 2013, FUB (March 6, 2015) 5

LIB "sample.lib";

// Dieses file "sample.lib" enthaelt:

//

// proc squarePlus(poly p, poly q)

// {

// return( (p*p)+q )

// }

// example

// {

// "EXAMPLE:"; echo = 2;

// ring r = 0,(x, y), dp; // definiert einen Ring

// poly p = x^2*y-3*x*y^3;

// poly q = x*y+x^3*y^4;

// squarePlus(p,q); // berechnet (p*p)+q

// }

example squarePlus;

dump("file");

getdump("file");

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

matrix m[2][3] = x, x^2, x, y^2, 1, x*y;

ideal I = x,y;

write ("abc", m, I, "ok");

read ("abc");

write ("def", m);

read("def");

execute("matrix m[2][3] =" + read("def") + ";");

~; // stopt die Abarbeitung - man kann jetzt Variablen ausgeben lassen

I;

ENTER // setzt die Abarbeitung fort

1.8. Nicht gemacht.

ring A = 101,(x,y),dp;

ideal I = x^2-x*y, 3*y^4+1;

qring Q = groebner(I); // gibt Q = A/I

y^4==67; // gibt 0 - also nicht formal gleich

reduce(y^4-67, std(0));

poly p = lift(y^4,1)[1,1]; // p wird das Inverse von y^4 in Q

2. Faktorisierung von Polynomen einer Variable

Page 6: COMPUTERALGEBRA - fu-berlin.de

6 KLAUS ALTMANN (MARCH 6, 2015)

2.1. Vielfachheiten. Fur ein Polynom f ∈ k[x] gilt:(i) gcd(f, f ′) = 1⇔ f ist separabel, d.h. f hat auch in beliebigen Erweiterungskorpernnur einfache Nullstellen;(ii) separabel ⇒ quadratfrei (d.h. es gibt kein g ∈ k[x] mit g2|f);(iii) in char k = 0 (oder fur endliche k) gilt auch die Umkehrung von (ii).

g := gcd(f, f ′) ⇒ Es gibt drei Falle:

• deg g = 0 ⇒ f ist separabel, und wir benutzen (2.2),• 1 ≤ deg g < deg f ⇒ g liefert eine echte Faktorisierung von f ,• deg g = deg f ⇒ f ′ = 0, also f(x) = h(xp).

2.2. Berlekamp-Algorithmus. Sei f ∈ Fq[x] quadratfrei; wir suchen die Primzer-legung f = f1 · . . . · fs uber Fq. Der Fq-lineare Endomorphismus Φ : h 7→ hq − h undder Chinesische Restsatz induzieren dann folgendes kommutative Diagramm:

Fq[x]/f

��

∼// Fq[x]/f1 × . . .× Fq[x]/fs

(Φ1,...,Φs)��

Fq[x]/f∼

// Fq[x]/f1 × . . .× Fq[x]/fs

Wegen Fq = kerΦi ist insbesondere s = dimFq(ker Φ). Fur h ∈ (ker Φ) \ Fq ist

dann h 7→ (c1, . . . , cs) mit insgesamt verschiedenen ci ∈ Fq ⊆ Fq[x]/fi, d.h. es giltfi|(h − ci). Also erhalten wir beim Testen aller gcd(f, h − c) (mit c ∈ Fq) einenechten Teiler von f .

Aufgabe 4. Man erstelle die Abbildungsmatrix von Φ bzgl. der monomialen Basis{1, x, . . . , xdeg f−1}. Wie erkennt man Fq ⊆ ker Φ? Man benutze linalg.lib zurBestimmung von s und eines Kern-Elementes.

ring R = 7,x,dp;

poly f = 2x5 + 3x4 + 1;

poly a,g;

int i,j;

i = 1;

j = 1;

matrix b[5][5];

while (j<6)

{

a = (x^(j-1))^7 - x^(j-1);

g = a - (a/f)*f;

print(g);

while (i<6)

{

b[i,j]=coeffs(x^5+g,x)[i,1]; // x^5 dient als dummy fuer coeff

i++;

}

i=1;

Page 7: COMPUTERALGEBRA - fu-berlin.de

KOMPAKTKURS “COMPUTERALGEBRA” 2013, FUB (March 6, 2015) 7

j++;

}

print(b);

LIB "linalg.lib";

mat_rk(b); // #Faktoren = d - rank

// wir benoetigen jetzt eine Basis des Kerns von b

print(gauss_nf(b));

def L = gaussred(b);

// L[1]*A = L[2]*L[3] mit L[1]=Perm, L[2]=untDreieck, L[3]=zeilenRed

print(L[1]);

print(L[2]);

print(L[3]);

// Kern: [s,-t,5t,0,t], also 1 und x4+5x2-x

gcd(f,x4+5x2-x);

gcd(f,x4+5x2-x-1); // x2+3x-1

gcd(f,x4+5x2-x-2);

gcd(f,x4+5x2-x-3);

gcd(f,x4+5x2-x+1); // x3+2x2+2x+3

gcd(f,x4+5x2-x+2);

gcd(f,x4+5x2-x+3);

2.3. Hensel-Liftung (nach [Eis, S.207] oder [dJvS, S.66-68]).

Satz 5. Sei R ein Ring, f ∈ R[x] und I ⊆ R ein Ideal mit I2 = 0. Seien g, h ∈ R[x]mit normiertem h, seien a, b ∈ R[x] mit

(1) f ≡ gh (I) und ag + bh ≡ 1 (I), und(2) deg f = deg g + deg h, deg a < deg h, deg b < deg g.

Dann konnen g, h, a, b korrigiert werden zu g = g + g′, h = h + h′ (immernoch

normiert), a = a+ a′ und b = b+ b′ mit (. . .)′ ∈ I[x] und

(3) f = gh und ag + bh = 1, und

(4) deg g = deg g, deg h = deg h, deg a < deg h, deg b < deg g.

Die Korrekturen g, h sind dadurch sogar eindeutig bestimmt.

Proof. m := f − gh ∈ I[x] ⇒ wir suchen zunachst g′, h′ ∈ I[x] mit m = h′g + g′h.Diese ergeben sich als m-fache von a, b wegen ag + bh ≡ 1 (I); danach kann h′ mith zu deg h′ < deg h reduziert werden. Das impliziert auch deg g = deg g.

Die Bedingung fur a′, b′ lautet nun (ag + bh − 1) + a′g + b′h = 0. Jetzt hilft der

derselbe Trick mit m := −(ag + bh− 1) ∈ I[x]. �

Beispiel: α ∈ R/I sei “einfache” Nullstelle von f ∈ R/I[x], d.h. f(x) = g(x) ·(x−α)mit g(α) ∈ (R/I)∗ ⇒ betrachte b(x) := −g(α)−1 · (g(x)−g(α))/(x−α) und a(x) :=g(α)−1.

Page 8: COMPUTERALGEBRA - fu-berlin.de

8 KLAUS ALTMANN (MARCH 6, 2015)

Aufgabe 6. 1) f(x) := x2 + 1 ∈ Z[x] zerfallt uber Z/5Z in (x + 2)(x − 2). Manlifte diese Zerlegung, also die Nullstellen nach Z/25Z, nach Z/125Z, usw.

2) f(x) := 4x4 − 4x3 + x2 − 8x+ 16 ∈ Z[x] betrachte man ebenfalls uber Z/5iZ.

2.4. Taylorreihen vs. Hensel-Liftung. Projektion der Parabel: k[x]→ k[x, y]/(y2−x−1) ; man mochte den Chinesischen Restsatz anwenden auf die Produktzerlegungy2 − (x+ 1) = (y +

√x+ 1)(y −

√x+ 1); diese gibt es aber in k[x, y] nicht.

Aber es gilt y2 − (x+ 1) ≡ (y + 1)(y − 1) (mod (x)); das laßt sich Hensel-liften zu

y2 − (x+ 1) ≡(y + (1 + 1

2x))(y − (1 + 1

2x))

mod (x2)

und dann weiter zu

y2 − (x+ 1) ≡(y + (1 + 1

2x− 1

8x2)

)(y − (1 + 1

2x− 1

8x2)

)mod (x3).

Dabei ist√x+ 1 = (1 + 1

2x− 1

8x2 . . . der Beginn der Taylor-Entwicklung.

3. Resultanten (nach [CLO1], p. 149, ff.)

3.1. Die Sylvester-Matrix. Sei A ein faktorieller Ring (also insbesondere nullteil-erfrei).

Lemma 7. f, g ∈ A[x] haben gemeinsamen Teiler mit Grad ≥ 1 ⇔ es gibt nicht-triviale P,Q ∈ A[x] mit Pf +Qg = 0 und deg P < deg g, degQ < deg f .

(Bedingung ist hinreichend, da A[x] faktoriell ist.)

ring A = 101,(x,y),dp;

poly f = x2 + 2xy + y2;

poly g = x2 - y2;

ideal I = (f,g);

syz(I); (gibt (x−y)∗gen(1) = (x+y)∗gen(2), also P = (x−y) und Q = −(x+y))

Sylvester-Matrix Syl(f, g) der Polynome f(x) =∑

i ai xi, g(x) =

∑i bi x

i (mithochsten Koeeffizienten am und bn): entsteht durch versetztes Eintragen der f -Koeffizienten am, . . . , a0 in die ersten n Spalten (braucht (m+n) Zeilen) und analogmit g in die letzten m Spalten.

Resultante Res(f, g) := det(Syl(f, g)

)ist Polynom Res(f, g) ∈ Z[a, b] ⊆ A.

Satz 8. Res(f, g) = 0 ⇔ f und g haben gemeinsamen Teiler mit Grad ≥ 1.

(Nichttriviale Losung Syl(f, g) · (cn−1, . . . , c0, dm−1, . . . , d0)T = 0 liefert das Ver-

schwinden der Koeffizienten vor xm+n−1, . . . , x0 in (∑

i ci xi) f + (

∑i di x

i) g.)

Bemerkung: Der Euklidische Algorithmus ist hier keine Option, da der GrundringA oft kein Korper sein wird!

ring A = 0,(p,q,x),dp;

poly f = x^2 + px +q;

resultant(f, diff(f,x), x);

Page 9: COMPUTERALGEBRA - fu-berlin.de

KOMPAKTKURS “COMPUTERALGEBRA” 2013, FUB (March 6, 2015) 9

Aufgabe 9. Kleine Resultanten und Diskriminanten explizit hinschreiben (per Handund Singular). Zwei Polynome in jeweils zwei Variablen geben; sind diese teiler-fremd?

3.2. Die Resultante Res(f, g) als Linearkombination von f und g. Der RingA[x] ist i.a. kein Hauptidealring; wir brauchen Ersatz fur die fehlende Darstell-barkeit der 1 als Linearkombination teilerfremder Polynome; das wird eine prazisereAussage, als der pure Ruckgriff auf (QuotA)[x]:

Satz 10. f, g ∈ A[x], dann existieren P,Q ∈ A[x] mit deg P < deg g, degQ < deg fund P (x)f(x) +Q(x)g(x) = Res(f, g). Dabei sind die Koeffizienten von P,Q sogarganzzahlige Polynome in den Koeffizienten von f, g.

Proof. Betrachte Gleichung Pf+Qg = 1 = 1·x0+∑m+n−1

i=1 0·xi uber (QuotA)[x] alsGleichungssystem in den Koeffizienten von P,Q; Koeffizientenmatrix ist Syl(f, g).Cramer’s Regel gibt den eindeutigen Losungsvektor mit Eintragen1/Res(f, g)·(ganzzahliges Polynom in den Koeffizienten von f, g). �

3.3. Mehrere Variable. Wichtige Anwendung: A = K[x1, . . . , xn−1], also A[xn] =K[x1, . . . , xn]. Die Resultante wird dann mit Res(f, g, xn) bezeichnet.

Satz 11. Sei K = K. Seien f, g ∈ K[x1, . . . , xn] mit hochsten Koeffizienten am, bl;sei (c1, . . . , cn−1) ∈ Kn−1 mit Res(f, g, xn)(c) = 0. Falls am(c), bl(c) 6= 0, dann liftetc zu gemeinsamer Nullstelle (c, cn) ∈ Kn von f und g.

Proof. Voraussetzung uber hochste Koeffizienten sichert degxnf(c, xn) = degxn

fund degxn

g(c, xn) = degxng, also Res(f(c, xn), g(c, xn)) = Res(f, g, xn)(c) = 0. �

Beispiel (fur Notwendigkeit der Voraussetzungen):Res(yx− 1, zx− 1, x) = z − y, aber (y, z) = (0, 0) liftet nicht.

Aufgabe 12. Konkretes polynomiales Gleichungssystem mit 2 Gleichungen in 2Variablen. (Benutze subst(f,y,17); – setzt y = 17 in das Polynom f(x, y) ein.)

3.4. Resultanten uber Fq. Seien f, g ∈ Fp[x, y] – wir wollen das “Entstehen/Er-

scheinen” von Punkten aus V (f, g) ⊆ Fp uber endlichen Erweiterungen Fq ⊇ Fp

(q = pe) beobachten.

Res(f, g, y) ∈ Fp[x] bleibt die Resultante auch uber jedem Erweiterungskorper Fq –aber die Zerlegung wird feiner; insbesondere kann es neue Nullstellen geben.

Leider gehen zur Zeit (Marz 2014) die Singular-Kommandos “factorize” oder sogar“gcd” nicht uber Fq – man kann aber den Berlekamp-Algorithmus benutzen. Hiermuß nun die Abbildung Φ(h) := hq − h benutzt werden. Da Φ (und F8[x]/Res)schon uber Fp definiert sind, gilt das auch fur ker Φ; wir finden also eine Fq-Basis{bi(x)}, die aus Polynomen aus Fp[x] besteht. Am Schluß mussen wir allerdings allegcd(bi − c,Res) berechnen, wobei c ∈ Fq durchlauft.

Page 10: COMPUTERALGEBRA - fu-berlin.de

10 KLAUS ALTMANN (MARCH 6, 2015)

4. Termordnungen und Grobner-Basen

4.1. Motivation. I, J ⊆ k[x1, . . . , xn] ❀ Berechnung von I ∩J , I ∩k[x1, . . . , xn−1];Test, ob f ∈ I (speziell 1 ∈ I); Kerne und Bilder von Ring- und Modulhomomor-phismen, Syzygien; Berechnung von Radikal und Primarzerlegung (z.B. Zerlegung√I =

⋂ki=1 Pi); Invarianten bzgl. Gruppenoperation.

4.2. Termordnungen. Monome in k[x1, . . . , xn] werden mit Nn identifiziert.

Definition 13. “Monomordnung” oder “Terordnung”≤ auf Nn: (1) totale Ordnung;(2) vertraglich mit “+” (o.B.d.A.: x1 ≥ x2 ≥ . . . ≥ xn); “global” :⇔ Nn ≥ 0.

Beispiele. 1) a ≤lex b, falls linkester nicht-trivialer Eintrag in b − a ∈ Zn positiv;ist global. Singular: lp .

2) a ≤grlex b: Sortiert zuerst nach dem Totalgrad; ebenfalls global. Singular: Dp .

3) Sei W Matrix mit den Zeilen w1, . . . , wk ∈ Rn. Dann: a ≤W b: Man sortierezunachst (in dieser Reihenfolge) nach w1, . . . , wk, dann lexikographisch. (Lexiko-graphisches tie breaking ist nicht notwendig, falls rank W = n; alle W -Zeilen abErreichen dieser Grenze konnen weggelassen werden.) ≤W ist global ⇔ alle W -Spalten “beginnen” nach eventuellen Nullen mit positivem Eintrag. Singular:Wp(w1, . . . , wn) gibt einzeiliges W := (w), falls wi > 0.

4) ≤grlex=≤(1, . . . , 1); ≤lex=≤In .

5) ≤grevlex :=≤W mit w0 = (1, 1, . . . , 1) und wi := −en+1−i. Singular: dp .

6) Singular: wp(w1, . . . , wn) – ist analog zu Wp , aber mit grevlex tie breaking.

7) Lokale Ordnungen (:= −global) in Singular: ls := −lp ; Ds := −Dp ; ds :=−dp ; Ws := −Wp ; ws := −wp .

8) Produktordnung (≤1,≤2) auf Nm×Nn; (global,global)=global; (lokal,lokal)=lokal.

Lemma 14. 1) Jedes M ⊆ Nn enthalt nur endlich viele (≤Nn) minimale Elemente.

2) Globale Terordnung :⇔ Nn ≥ 0⇔ ∀i : xi ≥ 1⇔[a|b⇒ a ≤ b

]⇔Wohlordnung.

(Das sind die fur Polynomringe relevanten Ordnungen.)

Proof. (1) (Dickson 1913) Wahlem = (m1, . . . , mn) ∈M , dann mussen anschließendnur noch die M-Elemente aus

⋃i{(a1, . . . , an) | ai < mi} “versorgt” werden; das sind

aber endliche Vereinigungen (n− 1)-dimensionaler Scheiben.

(2) Erste drei Bedingungen sind offensichtlich aquivalent; a ∈ Nn sei ≤ 0, dannist 0 ≥ a ≥ 2a ≥ . . . eine Kette ohne Minimum; M ⊆ Nn fuhrt zu endlich vielenminimalen Elementen bzgl. ≤Nn, nehme dann das Minimum bzgl. ≤. �

Satz 15. Sei M ⊆ Nn endliche Menge von Monomen. Dann kann jede Termord-nung auf M durch wp(w1, . . . , wn) mit wi ∈ Z dargestellt werden. Fur globaleTermordnungen ist wi > 0 erreichbar.

Proof. D := {a − b | a, b ∈ M, a > b} ⇒ convD ist Polyeder und disjunkt zu{0} (bzw. zu Rn

≤0 im globalen Fall); dann sind beide Mengen durch eine rationaleHyperebene trennbar. �

Page 11: COMPUTERALGEBRA - fu-berlin.de

KOMPAKTKURS “COMPUTERALGEBRA” 2013, FUB (March 6, 2015) 11

Aufgabe 16. Man bestime explizit solche Gewichtsvektoren fur gegebene endlicheMengen M und verschiedene prominente Termordnungen (z.B. auch die Reihenfolgeder variablen andern).

Ab hier werden wir stets eine globale Ordnung “≤” voraussetzen.

4.3. Initialideale. Fuhrende oder “Leit”-Terme (-Monome, -Koeffizienten, -Expo-nenten): in(f) = lt(f), lm(f), lc(f), le(f). Singular: lead(f); leadmonom(f);

leadcoef(f); leadexp(f); I = (f1, . . . , fk) ⊆ k[x] Ideal ⇒ in(I) := (in(f) | f ∈I) ist ein “Monomideal ” .

Lemma 17. Sei M ⊆ Nn mit M + Nn ⊆M . Dann gilt:1) ∃m1, . . . , mk ∈M : M = ∪i(mi + Nn). (Folgt direkt aus Lemma 14.)

2) M + Nn ⊆M ⇒ ∃ I1, . . . , Iℓ ⊆ [n], rj ∈ (N[n]\Ij \M): (Nn \M) = ∪j(rj + NIj).

Folgerung 18. Sei J ein Monomideal (z.B. J = in(I)). Dann ist J = (m1, . . . , mk)mit Monomen mi, und k[x] ∋ f ∈ J ⇔ jeder f -Term ist durch ein mi teilbar.

Proof. M := {Monome in J} ⊆ Nn. �

Satz 19. 1) I = (f1, . . . , fk) ⊆ k[x]⇒ in I ⊇ (in(f1), . . . , in(fk)). [Bsp I = (x, x+1)]

2) f1, . . . , fk ∈ J ⊆ k[x] mit in J = (in(f1), . . . , in(fk)), dann gilt J = (f1, . . . , fk).

3) I ⊆ J Ideale mit in(I) = in(J), dann gilt I = J .

Proof. Fur (2) und (3) wahle man sonst f ∈ J \ (f1, . . . , fk) bzw. f ∈ J \ I mitminimalem Leitterm und reduziere. (Alternativ folgt (3) auch aus (2).) �

Definition 20. f1, . . . , fk ∈ J heißt “Grobnerbasis”, falls in J = (in(f1), . . . , in(fk)).

Grobnerbasen existieren, da in(I) von endlich vielen in(fi)’s erzeugt wird. Manerhalt so einen neuen Beweis fur Hilberts Basissatz.

Beispiel. I = (2x − z, 3y − z) bzgl. x > y > z (GB sieht nicht 2x − 3y) undz > y > x (GB sieht 2x− 3y). Singular:

ring A = 0,(x,y,z),dp; poly f = 2*x - z; poly g = 3*y - z;

lead(f); leadmonom(f); leadcoef(f); leadexp(f);

ideal IA = f,g; groebner(IA); (oder std(IA); ) (sieht nicht 2x = 3y)ring B = 0,(z,y,x),dp; ideal IB = imap(A,IA); groebner(IB); (sieht es)

Aufgabe 21. Man berechne in k[x, y] die (in(f1), . . . , in(fk)) fur verschiedene Erzeu-gendensysteme (f1, . . . , fk) von Idealen – GB oder auch nicht. Man zeichne dieMonomideale und vergleiche die Ergebnisse.

5. Divisions- und Buchbergeralgorithmus

5.1. Reduktion. “f wird mittels (f1, . . . , fk) zu r reduziert” ( f(x) 7→(f1,...,fk) r(x) ):

Page 12: COMPUTERALGEBRA - fu-berlin.de

12 KLAUS ALTMANN (MARCH 6, 2015)

Satz 22. Sei “≤” global und f1, . . . , fk ∈ k[x]. Dann laßt sich jedes f ∈ k[x]schreiben als

f(x) =∑

i

fi(x) gi(x) + r(x) ,

wobei ∀i: in(fi gi) ≤ in(f − r) und r(x) enthalt keine Terme ≥Nn in(fi); also kein r-Term liegt in (in(f1), . . . , in(fk)). (Insbesondere maxi in(fi gi) = in(f − r) ≤ in(f).)

Proof. (Divisionsalgorithmus) Man suche den bzgl. ≤ großten f -Term≥Nn in(fi) (furein i) und reduziere; der Prozeß bricht ab, da ≤Wohlordnung. Die Wahl der Reihen-folge der Anwendung der fi’s provoziert die Nicht-Eindeutigkeit des Verfahrens. �

Beispiel. 1) x ≥ y ≥ z; reduziere x bzgl. (x− y, x− z) ❀ verschiedene Ergebnisse.

2) (y − z) ∈ (xy − 1, xz − 1), aber y − z reduziert nicht zu 0.

Singular:

ring A = 0,(x,y,z),dp; poly f = x*y - 1; poly g = x*z - 1;

ideal I = f,g; reduce(y-z,I); reduce(y-z,std(I));

Aufgabe 23. Man programmiere den Divisionsalgorithmus auch fur Nicht-GB.

5.2. S-Polynome. f, g ∈ k[x] ❀ “ S-Polynom von f und g”

S(f, g) := in(f)

gcd(in(f), in(g)

) · g − in(g)

gcd(in(f), in(g)

) · f ∈ (f, g).

Satz 24. Fur I = (f1, . . . , fk) ⊆ k[x] sind folgende Bedingungen aquivalent:

(1) (f1, . . . , fk) ist Grobner-Basis,

(2) ∀i, j: S(fi, fj) 7→(f1,...,fk) 0 (es gibt eine solche Reduktion), und

(3) die “schwache” Reduktion bzgl. (f1, . . . , fk), d.h. ohne Forderung “ in(figi) ≤in(f−r)”, liefert stets eindeutige Ergebnisse. (Insb.: f ∈ I ⇒ f 7→(f1,...,fk) 0.)

Proof. Offensichtlich gilt (3)⇒(2).

(1)⇒(3): Sei f 7→(f1,...,fk) r, s; es folgt r − s ∈ I, und aus der Reduktions-Definitionfolgt, daß kein r − s-Term in (in(f1), . . . , in(fk)) liegt. Widerspruch zu in(r − s) ∈in(I), falls r 6= s.(2)⇒(1) (“Buchberger Kriterium”): Sei f ∈ I mit in(f) /∈ (in(f1), . . . , (in(fk)); wirstellen f dar als f =

∑i fi gi mit minimalem m := max≤(in(figi) | i = 1, . . . , k) und,

nachgeordnet, mit minimaler Anzahl ℓ von i’s, die dieses Maximum annehmen.Es gilt ℓ ≥ 2: Sonst kame das maximale in(figi) zwangslaufig in f vor, alsowurde in(fjgj) ≤ in(f) fur alle j folgen. Andererseits kommt in(f) in einem derfjgj vor, also gilt auch in(fjgj) ≥ in(f), also ist in(fjgj) = in(f), d.h. in(f) ∈(in(f1), . . . , (in(fk)).Sei in(f1g1) = in(f2g2) = m; seien die Koeeffizienten o.B.d.A. 1 und −1. Dann giltf1g1 + f2g2 = h(x)S(f1, f2) + f1g

′1 + f2g

′2, und alle drei Summanden haben einen

kleineren in() als m (in hS hebt sich dieses Monom mit xm − xm gerade weg). Vo-raussetzung ⇒ S(f1, f2) reduziert zu 0, d.h. S(f1, f2) und somit hS+ f1g

′1+ f2g

′2 ist

in()-kleine Linearkombination der f1, . . . , fk. �

Page 13: COMPUTERALGEBRA - fu-berlin.de

KOMPAKTKURS “COMPUTERALGEBRA” 2013, FUB (March 6, 2015) 13

5.3. Eine Erleichterung. Teilerfremde Paare mussen nicht S-uberpruft werden:

Satz 25. Falls in(f) und in(g) teilerfremd, so gilt S(f, g) 7→(f,g) 0.

Proof. Seien xa = in(f) und yb = in(g). Dann gilt S(f, g) = yb f − xa g = (f −xa) g− (g− yb) f . Andererseits konnen sich links außer xayb keine Terme wegheben,d.h. in S(f, g) = yb (f − xa) − xa (g − yb) treten die Monome beider Summandenwirklich auf. Damit gilt: in((f − xa)g) = in((f − xa)yb) ≤ in(S(f, g)). �

5.4. Buchberger-Algorithmus:

(1) Sei I = (f1, . . . , fk); setze G := {f1, . . . , fk} undP := {(fi, fj) | i < j, gcd(in(fi), in(fj)) 6= 1}.

(2) Fur alle (f, g) ∈ P tue man:(a) P := P \ {(f, g)}(b) Reduziere S(f, g) 7→G r(c) Falls r 6= 0: P := P ∪ (G, r) und G := G ∪ {r}.

Es ist klar (Satz 24), daß G eine Grobner-Basis ist, falls schließlich P = ∅. Ander-erseits gilt (supp r) ∩ (in(G)) = ∅, also insbesondere (in(G)) ( (in(G ∪ {r})), fallsr 6= 0 in obigem Algorithmus. Damit erzwingt “noethersch” die Endlichkeit desVerfahrens.

Definition 26. GB (f1, . . . , fk) heißt reduziert ( RGB ), falls in(fi) keine anderenTerme der fj teilt (und die hochsten Koeffizienten 1 sind).

Komplexitat: n := Variablenanzahl, s := dimV (I), d := maximaler Grad dergegebenen fi. Fur homogene I und lexikographische Termordnung gibt es folgendescharfe Obergrenze fur den Grad D der RGB: D ≤ [(n + 1)(d + 1) + 1]2

s+1(n+1).(Siehe S.333, [Eis]).

Singular:

ring A = 0,(x,y),dp; ideal I = f, g; matrix m;

liftstd(I, m); lift(I, xy2-2xy-x+y); (es gilt immer: I∗Matrix = . . . )option(redSB); std(I); (gibt reduzierte Standardbasis)

Beispiel: fi =∑

j aijxj (linear) sind minimale GB ⇔ sind (bis auf Reihenfolge) inStufenform; reduzierte GB⇔ strikte Stufenform: Buchberger ist Gauß Algorithmus.

6. Anwendungen von Grobnerbasen

6.1. Ideal membership. Grobnerbasen losen das Problem der “ideal membership”= “Idealzugehorigkeit”: I = (f1, . . . , fk) sei GB und f(x) 7→(f1,...,fk) r(x), dann gilt[f ∈ I ⇔ r = 0]. In (6.2) wird das verscharft – hier erhalt jedes Polynom f ∈ k[x]einen kanonischen (und damit eindeutigen) Reprasentanten modulo I.

Page 14: COMPUTERALGEBRA - fu-berlin.de

14 KLAUS ALTMANN (MARCH 6, 2015)

6.2. Monomiale Basen des Vektorraumes k[x]/I.

Satz 27 (Macaulay). Sei I = (f1, . . . , fk) ⊆ k[x] Grobnerbasis. Dann gibt dienaturliche Inklusion einen ISO von Vektorraumen

k[Nn \ in(I)] inkl−→ k[x1, . . . , xn]/I .

Die inverse Abbildung “std” ist die Reduktion bzgl. (f1, . . . , fk). Insbesondere wirdstd zur Abbildung, die nur noch von I und in(I) abhangt, nicht von der Termordnung

und der Grobnerbasis. (Monome aus k[Nn \ in(I)] heißen Standardmonome .)

Proof. Injektivitat: r ∈ k[Nn \ in(I)] \ {0} ⇒ in(r) /∈ in(I) ⇒ r /∈ I. Surjektivitat:k[x] ∋ f 7→(f1,...,fk) r ∈ k[Nn \ in(I)]; wegen r − f ∈ I ist inkl(r) ≡ f mod I. �

Folgerung 28. 1) dimk k[x]/I <∞ ⇔ in(I) enthalt Monome xN1 , . . . , x

Nn .

2) M := in(I) ⊆ Nn❀ BM := {f ∈ I | #(M ∩ supp f) = 1}

/k∗ t→ M ist bijektiv

mit t(f) = in≤(f) und t−1(minimale M-Erzeuger) = RGB von (I,≤). Die RGB istalso eindeutig und hangt nur von M , nicht von “≤” ab.

(Injektivitat nach Macaulays Satz; Surjektivitat durch Reduktion mit Grobnerbasis.)

Aufgabe 29. Berechne die Initialideale M und M ′ von (x2−y, x−y2) bzgl. lp und

Dp und bestimme die Abbildungsmatrix von k[N2 \M ]∼→ k[x, y]/I

∼← k[N2 \M ′].

6.3. Eliminationstheorie. Grobnerbasen ermoglichen das Schneiden von Idealenmit Unterringen:

Satz 30 (Elimination). Sei I ⊆ k[x,y] Ideal; sei ≤= (≤1,≤2) Produktordnung,also x ≫ y. Falls (f1, . . . , fk) Grobnerbasis von I, dann ist {f1, . . . , fk} ∩ k[y]

Grobnerbasis von I ∩ k[y] ❀ {f1, . . . , fk} ∩ k[y] erzeugen das Ideal I ∩ k[y].

Proof. f ∈ I ∩ k[y] ⇒ ∃i: k[y] ∋ in(f) ≥Nn in(fi)x≫y

=⇒ fi ∈ k[y]. �

Singular:

ring A = 0,(x,y,z),dp; poly f = x-z; poly g = y-z;

ideal I = f,g; reduce(x-y,I); reduce(x-y,std(I));

ring B = 0,(z,x,y),dp; poly f = x-z; poly g = y-z;

ideal I = f,g; reduce(x-y,I); reduce(x-y,std(I));

(Kommentar zu den Ringen A und B: std(I) reduziert immer zu 0; das originale Iallerdings nur im Ring A.(f, g) ist GB in A, aber nicht in B – dort kommt h := x−y hinzu. Um also I∩k[x, y]zu berechnen benotigt man die B-Termordnung, die h in die GB zwingt!)

Examples. 1) Losen algebraischer Gleichungssysteme durch sukzessives Eliminierenvon Variablen. Beispiele siehe Kapitel 13.

2) Algebraische Abhangigkeiten (z.B. Pluckerrelationen): J ⊆ k[x] und h(z) ∈k[z] ∩

(J, zi − fi(x)

)⇒ h(z)

J≡ ∑i gi(x, z)(zi − fi(x)) ⇒ h(f1(x), . . . , fN(x)) ∈ J .

Umgekehrt: Taylorreihe fur h(z)− h(f), oder o.B.d.A. h = zr.

Page 15: COMPUTERALGEBRA - fu-berlin.de

KOMPAKTKURS “COMPUTERALGEBRA” 2013, FUB (March 6, 2015) 15

2’) Kern von Ringhomomorphismen k[z]→ k[x]/J .

3) Durchschnitt von Idealen : I, J ⊆ k[x] ⇒ I ∩ J = (It+ J(1− t)) ∩ k[x].

4) MMR : qi = ei + (1 − ei)si (bedingte Wahrscheinlichkeit fur die Existenz vonAntikorpern fur Krankheit i bei geimpften Personen; dabei ist ei = exposure factor,si = seroconversion). Das Modell ist dann p(•, •, •) = vq•

1q•

2q•

3 + (1 − v)e•

1e•

2e•

3 mit• = ± und q+i = qi und q−i = (1− qi) (und analog mit den ei).

Es ergibt sich eine quadratische Gleichung c1(a)v2 − c1(a)v + c0(a) = 0 mit a =

(a0, . . . , a7). Mit f1(a) = n =∑

i ai (Große der Kohorte, also pi = ai/n), f4(a) :=Hyperdeterminante und 2f3(a) :=

∑i±∂f4/∂ai ist c1 = f 2

1 f4 und c1 − 4c0 = f 23 .

Außerdem zerfallt c0 = f21f22f23, wobei die Faktoren die determinanten der dreimoglichen Scheibensummen sind.

Singular:

ring A = 0,(x,y,z,w,a,b,c),dp;

ideal I = x*z-1, y*w-1, a-x-z, b-y-w, c-x*y-z*w;

ideal Iabc = eliminate(I, x*y*z*w); (ergibt a2 + b2 + c2 = abc + 4).

Aufgabe 31. Berechne die Pluckerrelationen.

6.4. Das Radikal eines Ideals. I ⊆ k[x] Ideal; Test: Ist k[x] ∋ f ∈√I?

Lemma 32. I ⊆ A Ideal, f ∈ A. Dann ist f ∈√I ⇔ 1 ∈ I + (1− tf) ⊆ A[t].

Proof. ([GP, S.77]) (⇒) fn ∈ I ⇒ tnfn ∈ I und (1− tf)|(1− tnfn).

(⇐) I = (f1, . . . , fk) und 1 − a(t)(1 − tf) =∑

i ai(t) fi ∈ I ⊆ A[t] ⇒ t 7→ 1/f gibt1 =

∑i ai(1/f) fi ∈ Af , d.h. f

N ∈ I in A. �

Im Zusammenhang mit dem Schneiden mit Unterringen gilt in k[x1, . . . , xn] aber fur0-dimensionale Ideale auch folgendes:

√I = I +

i

(hi(xi)),

wobei das quadratfreie hi ∈ k[xi] der reduzierte Anteil von I ∩ k[xi] ist.

6.5. Der Idealquotient. A ⊇ J = (f1, . . . , fk) ⇒ (I : J) =⋂

v(I : fv). Z.B. inA = k[x] hilft dann:

Lemma 33. Sei f 6= NT, I ∩ (f) = (fg1, . . . , fgk). Dann ist (I : f) = (g1, . . . , gk).

(I : Jn) ⊆ (I : Jn+1) ⊆ . . . = (I : J∞) wird stationar; sukzessive Berechnung mittels

(I : Jn+1) = ((I : Jn) : J); dann [((I : Jn) : J) ⊆ (I : Jn)] testen.

Page 16: COMPUTERALGEBRA - fu-berlin.de

16 KLAUS ALTMANN (MARCH 6, 2015)

7. Algebraic Oil (siehe [BaKr])

In Bohrungen gibt es vertikal angeordnete Ventile; jedes hat als Parameter denOffnungsgrad vi ∈ [0, 1] und den Druck pi (i = 1, . . . , n). Der Druck an derOberflache ist p0; es interessieren die Differenzen yi = pi − p0. Diese Parame-ter hangen von der Zeit t ab; das Ziel ist die geforderte Olmenge f(t) zu max-imieren – und zunachst die Abhangigkeit fi = f(yi, vi) zu verstehen. Dazu fassenwir Pi := (yi, vi)i=1,...,n als Punkt des Rm (m := 2n) auf.

Sei X = {P1, . . . , Pk} ⊂ Rm; wir suchen I(X) ∈ R[x1, . . . , xm]. Das soll helfen, dasInterpolationsproblem Pi 7→ fi zu losen, d.h. ein f : Rm → R zu finden, das dieseEigenschaft hat. (“Separation”: hi : Pj 7→ δij (?))

Direkter Ansatz: I(X) =⋂

i I(Pi) ist zu langsam. Ein effizienter Algorithmus ist derBuchberger-Moller-Algorithmus. Dieser produziert eine reduzierte Grobner-Basisoder eine “Randbasis”:

In Folgerung 28 hatten wir eine Bijektion t : BM → M konstruiert. Dabei warM = in(I), und BM sind die I-Polynome (modulo k∗) mit nur einem M-Term.Die RGB ist dann das t-Urbild der minimalen M-Erzeuger (∀i : m/xi /∈ M); die

Randbasis ist das t-Urbild der Randmonome m von M (∃i : m/xi /∈M).

Der Algorithmus (zur Bestimmung der Randbasis) sucht die Menge der Standard-monome S (Komplement von M = in I(X)) und die Abbildung t−1:Um die Menge S sukzessive aus ∅ aufzubauen, werden (aufsteigend nach dem Total-grad) Monome m analysiert. Diese werden zunachst in X evaluiert, und dann wirddie lineare Abhangigkeit mit den Vektoren aus dem bisherigen S getestet. Lasst sichX(m) durch X(S) dartsellen, so beschreibt diese Darstellung t−1(m); anderenfallskommt m nach S:

X(m) =∑

i

ciX(si)⇒ X(m−∑

i

cisi) = 0, d.h. m−

i

cisi ∈ BM ⊆ I(X).

Jetzt kann f interpoliert werden: #(S) = k = #(X) (nach Satz von Macaulay)

⇒ ∃λ = (λi) : X(S)λ =∑

i

λiX(si) = X(f).

Oder man bestimmt gleich die Separations-Polynome hi (i = 1, . . . , k) als die Spaltender Matrix X(S)−1.

8. Algebraische Methoden in der Diskreten Geometrie

8.1. Definitionen: A-graduierter Ring; homogenes Ideal (homogen erzeugt, odermit f ∈ I gilt fa ∈ I fur alle a ∈ A); Graduierung der Faktorringe nach homogenenIdealen.

Page 17: COMPUTERALGEBRA - fu-berlin.de

KOMPAKTKURS “COMPUTERALGEBRA” 2013, FUB (March 6, 2015) 17

Beispiele: K[x1, . . . , xn] (Z- und Zn-Graduierung; homogene Ideale); (y2 − x3) ⊆K[x, y] quasihomogen; Faktorring und Normalisierung.

8.2. A : Zn → Zd mit (kerA)∩Rn≥0 = {0}; A(Nn) ⊆ A(Rn

≥0) hat Spitze, d.h. enthaltkeinen linearen Teilraum. Bsp.: (3× 3)-Matrizen mit den 6 Randsummen.

Fragen: 1) Gegeben b ∈ Zd; ist A−1(b) ∩ Nn leer?

2) Wie erhalt man (viele/alle) Punkte aus der Faser A−1(b) ∩ Nn?

3) Zusatzlich c ∈ Rn; was ist die Losung von IPA,c(b) := “minimiere {〈c, x〉 | x ∈A−1(b) ∩ Nn}”?

IA := ker(K[x1, . . . , xn] → K[t±1

1 , . . . , t±1d ]

)“torisches Ideal” (prim); Zd-graduiert;

von Binomen erzeugt: IA =((xu+ − xu−) | u ∈ kerA

).

IA :=(xi t

(Aei)− − t(Aei)+ , t1 · · · td y − 1)⊆ K[x, t, y], dann gilt IA = IA ∩ K[x]; so

kann IA berechnet werden. “⊇” folgt durch Einsetzen fur y und Nachprufen derKern-Eigenschaft; “⊆” erfolgt durch Rechnen in den großeren Ringen. (Alternativ:[((xu+ − xu−) | u ∈ (kerA)-Basis

)+ (x1 · · ·xn y − 1)

]∩K[x].)

“≤c” sei Termordnung, die c verfeinert (o.B.d.A.: c ∈ Rn≥0, denn durch Trennung

von (kerA) und Rn≥1 bekommt man ein a∗ ∈ Zn

>0 mit a∗ ∈ (kerA)⊥, d.h. a∗ liegt imspan der A-Zeilen; dann nehme man c := c+N · a∗). Grobnerbasen aus binomialenErzeugern bleiben binomial; Reduktion von Monomen gibt Monom.

Definition: F ⊆ kerA endlich ⇒ Graph “A−1(b)F”: Ecken sind Gitterpunkte ausA−1(b) ∩ Nn; a, a′ ∈ A−1(b) ∩ Nn sind durch Kante verbunden, falls a − a′ ∈ ±F .(Zusammenhangskomponenten konnen explizit durchlaufen werden.)

F ⊆ kerA endlich ⇒ gerichteter Graph “A−1(b)F,<”: Ecken und Kanten, wie inA−1(b)F , aber die Kante (a, a′) ist von a nach a′ gerichtet, falls a ≥c a

′.

Bemerkung: Wir konnen o.B.d.A. F ≥c 0 voraussetzen; dann ist die Bedingungfur einen Pfeil von a nach a′ in A−1(b)F,< genau a− a′ ∈ F .

Satz 34. 1) F ⊆ kerA endlich. Dann ist A−1(b)F zusammenhangend ⇔ IA =((xu+ − xu−) | u ∈ F

).

2) A−1(b)F,< hat daruberhinaus eine eindeutige Senke ⇔ {(xu+ − xu−) | u ∈ F} ist≤c-Grobnerbasis von IA.

Proof. (1) (⇒) Um xa− xa′ zu erzeugen (a, a′ ∈ A−1(b)) benutze man F -Weg von anach a′, also o.B.d.A. u := (a− a′) ∈ F . Dann gilt xa − xa′ = xr (xu+ − xu−).(⇐) xa − xa′ =

∑v cvx

rv(xuv+ − xuv

−); auf rechter Seite die Monome xrv+uv± nach F -

Zusammenhangskomponenten sortieren: Dabei bleiben die Summanden ungetrennt,also ist die Koeffizientensumme 0. Das muß dann auch links gelten.

(2) Die Losung von IPA,≤c(b) ist stets eine Senke; es geht also nur um die Ein-deutigkeit.(⇒) xa ∈ in IA ⇒ ∃a′ ≤c a : xa − xa′ ∈ IA, also ist a keine Senke, d.h. es existiertein a′′ mit u := (a− a′′) ∈ F . Dabei gilt dann xu+ |xa, und das zeigt “Grobner”.

Page 18: COMPUTERALGEBRA - fu-berlin.de

18 KLAUS ALTMANN (MARCH 6, 2015)

(⇐) Sei a ∈ A−1(b) ∩ Nn nicht das Minimum; dann gibt es ein xa − xa′ ∈ IA mita′ ≤c a, also xa ∈ in IA. Wegen “Grobner” gibt es ein u ∈ F mit xu+ |xa; damit ista′′ := (a− u+ + u−) ∈ A−1(b) Spitze eines F -Pfeiles von a. �

Beispiel: 3 × 3 Matrizen mit vorgegeben Randsummen; gibt A : Z9 → Z6 mit 5-

dimensionalen Bild; Kern ist 4-dimensional; F (fur (1)): 9 Matrizen mit

(1 −1−1 1

)

Minor.

Satz 35. Sei b ∈ A(Nn) ⊆ Zd; sei xatb′

yc′

die Reduktion von tb (also von tb+N(1,...,1)yN)bzgl. einer Grobnerbasis von IA bzgl. (t, y)≫ (x,≤c). Dann gilt:

(i) Falls A−1(b) ∩ Nn = ∅, so ist xatb′

yc′

nicht nur von x abhangig.

(ii) Falls A−1(b)∩Nn 6= ∅, so ist dieses Monom von der Form xa, und a ∈ A−1(b)∩Nn

ist die Losung von IPA,≤c(b).

Proof. IA ist erzeugt durch Differenzen von Monomen xatb′

yc′

mit konstantem A(a)+(b′ − c′ · 1). Reduktionsterm ist einzige Senke – analog zum letzten Teil des vorigenSatzes/Beweises (nur mit dieser anderen Faser). t’s und y’s sind “teuer”, werdenalso in der Senke, wenn moglich, vermieden. �

Singular:

LIB ‘‘intprog.lib’’;

intmat A[5][9] = Eintrage zeilenweise mit Kommata trennen;

intvec bx = 2,3,4,1,5; (hat unterschiedliche Bedeutungen!)intvec c = 1,2,3,4,5,6,7,8,9;

intvec leicht = solve IP(A,bx,c,‘‘ct’’); (“ct” steht fuer “ContiTraverso”)

8.3. Definition Triangulierung von Polyedern (Schnitt der Simplizes ist gemeinsameSeite).

Beispiel: (Triangulierung von Polyedern mit vorgegebener Eckenmenge)Sei A = {a1, . . . , an} ⊆ Rd endliche Teilmenge; sei Q := conv(A).placing: ∆n−1 := placing Triangulierung von {a1, . . . , an−1}. Dann entsteht ∆n aus∆n−1 durch Hinzufugen der Simplizes 〈an, (von an sichtbare ∆n−1-Simplizes)〉.Entspricht der Projektion der unteren Seiten von conv

([ai, Ri]

)⊆ Rd+1 mit R≫ 0.

(an liegt sehr hoch gegenuber den anderen A-Punkten.)pulling: Γn−1 := pulling Triangulierung von {a1, . . . , an−1}. Dann besteht Γn (neueDefinition; keine Erweiterung von Γn−1) aus den Simplizes

〈an, (Γn−1-Simplizes, die in Q-Seiten liegen, die nicht an enthalten)〉.Entspricht der Projektion der unteren Seiten von conv

([ai,−Ri]

)⊆ Rd+1 mit R≫

0. (an liegt sehr tief gegenuber den anderen A-Punkten.)

8.4. A : Zn → Zd mit (kerA)∩Rn≥0 = {0}; seien di := A(ei) = deg xi. Sei J ⊆ K[x]

Monomideal mit (Nn \ J) ∼−→ A(Nn).

Beispiel: IA ⊆ K[x] torisches Ideal ist Zd-graduiert mit dimK

(K[x]/IA

)q= 1 fur

Page 19: COMPUTERALGEBRA - fu-berlin.de

KOMPAKTKURS “COMPUTERALGEBRA” 2013, FUB (March 6, 2015) 19

q ∈ A(Nn) (und = 0 sonst; “Hilbertfunktion”). Nun respektieren fur J := (in I) dieIsomorphismen

K[x]/J∼←− K[Nn \ J ] ∼−→ K[x]/IA

die Zd Graduierung, also hat J dieselbe Hilbertfunktion, also ist (Nn \ J) ∼→ A(Nn).

Lemma 17(2) ⇒ es gibt endliche Menge B = {(r, ℓ)} mit ℓ ⊆ {1, . . . , n}, r ∈ N[n]\ℓ,so daß (r + Nℓ) ⊆ (Nn \ J) maximal; insbesondere ist (Nn \ J) = ⋃

(r,ℓ)∈B(r + Nℓ).

Lemma 36. Fur das Radikal von J gilt (Nn \√J) =

⋃(0,ℓ)∈B Nℓ.

(xr /∈√J ⇔ Nr ⊆ (Nn \ J) ⇔ Nsupp r ⊆ (Nn \ J))

Satz 37. Sei J ⊆ K[x] Monomideal mit (Nn \ J) ∼→ A(Nn).

(1) Die Komposition⋃

(0,ℓ)∈B Qℓ≥0 → Qn

≥0A→ A(Qn

≥0) ist bijektiv.

(2) Fur (0, ℓ1), (0, ℓ2) ∈ B gilt A(Nℓ1) ∩ A(Nℓ2) = A(Nℓ1∩ℓ2) (und analog furQℓ

≥0 statt Nℓ). Insbesondere erhalten wir eine simpliziale Kegelzerlegung

A(Qn≥0) =

⋃(0,ℓ)∈B A(Qℓ

≥0).

(3) Sei AQ surjektiv. Dann haben alle ℓ mit (0, ℓ) ∈ B genau d Elemente.

(4) Sei di = (di, 1) ∈ (Zd−1 × {1}). Dann erhalten wir in Rd−1 eine simplizialeZerlegungconv(d1, . . . , dn) =

⋃(0,ℓ)∈B conv(di | i ∈ ℓ).

(5) Die induzierte Unterteilung von A(Qn≥0) oder conv(d1, . . . , dn) sieht folgen-

dermaßen aus:{di | i ∈ ℓ} formen Simplex ⇔ ℓ ⊆ L mit (0, L) ∈ B ⇔ ∏

i∈ℓ xi /∈√J .

Proof. (1) Injektivitat: Es genugt, Nℓ statt Qℓ≥0 zu betrachten; hier folgt die Be-

hauptung aber aus der Injektivitat von A auf (Nn \ J). Teil (2) folgt gleich mit.

(1) Surjektivitat: Sei s ∈ A(Nn). Fur alle N ∈ N existieren (rN , ℓN) ∈ B mitA(Ns) ∈ A(rN ) + A(NℓN ). B ist endlich, also existiert (r, ℓ) ∈ B, so daß fur un-endlich viele N ∈ N gilt:

N · A(s) = A(Ns) ∈ A(r) + A(Nℓ) ⊆ A(r) + A(Qℓ≥0) ⊆ A(r) + A(Qℓ)

Also muß der affine Unterraum A(r)+A(Qℓ) ⊆ Qd durch 0 gehen, d.h. A(r) ∈ A(Qℓ)und damit auch A(s) ∈ A(Qℓ).Seien r, s ∈ Qℓ mit A(r) = A(r) und A(s) = A(s) (r, s sind damit eindeutig bes-timmt). Dann gilt fur unendlich viele N ∈ N: N · A(s) ∈ A(r) + A(Qℓ

≥0), also

N · s ∈ r +Qℓ≥0, also s ∈ Qℓ

≥0.

(3): #(ℓ) ≤ d folgt aus der Injektivitat. Sei (0, ℓ) ∈ B mit #(ℓ) < d, sei r ∈ Nℓ≥1.

O.B.d.A. sei A(e1) /∈ A(Qℓ); dann betrachte man A(e1 +Nr) fur N ≫ 0: Das liegtin A(e1) + A(Qℓ

≥0) (also nicht in A(Qℓ)) und in einem Simplex A(Qℓ′

≥0). Grenzwert

N →∞ gibt A(r) ∈ A(Qℓ′), also ℓ ⊆ ℓ′.

(5): folgt aus vorigem Lemma. �

Beispiel: (Triangulierung des Oktaeders, n = 6, d = 4)1) A gegeben durch die 6 Bilder (1, 1, 0, 0), (1, 0, 1, 0), (1, 0, 0, 1), (0, 1, 1, 0), (0, 1, 0, 1),

Page 20: COMPUTERALGEBRA - fu-berlin.de

20 KLAUS ALTMANN (MARCH 6, 2015)

(0, 0, 1, 1)2) Ideal IA z.B. aus (x1 − t1t2, . . . ) durch Elimination berechnen3) Termordnung wahlen, hier “grlex” mit x1 < · · · < x6

4) Grobnerbasis berechnen, hier (x1x6 − x3x4, x2x5 − x3x4) (Leitterme sind unter-strichen)5) Leitterme entsprechen den minimalen Nicht-Seiten, d.h. die Triangulierung bestehtaus allen Simplexen, die nicht {1, 6} oder {2, 5} enthalten.

8.5. Sei A : Zn → Zd mit A(ei) ∈ (Zd−1 × {1}), d.h. die letzte A-Zeile besteht ausEinsen. Sei c ∈ Rn allgemein; sei “ ≤′′

c Termordnung, die zuerst nach dem Grad,dann nach c sortiert (“allgemein” meint, daß in≤c IA Monomideal ist).

Satz 38. Sei Q := conv(d1, . . . , dn) ⊆ Rd−1. Die zu J := in≤c IA gehorige simplizialeUnterteilung von Q entsteht dann durch die Projektion der “unteren” Seiten vonP := conv

([d1, c1], . . . , [d

n, cn])auf Q. (“Regulare Triangulierung”)

Proof. Sei ℓ ⊆ [n]. Dann formt Fℓ := conv([di, ci] | i ∈ ℓ

)eine “untere” Seite von P

⇐⇒ ∀a ∈ Fℓ, ∀a′ ∈ P mit a = a′ in Q gilt ad ≤ a′d ⇐⇒ falls a =∑

i∈ℓ λi[di, ci]

und a′ =∑

j∈[n] µj[dj , cj] mit λi, µj ≥ 0,

∑i∈ℓ λi =

∑j∈[n] µj und

∑i∈ℓ λid

i =∑j∈[n] µjd

j, so folgt∑

i∈ℓ λici ≤∑

j∈[n] µjcj .

Also: Fℓ ist untere Seite ⇔ ∀a = (λi) ∈ Rℓ≥0, ∀a′ = (µj) ∈ Rn

≥0:[A(a) = A(a′) ⇒

〈a, c〉 ≤ 〈a′, c〉]. Ersetzung von R•

≥0 durch Q•

≥0 oder schließlich N• liefert aquivalente

Bedingungen. Damit ist Fℓ untere Seite von P ⇔ Nℓ sind alles Losungen vonIPA,c(•) ⇔ xNℓ

/∈ J ⇔ ∏i∈ℓ xi /∈

√J . �

Beispiel: grlex mit xn > · · · > x1 entspricht c = (R, . . . , Rn) mit R≫ 0⇒ placing;grevlex mit x1 > · · · > xn entspricht c = (−R, . . . ,−Rn) mit R≫ 0 ⇒ pulling.

8.6. Beispiel 1: x1, x2, x3 entsprechen (−1, 2, 0), (0,−1, 2), (2, 0,−1) (außeresDreieck, hat Flache 7); y1, y2, y3 entsprechen (1, 0, 0), (0, 1, 0), (0, 0, 1); Triangulierung

in 7 Dreiecke mit Flache 1 mittels J =√J = (x1x2x3, x1y1, x2y2, x3y3); man

pruft direkt die Bedingung von 8.4 nach. J ist Grobner-Degeneration von IA mitwp(2,2,2,1,1,1) .

Beispiel 2: (Strudel) x1, x2, x3 entsprechen (−1, 4,−1), (−1,−1, 4), (4,−1,−1)(außeres Dreieck); y1, y2, y3 entsprechen (2, 0, 0), (0, 2, 0), (0, 0, 2) (inneres Dreieck);

alles liegt auf der affinen Ebene [t1 + t2 + t3 = 2]. Unterteilung mittels√J =

(x1x2x3, x1y1, x2y2, x3y3) kann nicht regular sein; gibt es ein zugehoriges J mit(N6 \ J) = A(N6)?

9. Der Grobner Facher

9.1. Die Menge der Initialideale/RGBs ist grober als die der Termordnungen:

Page 21: COMPUTERALGEBRA - fu-berlin.de

KOMPAKTKURS “COMPUTERALGEBRA” 2013, FUB (March 6, 2015) 21

Satz 39. Es gibt nur endlich viele Initialideale und damit auch nur endlich vieleRGBs (bzgl. aller Termordnungen) eines gegebenen Ideals I.

Proof. Sei Σ0 := {in≤(I) | “≤” ist Termordnung} unendlich.Wahle f1 ∈ I ⇒ es existiert Term m1 in f1, so daß auch Σ1 := {M ∈ Σ0 | m1 ∈M}unendlich; Macaulay impliziert fur M ∈ Σ1: k[Nn \ (m1)] ) k[Nn \M ]

∼→ k[x]/I.Damit ist k[Nn \ (m1)]→ k[x]/I nicht injektiv.

Wahle f2 ∈ I ∩ k[Nn \ (m1)] ⇒ es existiert Term m2 in f2, so daß Σ2 := {M ∈Σ1 | m2 ∈ M} unendlich. Jetzt betrachtet man k[Nn \ (m1, m2)] usw. – man erhaltschließlich Widerspruch zu “noethersch”. �

Folgerung 40. I Ideal ⇒ es gibt universelle Grobnerbasen (“UGB”), d.h. endlicheMengen, die fur jede Termordnung Grobnerbasis sind. (Vereinigung der RGBs)

Beispiel: I = von Linearformen erzeugtes Ideal ❀ A := Koeffizientenmatrix, I1 =(kerA)⊥ ⊆ (kn)∗ ist der Zeilenraum von A und besteht aus den linearen Abhangig-keitsrelationen der xi ∈ im

((kn)∗ →→ (kerA)∗

). Die “circuits” (Abhangigkeiten mit

minimalem Trager) bilden eine minimale universelle Grobnerbasis von I.

Proof. Sei {f1, . . . , fk} die RGB bzgl. ≤; die fi sind dann circuits: Falls supp ℓ (supp fi, so wurden ℓ, fi denselben eindeutig bestimmten in(I)-Term enthalten; Re-duktion gibt Widerspruch. ⇒Menge aller circuits umfaßt alle RGB’s, ist also UGB.

Auf circuit ℓ kann nicht verzichtet werden: Sei “≤”, so daß supp ℓ die billigstenVariablen sind. Dann gilt fur jedes f mit in(f) = in(ℓ): supp f ⊆ supp ℓ. Fallszusatzlich f ∈ I (und solch ein f muß es in jeder GB geben), so folgt f = ℓ. �

9.2. w ∈ Rn≥0 ⇒ inw f , inw I (muß nicht monomial sein)

“≤” beliebiger tie break ⇒ “≤w” entscheidet zuerst nach w, dann nach “≤”.

Lemma 41. in≤(inw I) = in≤wI. Insbesondere ist inw I durch die inw-Terme der

≤w-RGB oder einer UGB von I erzeugt.

Proof. Gleichheit gilt fur einzelne Polynome, daher ist “⊇” klar. Sei in≤(f) aus derlinken Seite mit f ∈ inw I, also f =

∑i inw gi mit gi ∈ I und o.B.d.A. verschiedenen

w-levels ⇒ in≤(f) = in≤(inw gi) = in≤wgi fur ein i. �

Satz 42. Sei I ⊆ k[x1, . . . , xn] Ideal.1) Fur alle “≤” existiert ein w ∈ Nn mit in≤ I = inw I.2) Fur allgemeine w ∈ Rn

≥0 ist inw I ein Monomideal, also inw I = in≤wI.

Proof. (1) {f1, . . . , fk} RGB ⇒ nehme w ∈ Rn≥0 mit in≤ fi = inw fi; damit gilt

in≤ I ⊆ inw I. “in≤” anwenden: Aus “(” wurde dann auch in≤ I = in≤ in≤ I (in≤ inw I = in≤w

I folgen – gibt Widerspruch zu Macaulay.(2) w sollte die Terme einer UGB trennen (❀ Hyperebenen-Arrangement). �

Page 22: COMPUTERALGEBRA - fu-berlin.de

22 KLAUS ALTMANN (MARCH 6, 2015)

9.3. w1 ∼ w2 :⇔ [inw1I = inw2

I] ist eine Aquivalenzrelation auf Rn≥0.

Lemma 43. Sei w ∈ Rn≥0 und F ⊆ I die RGB bzgl. ≤w. Dann ist w′ ∼ w ⇔

inw′(F ) = inw(F ) elementweise.

Proof. (⇐) inw I = (inw F ) = (inw′ F ) ⊆ inw′ I ❀ Anwendung von in≤ und Macaulay.(⇒) inw F ist GB von inw I = inw′ I ⇒ inw′ F 7→(inw F ) 0. Nun ist F eine RGB bzgl.≤w ⇒ in≤w

F sind die einzigen F -Terme aus in≤wI und gegenseitig nicht teilbar ⇒

fur f ∈ F kann inw′ f nur in einem Schritt (mit inw f) zu 0 reduziert werden. �

Achtung: w1 ∼ w2 heißt nicht, daß alle f ∈ I gleiche Initialterme liefern: w1 =(4, 1); w2 = (3, 2); I = (x− y); f = (x5 − y5) + (x4y2 − y6).

Satz 44. Die Aquivalenzklassen G(w) bzgl. ∼ (geschnitten mit den Koordinaten-strata) sind relativ offene, rationale, polyedrische Kegel, und ihre Abschließungen

G(w) bilden einen Facher G(I), der Rn≥0 unterteilt, der aber grober als das UGB-

Hyperebenen-Arrangement von Satz 42 ist.

Proof. Die Struktur der einzelnen Zellen folgt aus Lemma 43. Falls w′ ∈ ∂G(w), soerreicht w := w′ + ε(w − w′), daß inw = inw(inw′) auf der UGB, also ist o.B.d.A.

≤w=≤w′. Ist F die zugehorige RGB, so folgt nun G(w′) ≤ G(w) aus Lemma 43. DieFachereigenschaft mit den Durchschnitten folgt dann automatisch. �

gfan (Kommandozeile):

$ echo ’{a2+b,b2+a}’ | gfan

{{b^4+b,a+b^2} ,{b^2+a,a^2+b} ,{b+a^2,a^4+a}}$ echo ’{a2+b,b2+a}’ | gfan | gfan topolyhedralfan

RAYS 1 0 # 0 2 1 # 1 0 1 # 2 1 2 # 3

CONES {} # Dimension 0 {0} # Dimension 1 {1} {2} {3}{2 3} # Dimension 2 {1 3} {0 1}

Definition 45. trop(I) :=⋃{G(w) | inw I enthalt keine Monome} heißt die zu I

gehorige “affine tropische Varietat”.

Beispiel: I = (f) ❀ Γ(f) := conv(supp(f)) ⊆ Rn≥0 “Newtonpolyeder” ⇒ G(f) =

N (Γ(f))∩Rn≥0 = N (Γ(f)−Nn) außerer Normalenfacher, trop(f) = N (n−1)(Γ(f))∩

Rn≥0. Falls f homogen ⇒ 1 ist zentraler Strahl in G(f), und trop(f) und kann nach

1 ausfaktorisiert werden ❀ N (Γ(f)) und N (Γ(f))(n−2) in Rn/1.

10. Syzygien

10.1. Definitionen: A-Moduln (uber kommutativem Ring A mit 1), Ideale alsSpezialfall, IM , Modulhomomorphismen (Kern, Bild, Cokern); Summe, direkteSumme, freie Moduln; Erzeugendensysteme, endlich erzeugte Moduln als Bild freier

Moduln von endlichem Rang ❀ syz(M) (auch syz(I) benotigt Moduln).

Pathologien (gegenuber VR): Minimale ES mussen nicht die gleiche Anzahl haben;

Page 23: COMPUTERALGEBRA - fu-berlin.de

KOMPAKTKURS “COMPUTERALGEBRA” 2013, FUB (March 6, 2015) 23

ES mit minimaler Anzahl mussen nicht linear unabhangig sein; es kann Torsiongeben; Untermoduln konnen mehr Erzeuger als der enthaltende Modul brauchen.

M |A heißt noethersch :⇔ alle Untermoduln erfullen aufsteigende Kettenbedingung⇔ jede Menge von Untermoduln hat maximales Element ⇔ jeder Untermodul istendlich erzeugt (Beweis der Aquivalenz wie bei den Idealen).

Satz 46. 0→M ′ →M →M ′′ → 0 exakt⇒ [M noethersch⇔ M ′,M ′′ noethersch].

(Ketten in M werden mit M ′ geschnitten und nach M ′′ projiziert.)

Folgerung 47. Moduln uber noetherschen Ringen sind noethersch⇔ endlich erzeugt.Insbesondere sind Untermoduln endlich erzeugter Moduln uber noetherschen Ringenwieder endlich erzeugt.

10.2. Termordnungen fur freie Moduln F = ⊕ik[x]ei: Elemente xrei heißenMonome;diese werden (global) geordnet mit folgenden Axiom:

m,n ∈ F mit m ≥F n; xr ∈ k[x] ⇒ xrm ≥F xrn ≥F n.

Termordnung auf F heißt kompatibel mit Termordnung auf k[x], falls xr ≥ xs im-mer xrm ≥F xsm impliziert. Spezielle Termordnungen auf F , die mit “≤” auf k[x]kompatibel sind (in Singular-Notation): (≤, C), (C,≤) – ordnet zuerst/zuletztnach k[x]-Koeeffizienten und sonst mittels e1 ≤ . . . ≤ ek.

Singular:

ring A = 0,(x,y,z),dp; bedeutet ring A = 0,(x,y,z), (dp,C);

Es gibt (dp,C); (dp,c); (C,dp); (c,dp); (“c” statt “C” meint e1 ≥ . . . ≥ ek).

Analog zur Theorie fur Ideale in k[x] gibt es eine Theorie fur Untermoduln vonfreien Moduln M ⊆ F = k[x]r: in(m) fur m ∈ F ; in(M) und Grobnerbasen furM ⊆ F ; Divisionsalgorithmus; S-Elemente (mit S(m,n) := 0, falls in(m) und in(n)verschiedene Basiselemente ei involvieren); Buchberger-Kriterium und -Algorithmus;Satz von Macaulay.

Singular:

ring r=0,(x,y),dp; module M = [1,x], [y,x+y];

reduce([y,x], std(M));

matrix m; liftstd(M, m);

lift(M, [y-1,y]); (es gilt immer: M∗ Matrix = ...)

10.3. Die Syzygienberechnung erfolgt jetzt analog zu (6.3): ([GP, §2.5, S.159])Satz 48 (Modul-Elimination). Sei M ⊆ (⊕ik[x]ei) ⊕ (⊕jk[x]e

′j) Untermodul; sei

ei ≫ e′j. Falls (f1, . . . , fk) Grobnerbasis von M , dann ist {f1, . . . , fk} ∩ (⊕jk[x]e′j)

Grobnerbasis von M ∩ (⊕jk[x]e′j) ❀ erzeugt auch diesen Modul.

Proof. f ∈M∩(⊕jk[x]e′j)⇒ ∃i: ⊕jk[x]e

′j ∋ in(f) ≥Nn in(fi)

e≫e′

=⇒ fi ∈ ⊕jk[x]e′j . �

Page 24: COMPUTERALGEBRA - fu-berlin.de

24 KLAUS ALTMANN (MARCH 6, 2015)

Anwendung: m1, . . .mk ∈ ⊕ik[x]ei ❀ M := 〈e′j − mj | j = 1, . . . , k〉 liefert denSyzygienmodul syz〈m1, . . .mk〉 = M ∩ (⊕jk[x]e

′j). Allgemeiner, falls N ⊆ ⊕ik[x]ei,

so gibt das mit M := M +N den Kern von m : ⊕jk[x]e′j → (⊕ik[x]ei)/N .

10.4. Sei “≤F” Termordnung auf F ; sei M = 〈m1, . . . , mk〉 ⊆ F Grobnerbasis. DerDivisionsalgorithmus fur die S-Polynome liefert also stets Rest 0, d.h. S(mi, mj) =∑

v f(ij)v (x)mv (falls in(mi), in(mj) das gleiche Basiselement von F involvieren). Das

gibt Elemente τij := (in(mj)ǫi − in(mi)ǫj)/ gcd−∑

v f(ij)v (x) ǫv ∈ H := ⊕k

v=1k[x]ǫv,und wir haben M = im(H → F ); τij ∈ ker(H → F ) = syz(M).

Satz 49 (Schreyer). Sei auf H = ⊕vk[x]ǫv folgende Termordnung definiert:

fǫu ≥H gǫv :⇔ (i) inF (fmu) ≥F inF (gmv), nachfolgend (ii) u ≤ v .

Dann gilt inH(τij) = inF (mj)/ gcd ·ǫi fur i < j, und diese Elemente τij bilden bzgl.“≤H”eine Grobnerbasis von syz(M) ⊆ H.

Proof. Div.alg. ⇒ inF (f(ij)v mv) ≤F inF (S(mi, mj)) <F inF (mi) inF (mj)/ gcd ⇒

inH(τij) = ǫi- oder ǫj-Term. Schließlich entscheidet (ii) von ≤H.

Sei r =∑

fvǫv ∈ syz(M) ⊆ H ; wir suchen inH(τij)| inH(r). Sei gvǫv := inH(fvǫv)und giǫi = inH(r) unter diesen das H-Maximum (es kann sich nichts wegheben). Seiσ :=

∑′ gvǫv mit Summation nur uber gv inF (mv) = gi inF (mi). Daraus folgt:

(1) Summation involviert hochstens v mit v ≥ i (wegen (ii))

(2) σ ist der Teil von r(ǫv 7→ inF (mv)

)mit maximaler ≤F-Ordnung

⇒ σ(inF ) :=∑′

v≥i gv inF (mv) = 0, also σ ∈ syz(inF (M)). Sei σuv := (inF (mv)ǫu −inF (mu)ǫv)/ gcd; diese Elemente erzeugen syz(in(M)), und σ lasst sich also durchσij (mit i < j) und σuv (mit i < u, v) darstellen. Insbesondere ist der ǫi-Koeffizientgi von σ aus dem Ideal der ǫi-Koeffizienten inF (mj)/ gcd der σij , d.h. es gibt ein jmit (inF (mj)/ gcd)|gi, bzw. inH(τij)| inH(r). �

Singular:

ring r=0,(x,y),dp; module M = [x,x^2], [y,x+y], [y-1,y];

syz(M);

Die Numerierung der mi sei nun so gewahlt, daß, falls inF (mi), inF (mj) dasselbeBasiselement in F involvieren,

[i ≤ j ⇒ inF (mi) ≥lex inF (mj)

]gilt.

Folgerung 50 (Hilberts Syzygien-Satz). Falls x1, . . . , xs in den inF (mi) nicht vor-kommen (z.B. s = 0), dann kommen x1, . . . , xs+1 in den inH(τij) nicht vor, undM ′ := F/M hat eine freie Auflosung der Lange n− s.⇒ Jeder endliche k[x1, . . . , xn]-Modul hat eine freie Auflosung der Lange n.

Proof. inH(τij) = inF (mj)/ gcd ·ǫi enthalt nicht x1, . . . , xs. Außerdem: i < j im-pliziert inF (mi) ≥lex inF (mj), also kurzt sich in inF (mj)/ gcd das xs+1 heraus.

Page 25: COMPUTERALGEBRA - fu-berlin.de

KOMPAKTKURS “COMPUTERALGEBRA” 2013, FUB (March 6, 2015) 25

Induktion uber s – mit folgendem Anfang: Seien inF (m1), . . . , inF (mk) frei von x.Dann ist F/〈inF (m1), . . . , inF (mk)〉 frei, und der VR-Isomorphismus

F/〈inF (m1), . . . , inF (mk)〉 ∼→ F/〈m1, . . . , mk〉 = M ′

des Satzes von Macaulay ist sogar ein k[x]-Modul-Isomorphismus. �

11. 0-dimensionale Algebren

Sei I ⊂ k[x1, . . . , xn] mit endlichem V (I) = {P1, . . . , Ps}, sei k = k, und sei einemonomiale Basis von A := k[x]/I mittels GB bzgl. einer (nicht spezifizierten) Ter-mordnung bekannt.

Bisherige Methoden zum Finden der Pi: Primarzerlegung (gibt die MaximalidealeMi := I(Pi)) oder Elimination (mittels Resultanten oder Eliminationsordnungen).

11.1.

Folgerung 51. 1) #V (I) ≤ dimk k[x]/I = #(Nn \ in(I)). Außerdem gilt:

2) #V (I) < ∞ ⇔ dimk k[x]/I < ∞ ⇔ in(I) enthalt Monome xN1 , . . . , x

Nn (⇒

dimV (I) = 0).

3) Sei I =√I; dann gilt #V (I) = dimk k[x]/I = #(Nn \ in(I)).

Proof. Sei #V (I) < ∞. Fur alle i seien c1i , . . . , cki die i-ten Koordinaten von V (I)-

Punkten. Dann verschwindet fi(xi) :=∏

v(xi − cvi ) auf V (I), d.h. I enthalt mitPotenz fN

i ein reines xi-Polynom.

Erste Ungleichung: V (I) = Homk-alg(k[x]/I, k) ⊆ Homk-VR(k[x]/I, k) =: A(I)∗,aber die k-Algebrahomomorphismen sind in A(I)∗ linear unabhangig:

∑i λi ϕi = 0

auf die Monome xr angewandt gibt∑

i λi ϕi(x1)r1 · · ·ϕi(xn)

rn = 0 fur alle r ∈ Nn.Falls n = 1, so gibt die Vandermonde λi = 0. Sonst Induktion; man sortiere nachGruppen gleicher Elemente unter den ϕ1(xn), . . . , ϕn(xn).

Teil (3) (und ein zweiter Beweis fur (1)) folgt aus der Evaluierung k[x]/I(P1,...,Ps)−→ ks

fur V (I) = {P1, . . . , Ps}. Surjektivitat gibt (1); Injektivitat (nach HNS) gibt (3). �

11.2. x1, . . . , xn−1 ≫ xn ⇒ xNn ∈ in I zeigt Existenz von gn(xn) ∈ I; sei allgemein

gi(xi) ∈ I ∩k[xi]. Bestimmung der gi durch Elimination, oder durch Darstellung derxi-Potenzen bzgl. monomialer Basis von A und Suche nach linearer Abhangigkeit.

A = k[x]/I →→ k[x]/√I

∼−→ ks, aber wie bestimmt man√I?

gi(xi) ∈ k[xi] liefert gi(xi) := gi/ gcd(gi, g′i); gi(xi) hat dann nur einfache Nullstellen.

Satz 52.√I = I +

(g1(x1), . . . , gn(xn)

)

Proof. Q = Ideal, dann gilt nach Chinesischem Restsatz (11.3) Q + ((xi − c1) · · · · ·(xi− cs)) =

⋂sv=1(Q+(xi− cv)). Damit ist die rechte Seite Durchschnitt uber Ideale

der Form I + (x1 − b1, . . . , xn − bn), und diese sind radikal. �

Page 26: COMPUTERALGEBRA - fu-berlin.de

26 KLAUS ALTMANN (MARCH 6, 2015)

11.3.

Satz 53 (Chinesischer Restsatz, CRT). R Ring, Ji ⊆ R Ideale mit Ji + Jj = (1).Dann gilt

⋂i Ji =

∏i Ji, und R/(∩iJi)→

∏i R/Ji ist ein Isomorphismus.

Proof. Zunachst gilt J1 + (∏

i≥2 Ji) = (1): Seien ai + bi = 1 Zerlegungen gemaßJ1 + Ji = (1), dann ist b :=

∏i≥2 bi ∈

∏i≥2 Ji¿ Andererseits gilt b =

∏i≥2(1− ai) ∈

1 + J1.

Nun kann die erste Behauptung mit Induktion gezeigt werden; man braucht nur denInduktionsanfang “I + J = (1) impliziert IJ = I ∩ J”: Sei entsprechend a + b = 1und f ∈ I ∩ J . Dann gilt f = af + bf ∈ IJ .Fur die zweite Behauptung braucht man nur die Surjektivitat – aber die folgt auchgenau aus der Eingangsbemerkung. �

11.4. Verallgemeinerung der Zerlegung k[x]/√I

∼−→ ks:Mi := I(Pi) Maximalideale; aus Dimensionsgrunden wird (1),Mi,M

2i ,M

3i , . . . sta-

tionar – gelte Mdi = Md+1

i fur alle i. HNS impliziert Mdi +Md

j = (1) und⋂

i Mdi =

(0).

Satz 54. A := k[x]/I zerlegt sich in A∼−→∏

i A/Mdi , und es gilt A/Md

i = AMi.

Proof. Zerlegung von A folgt direkt aus CRT; insbesondere gibt es Idempotenteei ∈ (

⋂j 6=iM

dj ) ∩ (1 +Md

i ). Diese sind Einheiten in den Lokalisierungen AMi; also

impliziert Mdi ei = 0 eine Faktorisierung der Lokalisierungsabbildung uber A/Md

i →AMi

.Andererseits ist A/Md

i lokal (nur das Maximalideal Mi uberlebt), d.h. unter A →A/Md

i gehen Elemente aus A \Mi auf Einheiten. Diese Faktorisierungsabbildunggeht also uber AMi

. �

Definition 55. m(Pi) := dimk A/Mdi = dimk k[x]Mi

/I · k[x]Mi

≥ 1 “Multiplizitat”von V (I) in Pi.

Folgerung 56. 1) dimk A =∑

i m(Pi),

2) m(Pi) = 1⇔√I = I in k[x]Mi

, und

3) m(Pi) = 1∀i⇔√I = I in k[x]. (Betrachte die Zerlegungen fur I und

√I.)

Singular:

ring A = 101,(x,y),dp; ideal I1 = x-1, y-1; ideal I2 = x-2*y, y^2;

ideal I = std(intersect(I1, I2));

(gibt das Ideal I = (y2 + x− 2y, xy + x− 2y, x2 + x− 2y) mit doppelter Nullstellein (0, 0) und einfacher Nullstelle in (1, 1))dim(I); kbase(I); (gibt 0 und 3)Fur beide Befehle sind Standardbasen notwendig: Beispiele sind (x− y, x− 2y) und(x− y, x− 2y, y3).Lokalisierung in (0, 0):ring B = 101,(x,y),ds; ideal ILoc = std(imap(A,I)); kbase(ILoc); (gibtDimension 2).

Page 27: COMPUTERALGEBRA - fu-berlin.de

KOMPAKTKURS “COMPUTERALGEBRA” 2013, FUB (March 6, 2015) 27

11.5. f ∈ A induziert mf ∈ Homk(A,A); bei fixierter (Monom-)basis von A istmf Matrix. m : A→ Homk(A,A) ist k-Algebrahomomorphismus; insbesondere giltmh(f) = h(mf ).fur h ∈ k[T ]. Also h(f) ∈ I ⇔ h(mf ) = 0. Solche h’s sind Vielfachedes Minimalpolynoms von mf .

Satz 57. Sei f ∈ k[x]. Dann ist {Werte von f auf V (I)} = {Eigenwerte von mf}.Proof. o.B.d.A. betrachte man Wert λ = 0 (ersetze f durch f − λ). Dann gilt: 0 istEW ⇔ mf nicht injektiv ⇔ mf nicht invertierbar ⇔ f ∈ A keine Einheit.Falls f ∈ A Einheit, so ist offensichtlich f(Pi) 6= 0 ∀i. Umgekehrt folgt, daß f /∈Mi ⊆ A; das sind aber die einzigen Maximalideale in A (oder man benutze dieA-Zerlegung). �

Anwendung: (A) f := xi ⇒ die EW von mxisind die i-ten Koordinaten der Punkte

aus V (I).

(B) f := xi ⇒ χf (T ) := det(mf − T · id) (charakteristisches Polynom) erfulltχ(xi) ∈ I ∩ k[xi], d.h. wir haben eine neue Losung fur die gi’s aus (11.2).

11.6.

Satz 58. χf (T ) := det(mf − T · id) = (−1)dimk A) ·∏s

i=1(T − f(Pi))m(Pi).

(Das zeigt auch nochmal Satz (11.5).)

Proof. Es genugt zu zeigen, daß die lineare Abbildung mf = (·f) auf den FaktorenAi := A/Md

i = AMiausschließlich den Eigenwert f(Pi) hat; sei o.B.d.A. f(Pi) = 0.

Sei also f ∈ Mi ⊆ Ai. Dann gilt aber f d ∈Mdi = 0, d.h. f ist nilpotent. �

Anwendung (auch fur k ⊂ k): Man zerlege χf (T ) uber k (z.B. Q) in irreduziblePolynome; die Vielfachheiten der Faktoren (auch wenn nicht vom Grad 1) geben dieMultiplizitaten m(Pi).

11.7. Sei f ∈ k[x] mit f(P1), . . . , f(Ps) paarweise verschieden. Dann hat auchm∗

f : A∗ → A∗ diese als EW, und die Eigenraume sind alle 1-dimensional.

Satz 59. P1, . . . , Ps ∈ A∗ sind die EV zu den EW f(P1), . . . , f(Ps).

Proof. m∗f (Pi) ∈ A∗, und es gilt 〈m∗

f(Pi), a〉 = 〈Pi, mf (a)〉(fa)(Pi) = f(Pi) ·a(Pi) =f(Pi)〈Pi, a〉, also m∗

f(Pi) = f(Pi) · Pi. �

Anwendung: {xrv}v=1,...,t Monombasis von A (gegeben durch GB), dann sind dieKoordinaten von P ∈ V (I) ⊆ A∗ in der dualen Basis gerade 〈P, xrv〉 = prv , wennP = (p1, . . . , pn) ∈ An

k .Insbesondere, falls xv ∈ in I (ist der Normalfall), dann liefern xr0 = 1 und xrv = xv

die Werte λ, λ · p1, . . . , λ · pn, also alle Koordinaten von P .Fur f wahle man z.B. eine random LK der Koordinaten xi.

Page 28: COMPUTERALGEBRA - fu-berlin.de

28 KLAUS ALTMANN (MARCH 6, 2015)

11.8. Sei k = R; fur gegebenes h ∈ R[x] sollen Anzahlen, wie #VC(I)∩ [h 6= 0] oder#VR(I)∩ [h > 0] berechnet werden (nach [PRS]). Geschickte Wahlen von h konnendann Nullstellen trennen und eingrenzen.

Satz 60 (Pedersen, Roy, Szpirglas 1993). Sei Mh die symmetrische Bilinearform(bzw. deren Matrix bzgl. einer monomialen Basis {r1, . . . , rt}) A × A → R mitMh(f, g) := Tr(mfgh). Dann gilt

1) #VC(I) ∩ [h 6= 0] = rank(Mh) und

2) #VR(I) ∩ [h > 0]−#VR(I) ∩ [h < 0] = σ(Mh) (mit σ := Signatur).

Proof. (Mh)ij = Tr(mrirjh) =∑

EW(mrirjh) =∑s

v=1m(Pv)ri(Pv)r

j(Pv)h(Pv), also

Mh = UTDU mit U =

r1(P1) . . . rt(P1)...

...r1(Ps) . . . rt(Ps)

und D =

m(P1)h(P1) 0 0

0. . . 0

0 0 m(Ps)h(Ps)

.

Zunachst folgt daraus #VC(I) ∩ [h 6= 0] = rank(D) = rank(Mh) (U hat den vollenRang s).Die Matrix Mh ist reell, die Punkte Pv aber nicht. Wir zerlegen daher U inEinzelzeilen Uv reeller Pv und Doppelzeilen Uµ aus zueinander konjugierten Pµ, P µ.D zerlegt sich entsprechend in (1 × 1)- und (2 × 2)-Diagonalmatrizen Dv und Dµ,und Mh ist die Summe aller entstehenden (t× t)-Matrizen UT

v DvUv und UTµ DµUµ.

Alle Summanden sind reelle Matrizen; durch Basiswechsel konnen auch die FaktorenUµ und Dµ reell gemacht werden (Dµ bleibt dann aber nicht mehr diagonal). Dasneue D′ hat dann diagonale (1× 1)-Kastchen (m(Pv)h(Pv)) und diagonale (2 × 2)-Kastchen der Form

D′µ =

(r rs s

)(mh 00 mh

)(r sr s

).

Die Determinante ist (rs−rs)2|mh|2, und es gilt (rs−rs)2 = (2ℑ(rs)i)2 = −4ℑ(rs)2 <0. Die Eigenwerte haben also verschiedene Vorzeichen, d.h. σ(D′

µ) = 0.Fur σ(Mh) zahlen also nur die rellen Pv, und zwar mit dem Vorzeichen vonm(Pv)h(Pv).

11.9. Signatur σ(Mh) ist die Differenz der positiven und negativen Nullstellen vonχh := det(Mh − T · id). Diese Anzahlen sollen ohne Berechnung der EW gefundenwerden:

Satz 61 (Descartes). Sei f(T ) ∈ R[T ] mit f(0) 6= 0. Mit vzw(f) bezeichnen wir dieAnzahl der Vorzeichenwechsel der Koeffizienten von f (z.B. vzw(T 4 − T + 1) = 2).Dann gilt:

1) #{α ∈ R>0 | f(α) = 0} ≤ vzw(f), und die Differenz ist eine gerade Zahl.

2) Seien alle Nullstellen von f reell (z.B. f = χh). Dann gilt #{α ∈ R>0 | f(α) =0} = vzw(f).

Proof. (1) Es gilt #(reelle Nullstellen von f) ≤ #(reelle Nullstellen von f ′)+1, unddie Differenz ist eine gerade Zahl. (Zwischen je zwei Nullstellen von f liegt namlicheine ungerade Anzahl von f ′-Nullstellen.)

Page 29: COMPUTERALGEBRA - fu-berlin.de

KOMPAKTKURS “COMPUTERALGEBRA” 2013, FUB (March 6, 2015) 29

Selbiges gilt beim Betrachten der positiven Nullstellen – nur muß jetzt manchmalrechts die “+1” weggelassen werden: Das hangt vom Schnittverhalten des f -Graphenmit der y-Achse ab (Anstieg und Ort), und das wird wiederum durch den Vorze-ichenwechsel von f ′(0) zu f(0) beschrieben.Andererseits haben f und f ′ dasselbe vzw – wieder bis auf einen eventuellen Wechselvon a1 zu a0.

(2) #{α ∈ R>0 | f(α) = 0} ≤ vzw(f(T )) und #{α ∈ R<0 | f(α) = 0} ≤vzw(f(−T )). Summation gibt links “deg(f)” und rechts “≤ deg(f)”, denn Vorze-ichenwechsel an denselben Stellen von f(T ) und f(−T ) schließen sich aus. �

References

[BaKr] Baciu, Corina; Kreuzer, Martin: http://www.algebraic-oil.uni-passau.de; sieheauch DMV-Nachrichten 2011 oder 2012.

[CLO1] Cox, David; Little, John; O’Shea, Donal: Ideals, Varieties, and Algorithms. Springer1997.

[CLO2] Cox, David; Little, John; O’Shea, Donal: iUsing Algebraic Geometry.[DeLo] Decker, W.; Lossen, C.: Computing in Algebraic Geometry. A quick start using Singu-

lar. Algorithms and Computation in Mathematics 16, Springer 2006.[Eis] Eisenbud, D.: Commutative Algebra (with a View Toward Algebraic Geometry). Grad-

uate Texts in Mathematics 150 (1995), Springer-Verlag.[EGSS] Eisenbud, D.; Grayson, D.; Stillman, M.; Sturmfels, B. (Eds.): Computations in Alge-

braic Geometry with Macaulay 2. Springer Verlag 2001.[GP] Greuel, G.-M., Pfister, G.: A Singular Introduction to Commutative Algebra. Second

Edition. Springer Verlag 2008.[GPS] G.-M. Greuel, G. Pfister, and H. Schonemann. Singular 3.0. A Computer Algebra Sys-

tem for Polynomial Computations. Centre for Computer Algebra, University of Kaiser-slautern (2005). http://www.singular.uni-kl.de.

[dJvS] T. de Jong, D. van Straten: Computeralgebra. Script an der Johannes Gutenberg Uni-versitat Mainz, September 2009.

[PRS] Pedersen, P.; Roy, M.-F.; Szpirglas, A.: Counting real zeros in the multivariate case. In:Computational Algebraic Geometry (Eyssette, Galligo, eds.), Birkhauser, Boston, 1993,203-224.

Page 30: COMPUTERALGEBRA - fu-berlin.de

30 KLAUS ALTMANN (MARCH 6, 2015)

12. Aufgaben

12.1. Man zeige, daß Primideale radikal sind, d.h. P =√P erfullen. Wie sieht das

Radikal√J des Ideals J = (x+ x2y2, y − 2 x3y4, x5, y5, z5 − x6) aus?

12.2. Fur Ideale I, J ⊆ A zeige man, daß IJ ⊆ I ∩ J gilt. Man gebe in A = Zjeweils ein Beispiel dafur an, daß die Gleichheit erfullt, bzw. nicht erfullt ist.

12.3. Fur Ideale I1, . . . Ik zeige man, daß√I1 ∩ . . . ∩ Ik =

√I1 ∩ . . . ∩√Ik.

12.4. Seien p0, . . . , pN ∈ Qn, und sei q ∈ Qn eine reelle Konvexkombination derp0, . . . , pN , d.h. q =

∑i λi pi mit λi ∈ R≥0 und

∑i λi = 1. Man zeige:

1) q ist eine Konvexkombination einer affin unabhangigen Teilmenge der p0, . . . , pN ,

2) q ist sogar eine rationale Konvexkombination der p0, . . . , pN .

12.5. Man finde einen positiven Gewichtsvektor w ∈ N3, der auf der Menge derMonome {xiyjzk | 1 ≤ i + j + k ≤ 5} genau die Termordnung dp induziert. Manfinde dann zwei (von w abhangige) Monome, so daß 〈w, •〉 und dp unterschiedlicheOrdnungen ergeben.

12.6. Sei I das Ideal der 2-Minoren der Matrix

(A B Ca b c

), also I = (Ab −

aB, Bc− bC, Ca−Ac). Gibt es eine Termordnung auf k[a, B, C, a, b, c], so daß dieInitialterme dieser drei Erzeuger genau Ab, Bc und Ca sind?

12.7. Seien f1, . . . , fN ∈ k[x]. Wir definieren die Menge der algebraischen Relatio-nen zwischen diesen Polynomen als

Rel(f1, . . . , fN) := {h(z1, . . . , zN) ∈ k[z] | h(f1, . . . , fN) = 0 in k[x]}.Man zeige, daß Rel(f1, . . . , fN) = k[z] ∩ (zi − fi(x) | i = 1, . . . , N).

12.8. Fur ein Polynom g ∈ k[x1, . . . , xn] vom Grad d sei

gh(x0, x1, . . . , xn) := xd0 · g

(x1

x0

, . . . ,xn

x0

)∈ k[x0, x1, . . . , xn].

die “Homogenisierung” von g. Fur ein Ideal I ⊆ k[x1, . . . , xn] sei Ih := (gh | g ∈

I) ⊆ k[x0, x1, . . . , xn].

a) Man berechne gh fur die Polynome g1 = x21 + x1x

42 + 3 und g2 = x3

1x2 − 2x43.

b) Sei I = (g1, . . . , gk). Welche Inklusion gilt zwischen Ih und (gh1 , . . . , ghk)? Man

gebe ein Beispiel dafur, daß die Gleichheit verletzt ist.

c) Sei ≤ eine Termordnung, die zuerst nach dem Grad entscheidet, d.h. wp(1) mit

Page 31: COMPUTERALGEBRA - fu-berlin.de

KOMPAKTKURS “COMPUTERALGEBRA” 2013, FUB (March 6, 2015) 31

anschließendem beliebigen tie break, z.B. dp . Man zeige, daß fur Grobnerbaseng1, . . . , gk von I dann Ih = (gh1 , . . . , g

hk) gilt.

12.9. Sei I = (z1 − x2, z2 − x3) ⊆ k[x, z1, z2]. Man berechne mit Singular Grob-nerbasen von I zu den lexikographischen Termordnungen mit jeweils x ≤ z1 ≤ z2und z1 ≤ z2 ≤ x. Welche der Polynome dieser Grobnerbasen liegen in k[z1, z2]?

12.10. Man benutze Aufgabe 12.7 und verwende eine Eliminationsordnung in Sin-gular, um die algebraischen Relationen zwischen den sechs Minoren

fij(x) := det

(x1i x1j

x2i x2j

)mit 1 ≤ i < j ≤ 4

zu bestimmen. Analog verfahre man mit den zehn Minoren fij, falls 1 ≤ i < j ≤ 5.

12.11. Sei I = (x2−y, x−y2) ⊆ k[x, y], und bezeichnen M und M ′ die Initialidealevon I bzgl. lp und Dp . Man berechne den Basiswechsel zwischen den zugehorigenmonomialen Basen von k[x, y]/I (den Standardmonomen bzgl. lp und Dp ). Mitanderen Worten, man beschreibe den k-VR-Isomorphismus k[N2 \M ]→ k[N2 \M ′].

12.12. Sei I = (xy3 − x2 − 2, x3y2 − y − x + 1) ⊆ k[x, y], und bezeichnen M undM ′ die Initialideale von I bzgl. lp mit y ≥ x und Dp mit x ≥ y. Man berechne denBasiswechsel zwischen den zugehorigen monomialen Basen von k[x, y]/I (den Stan-dardmonomen bzgl. beider Termordnungen). Mit anderen Worten, man beschreibeden k-VR-Isomorphismus k[N2 \M ]→ k[N2 \M ′].

12.13. Sei Fn(x, y, z) := xn + yn − zn das sogenannte n-te Fermat-Polynom. IstFn+3 im Ideal (Fn, Fn+1, Fn+2) enthalten?

(Tip: Man teste das mit Singular und kleinen n experimentell; dabei lasse mansich aber auch die Koeffizienten ausgeben. Wenn man dann eine Vermutung hat,beweise man das Ergebnis.)

12.14. Sei I ⊆ k[x] ein Ideal (mit x = x1, . . . , xn). Man zeige, daß dimk k[x]/I <∞⇔ I enthalt fur alle i = 1, . . . , n Polynome, die nur von xi abhangen.

12.15. Sei I = (∑

j aijxj), und bezeichne A die Koeffizientenmatrix. Die linearen

Elemente von I entsprechen dann dem Zeilenraum (kerA)⊥ ⊆ (kn)∗ von A, d.h. denlinearen Abhangigkeitsrelationen der xi ∈ im

((kn)∗ →→ (kerA)∗

). Ein c ∈ (kerA)⊥

heißt “circuit”, falls c minimalen Trager hat. Man zeige:

a) Ein circuit c ist, bis auf konstanten Faktor, durch seinen Trager bestimmt.

b) Die (somit endliche) Menge der circuits ist eine minimale UGB von I.

Page 32: COMPUTERALGEBRA - fu-berlin.de

32 KLAUS ALTMANN (MARCH 6, 2015)

12.16. Fur Ideale I, J ⊆ A sei (I : J) = {a ∈ A | aJ ⊆ I}.a) Man zeige, daß (I : J) ein Ideal in A ist.

b) Man zeige fur Ideale I, Jv ⊆ A, daß (I : (J1 + J2)) = (I : J1) ∩ (I : J2) gilt.

c) Falls f ∈ A, so ist I ∩ (f) von Elementen der Form fg1, . . . , fgk erzeugt. Manzeige, daß dann, wenn f kein Nullteiler ist, (I : (f)) durch g1, . . . , gk erzeugt ist.

d) Man uberlege sich aus (b) und (c) einen Algorithmus zur Berechnung von (I : J)im Ring A = k[x].

12.17. Seien f1 = x5 + x3y2 + y7, f2 = x7 + x6y2 + 4x4y3 + y2 und I = (f1, f2) ⊆k[x, y]. Man berechne den Grobnerfacher G von I und gebe zu jedem 2-dimensionalenKegel in G die reduzierte Grobnerbasis an. Die Vereinigung dieser RGBs ist eineUGB von I – man konstruiere die zu dieser endlichen Menge von Polynomen gehorigeUnterteilung von Rn

≥0 (die feiner oder gleich dem Grobnerfacher sein muß).

12.18. Welcher Punkt der Einheitssphare S2 ⊆ R3 hat den kleinsten Abstand zumPunkt (1, 2, 3)? (Tip: Mittels “Lagrange Multiplikatoren” fuhrt das zu einempolynomialen Gleichungssystem, das dann mittels Elimination gelost wird.)

12.19. a) Sei R noethersch. Man zeige, daß dann√(0)

N= (0) fur ein N ∈ N.

b) Man zeige, daß R := k⊕ xy k[x, y] ⊆ k[x, y] keine endlich erzeugte k-Algebra ist.Ist R noethersch?

12.20. Man gebe alle lokalen Maxima und Minima der Funktion x3+2xyz− z2 aufder Kugeloberflache S2 an.

12.21. Sei I = (g1, . . . , gk) ⊆ k[x1, . . . , xn] ein Ideal und y eine neue Variable. Man

zeige, daß fur ein f ∈ k[x1, . . . , xn] folgendes gilt: f ∈√I ⇔ 1 ∈

(g1, . . . , gk, yf−1

).

12.22. Seien m1, . . . , mk ∈ F := ⊕mi=1k[x]ei monomiale Erzeuger eines Untermoduls

M ⊆ F . Fur zwei “vergleichbare” Elemente mi = xrev, mj = xsev definiere manτij := xs/ gcd(xr,xs) e′i − xr/ gcd(xr,xs) e′j ∈ H := ⊕k

v=1k[x]e′v (und τij := 0 fur

unvergleichbare Elemente mi, mj). Man zeige, daß syz(M) ⊆ H von den Elementenτij erzeugt ist.

12.23. Man bestimme die Zariski-Abschließung aller Punkte (x, y) ∈ C2 mit 2xy3−5y4 + 2x3 − 7x2y+ 5xy2 + 7y3 + 7x2 − 7xy − 4x+ 10y− 14 = 0 und 2xy5 + 2x3y2−x2y3 + x4 − x3y − y4 − x2y − 3xy2 − 2x2 + 2y 6= 0.

Page 33: COMPUTERALGEBRA - fu-berlin.de

KOMPAKTKURS “COMPUTERALGEBRA” 2013, FUB (March 6, 2015) 33

12.24. a) Sei I = (x2 − y3z2, xy2z3 − x2y2z2). Man berechne das S-Polynom derbeiden Erzeuger und reduziere es bzgl. der Termordnung dp. Bilden die beidenErzeuger eine Grobnerbasis bzgl. dp?

b) Man zeige, daß durch Binome erzeugte Ideale bzgl. beliebiger Termordnungenbinomiale Grobnerbasen besitzen. Gibt es auch eine binomiale, universelle Grobner-basis?

12.25. Man finde positive Gewichtsvektoren wlex, wgrlex, wgrevlex ∈ N3, die auf derMenge der Monome {xiyjzk | 0 ≤ i + j + k ≤ 2} die Termordnungen dl=≤lex,Dp=≤grlex und dp=≤grevlex mit x > y > z induziert.

12.26. Sei I = (f, g) mit f = x− z3 und g = y− z2. Man homogenisiere die beidenErzeuger (mit einer neuen Variable t) und finde ein Element aus Ih \ (fh, gh).

12.27. a) Man berechne eine lexikographische Grobnerbasis des Ideals I := (xy −x− 2y + 2, x2 + xy − 2x) ⊆ C[x, y] mit x > y.

b) Man bestimme alle Losungen in C2 von xy − x− 2y + 2 = x2 + xy − 2x = 0.

c) Ist (x+ y) ∈ I? Liegt eine Potenz von (x+ y) in I?

d) Ist (x+ y) ∈ J := (xy − x− 2y + 2, x2 + xy − 2x, x3 + x+ 1)?

12.28. a) Man finde positive Gewichtsvektoren wlex, wgrlex ∈ N2, die auf der Mengeder Monome M := {xiyj | 0 ≤ i + j ≤ 2} die Termordnungen dl=≤lex undDp=≤grlex mit x > y induzieren.

b) Man gebe einen Gewichtsvektor w ∈ N2 an, fur den auf M folgendes gilt:≤lex⇒≤w, ≤grlex⇒≤w, und falls beide Ungleichungen ≤lex und ≤grlex strikt erfulltsind, so folgt auch <w.

c) Man zeige, daß (b) auf M ′ := {xiyj | 0 ≤ i+ j ≤ 3} nicht mehr erfullbar ist.

12.29. Sei I = (f, g) mit f = x2y− 2 und g = xyz− x− y. Man homogenisiere diebeiden Erzeuger (mit einer neuen Variable t) und finde ein Element aus Ih \(fh, gh).

12.30. Sei A : Zn → Zd linear mit (kerA)∩Rn≥0 = {0}, d.h. der Kegel A(Qn

≥0) ⊆ Qd

hat eine Spitze. Seien IA ⊆ k[x] das zugehorige torische Ideal, c ∈ Rn≥0 und “≤c”

eine Termordnung, die c verfeinert.

Fur ein endliches F ⊆ kerA mit 〈F, c〉 ≥ 0 definieren wir den gerichteten GraphenA−1(b)F,<: Die Ecken sind die (Gitter-)punkte aus A−1(b) ∩ Nn, und

a′a ist eineKante :⇔ a′ − a ∈ F . Man zeige:

1) A−1(b)F,< ist zusammenhangend ⇔ IA =((xu+ − xu−) | u ∈ F

).

2) A−1(b)F,< hat daruberhinaus eine eindeutige Senke ⇔ {(xu+ − xu−) | u ∈ F} ist≤c-Grobnerbasis von IA.

Page 34: COMPUTERALGEBRA - fu-berlin.de

34 KLAUS ALTMANN (MARCH 6, 2015)

12.31. Kann man 2008 Euromunzen finden, die zusammen einen Wert von genau100 EUR ergeben? Wenn ja, so finde man mit Singular die Varianten mit demjeweils kleinsten und großten Gesamtgewicht.

(Tip: Die Gewichte der Euromunzen in absteigender Reihenfolge sind nach Auskunftder Deutschen Bundesbank 8,5g, 7,5g, 7,8g, 5,7g, 4,1g, 3,9g, 3,0g und 2,3g.)

12.32. Fur ein gegebenes Ideal I ⊆ k[x] berechne man Erzeuger und Relationender “Rees-Algebra” R := ⊕∞

i=0Ii.

Wie sieht das Ergebnis fur I = (x, y) ⊆ k[x, y] aus (“Aufblasung von (0, 0) ∈ A2”)?

Was erhalt man fur I = Menge der (2× 4)-Matrizen vom Rang ≤ 1? Oder was furI = (x3, xy, y2)?

Page 35: COMPUTERALGEBRA - fu-berlin.de

KOMPAKTKURS “COMPUTERALGEBRA” 2013, FUB (March 6, 2015) 35

13. Roboter

Siehe auch [dJvS, S.73 ff.]. Quelle: [CLO1, Kapitel 6, §1-3].

Modellierung des Roboters. Wir beschranken uns der Ubersichtlichkeit wegen aufRoboter in der Ebene. Ein Roboter ist in unserem Fall durch Stangen verbundeneAbfolge von Gelenken. Zwei Sorten: Schub- und Drehgelenke. Ein Schubgelenkwird durch l ∈ [0, m] ⊂ R beschrieben, sowie ein Drehgelenkt durch α ∈ [0, 2π[.

Unser Standardbeispiel besteht durch ein in (0, 0) fixiertes Drehgelenk mit Winkelα1. Von dort geht es uber eine Stange der Lange l1 zu einem zweiten Drehgelenkmit Winkel α2. Eine weitere Stange der Lange l2 bringt uns zum Greifarm, dessenPosition mit (a, b) bezeichnet wird (Bild ware besser).

Im folgenden werden drei Themen behandelt:

• Direkte Kinematik. Gegeben αi und li. Wo befindet sich der Greifarm?• Inverse Kinematik. Vorgegeben sei die Position (a, b) des Greifarms. Mitwelchen Winkeln αi und Langen kann diese Position Position realisiert wer-den?• Kinematische Singularitaten. Das Bewegen des Greifarms ist in Abhangigkeitvon Anderung der Winkel oder Langen. Fur manche Positionen sind die Be-wegungsrichtungen eingeschrankt.

Direkte Kinematik. Alles am Standardbeispiel. Liegt der Arm am Boden, ist diePosition einfach zu berechnen: (

ab

)=

(l10

)+

(l20

)

Drehen wir das zweite Gelenk um α2,(ab

)=

(l10

)+D(α2) ·

(l20

)wobei D(α) =

(cos(α) sin(α)− sin(α) cos(α)

).

Nach Drehen um α1,(ab

)= D(α1)·

((l10

)+D(α2) ·

(l20

))=

(l2 cos(α1) cos(α2) + l1 cos(α1)− l2 sin(α1) sin(α2)−l2 cos(α1) sin(α2)− l1 sin(α1)− l2 sin(α1) cos(α2)

)

In Singular gibt es weder Sinus noch Kosinus, deshalb verwenden wir Variable c(i) =cos(αi) und s(i) = sin(αi), welche die Relation c(i)2 + s(i)2 = 1 erfullen.

ring R=0,(c(1..2),s(1..2),l(1..2),z(1..2)),lp;

proc D(int i) {

matrix m[2][2]=c(i),s(i),-s(i),c(i);

return(m); }

Page 36: COMPUTERALGEBRA - fu-berlin.de

36 KLAUS ALTMANN (MARCH 6, 2015)

proc L(int i) {

matrix m[2][1]=l(i),0;

return(m); }

matrix pos[2][1]=D(1)*(L(1)+D(2)*L(2));

Inverse Kinematik. Wenn wir umgekehrt eine Zielposition fur den Greifarm vorschreiben,dann erhalten wir zusammen mit den trigonometrischen Relationen mehrere Gle-ichungen, die erfullt sein mussen. Im folgenden wollen wir die Langen li sowiedie Zielposition als Parameter auffassen. Das Ziel ist, daß wir nur einmal eineGrobnerbasis berechnen brauchen, die uns unabhangig von den konkreten Wertenfur li und (a, b) ihre Dienste leistet.

...

matrix ziel[2][1]=z(1),z(2);

ideal trigon=c(1)^2+s(1)^2-1,c(2)^2+s(2)^2-1;

ideal robo=ziel-pos,trigon;

ideal stdrobo=std(robo);

Groebnerbasen mit Parametern ( [CLO1, Kapitel 6, §3, Aufgabe 10]). Angenommen,wir haben Ideal I ∈ k(t1, . . . , tm)[x1, . . . , xn], dabei werden ti als Parameter aufge-faßt. Eine Grobnerbasis von I kann in k[t1, . . . , xn] berechnet werden. Zunachstkonnen wir I = (f1, . . . , fr) mit fi ∈ k[t1, . . . , xn] schreiben und berechnen eine

Grobnerbasis (g1, . . . , gs von I = (f1, . . . , fr) ⊂ k[t1, . . . , xn] bzgl einer Termordnungmit xi > tj. Die gi bilden auch eine Grobnerbasis von I, allerdings beachte man,sobald eines der gi ∈ k[t1, . . . , tm] ist, dann ist I = k(t1, . . . , tm)[x1, . . . , xn].

Spezialisieren von Grobnerbasen ([CLO1, Kapitel 6, §3, Aufgabe 5-9]. Im Zuge derBerechnung konnen die Parameter durchaus im Nenner auftreten (nicht mit obigemAlgorithmus), das kann naturlich Probleme bereiten, sobald fur (t1, . . . , tm) Werte(a1, . . . , am) ∈ km eingesetzt werden. Offensichtliche Probleme ergeben sich, sobalddie Parameter im Nenner der Grobnerbasis durch Normieren eingefuhrt werden.Subtilere Probleme konnen auftreten, wenn die Parameter im Nenner der aij mit

gi =∑

aijfj

zu finden sind (fur ein Beispiel siehe [CLO1, Kapitel 6, §3, Aufgabe 6]). Wennwir eine solche Gleichung nennerfrei machen (also eine Gleichung in k[t1, . . . , xn]vorliegt):

dgi =∑

bijfj mit d ∈ k[t1, . . . , tm].

Es ist also die Menge

{d ∈ k[t1, . . . , tm] : dgi ∈ I} = (I : gi) ∩ k[t1, . . . , tm]

Page 37: COMPUTERALGEBRA - fu-berlin.de

KOMPAKTKURS “COMPUTERALGEBRA” 2013, FUB (March 6, 2015) 37

interessant. Allgemeine Definition des Idealquotienten, eventuell wie dieser berech-net werden kann.

...

int a=; //zB (a,b)=(0,0),(1,1),(2,0),(3,0)

int b=;

ring S=0,(c(1..2),s(1..2)),lp;

map F=R,c(1..2),s(1..2),1,1,a,b;

ideal I =F(stdrobo);

Kinematische Singularitaten. Eine Positionanderung des Roboterarms ist die Kon-sequenz der Anderung der Winkel. Wenn der Greifarm einen bestimmten Weg γ(t)in R2 zurucklegen soll, dann bedarf es eines Wegs γ(t) der Winkel. Diese hangenuber

γ = f ◦ γ mit f(α1, α2) = D(α1) ·((

l10

)+D(α2) ·

(l20

))

zusammen. Wir konnen nun berechnen, in welche Richtungen wir den Greifarmbewegen konnen, indem wir ableiten:

γ′ = Jf(γ) · γ′ mit Jf =(

∂fi∂αj

)

Ist eine gewunschte Richtung des Greifarms vorgegeben, konnen wir die Anderungder Winkel γ′ berechnen, sofern die Jacobimatrix invertierbar ist. ProblematischeArmpositionen (durch die Winkel gegeben), sind die Nullstellen von det Jf .

Da in f(α1, α2) nur solche Monome in cos(αi), sin(αi) auftreten, wo jeder Winkel αi

hochstens einmal auftritt, konnen wir das Differenzieren nach αi simulieren, ohnedie Produktregel einsetzen zu mussen.

...

proc diffalpha(poly f,int i)

{

return( diff(f,c(i))*(-s(i)) + diff(f,s(i))*c(i) );

}

proc jacobialpha(matrix m,int i) //i Anzahl der Winkel

{

int j=nrows(m);

int k,l;

matrix Result[j][i];

for(k=1;k<=j;k++) {

for(l=1;l<=i;l++) {

Result[k,l]=diffalpha(m[k,1],l);

}}

return(Result);

Page 38: COMPUTERALGEBRA - fu-berlin.de

38 KLAUS ALTMANN (MARCH 6, 2015)

}

matrix jacpos = jacobialpha(pos,2); //pos=f

reduce(det(jacpos),trigon,1);

//-s(2)

//s(2)=0 => c(2)=+/-1

//Arm ganz abgewinkelt

matrix spejacpos=subst(jacpos,c(2),-1,s(2),0);

print(spejacpos);

//0,-c(1),

//0,s(1)

//Arm ganz ausgestreckt

matrix spejacpos=subst(jacpos,c(2),1,s(2),0);

print(spejacpos);

//2*c(1), c(1),

//-2*s(1),-s(1)

14. Chipkontrolle

Markus Wedler, Frank Seelisch (KL):

Variable entsprechen bits. Die Spezifikation (das Ziel des Schaltungsentwurfes) in-duziert eine Menge G1 von Gleichungen; der in die Praxis umgesetzte Entwurf in-duziert G2 – letztere Menge ist “stufenformig” nach “Bauteilen” = “Gatter” geord-net. Unter der Bedingung, daß eine Variablen-Belegung G := G1 ∪ G2 erfullt, solleine gewisse Identitat f (die der Ausgabe bits) gezeigt werden – also V (G) ⊆ V (f)uber dem Grundring R = Z/2nZ.

Die spezielle Struktur von G1 und G2 sichert, daß G automatisch eine GB (furbestimmte, angepaßte TO) ist – zumindest nach Hinzunahme zusatzlicher Variablenund Gleichungen, die Operationen nochmal bitweise aufsplitten.

Schließlich wird “g ∈ (G)” nachgewiesen – eventuell unter zusatzlicher Einbeziehungder Gleichungen x2

i − xi (diese gehen noch in G ein).

[Letzteres “simuliert” das Vorhandensein eines algebraisch abgeschlossenen Grund-

korpers? Gilt (G) =√

(G)? Schließlich soll ja der HNS benutzt werden.]