You are on page 1of 40

1958-10

Summer School and Conference Mathematics, Algorithms and Proofs
Gert-Martin Greuel
11 - 29 August 2008
Universitaet Kaiserslautern and Mathematisches Forschungsinstitut Oberwolfach, Germany
Algorithms and Algebraic Geometry
Algorithms and Algebraic Geometry
Gert-Martin Greuel
Universit¨ at Kaiserslautern
and
Mathematisches Forschungsinstitut Oberwolfach
May 31, 2008
Contents
1 Gr¨ obner Basics 3
1.1 Rings and Ring Maps . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Monomial Orderings . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Ideal Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4 Normal Forms and Gr¨ obner Bases . . . . . . . . . . . . . . . . . 8
1.5 Gr¨ obner Basis Algorithm . . . . . . . . . . . . . . . . . . . . . . 11
2 Constructive Ideal and Module Theory 13
2.1 Operations on Ideals and their Computation . . . . . . . . . . . . 13
2.1.1 Ideal Membership . . . . . . . . . . . . . . . . . . . . . . 13
2.1.2 Intersection with Subrings (Elimination of variables) . . . 13
2.2 Gr¨ obner Bases for Modules . . . . . . . . . . . . . . . . . . . . . 13
2.3 Exact Sequences and free Resolutions . . . . . . . . . . . . . . . 15
2.4 Computing Resolutions and the Syzygy Theorem . . . . . . . . . 16
2.5 Operations on Modules and their Computation . . . . . . . . . . 17
3 Constructive Normalization of Affine Rings 19
3.1 Integral Closure of Rings and Ideals . . . . . . . . . . . . . . . . 19
3.2 Key-Lemma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.3 A Criterion for Normality . . . . . . . . . . . . . . . . . . . . . . 20
3.4 Test Ideals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.5 Algorithm to Compute the Normalization . . . . . . . . . . . . . 21
3.6 Algorithm to Compute the Non-Normal Locus . . . . . . . . . . 23
4 Computation in Local Rings 25
4.1 What is meant by “local” computations ? . . . . . . . . . . . . . 25
4.2 An Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.3 Computational Aspects . . . . . . . . . . . . . . . . . . . . . . . 26
4.4 Rings Associated to Monomial Orderings . . . . . . . . . . . . . 26
4.5 Local Monomial Orderings . . . . . . . . . . . . . . . . . . . . . . 27
4.6 Rings Associated to Mixed Orderings . . . . . . . . . . . . . . . . 28
4.7 Leading Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.8 Division with Remainder . . . . . . . . . . . . . . . . . . . . . . . 29
4.9 Normal Forms and Standard Bases . . . . . . . . . . . . . . . . . 30
4.10 Weak Normal Forms . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.11 The Weak Normal Form Algorithm . . . . . . . . . . . . . . . . . 31
4.12 Standard Basis Algorithm . . . . . . . . . . . . . . . . . . . . . . 32
5 Singularities 33
5.1 Factorization, Primary Decomposition . . . . . . . . . . . . . . . 33
5.2 Singularities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.3 Milnor and Tjurina Number . . . . . . . . . . . . . . . . . . . . . 34
5.4 Local Versus Global Ordering . . . . . . . . . . . . . . . . . . . . 34
5.5 Using Milnor and Tjurina Numbers . . . . . . . . . . . . . . . . . 35
5.6 Application to Projective Singular Plane Curves . . . . . . . . . 36
5.7 Computing the Genus of a Projective Curve . . . . . . . . . . . . 37
2
1 Gr¨obner Basics
1.1 Rings and Ring Maps
Definition 1.1.1. Let A be a ring, always commutative with 1.
(1) A monomial in n variables (or indeterminates) x
1
, . . . , x
n
is a power product
x
α
= x
α1
1
. . . x
αn
n
, α = (α
1
, . . . , α
n
) ∈ N
n
.
The set of monomials in n variables is denoted by
Mon(x
1
, . . . , x
n
) = Mon
n
:= ¦x
α
[ α ∈ N
n
¦ .
Mon(x
1
, . . . , x
n
) is a semigroup under multiplication, with
neutral element 1 = x
0
1
. . . x
0
n
.
x
α
[ x
β
(x
α
divides x
β
) ⇐⇒ α
i
≤ β
i
for all i.
(2) A term is a monomial times a coefficient (an element of A),
ax
α
= ax
α1
1
. . . x
αn
n
, a ∈ A.
(3) A polynomial over A is a finite sum of terms,
f =
¸
α
a
α
x
α
=
finite
¸
α∈N
n
a
α1...αn
x
α1
1
. . . x
αn
n
,
with a
α
∈ A. For α ∈ N
n
, let [α[ := α
1
+ +α
n
.
deg(f) := max¦[α[ [ a
α
= 0¦ is called the degree of f if f = 0;
deg(f) = −1 for f = 0.
(4) The polynomial ring A[x] = A[x
1
, . . . , x
n
] in n variables over A is the
set of all polynomials together with the usual addition and multiplication:
¸
α
a
α
x
α
+
¸
α
b
α
x
α
:=
¸
α
(a
α
+b
α
)x
α
,

¸
α
a
α
x
α



¸
β
b
β
x
β


:=
¸
γ


¸
α+β=γ
a
α
b
β


x
γ
.
Definition 1.1.2. A morphism of rings is a map ϕ : A →B satisfying
ϕ(a +a

) = ϕ(a) +ϕ(a

), ϕ(aa

) = ϕ(a)ϕ(a

), for all a, a

∈ A, and ϕ(1) = 1.
We call a morphism of rings also a ring map, and B is called an A–algebra.
Lemma 1.1.3. Let A[x
1
, . . . x
n
] be a polynomial ring, ψ : A →B a ring map,
C a B–algebra, and f
1
, . . . , f
n
∈ C (e.g. B = A and ψ = id). Then there exists
a unique ring map
ϕ : A[x
1
, . . . , x
n
] −→C
satisfying ϕ(x
i
) = f
i
for i = 1, . . . , n and ϕ(a) = ψ(a) 1 ∈ C for a ∈ A.
In Singular one can define polynomial rings over the following fields:
3
(1) the field of rational numbers Q,
(2) finite fields F
p
, p a prime number < 2
31
,
(3) finite fields GF(p
n
) with p
n
elements, p a prime, p
n
≤ 2
15
,
(4) transcendental extensions of K ∈ ¦Q, F
p
¦, K(a
1
, . . . , a
n
),
(5) simple algebraic extensions of K ∈ ¦Q, F
p
¦, K[a]/minpoly,
(6) arbitrary precision real floating point numbers,
(7) arbitrary precision complex floating point numbers.
1.2 Monomial Orderings
Monomial orderings are necessary for constructive ideal and module theory.
Definition 1.2.1. A monomial ordering or semigroup ordering is a total
(or linear) ordering > on Mon(x
1
, . . . , x
n
) satisfying
x
α
> x
β
=⇒ x
γ
x
α
> x
γ
x
β
for all α, β, γ ∈ N
n
. We say also > is a monomial ordering on A[x
1
, . . . , x
n
].
A monomial ordering is a total ordering on N
n
, which is compatible with the
semigroup structure on N
n
given by addition.
Example 1.2.2. The lexicographical ordering on N
n
:
x
α
> x
β
if and only if the first non–zero entry of α −β is positive.
Definition 1.2.3. Let > be a fixed monomial ordering. Write f ∈ A[x], f = 0,
in a unique way as a sum of non–zero terms
f = a
α
x
α
+a
β
x
β
+ +a
γ
x
γ
, x
α
> x
β
> > x
γ
,
and a
α
, a
β
, . . . , a
γ
∈ K. We define:
(1) LM(f) := leadmonom(f):=x
α
, the leading monomial of f,
(2) LE(f) := leadexp(f):= α, the leading exponent of f,
(3) LT(f) := lead(f):= a
α
x
α
, the leading term or head of f,
(4) LC(f) := leadcoef(f):=a
α
, the leading coefficient of f,
(5) tail(f) := f− lead(f)= a
β
x
β
+ +a
γ
x
γ
, the tail of f.
The most important distinction is between global and local orderings.
Definition 1.2.4. Let > be a monomial ordering on ¦x
α
[ α ∈ N
n
¦.
(1) > is called a global ordering if x
α
> 1 for all α = (0, . . . , 0),
(2) > is called a local ordering if x
α
< 1 for all α = (0, . . . , 0),
(3) > is called a mixed ordering if it is neither global nor local.
4
Local and global (and mixed) orderings have quite different properties.
Lemma 1.2.5. Let > be a monomial ordering, then the following conditions
are equivalent:
(1) > is a well–ordering.
(2) x
i
> 1 for i = 1, . . . , n.
(3) x
α
> 1 for all α = (0, . . . , 0), that is, > is global.
(4) α ≥
nat
β and α = β implies x
α
> x
β
.
The last condition means that > is a refinement of the natural partial order-
ing on N
n
defined by

1
, . . . , α
n
) ≥
nat

1
, . . . , β
n
) :⇐⇒ α
i
≥ β
i
for all i .
For the proof (which we leave as an exercise) one needs
Lemma 1.2.6 (Dickson‘s Lemma). Let M ⊂ N
n
be any subset. Then there is
a finite set B ⊂ M satisfying
∀ α ∈ M ∃ β ∈ B such that β ≤
nat
α.
B is sometimes called a Dickson basis of M.
Proof. We write ≥ instead of ≥
nat
and use induction on n. For n = 1 we can
take the minimum of M as the only element of B.
For n > 1 and i ∈ N define
M
i
= ¦α

= (α
1
, . . . , α
n−1
) ∈ N
n−1
[ (α

, i) ∈ M¦
and, by induction, M
i
has a Dickson basis B
i
.
Again, by induction hypothesis,
¸
i∈N
B
i
has a Dickson basis B

. B

is finite,
hence B

⊂ B
1
∪ ∪ B
s
for some s.
We claim that
B := ¦(β

, i) ∈ N
n
[ 0 ≤ i ≤ s, β

∈ B
i
¦
is a Dickson basis of M.
To see this, let (α

, α
n
) ∈ M. Then α

∈ M
αn
and, since B
αn
is a Dickson
basis of M
αn
, there is a β

∈ B
αn
with β

≤ α

. If α
n
≤ s, then (β

, α
n
) ∈ B
and (β

, α
n
) ≤ (α

, α
n
). If α
n
> s, we can find a γ

∈ B

and an i ≤ s such that
γ

≤ β

and (γ

, i) ∈ B
i
. Then (γ

, i) ∈ B and (γ

, i) ≤ (α

, α
n
).
Example 1.2.7 (the first two are global, the third is local).
(1) lp : x
α
> x
β
⇔∃i : α
1
= β
1
, . . . , α
i−1
= β
i−1
, α
i
> β
i
,
lexicographical ordering (lex)
(2) dp : x
α
> x
β
⇔ [α[ > [β[ or [α[ = [β[ and ∃i : α
i
< β
i
, α
i+1
=
β
i+1
, . . . , α
n

n
,
degree reverse lexicographical ordering (degrevlex).
(3) ds : x
α
> x
β
⇔ [α[ < [β[ or [α[ = [β[ and ∃i : α
i
< β
i
, α
i+1
=
β
i+1
, . . . , α
n

n
,
negative degree reverse lexicographical ordering.
(mixed orderings will be considered later)
5
1.3 Ideal Operations
Ideals are in the centre of commutative algebra and algebraic geometry.
Let A be a ring, as always, commutative and with 1.
Definition 1.3.1.
(1) A subset I ⊂ A is called an ideal if it is an additive subgroup which is
closed under scalar multiplication.
(2) A family (f
λ
)
λ∈Λ
, Λ any index set, and f
λ
∈ I, is called a system of
generators of I if every element f ∈ I can be expressed as a finite sum
f =
¸
λ
a
λ
f
λ
for suitable a
λ
∈ A. If Λ is finite, say Λ = ¦1, . . . , k¦, we say
that I is finitely generated and we write
I = 'f
1
, . . . , f
k
`
A
= 'f
1
, . . . , f
k
` .
(3) If G ⊂ A[x] = A[x
1
, . . . , x
n
] is any set we denote by
• L(G) = 'LT(g) [ g ∈ G`
A[x]
, the leading term ideal of G,
• LM(G) = 'LM(g) [ g ∈ G`
A[x]
, the leading monomial ideal of G,
For A = K a field, L(G) = LM(G), and we have for λ ∈ K ` ¦0¦
λx
α
∈ L(G) ⇐⇒ x
α
∈ L(G) ⇐⇒ ∃ g ∈ G : LM(g) [ x
α
.
Often ideals are not given by generators.
If ϕ : A →B is a ring homomorphism and J ⊂ B an ideal, then the preimage
ϕ
−1
(J) = ¦a ∈ A [ ϕ(a) ∈ J¦
is an ideal. In particular, the kernel
Ker ϕ = ¦a ∈ A [ ϕ(a) = 0¦
is an ideal in A. On the other hand, the image
Im ϕ = ϕ(I) = ¦ϕ(a) [ a ∈ I¦
is, in general, only an ideal if ϕ is surjective.
Note 1.3.2. Preimages (hence kernels) can be effectively computed (i.e. a gen-
erating set can be computed) which is, however, not easy. Images are generated
by the images of the generators (for surjective ϕ), hence the computation is
trivial.
Definition 1.3.3. A ring A is called Noetherian if every ideal in A is finitely
generated.
Theorem 1.3.4 (Hilbert Basis Theorem). If A is a Noetherian ring then the
polynomial ring A[x
1
, . . . , x
n
] is Noetherian. In particular, if K is a field, then
K[x
1
. . . , x
n
] is Noetherian.
For the proof of the Hilbert basis theorem we use
6
Proposition 1.3.5. The following properties of a ring A are equivalent:
(1) A is Noetherian.
(2) Every ascending chain of ideals
I
1
⊂ I
2
⊂ I
3
⊂ . . . ⊂ I
k
⊂ . . .
becomes stationary (that is, there exists some j
0
such that I
j
= I
j0
for all
j ≥ j
0
).
(3) Every non–empty set of ideals in A has a maximal element (with regard
to inclusion).
Condition (2) is called the ascending chain condition and (3) the maximality
condition. We leave the proof of this proposition as an exercise.
Proof of Theorem 1.3.4. We need to show the theorem only for n = 1, the
general case follows by induction.
We argue by contradiction. Let us assume that there exists an ideal I ⊂ A[x]
which is not finitely generated. Choose polynomials
f
1
∈ I, f
2
∈ I 'f
1
`, . . . , f
k+1
∈ I 'f
1
, . . . , f
k
`, . . .
of minimal possible degree. If d
i
= deg(f
i
),
f
i
= a
i
x
di
+ lower terms in x,
then d
1
≤ d
2
≤ . . . and 'a
1
` ⊂ 'a
1
, a
2
` ⊂ . . . is an ascending chain of ideals
in A. By assumption it is stationary, that is, 'a
1
, . . . , a
k
` = 'a
1
, . . . , a
k+1
` for
some k, hence, a
k+1
=
¸
k
i=1
b
i
a
i
for suitable b
i
∈ A. Consider the polynomial
g = f
k+1

k
¸
i=1
b
i
x
d
k+1
−di
f
i
= a
k+1
x
d
k+1

k
¸
i=1
b
i
a
i
x
d
k+1
+ lower terms .
Since f
k+1
∈ I 'f
1
, . . . , f
k
`, it follows that g ∈ I 'f
1
, . . . , f
k
` is a polynomial
of degree smaller than d
k+1
, a contradiction to the choice of f
k+1
.
Definition 1.3.6. For ideals I, J ⊂ A we define:
(1) The ideal quotient of I by J is defined as
I : J :=
¸
a ∈ A

aJ ⊂ I
¸
.
The saturation of I with respect to J is
I : J

=
¸
a ∈ A

∃ n such that aJ
n
⊂ I
¸
.
(2) The radical of I, denoted by

I or rad(I) is the ideal

I =
¸
a ∈ A

∃ d ∈ N such that a
d
∈ I
¸
,
I is called reduced or a radical ideal if I =

I.
7
(3) a ∈ A is called nilpotent if a
n
= 0 for some n ∈ N; the minimal n is
called index of nilpotency. The set of nilpotent elements of A is equal
to

'0` and called the nilradical of A.
(4) '0` : J = Ann
A
(J) is the annihilator of J and, hence, '0` : 'f` = '0` if
and only if f is a non–zerodivisor of A.
Note 1.3.7. (Generators of) Ideal quotient, saturation, radical can be effectively
computed.
Singular commands:
quotient(I,J); (command in the Singular kernel)
sat(I,J); (procedure in elmi.lib)
radical(I); (procedure in primdec.lib)
1.4 Normal Forms and Gr¨ obner Bases
Let > be a fixed global monomial ordering on Mon(x
1
, . . . , x
n
), K a field and
let
R = K[x
1
, . . . , x
n
]
Definition 1.4.1. Let I ⊂ R be an ideal. A finite set G ⊂ R is called a
Gr¨ obner basis or standard basis of I if
G ⊂ I, and L(I) = L(G) .
Hence G ⊂ I is a Gr¨ obner basis, if for any f ∈ I ¦0¦ there exists a g ∈ G
satisfying LM(g) [ LM(f). We say G is a Gr¨ obner (standard) basis if it is a
Gr¨ obner (standard) basis of 'G`
R
.
Existence of a Gr¨ obner basis (non-constructive):
Choose a finite set of generators m
1
, . . . , m
s
of L(I) ⊂ K[x], which exists, since
K[x] is Noetherian. These generators are leading monomials of suitable elements
g
1
, . . . , g
s
∈ I. The set ¦g
1
, . . . , g
s
¦ is a standard basis for I.
Definition 1.4.2. Let G ⊂ R be any subset.
(1) G is called interreduced (or minimal) if 0 ∈ G and if LM(g) LM(f)
for any two elements f = g in G.
(2) G is called (completely) reduced if G is interreduced and if, for any g ∈
G, LC(g) = 1 and no monomial of tail (g) is divisible by any LM(f), f ∈ G.
• Every Gr¨ obner basis G can be transformed into an interreduced one
by just deleting elements of G.
• We shall see later that reduced Gr¨ obner bases can always be com-
puted and are unique.
Definition 1.4.3. Let G ⊂ R be a finite list. A map
NF : R →R, f →NF(f [ G) ,
is called a normal form on R with respect to G, if
8
(0) NF(0 [ G) = 0 ,
and, for all f ∈ R,
(1) NF(f [ G) = 0 =⇒ LM

NF(f [ G)

∈ L(G).
(2) If G = ¦g
1
, . . . , g
s
¦, then r := f −NF(f [ G) has a standard represen-
tation, that is the remainder
r = f −NF(f [ G) =
s
¸
i=1
a
i
g
i
, a
i
∈ R, s ≥ 0 ,
satisfies LM(r) ≥ LM(a
i
g
i
) for all i such that a
i
g
i
= 0.
NF is called a reduced normal form, if, moreover, NF(f [ G) has leading
coefficient 1 and no monomial of its tail is divisible by LM(g), g ∈ G.
Lemma 1.4.4. Let I ⊂ R be an ideal, G ⊂ I a standard basis of I and
NF(− [ G) a normal form on R with respect to G.
(1) For any f ∈ R we have f ∈ I if and only if NF(f [ G) = 0.
(2) If J ⊂ R is an ideal with I ⊂ J, then L(I) = L(J) implies I = J.
(3) I = 'G`
R
, that is, the standard basis G generates I as R–ideal.
(4) If NF(− [ G) is a reduced normal form, then it is unique (i.e. depends
only on G and on >).
Proof. (1) If NF(f [ G) = 0 then uf ∈ I and, hence, f ∈ I. If NF(f [ G) = 0,
then LM

NF(f [ G)

∈ L(G) = L(I), hence NF(f [ G) ∈ I, which implies f ∈ I,
since 'G`
R
⊂ I. To prove (2), let f ∈ J and assume that NF(f [ G) = 0.
Then LM

NF(f [ G)

∈ L(G) = L(I) = L(J), contradicting
NF(f [ G) ∈ J.
Hence, f ∈ I by (1).
(3) follows from (2), since L(I) = L(G) ⊂ L('G`
R
) ⊂ L(I), in particular, G
is also a standard basis of 'G`
R
. Finally, to prove (4), let f ∈ R and assume that
h, h

are two reduced normal forms of f with respect to G. Then no monomial
of the power series expansion of h or h

is divisible by any monomial of L(G)
and, moreover, h −h

= (f −h

) −(f −h) ∈ 'G`
R
= I.
If h −h

= 0, then LM(h −h

) ∈ L(I) = L(G), a contradiction, since
LM(h −h

) is a monomial of either h or h

.
Definition 1.4.5. Let f, g ∈ R ¦0¦ with LM(f) = x
α
and LM(g) = x
β
. Set
γ := lcm(α, β) :=

max(α
1
, β
1
), . . . , max(α
n
, β
n
)

and let lcm(x
α
, x
β
) := x
γ
be the least common multiple of x
α
and x
β
. The
s–polynomial (spoly, for short) of f and g is
spoly(f, g) := x
γ−α
f −
LC(f)
LC(g)
x
γ−β
g .
9
If LM(g) divides LM(f), say LM(g) = x
β
, LM(f) = x
α
, then the s–polynomial
is particularly simple,
spoly(f, g) = f −
LC(f)
LC(g)
x
α−β
g ,
and LM

spoly(f, g)

< LM(f). We use in this case the notation
f −→
g
h if h = spoly(f, g).
Algorithm 1.4.6 (NFBuchberger(f [ G)). Assume that > is a global mono-
mial ordering.
Input: f ∈ K[x], G ∈ (, where ( denotes the class of finite lists.
Output: h ∈ K[x], a normal form of f with respect to G.
• h := f;
• while (h = 0 and G
h
:= ¦g ∈ G [ LM(g) divides LM(h)¦ = ∅)
choose any g ∈ G
h
;
h := spoly(h, g);
• return h;
Note that each specific choice of “any” can give a different normal form function.
Algorithm 1.4.7 (redNFBuchberger(f [ G)). Assume that > is a global
monomial ordering.
Input: f ∈ K[x], G ∈ (
Output: h ∈ K[x], a reduced normal form of f with respect to G
• h := 0, g := f;
• while (g = 0)
g := NFBuchberger (g [ G);
if (g = 0)
h := h + LT(g);
g := tail(g);
• return h/ LC(h);
Example 1.4.8. Let > be the ordering dp on Mon(x, y, z),
f = x
3
+y
2
+ 2z
2
+x +y + 1 , G = ¦x
2
, y + z¦ .
NFBuchberger proceeds as follows:
10
LM(f) = x
3
, G
f
= ¦x
2
¦,
h
1
= spoly(f, x
2
) = y
2
+ 2z
2
+x +y + 1, (f −→
x
2
h
1
);
LM(h
1
) = y
2
, G
h1
= ¦y +z¦,
h
2
= spoly(h
1
, y +z) = −yz + 2z
2
+x +y + 1, (h
1
−→
y+z
h
2
);
LM(h
2
) = yz, G
h2
= ¦y +z¦,
h
3
= spoly(h
2
, y +z) = 3z
2
+x +y + 1, (h
2
−→
y+z
h
3
); G
h3
= ∅.
Hence, NFBuchberger(f [ G) = 3z
2
+x +y + 1.
To have shorthand notation we underline the leading terms and then the
reduced normal form acts as
f −→ NF(f [ G) = 3z
2
+x+y+1 −→
y+z
3z
2
+x−z+1 −→ z
2
+
1
3
x −
1
3
z +
1
3
. .. .
=RedNF(f|G)
.
1.5 Gr¨ obner Basis Algorithm
Let > be a fixed global monomial ordering and let R = K[x
1
, . . . , x
n
]. Let ( be
the class of finite lists (a list is a sequence).
Algorithm 1.5.1 (Gr¨ obner(G,NF)).
Input: G ∈ (, NF an algorithm returning a normal form.
Output: S ∈ ( such that S is a Gr¨ obner basis of I = 'G`
R
⊂ R
• S := G;
• P := ¦(f, g) [ f, g ∈ S, f = g¦, the pair–set;
• while (P = ∅)
choose (f, g) ∈ P;
P := P ¦(f, g)¦;
h := NF

spoly(f, g) [ S

;
if (h = 0)
P := P ∪ ¦(h, f) [ f ∈ S¦;
S := S ∪ ¦h¦;
• return S;
Termination of Gr¨ obner: if h = 0 then LM(h) ∈ L(S) by property (i) of NF.
Hence, we obtain a strictly increasing sequence of monomial ideals L(S) of K[x],
which becomes stationary as K[x] is Noetherian. That is, after finitely many
steps, we always have NF

spoly(f, g) [ S

= 0 for (f, g) ∈ P, and, again after
finitely many steps, the pair-set P will become empty. Correctness follows from
applying Buchberger’s fundamental standard basis criterion below.
11
Theorem 1.5.2 (Buchberger’s criterion). Let I ⊂ R be an ideal and
G = ¦g
1
, . . . , g
s
¦ ⊂ I. Let NF(− [ G) be a normal form on R with respect to
G. Then the following are equivalent:
1
(1) G is a standard basis of I.
(2) NF(f [ G) = 0 for all f ∈ I.
(3) Each f ∈ I has a standard representation with respect to NF(− [ G).
(4) G generates I and NF

spoly(g
i
, g
j
) [ G

= 0 for i, j = 1, . . . , s.
Example 1.5.3. Let > be the ordering dp on Mon(x, y), f
1
= x
3
+ y
2
, f
2
=
xyz −y
2
(underline leading terms), G = ¦f
1
, f
2
¦, NF=NFBuchberger.
Gr¨ obner(G,NF) works as follows:
S = ¦f
1
, f
2
¦, P = ¦(f
1
, f
2

The while–loop gives, in the first run:
(f
1
, f
2
):
P = ∅
spoly(f
1
, f
2
) = yzf
1
−x
2
f
2
= y
3
z +x
2
y
2
=: f
3
= NF(f
3
, S)
P = ¦(f
1
, f
3
), (f
2
, f
3

S = ¦f
1
, f
2
, f
3
¦
In the second run:
(f
1
, f
3
):
P = ¦(f
2
, f
3

spoly(f
1
, f
3
) = y
2
f
1
−xf
3
= y
4
−xy
3
z −→
f2
0
In the third run:
(f
2
, f
3
):
P = ∅
spoly(f
2
, f
3
) = xyf
2
−zf
3
= −xy
3
−y
3
z
2
=: f
4
= NF(f
4
, S)
P = ¦(f
1
, f
4
), (f
2
, f
4
), (f
3
, f
4

(Note: spoly(f
1
, f
4
) −→
{f1,f4}
0 by the product criterion, since
LM(f
1
) = x
3
and LM(f
4
) = y
3
z
2
have no common divisor.)
S = ¦f
1
, f
2
, f
3
, f
4
¦
In the fourth run:
(f
2
, f
4
):
P = ¦(f
3
, f
4

spoly(f
2
, f
4
) = −y
4
z −x
2
y
3
−→
f3
0
In the fifth run:
(f
3
, f
4
):
P = ∅
spoly(f
3
, f
4
) = y
4
z
3
−x
3
y
3
−→
f4
−x
3
y
3
−xy
4
z −→
f1
−xy
4
z +y
5
−→
f2
0
return¦f
1
, f
2
, f
3
, f
4
¦, a Gr¨ obner basis of 'f
1
, f
2
`
R
.
1
Usually, the implication (4) ⇒(1) is called Buchberger’s criterion.
12
2 Constructive Ideal and Module Theory
2.1 Operations on Ideals and their Computation
2.1.1 Ideal Membership
Problem: Given f, f
1
, . . . , f
k
∈ K[x], and let I = 'f
1
, . . . , f
k
`. Decide whether
f ∈ I, or not.
Solution: Choose any global monomial ordering > and compute a standard
basis G = ¦g
1
, . . . , g
s
¦ of I. Then f ∈ I if and only if NF(f [ G) = 0.
2.1.2 Intersection with Subrings (Elimination of variables)
This is one of the most important applications of Gr¨ obner bases.
Problem: Given f
1
, . . . , f
k
∈ K[x] = K[x
1
, . . . , x
n
], I = 'f
1
, . . . , f
k
`
K[x]
, find
generators of the ideal
I

= I ∩ K[x
s+1
, . . . , x
n
], s < n.
Elements of I

are said to be obtained from I by eliminating x
1
, . . . , x
s
.
> is called an elimination ordering for x
1
, . . . x
s
if for all f ∈ K[x
1
, . . . , x
n
]
LM(f) ∈ K[x
s+1
, . . . , x
n
] ⇒f ∈ K[x
s+1
, . . . , x
n
]
(e.g.: lex or product orderings).
Solution: Choose an elimination ordering for x
1
, . . . , x
s
on Mon(x
1
, . . . , x
n
),
and compute a standard basis S = ¦g
1
, . . . , g
k
¦ of I. Those g
i
, for which LM(g
i
)
does not involve x
1
, . . . , x
s
, generate I

.
Even more, they are a standard basis of I

. This follows from the following
Lemma.
Lemma 2.1.1. Let > be an elimination ordering for x
1
, . . . , x
s
on
Mon(x
1
, . . . , x
n
), and let I ⊂ K[x
1
, . . . , x
n
]
>
be an ideal. If S = ¦g
1
, . . . , g
k
¦
is a standard basis of I, then
S

:= ¦g ∈ S [ LM(g) ∈ K[x
s+1
, . . . , x
n

is a standard basis of I

:= I ∩ K[x
s+1
, . . . , x
n
]
>
. In particular, S

generates
the ideal I

.
Proof. Given f ∈ I

⊂ I there exists g
i
∈ S such that LM(g
i
) divides LM(f),
since S is a standard basis of I. Since f ∈ K[x
s+1
, . . . , x
n
], we have LM(f) ∈
K[x
s+1
, . . . , x
n
] and, hence, g
i
∈ S

. Since > is an elimination ordering S

⊂ I

.
Hence S

is a standard basis of I

.
2.2 Gr¨ obner Bases for Modules
Definition 2.2.1. Let A be a ring. A set M with two maps, an addition,
+ : M M −→ M and a scalar multiplication, : A M −→ M is called an
A-module if (M, +) is an abelian group and + and satisfy
13
• (a +b) m = a m+b m
• a (m +n) = a m+a n
• (a b) m = a (b m)
• 1 m = m
for all a, b ∈ A, m, n ∈ M.
For r > 0, A
r
with componentwise + and is an A-module which is Noetherian
if A is Noetherian.
More generally, we have
Lemma 2.2.2. Let M be an A-module and N ⊂ M a submodule.
(1) M is Noetherian ⇐⇒ N and the factor module M/N are Noetherian
(2) If A is Noetherian, then M is Noetherian iff M is finitely generated.
Proof. For the proof see e.g. [GP].
We have to extend the notion of monomial orderings to the free module
K[x]
r
=
¸
r
i=1
K[x]e
i
, e
i
= (0, . . . , 1, . . . , 0) ∈ K[x]
r
, where K is a field.
We call
x
α
e
i
= (0, . . . , x
α
, . . . , 0) ∈ K[x]
r
a monomial (involving component i).
Definition 2.2.3. Let > be a monomial ordering on K[x]. A (module) mono-
mial ordering or a module ordering on K[x]
r
is a total ordering >
m
on the
set of monomials ¦x
α
e
i
[ α ∈ N
n
, i = 1, . . . , r¦, which is compatible with the
K[x]–module structure including the ordering >, that is, satisfying
(1) x
α
e
i
>
m
x
β
e
j
=⇒ x
α+γ
e
i
>
m
x
β+γ
e
j
,
(2) x
α
> x
β
=⇒ x
α
e
i
>
m
x
β
e
i
for all α, β, γ ∈ N
n
, i, j = 1, . . . , r.
Two module orderings are of particular interest:
x
α
e
i
> x
β
e
j
:⇐⇒ i < j or (i = j and x
α
> x
β
) ,
giving priority to the components, denoted by (c,>), and
x
α
e
i
> x
β
e
j
:⇐⇒ x
α
> x
β
or (x
α
= x
β
and i < j) ,
which gives priority to the monomials in K[x], denoted by (>,c).
Fix a module ordering >
m
and denote it also with >. Any vector
f ∈ K[x]
r
¦0¦ can be written uniquely as
f = cx
α
e
i
+f

with c ∈ K ¦0¦ and x
α
e
i
> x
α

e
j
for any non–zero term c

x
α

e
j
of f

: We
define as before
14
LM(f) := x
α
e
i
, leading monomial
LC(f) := c , leading coefficient
LT(f) := cx
α
e
i
, leading term
tail(f) := f

tail
For I ⊂ K[x]
r
a submodule we call
L
>
(I) := L(I) := ' LT(g) [ g ∈ I ¦0¦ `
K[x]
⊂ K[x]
r
the leading module of 'I`
K
(which coincides with LM(I) = 'LM(g) [ g ∈
I ` ¦0¦`
K[x]
since K is a field).
The set of monomials of K[x]
r
may be identified with N
n
E
r
⊂ N
n
N
r
=
N
n+r
, E
r
= ¦e
1
, . . . , e
r
¦.
We say that x
β
e
j
is divisible by x
α
e
i
if i = j and x
α
[ x
β
.
Let > be a fixed global monomial ordering. Again we write
R := K[x] = K[x
1
, . . . , x
n
].
Definition 2.2.4. Let I ⊂ R
r
be a submodule. A finite set G ⊂ I is called a
Gr¨ obner or standard basis of I if and only if L(G) = L(I), that is, for any
f ∈ I ¦0¦ there exists a g ∈ G satisfying LM(g) [ LM(f).
The notion of minimal and reduced Gr¨ obner basis is the same as for
ideals. Also the definitions of normal form and of s–polynomial.
The normal form algorithm and Buchberger’s Gr¨ obner basis algorithm
extend easily to submodules I ⊂ R
r
.
2.3 Exact Sequences and free Resolutions
Definition 2.3.1. A sequence of A–modules and homomorphisms
→M
k+1
ϕ
k+1
−−−→M
k
ϕ
k
−−→M
k−1

is called a complex if Ker(ϕ
k
) ⊂ Im(ϕ
k+1
). It is called exact at M
k
if
Ker(ϕ
k
) = Im(ϕ
k+1
) .
It is called exact if it is exact at all M
k
. An exact sequence
0 −→M

ϕ
−→M
ψ
−→M

−→0
is called a short exact sequence.
Definition 2.3.2. Let A be a ring and M a finitely generated A–module. A
free resolution of M is an exact sequence
. . . −→F
k+1
ϕ
k+1
−−−→F
k
−→. . . −→F
1
ϕ1
−→F
0
ϕ0
−→M →0
with finitely generated free A–modules F
i
for i ≥ 0.
Frequently the complex of free A-modules (without M)
F

: . . . −→F
k+1
ϕ
k+1
−−−→F
k
−→. . . −→F
1
ϕ1
−→F
0
−→0
is called a free resolution of M.
A free resolution has (finite) length n if F
k
= 0 for all k > n and n is minimal
with this property.
15
2.4 Computing Resolutions and the Syzygy Theorem
In the following definition R can be an arbitrary ring.
Definition 2.4.1. A syzygy or relation between k elements f
1
, . . . , f
k
of an
R–module M is a k–tuple (g
1
, . . . , g
k
) ∈ R
k
satisfying
k
¸
i=1
g
i
f
i
= 0 .
The set of all syzygies between f
1
, . . . , f
k
is a submodule of R
k
, it is the kernel
of the ring homomorphism
ϕ : F
1
:=
k

i=1

i
−→M , ε
i
−→f
i
,
where ¦ε
1
, . . . , ε
k
¦ denotes the canonical basis of R
k
. ϕ surjects onto the R–
module I := 'f
1
, . . . , f
k
`
R
and
syz(I) := syz(f
1
, . . . , f
k
) := Ker(ϕ)
is called the module of syzygies of I with respect to the generators f
1
, . . . , f
k
.
Theorem 2.4.2 (Hilbert’s Syzygy Theorem). Let R = K[x
1
, . . . , x
n
]. Then
any finitely generated R–module M has a free resolution
0 →F
m
→F
m−1
→ →F
0
→M →0
of length m ≤ n, where the F
i
are free R–modules.
Proof. For the proof we refer to [GP].
Algorithm 2.4.3 (syz(f
1
, . . . , f
k
)). Let > be any monomial ordering on
Mon(x
1
, . . . , x
n
) and R = K[x].
Input: f
1
, . . . , f
k
∈ K[x]
r
.
Output: S=¦s
1
, . . . , s

¦ ⊂ K[x]
k
such that 'S` = syz(f
1
, . . . , f
k
) ⊂ R
k
.
• F := ¦f
1
+e
r+1
, . . . , f
k
+e
r+k
¦, where e
1
, . . . , e
r+k
denote the canonical
generators of R
r+k
= R
r
⊕R
k
such that
f
1
, . . . , f
k
∈ R
r
=
¸
r
i=1
Re
i
;
• compute a standard basis G of 'F` ⊂ R
r+k
with respect to (c, >);
• G
0
:= G∩
¸
r+k
i=r+1
Re
i
= ¦g
1
, . . . , g

¦, with
g
i
=
¸
k
j=1
a
ij
e
r+j
, i = 1, . . . , ;
• s
i
:= (a
i1
, . . . a
ik
), i = 1, . . . , ;
• return S = ¦s
1
, . . . , s

¦.
Algorithm 2.4.4 (Resolution(I, m)). Let > be a global monomial ordering
on Mon(x
1
, . . . , x
n
) and R = K[x].
16
Input: f
1
, . . . , f
k
∈ K[x]
r
, I = 'f
1
, . . . , f
k
` ⊂ R
r
, and m a positive integer.
Output: A list of matrices A
1
, . . . , A
m
with A
i
∈ Mat(r
i−1
r
i
, K[x]), i =
1, . . . , m, such that
. . . −→R
rm
Am
−−→R
rm−1
−→. . . −→R
r1
A1
−−→R
r
−→R
r
/I −→0
is the beginning of a free resolution of R
r
/I.
• i := 1;
• A
1
:= matrix(f
1
, . . . , f
k
) ∈ Mat(r k, K[x]);
• while (i < m)
i := i + 1;
A
i
:= syz(A
i−1
);
• return A
1
, . . . , A
m
.
2.5 Operations on Modules and their Computation
Let K be a field, > a global monomial ordering on K[x], x = (x
1
, . . . , x
n
), and
R = K[x].
The module membership problem can be formulated as follows:
Problem: Given polynomial vectors f, f
1
, . . . , f
k
∈ K[x]
r
, decide whether
f ∈ I := 'f
1
, . . . , f
k
` ⊂ R
r
or not.
Solution: Compute a standard basis G = ¦g
1
, . . . , g
s
¦ of I with respect to >
m
and choose a normal form NF on R
r
. Then
f ∈ I ⇐⇒ NF(f [ G) = 0 .
Additional Problem: If f ∈ I = 'f
1
, . . . , f
r
` ⊂ R
r
then express f as a linear
combination f =
¸
k
i=1
g
i
f
i
with g
i
∈ K[x].
Solution: Compute a standard basis G of syz(f, f
1
, . . . , f
k
) ⊂ R
k+1
w.r.t.
the ordering (c, >). Now choose any vector h = (1, −g
1
, . . . , −g
k
) ∈ G. Then
f =
¸
k
i=1
g
i
f
i
.
Intersection with Free Submodules (Elimination of Module Compo-
nents) Let R
r
=
¸
r
i=1
Re
i
, where ¦e
1
, . . . , e
r
¦ denotes the canonical basis of
R
r
, R = K[x].
Problem: Given f
1
, . . . , f
k
∈ R
r
, I = 'f
1
, . . . , f
k
` ⊂ R
r
, find a (polynomial)
system of generators for the submodule
I

:= I ∩
r

i=s+1
Re
i
.
17
Elements of the submodule I

are said to be obtained from f
1
, . . . , f
k
by
eliminating e
1
, . . . , e
s
.
Solution: Compute a standard basis G = ¦g
1
, . . . , g
s
¦
of I w.r.t. (c, >). Then
G

:=

g ∈ G

LM(g) ∈
r

i=s+1
K[x]e
i
¸
is a standard basis for I

.
18
3 Constructive Normalization of Affine Rings
3.1 Integral Closure of Rings and Ideals
Let K be a perfect field (e.g. char(K) = 0 or K finite) and A =
K[x
1
, . . . , x
n
]/'f
1
, . . . , f
k
` reduced (i.e. if a ∈ A and a
p
= 0 for some p > 0
then a = 0).
We describe algorithms to compute
• the normalisation A of A, that is, the integral closure of A in the total
ring of fractions Q(A),
• an ideal I
N
⊂ A describing the non-normal locus, that is,
V (I
N
) = N(A) := ¦P ∈ Spec A [ A
P
is not normal¦ ,
We can also compute for any ideal I ⊂ A, the integral closure I of I in A
(cf. [GP]).
Definition 3.1.1. For any ring A we define the total ring of fractions Q(A)
as the localization of A w.r.t. the multiplicatively closed set S = ¦s ∈ A [
sa = 0 ⇒a = 0 ∀ a ∈ A¦ of non-zero divisors of A. That is
Q(A) = ¦
a
s
[ s ∈ S, a ∈ A¦
with usual + and of fractions. where
a
s
is the equivalence class of pairs (a, s)
with (a, s) ∼ (a

, s

) iff as

= a

s. (Q(A), +, ) is a ring; if A is a domain (i.e.
S = A ` ¦0¦), then Q(A) is a field, the field of fractions of A.
3.2 Key-Lemma
Definition 3.2.1. b ∈ Q(A) is integral over A if it satisfies a relation
b
n
+a
1
b
n−1
+ +a
n
= 0 , a
i
∈ A.
We define the normalisation of A as A :=
¸
b ∈ Q(A)

b is integral over A
¸
,
that is, A is the integral closure of A in Q(A).
Lemma 3.2.2 (Key-lemma). Let J ⊂ A be an ideal, containing a non-
zerodivisor f of A. Then
A ⊂ Hom
A
(J, J) ⊂ Hom
A
(J, A) ∩ A ⊂ Hom
A
(J,

J)
with
Hom
A
(J, A)

=
−→
¸
h ∈ Q(A)

hJ ⊂ A
¸
⊂ Q(A) , ϕ −→
ϕ(f)
f
.
Remark 3.2.3.
(1) By the Cayley-Hamilton theorem, the characteristic polynomial of ϕ de-
fines an integral relation of ϕ ∈ Hom
A
(J, J).
(2) Hom
A
(J, J)

=
1
f
(fJ : J) ⊂
¯
A.
Proof. For the proof we refer to [GP], Lemma 3.6.1. and Lemma 3.6.4.
19
3.3 A Criterion for Normality
The following criterion is basically due to Grauert and Remmert (1971).
Proposition 3.3.1 (Criterion for normality). Let A be a reduced Noetherian
ring and J ⊂ A an ideal satisfying
(1) J contains a non-zerodivisor of A,
(2) J =

J,
(3) V (J) ⊃ N(A) = V (C), C = Ann
A
(A/A).
Then
A = A ⇐⇒ A = Hom
A
(J, J).
An ideal J with (1), (2), (3) is called test ideal for the normalization.
Proof. “⇐=” (3) ⇒ ∃ d ≥ 0 minimal s.th. AJ
d
⊂ A.
Assume d > 0
⇒ ∃ h ∈ A, a ∈ J
d−1
: ha ∈ A, haJ ⊂ hJ
d
⊂ AJ
d
⊂ A
⇒ ha ∈ A ∩ Hom
A
(J, A) = Hom
A
(J, J)
. .. .
= A
(key-lemma)
That is a contradiction and we conclude that d = 0 and thus A = A.
3.4 Test Ideals
Let R = K[x
1
, . . . , x
n
], A = R/I reduced, I = 'f
1
, . . . , f
k
`, K a perfect field.
Let
Sing(A) = ¦P ∈ Spec A [ A
P
is not regular¦
be the singular locus of A. We have N(A) ⊂ Sing(A).
If A is equidimensional of codimension c, then the Jacobian ideal
J =

f
1
, . . . , f
k
, c-minors of

∂f
i
∂x
j

defines Sing(A).
In general, we can use an equidimensional or primary decomposition
to compute an ideal J s.th. V (J) = Sing(A). Since A is reduced, J contains a
non-zerodivisor of A.
Hence we can compute test ideals as follows (all steps are effective):
• compute J such that V (J) = Sing(A)
• compute

J
Then

J is a test ideal for the normalization. Note that we can as well compute
any ideal J

⊂ J containing a non-zero divisor, then

J

is also a test ideal.
20
3.5 Algorithm to Compute the Normalization
The idea of the algorithm is to compute the endomorphism ring A
(1)
=
Hom
A
(J, J) for some test ideal J ⊂ A. If A = A
(1)
then A is already nor-
mal by Proposition 3.3.1. If not, we compute A
(2)
= Hom
A
(1) (J
(1)
, J
(1)
) for a
test ideal J
(1)
⊂ A
(1)
. If A
(1)
= A
(2)
then A = A
(1)
, otherwise we continue in
the same way to obtain a sequence of rings
A ⊂ A
(1)
⊂ . . . ⊂ A
(i)
⊂ . . . ⊂ A.
The process must stop since A is affine, by a theorem of M. Noether. In order
to do the computations effectively, we must present A
(i)
as affine ring. This is
described in the following lemma.
Lemma 3.5.1. Let A be a reduced Noetherian ring, let J ⊂ A be an ideal and
x ∈ J a non–zerodivisor. Then
(1) A = Hom
A
(J, J) if and only if xJ : J = 'x`.
Moreover, let ¦u
0
= x, u
1
, . . . , u
s
¦ be a system of generators for the A–module
xJ : J. Then we can write
(2) u
i
u
j
=
s
¸
k=0

ij
k
u
k
with suitable ξ
ij
k
∈ A, 1 ≤ i ≤ j ≤ s.
Let (η
(k)
0
, . . . , η
(k)
s
) ∈ A
s+1
, k = 1, . . . , m, generate the syzygy module
syz(u
0
, . . . , u
s
), and let I ⊂ A[t
1
, . . . , t
s
] be the ideal
I :=

t
i
t
j

s
¸
k=0
ξ
ij
k
t
k

1 ≤ i ≤ j ≤ s
¸
,

s
¸
ν=0
η
(k)
ν
t
ν

1 ≤ k ≤ m
¸¸
,
where t
0
:= 1. Then
(3) t
i
→u
i
/x, i = 1, . . . , s, defines an isomorphism
A[t
1
, . . . , t
s
]/I

=
−→Hom
A
(J, J)

=
1
x
(xJ : J) .
Proof. (1) follows immediately from Remark 3.2.3(2).
To prove (2), note that Hom
A
(J, J) = (1/x) (xJ : J) is a ring, which is
generated as A–module by u
0
/x, . . . , u
s
/x. Therefore, there exist ξ
ij
k
∈ A such
that (u
i
/x) (u
j
/x) =
¸
s
k=0
ξ
ij
k
(u
k
/x).
(3) Obviously, I ⊂ Ker(φ), where φ : A[t
1
, . . . , t
s
] →(1/x) (xJ : J) is the
ring map defined by t
i
→u
i
/x, i = 1, . . . , s. On the other hand, let h ∈ Ker(φ).
Then, using the relations t
i
t
j

¸
s
k=0
ξ
ij
k
t
k
, 1 ≤ i ≤ j ≤ s, we can write
h ≡ h
0
+
¸
s
i=1
h
i
t
i
mod I, for some h
0
, h
1
, . . . , h
s
∈ A.
Now φ(h) = 0 implies h
0
+
¸
s
i=1
h
i
(u
i
/x) = 0, hence, (h
0
, . . . , h
s
) is a
syzygy of u
0
= x, u
1
, . . . , u
s
and, therefore, h ∈ I.
Example 3.5.2. Let A := K[x, y]/'x
2
−y
3
` and J := 'x, y` ⊂ A. Then x ∈ J
is a non–zerodivisor in A with xJ : J = x'x, y` : 'x, y` = 'x, y
2
`, therefore,
21
Hom
A
(J, J) = '1, y
2
/x` (using Remark 3.2.3(2)). Setting u
0
:= x, u
1
:= y
2
, we
obtain u
2
1
= y
4
= x
2
y, that is, ξ
11
0
= y. Hence, we obtain an isomorphism
A[t]/'t
2
−y, xt −y
2
, yt −x`

=
−→Hom
A
(J, J) .
of A–algebras. Note that A[t]/'t
2
−y, xt −y
2
, yt −x` · K[t].
Now, using Proposition 3.3.1 and Lemma 3.5.1 we obtain an algorithm to
compute the integral closure. We describe the algorithm for the case that
A = K[x
1
, . . . , x
n
]/I is an integral domain over a field K of characteristic 0,
that is, especially I is prime.
Algorithm 3.5.3 (normalization(I)).
Input: I := 'f
1
, . . . , f
k
` ⊂ K[x] a prime ideal, x = (x
1
, . . . , x
n
).
Output: A polynomial ring K[t], t = (t
1
, . . . , t
N
), a prime ideal P ⊂ K[t] and
π : K[x] →K[t] such that the induced map π : K[x]/I →K[t]/P is the
normalization of K[x]/I.
• if I = '0` then return (K[x], '0`, id
K[x]
);
• compute r := dim(I);
• if we know that the singular locus of I is V (x
1
, . . . , x
n
)
2
J := 'x
1
, . . . , x
n
`;
else
compute J := the ideal of the (n −r)–minors of the Jacobian matrix I;
• J := radical(I +J);
• choose a ∈ J ¦0¦;
• if aJ : J = 'a` return (K[x], I, id
K[x]
);
• compute a generating system u
0
= a, u
1
, . . . , u
s
for aJ : J;
• compute a generating system
¸

(1)
0
, . . . , η
(1)
s
), . . . , (η
(m)
0
, . . . , η
(m)
s
)
¸
for the
module of syzygies syz(u
0
, . . . , u
s
) ⊂ (K[x]/I)
s+1
;
• compute ξ
ij
k
such that u
i
u
j
=
¸
s
k=0
a ξ
ij
k
u
k
, i, j = 1, . . . s;
• change ring to K[x
1
, . . . , x
n
, t
1
, . . . , t
s
], and set (with t
0
:= 1)
I
1
:=

¦t
i
t
j

¸
s
k=0
ξ
ij
k
t
k
¦
1≤i≤j≤s
, ¦
¸
s
ν=0
η
(k)
ν
t
ν
¦
1≤k≤m

+IK[x, t];
• return normalization(I
1
).
Note that I
1
is again a prime ideal, since
K[x
1
, . . . , x
n
, t
1
, . . . , t
s
]/I
1

= Hom
A
(J, J) ⊂ Q(A)
is an integral domain.
Example 3.5.4 (normalization). Let us illustrate the normalization with Whit-
ney’s umbrella
2
This is useful information because, in this case, we can avoid computing the minors of the
Jacobian matrix and the radical (which can be expensive). The property of being an isolated
singularity is kept during the normalization loops.
22
ring A = 0,(x,y,z),dp;
ideal I = y2-zx2;
LIB "surf.lib";
plot(I,"rot_x=1.45;rot_y=1.36;rot_z=4.5;");
list nor = normal (I);
def R = nor[1]; setring R;
norid;
//-> norid[1]=0
normap;
//-> normap[1]=T(1) normap[2]=T(1)*T(2) normap[3]=T(2)^2
Hence, the normalization of A/I is K[T
1
, T
2
] with normalization map x →T
1
,
y →−T
2
2
, z →−T
1
T
2
.
(t
1
, t
2
) →(t
1
, t
1
t
2
, t
2
2
)
Figure 1: The normalization of Whitney’s umbrella.
3.6 Algorithm to Compute the Non-Normal Locus
As a corollary of the Grauert-Remmert criterion, we obtain:
Corollary 3.6.1. Let A be a reduced Noetherian ring, J ⊂ A a test ideal, f ∈ J
a non-zerodivisor of A, and set
I
N
:= Ann
A

Hom
A
(J, J)/A


= (fJ : J) : f .
Then V (I
N
) is the non-normal locus of A.
Algorithm 3.6.2 (non–normal locus).
Input: f
1
, . . . , f
k
∈ S = K[x
1
, . . . , x
n
], I := 'f
1
, . . . , f
k
`.
Assume:

I = I, K perfect.
Output: Generators for I
N
s.th. V (I
N
) = N(S/I).
• Compute an ideal
¯
J s.th. V (
¯
J) = Sing(S/I).
• Compute a non-zerodivisor f ∈
¯
J: choose a linear combination f of the
generators of
¯
J and test
f non-zerodivisor ⇐⇒(I : f) :=
¸
g ∈ S

gf ∈ I
¸
= ¦0¦.
• Compute the radical

'f, I` =: J.
23
• Compute generators g
1
, . . . , g

for (fJ : J) : f as S-module.
• Return ¦g
1
, . . . , g

¦.
Example 3.6.3. We compute the non–normal locus of
A := K[x, y, z]/'zy
2
−zx
3
−x
6
`.
LIB"primdec.lib";
ring A = 0,(x,y,z),dp;
ideal I = zy2-zx3-x6;
ideal sing = I+jacob(I);
ideal J = radical(sing);
qring R = std(I);
ideal J = fetch(A,J);
ideal a = J[1];
ideal re = quotient(a,quotient(a*J,J));
re;
//-> re[1]=y
//-> re[2]=x
From the output, we read that the non–normal locus is the z–axis (the zero–set
of 'x, y`).
24
4 Computation in Local Rings
4.1 What is meant by “local” computations ?
There are several concepts of “local” in algebraic geometry:
• sometimes it means just an affine neighbourhood of a point, the algebraic
counterpart being affine rings, that is, rings of the form C[x]/I, where
I ⊂ C[x] = C[x
1
, . . . , x
n
] is an ideal;
• sometimes it means the study of the localization at a prime ideal
p ⊂ C[x], C[x]
p
/I, with I ⊂ C[x]
p
some ideal;
• sometimes it means convergent power series rings C¦x¦/I, or even
formal power series rings C[[x]]/I.
Actually, we have for the maximal ideal 'x` = 'x
1
, . . . , x
n
`
C[x] ⊂ C[x]
x
⊂ C¦x¦ ⊂ C[[x]]
where the first ring is the “least local” and the last one the “most local”.
3
Hence, when considering “local” properties of a variety V , that is, properties
of the germ (V, P) (= the equivalence class of all open neighbourhoods of P
in V ) of the variety at a given point P, one has to specify what “local” should
mean, in particular, what is meant by “neighbourhood”.
4.2 An Example
We want to study the germ at 0 = (0, 0) of the plane curve with affine equation
y
2
−x
2
(1 +x) = 0:
The picture indicates:
• in a small Euclidean neighbourhood of 0 the curve has two irre-
ducible components, meeting transversally, but
• in the affine plane, and, hence, in each Zariski neighbourhood
4
of 0 the
curve is irreducible.
3
Note that C[x]/I is not a local ring (except when the variety defined by I consists of only
one point) while the other three rings are local.
4
Such a neighbourhood consists of the curve minus finitely many points different from 0.
But a connected open subset of C minus finitely many points is irreducible (here, the above
real picture is misleading).
25
Let’s prove this: consider f = y
2
−x
2
(1 +x) as element of C¦x, y¦. We have
a non-trivial decomposition
5
f =

y −x

1 +x

y +x

1 +x)

with y ±x

1 +x ∈ C¦x, y¦. The zero-sets of the factors correspond to the two
components of ¦f = 0¦ in a small neighbourhood of 0.
However, f is irreducible in C[x, y], even in C[x, y]
x,y
. Otherwise, there
would exist g, h ∈ C[x, y]
x,y
satisfying f =

y +xg

y +xh

, hence g = −h
and g
2
= 1 +x. But, since 1 + x is everywhere defined, g
2
and, hence, g must
be a polynomial which is impossible, since g
2
has degree 1.
4.3 Computational Aspects
We shall show in the following, that (and how) the concept of Gr¨ obner basis
computations can be generalized to the local rings C[x]
x
, C¦x¦ and C[[x]],
respectively.
In practice, however, we can basically treat only C[x] and C[x]
x
(or
factor rings of those) in a computer algebra system
6
. In particular, we can
neither put a polynomial into Weierstraß normal form (cf. below), nor factorize
it in C[[x]] effectively (except for power series in two variables where the Newton
algorithm for computing Puiseux series provides a method) and we do not know
any algorithm which would be able to do this even if the input is a polynomial.
Nevertheless, many invariants of (analytic) germs can be computed in
C[x]
x
, since we have the following
Facts: Let K be any field and I ⊂ K[x]
x
an ideal.
• If dim
K
(K[x]
x
/I) < ∞, then, as local k–algebras,
K[x]
x
/I

= K[[x]]/IK[[x]] .
In particular, both vector spaces have the same dimension and a common
basis represented by monomials.
• The inclusion K[x]
x
/I ⊂ K[[x]]/IK[[x]] is faithfully flat, that is, a
sequence of K[x]
x
/I–modules
0 −→M

−→M −→M

−→0
is exact if and only if the induced
7
sequence of K[[x]]/IK[[x]]–modules is
exact.
4.4 Rings Associated to Monomial Orderings
To implement local rings in a computer algebra system one has to abort the
restriction that monomial orderings are well-orderings. Hence, we define:
5
This is, up to units, also the factorization in C[[x, y]], since the factorization is unique.
6
Singular is apparently the only existing computer algebra system which systematically
has incorporated standard basis algorithms in local rings.
7
by applying ⊗
K[x]
x
/I
K[[x]]/IK[[x]]
26
Definition 4.4.1. A monomial ordering is a total ordering > on the set of
monomials x
α
:= x
α1
1
. . . x
αn
n
which is compatible with the semigroup struc-
ture, that is, satisfies
x
α
> x
β
=⇒ x
γ
x
α
> x
γ
x
β
for all α, β, γ ∈ Z
n
≥0
.
To any such monomial ordering > we associate the multiplicatively closed set
S
>
:= ¦u ∈ K[x] ` ¦0¦ [ LM(u) = 1¦
and the ring
K[x]
>
:= S
−1
>
K[x] =

f
u

f, u ∈ K[x], LM(u) = 1

.
The following lemma follows easily from Lemma 1.2.5.
Lemma 4.4.2.
(1) The following are equivalent:
(a) K[x]
>
= K[x].
(b) x
α
> 1 for all α = (0, . . . , 0), i.e. > is global.
(2) In genaral we have
K[x] ⊂ K[x]
>
⊂ K[[x]].
Recall that in Singular the global orderings are indicated by p as 2nd letter
(referring to “polynomial ring”): lp, dp, etc.
4.5 Local Monomial Orderings
The following Lemma follows again from Lemma 1.2.5.
Lemma 4.5.1. The following are equivalent:
(a) K[x]
>
= K[x]
x
.
(b) x
α
< 1 for all α = (0, . . . , 0), i.e. > is local.
(c) the inverse ordering

x
α
>

x
β
:⇔x
α
< x
β

is global.
Example 4.5.2. The following are (the probably most important) local mono-
mial orderings:
• Negative degree reverse lexicographical ordering >
ds
:
x
α
>
ds
x
β
:⇐⇒ deg x
α
< deg x
β
,
or

deg x
α
= deg x
β
and ∃ 1 ≤ i ≤ n :
α
n
= β
n
, . . . , α
i+1
= β
i+1
, α
i
< β
i

.
• Weighted negative degree reverse lexicographical orderings >
ws(w)
, defined
as >
ds
, but replacing the degree of x
α
by the weighted degree
wdeg(x
α
) = w
1
α
1
+. . . +w
n
α
n
,
where w
1
> 0, w
2
, . . . , w
n
≥ 0
• Negative lexicographical ordering >
ls
, which is defined to be the inverse of
the lexicographical ordering.
• Product orderings of the latter.
27
4.6 Rings Associated to Mixed Orderings
If the monomial ordering is neither local nor global then we call it a mixed
ordering. In this case:
K[x] K[x]
>
K[x]
x
,
and (K[x]
>
)

∩ K[x] = S
>
= ¦u ∈ K[x] ` ¦0¦ [ LM(u) = 1¦, where R

denotes
the group of units in the ring R.
Example 4.6.1. Consider K[x, y] = K[x
1
, . . . , x
n
, y
1
, . . . , y
m
], equipped with a
product ordering (>
1
, >
2
). Then we have
(1) >
1
global , >
2
local :
K[x, y]
>
= (K[y]
y
)[x] = K[y]
y

K
K[x] .
(2) >
1
local , >
2
global :
(K[x]
x
)[y] K[x, y]
>
K[x, y]
x
,
(3) >
1
global , >
2
arbitrary :
K[x, y]
>
= (K[y]
>2
)[x] .
Definition 4.6.2 (Ring maps). Let >
1
, >
2
be monomial orderings on K[x],
respectively K[y]. Then f
1
, . . . , f
n
∈ K[y]
>2
define a unique ring map
ϕ : K[x]
>1
→K[y]
>2
, x
i
→f
i
,
provided that h(f
1
, . . . , f
n
) ∈ S
>2
for all h ∈ S
>1
.
4.7 Leading Data
Let > be any monomial ordering and f ∈ K[x]
>
. Then we can (and do) choose
a u ∈ K[x] such that LM(u) = 1 and uf ∈ K[x] and define
LM(f) := LM(uf) , the leading monomial of f,
LC(f) := LC(uf) , the leading coefficient of f,
LT(f) := LT(uf) , the leading term of f,
and tail(f) := f −LT(f).
Moreover, we define for any G ⊂ K[x]
>
the leading ideal
L
>
(G) := L(G) := 'LM(g) [ g ∈ G` ¦0¦`
K[x]
.
Note that these definitions are independent of the choice of u.
It is useful to consider K[x]
>
as a subring of K[[x]], the formal power se-
ries ring. Then LT(f) corresponds to the largest (w.r.t. >) term in the
power series expansion of f and tail(f) is the power series of f with the lead-
ing term deleted. In particular, these notions are compatible with the obvious
extension of leading data to formal power series rings (w.r.t. a local monomial
ordering).
28
Example 4.7.1. Let f =
2x
1−x
+x = 3x +
¸

k=2
2x
k
, then
LT(f) = LT((1 +x)f) = 3x.
As in the polynomial ring, the leading ideal L(I) encodes much information
about the ideal I, for instance:
Theorem 4.7.2. Let > be any monomial ordering on K[x], and let I ⊂ K[x]
be an ideal. Then
(a) dim(K[x]
>
/IK[x]
>
) = dim(K[x]/L(I)) ,
(b) dim
K
(K[x]
>
/IK[x]
>
) = dim(K[x]/L(I)) .
Moreover, if dim(K[x]
>
/IK[x]
>
) < ∞, then the monomials in K[x] ` L(I)
represent a K-basis of K[x]
>
/IK[x]
>
.
Since the leading ideal of an ideal is finitely generated, we can transfer the
concept of Gr¨ obner bases to R = K[x]
>
, respectively to R = K[[x]], and obtain
the notion of a standard basis (as introduced independently by Hironaka (1964)
and Grauert (1972)): a finite set G ⊂ R is called a standard basis (SB) of I if
G ⊂ I, and L(I) = L(G) .
Moreover, we can extend the latter notions without further modifications to free
R-modules with finite basis e
1
, . . . , e
r
.
4.8 Division with Remainder
The Division Theorems by Weierstraß and Grauert generalize division with re-
mainder to free modules over formal power series rings:
Theorem 4.8.1 (Division Theorem (Grauert)). Let F be a free K[[x]]-module
with a finite basis e
1
, . . . , e
r
, let > be a local monomial ordering on F, and let
f, f
1
, . . . , f
m
∈ F ` ¦0¦. Then there exist g
1
, . . . , g
r
∈ K[[x]] and a remainder
h ∈ F such that
f =
m
¸
j=1
g
j
f
j
+h
and, for all j = 1, . . . , m,
(a) LM(f) ≥ LM(g
j
f
j
) ;
(b) if h = 0 then no monomial of h is divisible by LM(f
j
).
Again, we call any such expression a standard expression for f in terms
of the f
i
and h the reduced normal form of f with respect to I. As before,
for a “normal form” we weaken the condition (b) to LM(h) is not divisible by
any LM(f
j
).
29
4.9 Normal Forms and Standard Bases
The existence of a reduced normal form is the basis to obtain, in the formal
power series ring K[[x]], the properties of standard bases already proved for GB
in K[x]:
• If S, S

are two standard bases of the ideal I, then the reduced normal
forms with respect to S and S

coincide.
• Buchberger’s criterion holds.
• Reduced standard bases are uniquely determined.
The following theorem is one further reason, why for many computations in
local analytic geometry it is sufficient to compute in K[x]
x
.
Theorem 4.9.1. Let > be a local degree ordering on K[[x]] and let I be an
ideal in K[x]. Then
S is a standard basis of I (w.r.t. >) =⇒ S is a standard basis of IK[[x]].
So far everything was a straight forward transition from polynomial rings
to power series rings. But it was theoretical. From the computational point of
view there are several problems:
Example 4.9.2. Consider in R = K[x, y]
x,y
with >=>
ls
.
f = y , g = (y −x)(1 −y) , G = ¦g¦ .
Assume h ∈ K[x, y] is a normal form of f w.r.t. G. We have:
f ∈ 'G`
R
= 'y −x`
R
=⇒ h = 0
=⇒ LM(h) ∈ L(G) = 'y` .
Moreover, h −y = h −f ∈ 'G`
R
= 'y −x`
R
=⇒ LM(h) < 1.
Therefore, h = xh

for some h

(because of the chosen ordering >
ls
). However,
y − xh

∈ '(y − x)(1 − y)`
K[x,y]
(substitute (0, 1) for (x, y)) and, therefore no
polynomial normal form of f w.r.t. G exists.
4.10 Weak Normal Forms
The fact that for polynomial input data there does not necessarily exist a poly-
nomial normal form leads to the following
Definition 4.10.1. Let R = K[x]
>
for some monomial ordering >. Let G =
¦g
1
, . . . , g
s
¦ be a finite subset of the free R–module F. A polynomial vector
h ∈ F is called a (polynomial) weak normal form for f with respect to G if
there exists a polynomial unit u ∈ R

such that h is a normal form for uf w.r.t.
G, that is uf satisfies a relation (with a
i
polynomials)
uf =
s
¸
i=1
a
i
g
i
+h, LM(u) = 1,
with LM(
¸
s
i=1
a
i
g
i
) ≥ LM(a
k
g
k
) for all k such that a
k
g
k
= 0 and, if h = 0 then
LM(h) is not divisible by any LM(g
i
).
30
Example 4.10.2 (Example 4.9.2 continued). Setting u := (1 −y) and
h := x(1 −y), we obtain uy = (y −x)(1 −y) +h, hence, h is a (polynomial)
weak normal form.
The same difficulty arises when trying to generalize Buchberger’s algorithm.
Look at the following
Example 4.10.3. Consider in K[x]
x
the polynomial f := x and the standard
basis G := ¦g = x −x
2
¦. The analogue to the Buchberger algorithm in K[[x]]
“computes” the normal form 0 as
x −


¸
i=0
x
i

(x −x
2
) = 0 ,
hence it will produce infinitely many terms (and not the finite expression
1/(1 −x)). Again, this problem would be solved when computing
(1 −x) x −g = 0 .
In the following we present the general (weak) normal form algorithm (due
to Greuel and Pfister) as implemented in Singular. The basic idea for this
algorithm for local rings is due to Mora, but our algorithm is slightly different
and more general (works for any monomial ordering).
4.11 The Weak Normal Form Algorithm
Definition 4.11.1. Let f ∈ K[x] ` ¦0¦. Then we set
ecart(f) := deg f −deg LM(f).
Algorithm 4.11.2 (weakNF). Let > be any monomial ordering.
Input: f ∈ K[x], G = ¦f
1
, . . . , f
r
¦ ⊂ K[x].
Output: h ∈ K[x], a weak normal form of f.
• h := f;
• T := G;
• while(h = 0 and T
h
:= ¦g ∈ T [ LM(g) divides LM(h)¦ = ∅)
¦
choose g ∈ T
h
with ecart(g) minimal;
if (ecart(g) > ecart(h)) ¦T := T ∪ ¦h¦¦;
h := spoly(h, g);
¦
• return h;
Note 4.11.3. The latter algorithm also applies to free K[x]
>
-modules with a
finite base. Moreover:
• If the input is homogeneous, then the ecart is always 0, hence, we
obtain Buchberger’s Algorithm.
• If > is global, then LM(g) [ LM(h) implies LM(g) ≤ LM(h). Hence, even
if added to T during the algorithm, h cannot be used in further reductions.
• The reduce command in Singular returns h while the division com-
mand also returns the factors u, g
1
, . . . , g
r
.
31
4.12 Standard Basis Algorithm
Having the above (weak) normal form algorithm, we can proceed as in K[x] to
compute a standard basis of a given ideal:
Algorithm 4.12.1 (std). Let > be any monomial ordering, and R := K[x]
>
.
Input: G = ¦f
1
, . . . , f
r
¦ ⊂ K[x].
Output: S ⊂ K[x], such that S is a standard basis for 'G`
R
.
• S := G;
• P := ¦(f, g) [ f, g ∈ S, f = g¦, the pair–set;
• while (P = ∅)
¦
choose (f, g) ∈ P;
P := P ` ¦(f, g)¦;
h := weakNF

spoly(f, g), S

;
if (h = 0)
¦
P := P ∪ ¦(h, f) [ f ∈ S¦;
S := S ∪ ¦h¦;
¦
¦
• return S;
The algorithm terminates, since otherwise we would obtain a strictly in-
creasing sequence of monomial ideals L(S) in K[x]. Correctness follows from
Buchberger’s criterion.
The generalization to submodules of a finitely generated free module over R
is immediate.
32
5 Singularities
5.1 Factorization, Primary Decomposition
Note 5.1.1. In Singular the factorization of polynomials, and, more generally,
the primary decomposition of ideals, are implemented only for the polyno-
mial ring K[x
1
, . . . , x
n
] and not for the localization K[x
1
, . . . , x
n
]
x
.
However, this is not a restriction, since after the factorization in
K[x
1
, . . . , x
n
] we can pass to the local ring, where all factors not vanishing
at 0 become units (see also Application 2).
ring r0=0,(x,y),ls;
poly f=(1-y)*(x^2-y^3)*(x^3-y^2)*(y^2-x^2-x^3);
f;
factorize(f);
//-> [1]:
//-> _[1]=1
//-> _[2]=-y2+x2+x3
//-> _[3]=-y2+x3
//-> _[4]=-y3+x2
//-> _[5]=-1+y
//-> [2]:
//-> 1,1,1,1,1
Warning: Factorization in the power series ring K[[x
1
, . . . , x
n
]] is not pos-
sible except for K[[x, y]] (using Hamburger–Noether expansion, implemented in
Singular in hnoether.lib).
5.2 Singularities
An (affine) algebraic variety in K
n
is the set
X = V (I) = ¦x ∈ K
n
[ f(x) = 0 ∀ f ∈ I¦
where I ⊂ K[x
1
, . . . , x
n
] is any ideal (I is part of the structure).
K[x
1
, . . . , x
n
]/I =: O
X
(X) is called the coordinate ring of X and O
X
the ideal
sheaf of X.
From now on we assume that K is an algebraically closed field.
Definition 5.2.1. Let X ⊂ K
n
be an affine algebraic variety and p ∈ X.
The analytic local ring of X at p is the factor ring of the ring of formal
power series, centered at p = (p
1
, . . . , p
n
),
O
an
X,p
:= K[[x
1
−p
1
, . . . , x
n
−p
n
]]/I(X) K[[x
1
−p
1
, . . . , x
n
−p
n
]] .
The ring
O
X,p
= K[x
1
, . . . , x
n
]
x1−p1,...,xn−pn
is called the algebraic local ring of X at the point p = (p
1
, . . . , p
n
).
33
Lemma 5.2.2. Let O
X,p
be the algebraic local ring and let I ⊂ O
X,p
be an ideal
such that dim
K
(O
X,p
/I) < ∞. Then
O
X,p
/I

= O
an
X,p
/IO
an
X,p
.
In particular, both vector spaces have the same dimension and a common basis
represented by monomials.
Note 5.2.3. In general,
dim
K
O
X,0
/I = dim
K
K[[x
1
, . . . , x
n
]]/'f
1
, . . . , f
n
`
= dim
K
K[x
1
, . . . , x
n
]/'f
1
, . . . , f
k
`.
5.3 Milnor and Tjurina Number
Definition 5.3.1.
(1) f ∈ K[x], x = (x
1
, . . . , x
n
), has an isolated critical point at p if p is an
isolated point of V (∂f/∂x
1
, . . . , ∂f/∂x
n
). Similarly, we say that p is an
isolated singularity of f, or of the hypersurface V (f) ⊂ A
n
K
, if p is an
isolated point of V (f, ∂f/∂x
1
, . . . , ∂f/∂x
n
).
(2) We call the number
μ(f, p) := dim
K

K'x
1
−p
1
, . . . , x
n
−p
n
`

∂f
∂x
1
, . . . ,
∂f
∂x
n

the Milnor number, and
τ(f, p) := dim
K

K'x
1
−p
1
, . . . , x
n
−p
n
`

f,
∂f
∂x
1
, . . . ,
∂f
∂x
n

the Tjurina number of f at p. We write μ(f) and τ(f) if p = 0.
Note 5.3.2. The Milnor number μ(f, p) is finite iff p is an isolated critical point
of f. Similarly, p is an isolated singularity of V (f) iff the Tjurina number τ(f, p)
is finite.
By Lemma 5.2.2 we can compute the Milnor number μ(f), resp. the Tjurina
number τ(f), by computing a standard basis of '∂f/∂x
1
, . . . , ∂f/∂x
n
`, respec-
tively 'f, ∂f/∂x
1
, . . . , ∂f/∂x
n
` with respect to a local monomial ordering and
then apply the Singular command vdim.
5.4 Local Versus Global Ordering
We can use the interplay between local and global orderings to check the exis-
tence of critical points and of singularities outside 0. For this we use the (easy)
facts for a polynomial f ∈ K[x
1
, . . . , x
n
]:
• μ(f, p) = 0 if and only if p is a non–critical point of f, that is,
p ∈ V

∂f
∂x
1
, . . . ,
∂f
∂x
n

=: Crit(f ) ,
34
• τ(f, p) = 0 if and only if p is a non–singular point point of V (f), that
is,
p ∈ V

f,
∂f
∂x
1
, . . . ,
∂f
∂x
n

=: Sing(f ) .
Note 5.4.1. We have the following equalities for the total Milnor number,
respectively the total Tjurina number, of f:
dim
K

K[x
1
, . . . , x
n
]

∂f
∂x
1
, . . . ,
∂f
∂x
n

=
¸
p∈Crit(f)
μ(f, p) ,
dim
K

K[x
1
, . . . , x
n
]

f,
∂f
∂x
1
, . . . ,
∂f
∂x
n

=
¸
p∈Sing(f)
τ(f, p) ,
5.5 Using Milnor and Tjurina Numbers
We compute the local and the total Milnor, respectively Tjurina, number and
check in this way, whether there are further critical, respectively singular,
points outside 0. We use first the commands milnor and tjurina from
sing.lib:
We first compute the local Milnor and Tjurina number at 0:
LIB "sing.lib";
ring r = 0,(x,y,z),ds; //local ring
poly f = x7+y7+(x-y)^2*x2y2+z2;
milnor(f);
//-> 28 //Milnor number at 0
tjurina(f);
//-> 24 //Tjurina number at 0
Without using milnor and tjurina, we have to compute
vdim (std(jacob (f))); //the same as milnor
vdim (std(ideal(f)+jacob(f))); //the same as tjurina
Now we compute the total Milnor and Tjurina number by choosing a global
ordering.
ring R = 0,(x,y,z),dp; //affine ring
poly f = x7+y7+(x-y)^2*x2y2+z2;
milnor(f);
//-> 36 //total Milnor number
tjurina(f);
//-> 24 //total Tjurina number
We see that the difference between the total and the local Milnor number is 8;
hence, f has eight critical points (counted with their respective Milnor numbers)
outside 0. On the other hand, since the total Tjurina number coincides with
the local Tjurina number, V (f) ⊂ A
3
has no other singular points except 0, i.e.
f(p) = 0 for all critical points p = 0. In other words, the extra critical points of
f do not ly on the zero-set V (f) of f.
35
5.6 Application to Projective Singular Plane Curves
Problem: Let
f(x, y) := y
2
−2x
28
y −4x
21
y
17
+ 4x
14
y
33
−8x
7
y
49
+x
56
+ 20y
65
+ 4x
49
y
16
.
Determine the local Tjurina number
τ
loc
(f) := dim
C
C¦x, y¦

f,
∂f
∂x
,
∂f
∂y

of the singularity at the origin and check whether this is the only singularity of
the corresponding complex plane projective curve C.
Note 5.6.1. The projective curve C ⊂ P
2
is the curve defined by F = 0, where
F is the homogenization of f w.r.t. a new variable.
ring s = 0,(x,y),ds; // the local ring
poly f = y2-2x28y-4x21y17+4x14y33-8x7y49+x56+20y65+4x49y16;
ideal I = f,jacob(f);
vdim(std(I));
//-> 2260 // the local Tjurina number of f at 0
From 5.4.1 we know that the global Milnor number
τ(f) := dim
C
C[x, y]

f,
∂f
∂x
,
∂f
∂y

equals the sum of the local Tjurina number of all affine singular points of C.
We compute
ring r = 0,(x,y),dp; // the affine ring
ideal I = fetch(s,I);
vdim(std(I));
//-> 2260
We see that the global (affine) and local Tjurina number of f coincide.
Hence, the affine singular locus consists only of the origin (0, 0), at all other
points V (f) is smooth.
Now, we check singularities at infinity:
ring sh = 0,(x,y,z),dp;
poly f = fetch(s,f);
poly F = homog(f,z); // homogeneous polynomial
// defining C
ring r1 = 0,(y,z),dp;
map phi = sh,1,y,z;
poly g = phi(F); // F in affine chart (x=1)
ideal J = g,jacob(g);
vdim(std(J));
//-> 120 // the global Tjurina number in the
// chart x=1
ring r2 = 0,(y,z),ds; // local ring at (1:0:0)
ideal J = fetch(r1,J);
vdim(std(J));
//-> 120 // the local Tjurina number at (1:0:0)
36
We have considered all points at infinity except (0:1:0) which is obviously
not on C. Hence, we can conclude that there is (precisely) 1 singularity of C at
infinity (at (1 : 0 : 0)) with Tjurina number 120. A closer analysis shows that
it is of topological type x
9
−y
16
= 0.
5.7 Computing the Genus of a Projective Curve
Recall: Let C be a projective curve, then the Hilbert polynomial is of the form
H
C
(t) = deg(C) t −p
a
(C) + 1 ,
where deg(C) is called the degree of the curve and p
a
(C) the arithmetic
genus. The procedure hilbPoly from poly.lib computes the Hilbert polyno-
mial.
Definition 5.7.1. The geometric genus g(C) is the arithmetic genus of the
normalization
¯
C of C:
g(C) := p
a
(
¯
C).
If we are able to compute the normalization, we can compute the geometric
genus. But this is often very time consuming.
Facts. Let δ(C) :=
¸
p∈C
dim
K

O
e
C,p
/O
C,p

=
¸
p∈C
δ(C, p).
• p
a
(C) = g(C)+δ(C), where δ(C) is the sum over the local delta invariants
in the singular points.
• For a generic projection C −→D to a plane curve D which has the same
degree d and normalization as C, we have
g(C) = p
a
(D) −δ(D) =
(d −1)(d −2)
2
−δ(D)
.
Let D ⊂ P
2
be a (reduced) plane projective curve given by the homogeneous
polynomial F(x, y, z). To compute δ(D) we have to compute the singularities
of D and then compute δ(D, p) for each singular point p ∈ D (by using the
library hnoether.lib in Singular) or to use the normalization.
The procedure genus in normal.lib offers both possibilities (genus( ); and
genus( ,1);):
ring R = 0,(x,y,z),dp;
poly f = (y3-x2)*(y-1); // a cuspidal cubic with a transversal
// line
poly F = homog(f,z); // defining the projective closure D
LIB "all.lib"; // loads all libraries
hilbPoly(F);
//-> -2,4 // p_a(D)=3, deg(D)=4
genus(F); // computes delta at the singular points
//-> -1 // hence D is reducible,
// delta(D)=p_a(D)-g(D)=4
genus(F,1); // uses the normalization
//-> -1
37
Remark 5.7.2. The computation shows that δ(D) = 4. We can compute in this
example δ(D) by applying some theory without using Singular:
By construction f has a cusp singularity (δ = 1) at (0, 0) and two nodes at
(±1, 1), the two intersection points of y
3
− x
2
= 0 and y − 1 = 0 (both having
δ = 1). By B´ezout’s theorem the line y = 1 intersects the cubic y
3
= x
2
at ∞
with multiplicity 1. Hence, D must have a node at ∞ = (0 : 0 : 1), counting
with δ = 1. Hence, the sum of the deltas is δ(D) = 4.
38
References
[GP] G.-M. Greuel, G. Pfister, A Singular Introduction to Commutative Al-
gebra, 2nd edition, Springer-Verlag, Berlin, 2007.
[GPS1] G.-M. Greuel, G. Pfister and H. Sch¨ onemann, Singular online manual.
[GPS2] G.-M. Greuel, G. Pfister and H. Sch¨ onemann, Singular 3-0-4 (2007),
http://www.singular.uni-kl.de.
[DL] W. Decker, C. Lossen, Computing in Algebraic Geometry, Springer-Verlag,
Berlin, 2006.
Fachbereich Mathematik, Universit¨ at Kaiserslautern, Erwin-
Schr¨ odinger-Straße, D – 67663 Kaiserslautern
E–mail address: greuel@mathematik.uni-kl.de
singular@mathematik.uni-kl.de to reach the Singular team
39

Algorithms and Algebraic Geometry
Gert-Martin Greuel Universit¨t Kaiserslautern a and Mathematisches Forschungsinstitut Oberwolfach May 31, 2008

Contents
1 Gr¨bner Basics o 1.1 Rings and Ring Maps . . . . . . . 1.2 Monomial Orderings . . . . . . . . 1.3 Ideal Operations . . . . . . . . . . 1.4 Normal Forms and Gr¨bner Bases o 1.5 Gr¨bner Basis Algorithm . . . . . o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 4 6 8 11 13 13 13 13 13 15 16 17 19 19 19 20 20 21 23 25 25 25 26 26 27 28 28 29

2 Constructive Ideal and Module Theory 2.1 Operations on Ideals and their Computation . . . 2.1.1 Ideal Membership . . . . . . . . . . . . . 2.1.2 Intersection with Subrings (Elimination of 2.2 Gr¨bner Bases for Modules . . . . . . . . . . . . o 2.3 Exact Sequences and free Resolutions . . . . . . 2.4 Computing Resolutions and the Syzygy Theorem 2.5 Operations on Modules and their Computation . 3 Constructive Normalization of Affine Rings 3.1 Integral Closure of Rings and Ideals . . . . . . 3.2 Key-Lemma . . . . . . . . . . . . . . . . . . . . 3.3 A Criterion for Normality . . . . . . . . . . . . 3.4 Test Ideals . . . . . . . . . . . . . . . . . . . . . 3.5 Algorithm to Compute the Normalization . . . 3.6 Algorithm to Compute the Non-Normal Locus 4 Computation in Local Rings 4.1 What is meant by “local” computations ? 4.2 An Example . . . . . . . . . . . . . . . . . 4.3 Computational Aspects . . . . . . . . . . 4.4 Rings Associated to Monomial Orderings 4.5 Local Monomial Orderings . . . . . . . . . 4.6 Rings Associated to Mixed Orderings . . . 4.7 Leading Data . . . . . . . . . . . . . . . . 4.8 Division with Remainder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . variables) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4.9 4.10 4.11 4.12

Normal Forms and Standard Bases Weak Normal Forms . . . . . . . . The Weak Normal Form Algorithm Standard Basis Algorithm . . . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

30 30 31 32 33 33 33 34 34 35 36 37

5 Singularities 5.1 Factorization, Primary Decomposition . . . . . . 5.2 Singularities . . . . . . . . . . . . . . . . . . . . . 5.3 Milnor and Tjurina Number . . . . . . . . . . . . 5.4 Local Versus Global Ordering . . . . . . . . . . . 5.5 Using Milnor and Tjurina Numbers . . . . . . . . 5.6 Application to Projective Singular Plane Curves 5.7 Computing the Genus of a Projective Curve . . .

2

1
1.1

Gr¨bner Basics o
Rings and Ring Maps

Definition 1.1.1. Let A be a ring, always commutative with 1. (1) A monomial in n variables (or indeterminates) x1 , . . . , xn is a power product xα = xα1 · . . . · xαn , n 1 α = (α1 , . . . , αn ) ∈ Nn .

The set of monomials in n variables is denoted by Mon(x1 , . . . , xn ) = Monn := {xα | α ∈ Nn } . Mon(x1 , . . . , xn ) is a semigroup under multiplication, with neutral element 1 = x0 · . . . · x0 . 1 n xα | xβ (xα divides xβ ) ⇐⇒ αi ≤ βi for all i. (2) A term is a monomial times a coefficient (an element of A), axα = axα1 · . . . · xαn , n 1 a ∈ A.

(3) A polynomial over A is a finite sum of terms,
finite

f=
α

aα xα =
α∈Nn

aα1 ...αn xα1 · . . . · xαn , n 1

with aα ∈ A. For α ∈ Nn , let |α| := α1 + · · · + αn . deg(f ) := max{|α| | aα = 0} is called the degree of f deg(f ) = −1 for f = 0. if f = 0;

(4) The polynomial ring A[x] = A[x1 , . . . , xn ] in n variables over A is the set of all polynomials together with the usual addition and multiplication: aα xα +
α

bα xα :=
α

(aα + bα )xα ,
α

⎛ ·⎝
β

⎛ ⎝
α+β=γ

⎞ aα bβ ⎠ xγ .

aα xα
α

bβ xβ ⎠ :=
γ

Definition 1.1.2. A morphism of rings is a map ϕ : A → B satisfying ϕ(a + a ) = ϕ(a) + ϕ(a ), ϕ(aa ) = ϕ(a)ϕ(a ), for all a, a ∈ A, and ϕ(1) = 1. We call a morphism of rings also a ring map, and B is called an A–algebra. Lemma 1.1.3. Let A[x1 , . . . xn ] be a polynomial ring, ψ : A → B a ring map, C a B–algebra, and f1 , . . . , fn ∈ C (e.g. B = A and ψ = id). Then there exists a unique ring map ϕ : A[x1 , . . . , xn ] −→ C satisfying ϕ(xi ) = fi for i = 1, . . . , n and ϕ(a) = ψ(a) · 1 ∈ C for a ∈ A. In Singular one can define polynomial rings over the following fields: 3

1. . and aα . xn ) satisfying xα > xβ =⇒ xγ xα > xγ xβ for all α. . aβ . (2) LE(f ) := leadexp(f):= α. (2) > is called a local ordering if xα < 1 for all α = (0. K[a]/minpoly. Write f ∈ A[x].2. γ ∈ Nn . . which is compatible with the semigroup structure on Nn given by addition. . the tail of f . 0).2. the leading exponent of f . . the leading monomial of f . 4 . .2 Monomial Orderings Monomial orderings are necessary for constructive ideal and module theory. an ). K(a1 . (6) arbitrary precision real floating point numbers. (3) > is called a mixed ordering if it is neither global nor local. Fp }. the leading term or head of f . . The most important distinction is between global and local orderings. . . . xn ]. (7) arbitrary precision complex floating point numbers.(1) the field of rational numbers Q. 0). β. . 1. (1) > is called a global ordering if xα > 1 for all α = (0. (4) transcendental extensions of K ∈ {Q.2. p a prime number < 231 . . . xα > xβ > · · · > xγ . . A monomial ordering is a total ordering on Nn . . . p a prime. . (2) finite fields Fp . Definition 1.3. aγ ∈ K. Let > be a fixed monomial ordering. in a unique way as a sum of non–zero terms f = aα xα + aβ xβ + · · · + aγ xγ . Definition 1. We define: (1) LM(f ) := leadmonom(f):= xα . We say also > is a monomial ordering on A[x1 . A monomial ordering or semigroup ordering is a total (or linear) ordering > on Mon(x1 .2. Let > be a monomial ordering on {xα | α ∈ Nn }. Fp }. The lexicographical ordering on Nn : xα > xβ if and only if the first non–zero entry of α − β is positive. Example 1. f = 0. . (5) simple algebraic extensions of K ∈ {Q. (5) tail(f ) := f − lead(f)= aβ xβ + · · · + aγ xγ . . . (4) LC(f ) := leadcoef(f):= aα . the leading coefficient of f . Definition 1.2.4. (3) finite fields GF(pn ) with pn elements. pn ≤ 215 . . . . . (3) LT(f ) := lead(f):= aα xα .

αn = βn . degree reverse lexicographical ordering (degrevlex). there is a β ∈ Bαn with β ≤ α . the third is local). (4) α ≥nat β and α = β implies xα > xβ . . . n. . If αn ≤ s. . i∈N Bi has a Dickson basis B . . αn−1 ) ∈ Nn−1 | (α . . . . αi+1 = βi+1 . Example 1. > is global. Then (γ . . we can find a γ ∈ B and an i ≤ s such that γ ≤ β and (γ . i) ≤ (α . Then there is a finite set B ⊂ M satisfying ∀ α ∈ M ∃ β ∈ B such that β ≤nat α . Again. that is. Let > be a monomial ordering. For n = 1 we can take the minimum of M as the only element of B.2. For the proof (which we leave as an exercise) one needs Lemma 1. B is finite.6 (Dickson‘s Lemma). . . (3) xα > 1 for all α = (0. . lexicographical ordering (lex) (2) dp : xα > xβ ⇔ |α| > |β| or |α| = |β| and ∃i : αi < βi .Local and global (and mixed) orderings have quite different properties. αi > βi . (1) lp : xα > xβ ⇔ ∃i : α1 = β1 . αn ) ≥nat (β1 . hence B ⊂ B1 ∪ · · · ∪ Bs for some s. αi+1 = βi+1 . . . Let M ⊂ Nn be any subset. To see this. by induction. . (2) xi > 1 for i = 1. . . i) ∈ M } and. . by induction hypothesis.7 (the first two are global.5. . . .2. αi−1 = βi−1 . let (α . αn ). . β ∈ Bi } is a Dickson basis of M . i) ∈ Nn | 0 ≤ i ≤ s. Lemma 1. negative degree reverse lexicographical ordering. . For n > 1 and i ∈ N define Mi = {α = (α1 . αn = βn . βn ) :⇐⇒ αi ≥ βi for all i . αn ) ∈ B and (β . αn ) ∈ M . Mi has a Dickson basis Bi . . . We claim that B := {(β . Then α ∈ Mαn and. 0). . . . i) ∈ Bi . since Bαn is a Dickson basis of Mαn . αn ). αn ) ≤ (α . then (β . . . If αn > s. B is sometimes called a Dickson basis of M . (3) ds : xα > xβ ⇔ |α| < |β| or |α| = |β| and ∃i : αi < βi . We write ≥ instead of ≥nat and use induction on n. The last condition means that > is a refinement of the natural partial ordering on Nn defined by (α1 . . (mixed orderings will be considered later) 5 . . i) ∈ B and (γ . then the following conditions are equivalent: (1) > is a well–ordering. Proof.2.

1. . For the proof of the Hilbert basis theorem we use 6 . the image Im ϕ = ϕ(I) = {ϕ(a) | a ∈ I} is. . . not easy. Theorem 1. . For A = K a field. fk . hence the computation is trivial. If Λ is finite. . xn ] is any set we denote by • L(G) = LT(g) | g ∈ G A[x] .3 Ideal Operations Ideals are in the centre of commutative algebra and algebraic geometry. . . . . . Definition 1. only an ideal if ϕ is surjective. L(G) = LM (G).e. a generating set can be computed) which is. we say that I is finitely generated and we write I = f 1 . Λ any index set. as always. . In particular. Note 1.3. then the preimage ϕ−1 (J) = {a ∈ A | ϕ(a) ∈ J} is an ideal. . fk A = f 1 . (3) If G ⊂ A[x] = A[x1 . xn ] is Noetherian. . xn ] is Noetherian. . and we have for λ ∈ K \ {0} λxα ∈ L(G) ⇐⇒ xα ∈ L(G) ⇐⇒ ∃ g ∈ G : LM(g) | xα . . is called a system of generators of I if every element f ∈ I can be expressed as a finite sum f = λ aλ fλ for suitable aλ ∈ A. say Λ = {1. A ring A is called Noetherian if every ideal in A is finitely generated.2. .3. Preimages (hence kernels) can be effectively computed (i. In particular. Often ideals are not given by generators. . and fλ ∈ I. then K[x1 . If ϕ : A → B is a ring homomorphism and J ⊂ B an ideal. if K is a field.3. Let A be a ring. the leading term ideal of G.3. k}. . If A is a Noetherian ring then the polynomial ring A[x1 . however. Definition 1. commutative and with 1.4 (Hilbert Basis Theorem). On the other hand. .3. . in general. (2) A family (fλ )λ∈Λ . (1) A subset I ⊂ A is called an ideal if it is an additive subgroup which is closed under scalar multiplication. Images are generated by the images of the generators (for surjective ϕ). the leading monomial ideal of G. • LM (G) = LM(g) | g ∈ G A[x] . . the kernel Ker ϕ = {a ∈ A | ϕ(a) = 0} is an ideal in A.1. . .

. . Definition 1. (3) Every non–empty set of ideals in A has a maximal element (with regard to inclusion). denoted by I or rad(I) is the ideal √ I = a ∈ A ∃ d ∈ N such that ad ∈ I . ak+1 = i=1 bi ai for suitable bi ∈ A. We argue by contradiction. i=1 Since fk+1 ∈ I f1 . Let us assume that there exists an ideal I ⊂ A[x] which is not finitely generated. . . .4. a1 . J ⊂ A we define: (1) The ideal quotient of I by J is defined as I : J := a ∈ A aJ ⊂ I . . . . The following properties of a ring A are equivalent: (1) A is Noetherian. . For ideals I. . there exists some j0 such that Ij = Ij0 for all j ≥ j0 ). . ak+1 for k some k. then d1 ≤ d2 ≤ .. . By assumption it is stationary. Choose polynomials f1 ∈ I. (2) Every ascending chain of ideals I1 ⊂ I2 ⊂ I3 ⊂ . fi = ai xdi + lower terms in x . If di = deg(fi ). . . . becomes stationary (that is. We leave the proof of this proposition as an exercise. . fk . ak = a1 .3.3. the general case follows by induction. fk+1 ∈ I f 1 . . . The saturation of I with respect to J is I : J ∞ = a ∈ A ∃ n such that aJ n ⊂ I . We need to show the theorem only for n = 1. fk . . of minimal possible degree.. . f2 ∈ I f1 . ⊂ Ik ⊂ . √ (2) The radical of I.3. is an ascending chain of ideals in A. . . ... hence. Condition (2) is called the ascending chain condition and (3) the maximality condition. . Proof of Theorem 1. . that is.Proposition 1. . .6. . fk is a polynomial of degree smaller than dk+1 . . . and a1 ⊂ a1 . I is called reduced or a radical ideal if I = 7 √ I. a contradiction to the choice of fk+1 . Consider the polynomial k g = fk+1 − i=1 bi xdk+1 −di fi = ak+1 xdk+1 − k bi ai xdk+1 + lower terms . a2 ⊂ . .5. it follows that g ∈ I f1 . .

which exists. and L(I) = L(G) .2. xn ] Definition 1. Let G ⊂ R be any subset. • Every Gr¨bner basis G can be transformed into an interreduced one o by just deleting elements of G. if 8 .7.4. . for any g ∈ G. Let I ⊂ R be an ideal. if for any f ∈ I {0} there exists a g ∈ G o satisfying LM(g) | LM(f ). LC(g) = 1 and no monomial of tail (g) is divisible by any LM(f ). xn ). (Generators of) Ideal quotient. (2) G is called (completely) reduced if G is interreduced and if. 0 : f = 0 if and only if f is a non–zerodivisor of A. . . A map NF : R → R. . f ∈ G.J). • We shall see later that reduced Gr¨bner bases can always be como puted and are unique. These generators are leading monomials of suitable elements g1 .4. Note 1. . since K[x] is Noetherian. We say G is a Gr¨bner (standard) basis if it is a o Gr¨bner (standard) basis of G R . Hence G ⊂ I is a Gr¨bner basis. . Singular commands: quotient(I. .4.1.lib) 1.lib) (procedure in primdec. . . . o Existence of a Gr¨bner basis (non-constructive): o Choose a finite set of generators m1 . . sat(I. ms of L(I) ⊂ K[x]. The set of nilpotent elements of A is equal to 0 and called the nilradical of A. . gs ∈ I. (command in the Singular kernel) (procedure in elmi. (4) 0 : J = AnnA (J) is the annihilator of J and.3. hence. is called a normal form on R with respect to G. . . radical can be effectively computed. .3. . radical(I). f → NF(f | G) . saturation.4 Normal Forms and Gr¨bner Bases o Let > be a fixed global monomial ordering on Mon(x1 .(3) a ∈ A is called nilpotent if an = 0 for some n ∈ N. Definition 1. The set {g1 . . the minimal n is called index of nilpotency. . gs } is a standard basis for I. . Definition 1.J). Let G ⊂ R be a finite list. . K a field and let R = K[x1 . A finite set G ⊂ R is called a Gr¨bner basis or standard basis of I if o G ⊂ I. (1) G is called interreduced (or minimal) if 0 ∈ G and if LM(g) LM(f ) for any two elements f = g in G.

for short) of f and g is spoly(f. xβ ) := xγ be the least common multiple of xα and xβ . to prove (4). G ⊂ I a standard basis of I and NF(− | G) a normal form on R with respect to G. then r := f − NF(f | G) has a standard representation. Let I ⊂ R be an ideal. depends only on G and on >). f ∈ I. and. Let f. (3) follows from (2). contradicting NF(f | G) ∈ J. (4) If NF(− | G) is a reduced normal form. which implies f ∈ I. (2) If G = {g1 . h are two reduced normal forms of f with respect to G. Set γ := lcm(α. in particular. Then no monomial of the power series expansion of h or h is divisible by any monomial of L(G) and. If NF(f | G) = 0. . . since L(I) = L(G) ⊂ L( G R ) ⊂ L(I). Definition 1.4. G is also a standard basis of G R . Hence. max(αn . let f ∈ R and assume that h. ai ∈ R . If h − h = 0. the standard basis G generates I as R–ideal. a contradiction. if. . let f ∈ J and assume that NF(f | G) = 0. then it is unique (i. hence NF(f | G) ∈ I. . NF(f | G) has leading coefficient 1 and no monomial of its tail is divisible by LM(g). LC(g) 9 . then LM(h − h ) ∈ L(I) = L(G). s ≥ 0 . (3) I = G R.4. β1 ). for all f ∈ R. The s–polynomial (spoly. . Finally. Lemma 1. that is.4. βn ) and let lcm(xα . β) := max(α1 . (1) For any f ∈ R we have f ∈ I if and only if NF(f | G) = 0. To prove (2).(0) NF(0 | G) = 0 . h − h = (f − h ) − (f − h) ∈ G R = I. moreover. moreover. g ∈ G. (2) If J ⊂ R is an ideal with I ⊂ J. Proof. . hence. then L(I) = L(J) implies I = J. (1) If NF(f | G) = 0 then uf ∈ I and. then LM NF(f | G) ∈ L(G) = L(I).e. satisfies LM(r) ≥ LM(ai gi ) for all i such that ai gi = 0. . f ∈ I by (1). Then LM NF(f | G) ∈ L(G) = L(I) = L(J). gs }. NF is called a reduced normal form. g ∈ R {0} with LM(f ) = xα and LM(g) = xβ . that is the remainder s r = f − NF(f | G) = i=1 a i g i . since LM(h − h ) is a monomial of either h or h . . (1) NF(f | G) = 0 =⇒ LM NF(f | G) ∈ L(G). since G R ⊂ I. g) := xγ−α f − LC(f ) γ−β ·x g.5.

G ∈ G. • while (h = 0 and Gh := {g ∈ G | LM(g) divides LM(h)} = ∅) choose any g ∈ Gh . z). y + z} . LC(g) and LM spoly(f. Assume that > is a global monomial ordering. g := tail(g).6 (NFBuchberger(f | G)).If LM(g) divides LM(f ). if (g = 0) h := h + LT(g).7 (redNFBuchberger(f | G)). g). LM(f ) = xα . y. Let > be the ordering dp on Mon(x. g) < LM(f ). • while (g = 0) g := NFBuchberger (g | G). Algorithm 1.4. Example 1. 10 . say LM(g) = xβ .4. then the s–polynomial is particularly simple. • h := f . g) = f − LC(f ) α−β ·x g. • return h. where G denotes the class of finite lists. spoly(f. a reduced normal form of f with respect to G • h := 0. NFBuchberger proceeds as follows: G = {x2 . h := spoly(h. a normal form of f with respect to G. f = x3 + y 2 + 2z 2 + x + y + 1 . Input: f ∈ K[x]. Assume that > is a global monomial ordering.8. g := f . Note that each specific choice of “any” can give a different normal form function. G ∈ G Output: h ∈ K[x]. Output: h ∈ K[x]. g). g Algorithm 1. We use in this case the notation f −→ h if h = spoly(f.4. Input: f ∈ K[x]. • return h/ LC(h).

xn ]. we obtain a strictly increasing sequence of monomial ideals L(S) of K[x]. f = g}. y+z LM(h2 ) = yz. . Let G be the class of finite lists (a list is a sequence). Gf = {x2 }. • return S. (f −→ h1 ). 2 h2 = spoly(h1 . the pair-set P will become empty. g) ∈ P . after finitely many steps. (h2 −→ h3 ).5. • while (P = ∅) choose (f. Gh2 = {y + z}. S := S ∪ {h}.LM(f ) = x3 . h := NF spoly(f. g)}. g) ∈ P . again after finitely many steps. Correctness follows from applying Buchberger’s fundamental standard basis criterion below. 2 x LM(h1 ) = y . f ) | f ∈ S}. 11 . To have shorthand notation we underline the leading terms and then the reduced normal form acts as 1 1 1 f −→ NF(f | G) = 3z 2 + x+ y + 1 −→ 3z 2 + x− z + 1 −→ z 2 + x − z + . g) | f. R Output: S ∈ G such that S is a Gr¨bner basis of I = G o • S := G. g) | S = 0 for (f. ¨ Algorithm 1. y+z Hence. and. NF an algorithm returning a normal form. Gh1 = {y + z}. y+z 3 3 3 =RedNF(f |G) 1. . NFBuchberger(f | G) = 3z 2 + x + y + 1.1 (Grobner(G. which becomes stationary as K[x] is Noetherian. . h1 = spoly(f. ⊂R ¨ Termination of Grobner: if h = 0 then LM(h) ∈ L(S) by property (i) of NF. we always have NF spoly(f.NF)).5 Gr¨bner Basis Algorithm o Let > be a fixed global monomial ordering and let R = K[x1 . y + z) = −yz + 2z 2 + x + y + 1. the pair–set. Hence. . x2 ) = y 2 + 2z 2 + x + y + 1. g ∈ S. P := P {(f. if (h = 0) P := P ∪ {(h. That is. Gh3 = ∅. (h1 −→ h2 ). • P := {(f. h3 = spoly(h2 . Input: G ∈ G. g) | S . y + z) = 3z 2 + x + y + 1.

f4 ): P =∅ spoly(f3 . (2) NF(f | G) = 0 for all f ∈ I. f2 }. gj ) | G = 0 for i. f1 = x3 + y 2 . (f3 . f4 )} spoly(f2 . f4 ) {f1 . S) P = {(f1 .5.) S = {f1 . f3 ): P = {(f2 . f4 ). f3 ) = xyf2 − zf3 = −xy 3 − y 3 z 2 =: f4 = NF(f4 . . f3 . S) P = {(f1 . f4 } In the fourth run: (f2 . f3 ). R. f2 = xyz − y 2 (underline leading terms). f3 )} spoly(f1 . Let I ⊂ R be an ideal and G = {g1 . 12 . . f4 ) = y 4 z 3 − x3 y 3 −→ − x3 y 3 − xy 4 z −→ − xy 4 z + y 5 −→ 0 f f f 4 1 2 o return{f1 . P = {(f1 . j = 1. . f4 ) = −y 4 z − x2 y 3 −→ 0 f 3 In the fifth run: (f3 . the implication (4) ⇒ (1) is called Buchberger’s criterion.Theorem 1.3. . s. (4) G generates I and NF spoly(gi . Let NF(− | G) be a normal form on R with respect to G.2 (Buchberger’s criterion). (f2 . f2 . f2 )} The while–loop gives. f3 ) = y 2 f1 − xf3 = y 4 − xy 3 z −→ 0 f 2 In the third run: (f2 . f4 }. Example 1. since LM(f1 ) = x3 and LM(f4 ) = y 3 z 2 have no common divisor. NF=NFBuchberger. f4 ). (3) Each f ∈ I has a standard representation with respect to NF(− | G). f2 . y). f4 ): P = {(f3 . f2 . . Let > be the ordering dp on Mon(x. (f2 .5. f3 )} S = {f1 . a Gr¨bner basis of f1 . . f3 ): P =∅ spoly(f2 . . f2 }.f4 } −→ 0 by the product criterion. in the first run: (f1 . G = {f1 . f2 ): P =∅ spoly(f1 . f3 } In the second run: (f1 .NF) works as follows: S = {f1 . f2 ) = yzf1 − x2 f2 = y 3 z + x2 y 2 =: f3 = NF(f3 . f4 )} (Note: spoly(f1 . Then the following are equivalent: 1 (1) G is a standard basis of I. gs } ⊂ I. ¨ Grobner(G. f3 . f2 1 Usually. .

Since f ∈ K[xs+1 . Hence S is a standard basis of I . xn ). . . . . and let I ⊂ K[x1 . +) is an abelian group and + and · satisfy 13 . . Solution: Choose an elimination ordering for x1 . . xn ). . . .1 Constructive Ideal and Module Theory Operations on Ideals and their Computation Ideal Membership Problem: Given f. gs } of I. Since > is an elimination ordering S ⊂ I . . . Proof. . . . . Solution: Choose any global monomial ordering > and compute a standard basis G = {g1 .g. gk } is a standard basis of I. . . . we have LM(f ) ∈ K[xs+1 . . xn ]. . + : M × M −→ M and a scalar multiplication. xn ]. > is called an elimination ordering for x1 . . . . . . s < n. A set M with two maps. xs . This follows from the following Lemma. . S generates the ideal I . then S := {g ∈ S | LM(g) ∈ K[xs+1 . . . Decide whether f ∈ I. Let > be an elimination ordering for x1 . xs . . . since S is a standard basis of I. . xn ] LM(f ) ∈ K[xs+1 . .2 Gr¨bner Bases for Modules o Definition 2. . . . .1. xn ]} is a standard basis of I := I ∩ K[xs+1 . xn ] (e.2. .2 2. I = f1 . . fk ∈ K[x]. . . . .2 Intersection with Subrings (Elimination of variables) This is one of the most important applications of Gr¨bner bases. . f1 . and compute a standard basis S = {g1 . . they are a standard basis of I . Even more. . In particular. o Problem: Given f1 . xs if for all f ∈ K[x1 . gi ∈ S . xn ]. . xn ] and. . . . .1. . · : A × M −→ M is called an A-module if (M. xs on Mon(x1 . . . . If S = {g1 . generate I . . . . . .1 2. . xn ]> be an ideal. . . . xn ] ⇒ f ∈ K[xs+1 . an addition. . . . .1. . . . . find Elements of I are said to be obtained from I by eliminating x1 . fk ∈ K[x] = K[x1 . for which LM(gi ) does not involve x1 .1. Given f ∈ I ⊂ I there exists gi ∈ S such that LM(gi ) divides LM(f ). xn ]> . . Let A be a ring. . . . . . . Those gi . . . . . . Lemma 2. fk generators of the ideal I = I ∩ K[xs+1 . . xs on Mon(x1 . . 2. 2. . .: lex or product orderings). and let I = f1 . Then f ∈ I if and only if NF(f | G) = 0. . gk } of I. . . K[x] . or not. . . . fk . hence.1. . .

γ ∈ Nn . More generally. . Fix a module ordering >m and denote it also with >. denoted by (>. b ∈ A. .2. . For the proof see e.>). that is. r}. then M is Noetherian iff M is finitely generated. . Let M be an A-module and N ⊂ M a submodule. . giving priority to the components. .• (a + b) · m = a · m + b · m • a · (m + n) = a · m + a · n • (a · b) · m = a · (b · m) • 1·m= m for all a.g. . m. . . β. . f ∈ K[x]r {0} can be written uniquely as f = cxα ei + f ∗ with c ∈ K {0} and xα ei > xα ej for any non–zero term c∗ xα ej of f ∗ : We define as before 14 ∗ ∗ Any vector . . For r > 0. . where K is a field. . Ar with componentwise + and · is an A-module which is Noetherian if A is Noetherian. Definition 2. . n ∈ M . (1) M is Noetherian ⇐⇒ N and the factor module M/N are Noetherian (2) If A is Noetherian. i = 1. we have Lemma 2. r. . .2. 0) ∈ K[x]r a monomial (involving component i). (2) xα > xβ =⇒ xα ei >m xβ ei for all α. Let > be a monomial ordering on K[x].3. . denoted by (c. Two module orderings are of particular interest: xα ei > xβ ej :⇐⇒ i < j or (i = j and xα > xβ ) . . satisfying (1) xα ei >m xβ ej =⇒ xα+γ ei >m xβ+γ ej . and xα ei > xβ ej :⇐⇒ xα > xβ or (xα = xβ and i < j) . A (module) monomial ordering or a module ordering on K[x]r is a total ordering >m on the set of monomials {xα ei | α ∈ Nn . . . . . xα . i=1 We call xα ei = (0. . Proof.2.c). which gives priority to the monomials in K[x]. [GP]. We have to extend the notion of monomial orderings to the free module K[x]r = r K[x]ei . i. j = 1. 1. . which is compatible with the K[x]–module structure including the ordering >. ei = (0. 0) ∈ K[x]r .

The notion of minimal and reduced Gr¨bner basis is the same as for o ideals.2. . 2. for any o f ∈ I {0} there exists a g ∈ G satisfying LM(g) | LM(f ). LT(f ) := cxα ei . tail(f ) := f ∗ For I ⊂ K[x]r a submodule we call leading monomial leading coefficient leading term tail {0} ⊂ K[x]r L> (I) := L(I) := LT(g) | g ∈ I K[x] the leading module of I K (which coincides with LM (I) = LM(g) | g ∈ I \ {0} K[x] since K is a field).3. . that is.3 Exact Sequences and free Resolutions · · · → Mk+1 − − Mk −→ Mk−1 → · · · −→ − ϕk+1 ϕk Definition 2. The set of monomials of K[x]r may be identified with Nn × E r ⊂ Nn × Nr = n+r N . Definition 2. A finite set G ⊂ I is called a Gr¨bner or standard basis of I if and only if L(G) = L(I). −→ F1 − F0 −→ 0 −→ → is called a free resolution of M . A free resolution has (finite) length n if Fk = 0 for all k > n and n is minimal with this property. −→ Fk+1 − − Fk −→ . Definition 2. . Frequently the complex of free A-modules (without M ) F• : .2. .1. . .LM(f ) := xα ei .4. . Let > be a fixed global monomial ordering. We say that xβ ej is divisible by xα ei if i = j and xα | xβ . . xn ]. An exact sequence 0 −→ M − M − M −→ 0 → → is called a short exact sequence. It is called exact at Mk if Ker(ϕk ) = Im(ϕk+1 ) . −→ F1 − F0 − M → 0 −→ → → with finitely generated free A–modules Fi for i ≥ 0. LC(f ) := c . Let I ⊂ Rr be a submodule. . −→ Fk+1 − − Fk −→ . E r = {e1 . A sequence of A–modules and homomorphisms is called a complex if Ker(ϕk ) ⊂ Im(ϕk+1 ). . It is called exact if it is exact at all Mk . The normal form algorithm and Buchberger’s Gr¨bner basis algorithm o extend easily to submodules I ⊂ Rr . .3. . A free resolution of M is an exact sequence . 15 ϕk+1 ϕ1 ϕk+1 ϕ1 ϕ0 ϕ ψ . . er }. Also the definitions of normal form and of s–polynomial. Let A be a ring and M a finitely generated A–module. . . . Again we write R := K[x] = K[x1 .

. . . . . . . . . m)). fk + er+k }.4. . fk R and syz(I) := syz(f1 . Algorithm 2. . . . i = 1. . . . . • return S = {s1 . . . >). 16 . Theorem 2. . . . . where the Fi are free R–modules. . . . . gk ) ∈ Rk satisfying k gi fi = 0 . fk of an R–module M is a k–tuple (g1 . where e1 . it is the kernel of the ring homomorphism k ϕ : F1 := i=1 Rεi −→ M . • F := {f1 + er+1 . For the proof we refer to [GP]. . . . . . . . .3 (syz(f1 . xn ) and R = K[x]. . . . Algorithm 2. .1. Let > be a global monomial ordering on Mon(x1 . Proof. . ϕ surjects onto the R– module I := f1 . . . . aik ). • compute a standard basis G of F ⊂ Rr+k with respect to (c. fk )). . • G0 := G ∩ r+k Rei = {g1 . . . Input: f1 . Let R = K[x1 . . . . . . Output: S = {s1 . Definition 2.4 (Resolution(I. εi −→ fi . . fk is a submodule of Rk . . s } ⊂ K[x]k such that S = syz(f1 . . . . . . with i=r+1 k gi = j=1 aij er+j . . . . .4. s }. . fk ) := Ker(ϕ) is called the module of syzygies of I with respect to the generators f1 . g }. xn ) and R = K[x]. fk . . fk ∈ K[x]r . Let > be any monomial ordering on Mon(x1 .4. . . • si := (ai1 . Then any finitely generated R–module M has a free resolution 0 → Fm → Fm−1 → · · · → F0 → M → 0 of length m ≤ n. . . where {ε1 . i=1 The set of all syzygies between f1 . . . . εk } denotes the canonical basis of Rk .4 Computing Resolutions and the Syzygy Theorem In the following definition R can be an arbitrary ring. fk ) ⊂ Rk . .2. . . . . i = 1. . . . xn ]. . . . .2 (Hilbert’s Syzygy Theorem). . . A syzygy or relation between k elements f1 . . . .4. er+k denote the canonical generators of Rr+k = Rr ⊕ Rk such that r f1 . . fk ∈ Rr = i=1 Rei .

. • A1 := matrix(f1 . fk ∈ K[x]r . . . and m a positive integer.r. i = 1. Problem: Given f1 . . Then k f = i=1 gi fi . 2. > a global monomial ordering on K[x]. . The module membership problem can be formulated as follows: Problem: Given polynomial vectors f. . fk ⊂ Rr . . . xn ). . . . . fk ⊂ Rr . . . >). . such that 1 . . . decide whether f ∈ I := f1 . . . . . fk ) ⊂ Rk+1 w. . . . . . . where {e1 . . −→ Rrm − m Rrm−1 −→ . the ordering (c. . er } denotes the canonical basis of Rr . fk ⊂ Rr or not. . . Solution: Compute a standard basis G = {g1 . Then f ∈ I ⇐⇒ NF(f | G) = 0 . . Additional Problem: If f ∈ I = f1 . . . gs } of I with respect to >m and choose a normal form NF on Rr . . f1 . . . I = f1 . .t. . fk ) ∈ Mat(r × k. . .5 Operations on Modules and their Computation Let K be a field. Am with Ai ∈ Mat(ri−1 × ri . −g1 . find a (polynomial) system of generators for the submodule r I := I ∩ i=s+1 Rei . . • return A1 . . . fk ∈ Rr . . Now choose any vector h = (1. . Output: A list of matrices A1 . . f1 . −gk ) ∈ G. • i := 1. fk ∈ K[x]r . . . . x = (x1 . . . .Input: f1 . I = f1 . . −→ Rr1 −→ Rr −→ Rr /I −→ 0 − → − A A is the beginning of a free resolution of Rr /I. . 17 . . Intersection with Free Submodules (Elimination of Module Compor nents) Let Rr = i=1 Rei . . fr ⊂ Rr then express f as a linear k combination f = i=1 gi fi with gi ∈ K[x]. • while (i < m) i := i + 1. . m. K[x]). and R = K[x]. Solution: Compute a standard basis G of syz(f. . Ai := syz(Ai−1 ). . . . . . K[x]). . . . . Am . R = K[x].

Solution: Compute a standard basis G = {g1 . >).Elements of the submodule I are said to be obtained from f1 .t. .r. . . . . . . . gs } of I w. . . es . . fk by eliminating e1 . Then r G := is a standard basis for I . g ∈ G LM(g) ∈ i=s+1 K[x]ei 18 . . (c.

s) ∼ (a . the multiplicatively closed set S = {s ∈ A | sa = 0 ⇒ a = 0 ∀ a ∈ A} of non-zero divisors of A.6. then Q(A) is a field. . J).1. Definition 3. ai ∈ A . Definition 3. Lemma 3.3.2. if A is a domain (i.2 Key-Lemma bn + a1 bn−1 + · · · + an = 0 .2 (Key-lemma). char(K) = 0 or K finite) and A = K[x1 . S = A \ {0}). . = 1 Proof. the characteristic polynomial of ϕ defines an integral relation of ϕ ∈ HomA (J. V (IN ) = N (A) := {P ∈ Spec A | AP is not normal} . a ∈ A} s with usual + and · of fractions. that is. the field of fractions of A. fk reduced (i.e.1. ·) is a ring.3 3.g.4. . b ∈ Q(A) is integral over A if it satisfies a relation We define the normalisation of A as A := b ∈ Q(A) b is integral over A . 19 ∼ = ϕ −→ ϕ(f ) f . the integral closure I of I in A (cf. 3. J ) with HomA (J. that is. that is. (Q(A).1. Let J ⊂ A be an ideal. xn ]/ f1 .1 Constructive Normalization of Affine Rings Integral Closure of Rings and Ideals Let K be a perfect field (e. Remark 3. For any ring A we define the total ring of fractions Q(A) as the localization of A w. +. • an ideal IN ⊂ A describing the non-normal locus. J) ∼ f (f J : J) ⊂ A. if a ∈ A and ap = 0 for some p > 0 then a = 0). and Lemma 3.2.e. A is the integral closure of A in Q(A). . J) ⊂ HomA (J. s) s with (a. where a is the equivalence class of pairs (a.2. (1) By the Cayley-Hamilton theorem. . ¯ (2) HomA (J. We describe algorithms to compute • the normalisation A of A. . For the proof we refer to [GP].1. Lemma 3. containing a nonzerodivisor f of A. . That is Q(A) = { a | s ∈ S. We can also compute for any ideal I ⊂ A. A) −→ h ∈ Q(A) hJ ⊂ A ⊂ Q(A) . . A) ∩ A ⊂ HomA (J. [GP]).t. s ) iff as = a s. Then √ A ⊂ HomA (J. . the integral closure of A in the total ring of fractions Q(A).r.6.

then the Jacobian ideal J= f1 . I = f1 . then J is also a test ideal. Let A be a reduced Noetherian ring and J ⊂ A an ideal satisfying (1) J contains a non-zerodivisor of A. . Assume d > 0 ⇒ ∃ h ∈ A. “⇐=” (3) ⇒ ∃ d ≥ 0 minimal s. . Proposition 3.3. Since A is reduced. . c-minors of ∂fi ∂xj defines Sing(A).4 Test Ideals Let R = K[x1 . V (J) = Sing(A). (3) V (J) ⊃ N (A) = V (C).1 (Criterion for normality). A = R/I reduced. √ (2) J = J. fk . (2). K a perfect field. J contains a non-zerodivisor of A. . Hence we can compute test ideals as follows (all steps are effective): • compute J such that V (J) = Sing(A) √ • compute J √ Then J is a test ideal for the normalization. . . If A is equidimensional of codimension c. We have N (A) ⊂ Sing(A). . . 3. . Then C = AnnA (A/A). 20 .th. A = A ⇐⇒ A = HomA (J. . . Let Sing(A) = {P ∈ Spec A | AP is not regular} be the singular locus of A. fk . Note that we can as well compute √ any ideal J ⊂ J containing a non-zero divisor. haJ ⊂ hJ d ⊂ AJ d ⊂ A ⇒ ha ∈ A ∩ HomA (J.3 A Criterion for Normality The following criterion is basically due to Grauert and Remmert (1971).3.th. AJ d ⊂ A. . In general. A) = HomA (J. we can use an equidimensional or primary decomposition to compute an ideal J s. J). An ideal J with (1). xn ]. Proof. (3) is called test ideal for the normalization. a ∈ J d−1 : ha ∈ A. J) (key-lemma) =A That is a contradiction and we conclude that d = 0 and thus A = A.

therefore. there exist ξk ∈ A such s ij that (ui /x) · (uj /x) = k=0 ξk · (uk /x). . . .3(2). If A = A(1) then A is already normal by Proposition 3. . . . . J (1) ) for a test ideal J (1) ⊂ A(1) . On the other hand. . . To prove (2). . (3) Obviously. let J ⊂ A be an ideal and x ∈ J a non–zerodivisor.3.5. 21 . . . by a theorem of M. J) = (1/x) · (xJ : J) is a ring. . J) for some test ideal J ⊂ A. . ts ] be the ideal s s ij ξk tk 1 ≤ i ≤ j ≤ s . . In order to do the computations effectively. hs ) is a i=1 syzygy of u0 = x. . Noether. . u1 . hence. Example 3. . . we can write s h ≡ h0 + i=1 hi ti mod I. u1 . This is described in the following lemma. 1 ≤ i ≤ j ≤ s. y 2 . Now φ(h) = 0 implies h0 + s hi · (ui /x) = 0. . h ∈ I. . . . k = 1. . Moreover. . . . . ts ] → (1/x) · (xJ : J) is the ring map defined by ti → ui /x.2. Then we can write s (2) ui · uj = k=0 (k) ij ij xξk uk with suitable ξk ∈ A. . m. If not. J) ∼ · (xJ : J) .1.1. . . h1 . If A(1) = A(2) then A = A(1) . k=0 ν=0 the syzygy module I := ti tj − (k) ην tν 1 ≤ k ≤ m . s. . where φ : A[t1 . . us } be a system of generators for the A–module xJ : J. . let {u0 = x. us /x. . s. hs ∈ A. defines an isomorphism ∼ 1 = A[t1 . . . . . ⊂ A(i) ⊂ . for some h0 . i = 1. .3. . Then x ∈ J is a non–zerodivisor in A with xJ : J = x x. 1 ≤ i ≤ j ≤ s. generate syz(u0 . Then (3) ti → ui /x. = x Proof. using the relations ti tj − k=0 ξk tk . therefore. Therefore. otherwise we continue in the same way to obtain a sequence of rings A ⊂ A(1) ⊂ .5. we compute A(2) = HomA(1) (J (1) . I ⊂ Ker(φ). . . Let A be a reduced Noetherian ring. . y : x. . us and. .5 Algorithm to Compute the Normalization The idea of the algorithm is to compute the endomorphism ring A(1) = HomA (J. which is ij generated as A–module by u0 /x. y]/ x2 − y 3 and J := x. note that HomA (J. . let h ∈ Ker(φ). s ij Then. Let A := K[x. (k) Let (η0 . . and let I ⊂ A[t1 . . . . ts ]/I −→ HomA (J. (h0 . ⊂ A. Lemma 3. J) if and only if xJ : J = x . us ). y ⊂ A. where t0 := 1. . we must present A(i) as affine ring. i = 1. .2. y = x. (1) follows immediately from Remark 3. The process must stop since A is affine. . . ηs ) ∈ As+1 . Then (1) A = HomA (J. .

0 . . . . xt − y 2 . xn ]/I is an integral domain over a field K of characteristic 0. . t]. a prime ideal P ⊂ K[t] and π : K[x] → K[t] such that the induced map π : K[x]/I → K[t]/P is the normalization of K[x]/I. . u1 := y 2 . xn .5. especially I is prime. . . we 11 obtain u2 = y 4 = x2 y. that is.5.1 and Lemma 3. • compute a generating system u0 = a. Hence. us ) ⊂ (K[x]/I)s+1 . . . . . us for aJ : J. yt − x K[t]. i. . . . .3. fk ⊂ K[x] a prime ideal. . Let us illustrate the normalization with Whitney’s umbrella 2 This is useful information because. . . using Proposition 3. u1 . s. . . we can avoid computing the minors of the Jacobian matrix and the radical (which can be expensive). . • if I = 0 then return (K[x]. . . idK[x] ). else compute J := the ideal of the (n − r)–minors of the Jacobian matrix I. idK[x] ). . .3 (normalization(I)). . y 2 /x (using Remark 3. t = (t1 . Note that I1 is again a prime ideal. . . .HomA (J. Algorithm 3. • compute r := dim(I). . . . . • return normalization(I1 ). ts ]/I1 ∼ HomA (J. and set (with t0 := 1) (k) s s ij I1 := {ti tj − k=0 ξk tk }1≤i≤j≤s . . 22 . (η0 . . . ∼ = Now. . We describe the algorithm for the case that A = K[x1 . xn . I.5. xn ). ηs ). • choose a ∈ J {0}.2. .4 (normalization). we obtain an isomorphism 1 A[t]/ t2 − y. in this case. ts ]. • J := radical(I + J). Setting u0 := x. J) ⊂ Q(A) = is an integral domain. . since K[x1 . that is. . Input: I := f1 . tN ). . (1) (1) (m) (m) ) for the • change ring to K[x1 . ξ0 = y. . The property of being an isolated singularity is kept during the normalization loops. xt − y 2 . . J) = 1. . ij • compute ξk such that ui · uj = s k=0 ij a · ξk uk . • if aJ : J = a return (K[x]. of A–algebras. ηs module of syzygies syz(u0 . t1 .1 we obtain an algorithm to compute the integral closure. { ν=0 ην tν }1≤k≤m + IK[x. . . . J) . xn . t1 . j = 1. . • if we know that the singular locus of I is V (x1 . . . . yt − x −→ HomA (J. . . . . . • compute a generating system (η0 . . . . Note that A[t]/ t2 − y.3(2)). . . x = (x1 . . xn )2 J := x1 . Example 3. Output: A polynomial ring K[t]. .

. • Compute a non-zerodivisor f ∈ J: choose a linear combination f of the generators of J and test f non-zerodivisor ⇐⇒ (I : f ) := g ∈ S gf ∈ I • Compute the radical f. setring R. I := f1 . . fk . (t1 .ring A = 0. I =: J. z → −T1 T2 . Output: Generators for IN s.6.y. V (IN ) = N (S/I).lib". ideal I = y2-zx2.2 (non–normal locus).5. V (J) = Sing(S/I). 3. J)/A ∼ (f J : J) : f . = Then V (IN ) is the non-normal locus of A.1.(x."). √ Assume: I = I. LIB "surf. xn ]. .dp. and set IN := AnnA HomA (J. Input: f1 . t2 ) 2 Figure 1: The normalization of Whitney’s umbrella. 2 y → −T2 . Let A be a reduced Noetherian ring. //-> norid[1]=0 normap. . we obtain: Corollary 3. .6. norid. . • Compute an ideal J s. . t1 t2 . . list nor = normal (I). T2 ] with normalization map x → T1 . Algorithm 3. 23 = {0}.36."rot_x=1.rot_z=4. the normalization of A/I is K[T1 .th. .z). . plot(I. .rot_y=1. . t2 ) → (t1 . J ⊂ A a test ideal. K perfect. //-> normap[1]=T(1) normap[2]=T(1)*T(2) normap[3]=T(2)^2 Hence.6 Algorithm to Compute the Non-Normal Locus As a corollary of the Grauert-Remmert criterion.45.th. f ∈ J a non-zerodivisor of A. fk ∈ S = K[x1 . def R = nor[1]. .

re. We compute A := K[x.lib". ideal J = fetch(A. ideal sing = I+jacob(I).J). ideal I = zy2-zx3-x6.3.quotient(a*J.• Compute generators g1 .(x. g for (f J : J) : f as S-module. ideal a = J[1]. //-> re[1]=y //-> re[2]=x From the output. .z).6. ring A = 0.dp. we read that the non–normal locus is the z–axis (the zero–set of x. . . qring R = std(I). y ). . . 24 . the non–normal locus of LIB"primdec. • Return {g1 . .y.J)). y. ideal J = radical(sing). z]/ zy 2 − zx3 − x6 . ideal re = quotient(a. g }. . . Example 3.

with I ⊂ C[x]p some ideal. in particular. that is. where I ⊂ C[x] = C[x1 . 0) of the plane curve with affine equation y 2 − x2 (1 + x) = 0: The picture indicates: • in a small Euclidean neighbourhood of 0 the curve has two irreducible components. 3 Note that C[x]/I is not a local ring (except when the variety defined by I consists of only one point) while the other three rings are local. 4 Such a neighbourhood consists of the curve minus finitely many points different from 0. xn ] is an ideal. . C[x]p /I. . . . Actually. 25 . . rings of the form C[x]/I.3 Hence. P ) (= the equivalence class of all open neighbourhoods of P in V ) of the variety at a given point P . 4.4 4. the above real picture is misleading). . But a connected open subset of C minus finitely many points is irreducible (here. in each Zariski neighbourhood4 of 0 the curve is irreducible. meeting transversally. hence. that is. or even formal power series rings C[[x]]/I. • sometimes it means the study of the localization at a prime ideal p ⊂ C[x]. when considering “local” properties of a variety V . . what is meant by “neighbourhood”. and. we have for the maximal ideal x = x1 . .1 Computation in Local Rings What is meant by “local” computations ? There are several concepts of “local” in algebraic geometry: • sometimes it means just an affine neighbourhood of a point. xn C[x] ⊂ C[x] x ⊂ C{x} ⊂ C[[x]] where the first ring is the “least local” and the last one the “most local”. properties of the germ (V. the algebraic counterpart being affine rings.2 An Example We want to study the germ at 0 = (0. but • in the affine plane. • sometimes it means convergent power series rings C{x}/I. one has to specify what “local” should mean.

up to units. respectively. a sequence of K[x] x /I–modules 0 −→ M −→ M −→ M −→ 0 is exact if and only if the induced7 sequence of K[[x]]/IK[[x]]–modules is exact. Nevertheless. we define: is. nor factorize it in C[[x]] effectively (except for power series in two variables where the Newton algorithm for computing Puiseux series provides a method) and we do not know any algorithm which would be able to do this even if the input is a polynomial. y] x. y]].Let’s prove this: consider f = y 2 − x2 (1 + x) as element of C{x. below). In practice. since 1 + x is everywhere defined. since we have the following Facts: Let K be any field and I ⊂ K[x] • If dimK (K[x] x x an ideal. The zero-sets of the factors correspond to the two components of {f = 0} in a small neighbourhood of 0. But. hence. g must be a polynomial which is impossible. that is. then. we can basically treat only C[x] and C[x] x (or factor rings of those) in a computer algebra system6 .y .y satisfying f = y + xg y + xh .4 Rings Associated to Monomial Orderings To implement local rings in a computer algebra system one has to abort the restriction that monomial orderings are well-orderings. as local k–algebras.3 Computational Aspects We shall show in the following. since the factorization is unique. there would exist g. • The inclusion K[x] x /I ⊂ K[[x]]/IK[[x]] is faithfully flat. 4. = In particular. however. many invariants of (analytic) germs can be computed in C[x] x . that (and how) the concept of Gr¨bner basis o computations can be generalized to the local rings C[x] x . 7 by applying ⊗ K[x] x /I K[[x]]/IK[[x]] 6 Singular 5 This 26 . y}. is apparently the only existing computer algebra system which systematically has incorporated standard basis algorithms in local rings. since g 2 has degree 1. y] x. g 2 and. Hence. y]. 4. /I) < ∞. y}. We have a non-trivial decomposition5 √ √ f = y − x 1 + x y + x 1 + x) √ with y ± x 1 + x ∈ C{x. hence g = −h and g 2 = 1 + x. C{x} and C[[x]]. Otherwise. K[x] x /I ∼ K[[x]]/IK[[x]] . both vector spaces have the same dimension and a common basis represented by monomials. we can neither put a polynomial into Weierstraß normal form (cf. In particular. f is irreducible in C[x. However. also the factorization in C[[x. even in C[x. h ∈ C[x.

dp. satisfies xα > xβ =⇒ xγ xα > xγ xβ for all α. . β. Lemma 4. . Lemma 4.2.4. or deg xα = deg xβ and ∃ 1 ≤ i ≤ n : αn = βn . (b) xα < 1 for all α = (0. LM(u) = 1 . .2. . i.1. .5. . etc. Example 4.5. wn ≥ 0 • Negative lexicographical ordering >ls . A monomial ordering is a total ordering > on the set of monomials xα := xα1 · .5.2. .2. where w1 > 0. . 0). (1) The following are equivalent: (a) K[x]> = K[x]. 27 . • Product orderings of the latter. . . (b) xα > 1 for all α = (0. 0). . (c) the inverse ordering xα > xβ :⇔ xα < xβ is global. i. . that is. w2 .Definition 4. u ∈ K[x].1. Recall that in Singular the global orderings are indicated by p as 2nd letter (referring to “polynomial ring”): lp. (2) In genaral we have K[x] ⊂ K[x]> ⊂ K[[x]]. defined as >ds . 4.4. . ≥0 To any such monomial ordering > we associate the multiplicatively closed set S> := {u ∈ K[x] \ {0} | LM(u) = 1} and the ring −1 K[x]> := S> K[x] = f u f. αi < βi . + wn αn .5. The following are (the probably most important) local monomial orderings: • Negative degree reverse lexicographical ordering >ds : xα >ds xβ :⇐⇒ deg xα < deg xβ . . . . αi+1 = βi+1 .e. The following are equivalent: (a) K[x]> = K[x] x . > is global. . . . > is local. but replacing the degree of xα by the weighted degree wdeg(xα ) = w1 α1 + .5 Local Monomial Orderings The following Lemma follows again from Lemma 1. The following lemma follows easily from Lemma 1. γ ∈ Zn . which is defined to be the inverse of the lexicographical ordering. .e. · xαn which is compatible with the semigroup strucn 1 ture. • Weighted negative degree reverse lexicographical orderings >ws(w) .

LM(uf ) . Then LT(f ) corresponds to the largest (w. )[y] K[x. we define for any G ⊂ K[x]> the leading ideal L> (G) := L(G) := LM(g) | g ∈ G \ {0} K[x] . .t. the leading monomial of f . . >2 be monomial orderings on K[x]. .6. (3) >1 global . equipped with a product ordering (>1 . y] = K[x1 . these notions are compatible with the obvious extension of leading data to formal power series rings (w. Moreover. . Definition 4. and (K[x]> )∗ ∩ K[x] = S> = {u ∈ K[x] \ {0} | LM(u) = 1}. Then f1 . . >) term in the power series expansion of f and tail(f ) is the power series of f with the leading term deleted. 28 . LT(uf ) .r. . . 4. In this case: K[x] K[x]> K[x] x . the formal power series ring.2 (Ring maps). y] x . . the leading term of f .7 Leading Data Let > be any monomial ordering and f ∈ K[x]> .4. . >2 global : (K[x] x y )[x] = K[y] y ⊗K K[x] .6 Rings Associated to Mixed Orderings If the monomial ordering is neither local nor global then we call it a mixed ordering. LC(uf ) . .t. Example 4. . >2 arbitrary : K[x. . xi → fi . Then we have (1) >1 global . y]> = (K[y]>2 )[x] . y]> = (K[y] (2) >1 local . fn ) ∈ S>2 for all h ∈ S>1 . where R∗ denotes the group of units in the ring R. respectively K[y]. . . Consider K[x. It is useful to consider K[x]> as a subring of K[[x]]. .6. In particular. Then we can (and do) choose a u ∈ K[x] such that LM(u) = 1 and uf ∈ K[x] and define LM(f ) := LC(f ) := LT(f ) := and tail(f ) := f − LT(f ). provided that h(f1 . ym ].1. >2 ). y1 . the leading coefficient of f . a local monomial ordering).r. Note that these definitions are independent of the choice of u. . >2 local : K[x. Let >1 . y]> K[x. xn . fn ∈ K[y]>2 define a unique ring map ϕ : K[x]>1 → K[y]>2 .

As in the polynomial ring. we call any such expression a standard expression for f in terms of the fi and h the reduced normal form of f with respect to I. for a “normal form” we weaken the condition (b) to LM(h) is not divisible by any LM(fj ). . Moreover.7. (a) LM(f ) ≥ LM(gj fj ) . (b) if h = 0 then no monomial of h is divisible by LM(fj ). Since the leading ideal of an ideal is finitely generated. . Moreover. As before. gr ∈ K[[x]] and a remainder h ∈ F such that m f= j=1 gj fj + h and. then the monomials in K[x] \ L(I) represent a K-basis of K[x]> /IK[x]> . and L(I) = L(G) .1 (Division Theorem (Grauert)). let > be a local monomial ordering on F . . . f1 .8. . and let I ⊂ K[x] be an ideal. 4. we can extend the latter notions without further modifications to free R-modules with finite basis e1 . .1.7. for all j = 1. fm ∈ F \ {0}.Example 4. Then (a) dim(K[x]> /IK[x]> ) = dim(K[x]/L(I)) . respectively to R = K[[x]]. er . Let > be any monomial ordering on K[x]. if dim(K[x]> /IK[x]> ) < ∞.8 Division with Remainder The Division Theorems by Weierstraß and Grauert generalize division with remainder to free modules over formal power series rings: Theorem 4. (b) dimK (K[x]> /IK[x]> ) = dim(K[x]/L(I)) . and obtain o the notion of a standard basis (as introduced independently by Hironaka (1964) and Grauert (1972)): a finite set G ⊂ R is called a standard basis (SB) of I if G ⊂ I. er . . . . Let f = 2x 1−x + x = 3x + ∞ k=2 2xk . . .2. . . . the leading ideal L(I) encodes much information about the ideal I. . Again. . Then there exist g1 . m. . . . for instance: Theorem 4. . then LT(f ) = LT((1 + x)f ) = 3x . we can transfer the concept of Gr¨bner bases to R = K[x]> . and let f. 29 . Let F be a free K[[x]]-module with a finite basis e1 .

Moreover. with LM( s ai gi ) ≥ LM(ak gk ) for all k such that ak gk = 0 and. • Reduced standard bases are uniquely determined.2. h = xh for some h (because of the chosen ordering >ls ). . Let > be a local degree ordering on K[[x]] and let I be an ideal in K[x].9. in the formal power series ring K[[x]].t.9 Normal Forms and Standard Bases The existence of a reduced normal form is the basis to obtain. then the reduced normal forms with respect to S and S coincide. h − y = h − f ∈ G R = y − x R =⇒ LM(h) < 1. x. Assume h ∈ K[x. that is uf satisfies a relation (with ai polynomials) s uf = i=1 ai gi + h. . Let R = K[x]> for some monomial ordering >.1. why for many computations in local analytic geometry it is sufficient to compute in K[x] x . So far everything was a straight forward transition from polynomial rings to power series rings. 30 .y with > = >ls. From the computational point of view there are several problems: Example 4. S are two standard bases of the ideal I. LM(u) = 1. y] is a normal form of f w.t. the properties of standard bases already proved for GB in K[x]: • If S. We have: f∈ G R = y−x R =⇒ h = 0 =⇒ LM(h) ∈ L(G) = y .t. . Let G = {g1 . therefore no polynomial normal form of f w. . gs } be a finite subset of the free R–module F . g = (y − x)(1 − y) .r. y] f = y.4. Then S is a standard basis of I (w. G.10 Weak Normal Forms The fact that for polynomial input data there does not necessarily exist a polynomial normal form leads to the following Definition 4.y] (substitute (0.r. 4. y)) and.r. if h = 0 then i=1 LM(h) is not divisible by any LM(gi ). Therefore. But it was theoretical.r.1. Consider in R = K[x. G exists. However. >) =⇒ S is a standard basis of IK[[x]].9. 1) for (x. Theorem 4. G = {g} . The following theorem is one further reason.10. G.t. • Buchberger’s criterion holds. y − xh ∈ (y − x)(1 − y) K[x. A polynomial vector h ∈ F is called a (polynomial) weak normal form for f with respect to G if there exists a polynomial unit u ∈ R∗ such that h is a normal form for uf w.

4. The basic idea for this algorithm for local rings is due to Mora. Let f ∈ K[x] \ {0}.3. Note 4. . we obtain uy = (y − x)(1 − y) + h. • If > is global.Example 4. g).10. 31 .2 (Example 4. Again. even if added to T during the algorithm. } • return h. . h cannot be used in further reductions.3. . Output: h ∈ K[x].11.1. hence. Input: f ∈ K[x]. Hence. this problem would be solved when computing (1 − x) · x − g = 0 .11. g1 .2 (weakNF). then LM(g) | LM(h) implies LM(g) ≤ LM(h). gr . • T := G. Setting u := (1 − y) and h := x(1 − y). . we obtain Buchberger’s Algorithm. . Then we set Algorithm 4.11 The Weak Normal Form Algorithm ecart(f ) := deg f − deg LM(f ). . hence. but our algorithm is slightly different and more general (works for any monomial ordering). . Definition 4. • The reduce command in Singular returns h while the division command also returns the factors u. Let > be any monomial ordering. • while(h = 0 and Th := {g ∈ T | LM(g) divides LM(h)} = ∅) { choose g ∈ Th with ecart(g) minimal. The analogue to the Buchberger algorithm in K[[x]] “computes” the normal form 0 as ∞ x− i=0 xi (x − x2 ) = 0 . then the ecart is always 0. Look at the following Example 4. a weak normal form of f .9. Consider in K[x] x the polynomial f := x and the standard basis G := {g = x − x2 }. h := spoly(h. The same difficulty arises when trying to generalize Buchberger’s algorithm.2 continued). G = {f1 . if (ecart(g) > ecart(h)) {T := T ∪ {h}}. Moreover: • If the input is homogeneous. In the following we present the general (weak) normal form algorithm (due to Greuel and Pfister) as implemented in Singular. The latter algorithm also applies to free K[x]> -modules with a finite base. .10. fr } ⊂ K[x]. hence it will produce infinitely many terms (and not the finite expression 1/(1 − x)).11. • h := f . h is a (polynomial) weak normal form.

The algorithm terminates. g ∈ S. • while (P = ∅) { choose (f. Let > be any monomial ordering. The generalization to submodules of a finitely generated free module over R is immediate. such that S is a standard basis for G • S := G. and R := K[x]> .1 (std). the pair–set. since otherwise we would obtain a strictly increasing sequence of monomial ideals L(S) in K[x]. g). .4. g) ∈ P . 32 . f ) | f ∈ S}. Input: G = {f1 . g)}. Correctness follows from Buchberger’s criterion. we can proceed as in K[x] to compute a standard basis of a given ideal: Algorithm 4. . R. . g) | f. S := S ∪ {h}. fr } ⊂ K[x]. h := weakNF spoly(f. P := P \ {(f. if (h = 0) { P := P ∪ {(h. . Output: S ⊂ K[x]. f = g}. } } • return S. • P := {(f. S .12.12 Standard Basis Algorithm Having the above (weak) normal form algorithm.

. . factorize(f). . . . the primary decomposition of ideals. . . xn ] x1 −p1 .p := K[[x1 − p1 .ls. . 5. . f. From now on we assume that K is an algebraically closed field. . xn ] x . . . . .1. where all factors not vanishing at 0 become units (see also Application 2). K[x1 .. xn − pn ]] .2. . . . . more generally.p = K[x1 .1 Warning: Factorization in the power series ring K[[x1 . xn − pn ]]/I(X) · K[[x1 − p1 . Definition 5. an OX. pn ). . Primary Decomposition Note 5. . . . 33 . xn ] is any ideal (I is part of the structure). In Singular the factorization of polynomials. poly f=(1-y)*(x^2-y^3)*(x^3-y^2)*(y^2-x^2-x^3). .(x.1. Let X ⊂ K n be an affine algebraic variety and p ∈ X. centered at p = (p1 . . since after the factorization in K[x1 . .1. .1. . this is not a restriction. .xn −pn is called the algebraic local ring of X at the point p = (p1 . . pn ). and. The ring OX. are implemented only for the polynomial ring K[x1 . . .1. .. .1. .5 5. //-> [1]: //-> _[1]=1 //-> _[2]=-y2+x2+x3 //-> _[3]=-y2+x3 //-> _[4]=-y3+x2 //-> _[5]=-1+y //-> [2]: //-> 1.lib). .. . . The analytic local ring of X at p is the factor ring of the ring of formal power series. . . xn ]/I =: OX (X) is called the coordinate ring of X and OX the ideal sheaf of X. However. ring r0=0. xn ]] is not possible except for K[[x. . xn ] we can pass to the local ring. . . xn ] and not for the localization K[x1 . .2 Singularities X = V (I) = {x ∈ K n | f (x) = 0 ∀ f ∈ I} An (affine) algebraic variety in K n is the set where I ⊂ K[x1 .1 Singularities Factorization.y). implemented in Singular in hnoether.. y]] (using Hamburger–Noether expansion. .

p be an ideal such that dimK (OX.2.. . .2. . . . . = an In particular. xn ]/ f1 . . . we say that p is an isolated singularity of f . p is an isolated singularity of V (f ) iff the Tjurina number τ (f.2.. Note 5.3.p . . .. . ∂f /∂xn ....p /IOX. (1) f ∈ K[x]. xn − pn ∂f ∂f . Then an OX. .2.p be the algebraic local ring and let I ⊂ OX.p /I) < ∞. p) = 0 if and only if p is a non–critical point of f .p /I ∼ OX. .3. . has an isolated critical point at p if p is an isolated point of V (∂f /∂x1 . ∂x1 ∂xn the Tjurina number of f at p. xn − pn f.0 /I = = dimK K[[x1 . ∂f ∂f . ∂f /∂x1 . . the Tjurina number τ (f ). . Similarly. x = (x1 . both vector spaces have the same dimension and a common basis represented by monomials. . . .2 we can compute the Milnor number μ(f ). .2. that is. Similarly. . resp.1. . ∂f /∂x1 . . By Lemma 5. We write μ(f ) and τ (f ) if p = 0. . p∈V ∂f ∂f . 5. ∂f /∂xn ). p) is finite. Let OX. xn ]]/ f1 . ∂f /∂xn ). p) := dimK K x1 − p1 . . . and τ (f. (2) We call the number μ(f. 34 . . p) is finite iff p is an isolated critical point of f . . .. .. ∂f /∂xn with respect to a local monomial ordering and then apply the Singular command vdim. ∂x1 ∂xn the Milnor number. . .3 Milnor and Tjurina Number Definition 5. . For this we use the (easy) facts for a polynomial f ∈ K[x1 . .. . by computing a standard basis of ∂f /∂x1 . . . .4 Local Versus Global Ordering We can use the interplay between local and global orderings to check the existence of critical points and of singularities outside 0. if p is an K isolated point of V (f. The Milnor number μ(f. . . . . respectively f. xn ]: • μ(f. 5. fk . . . xn ).3. . . p) := dimK K x1 − p1 . .. or of the hypersurface V (f ) ⊂ An . . fn dimK K[x1 .. Note 5.Lemma 5.. ∂x1 ∂xn =: Crit(f ) . In general. dimK OX.

we have to compute vdim (std(jacob (f))). . ∂f ∂f .. //-> 36 //total Milnor number tjurina(f). 5.y.z). 35 . of f : dimK K[x1 . that is. whether there are further critical. ∂f ∂f p ∈ V f. //-> 24 //total Tjurina number We see that the difference between the total and the local Milnor number is 8. xn ] ∂f ∂f . . //-> 28 //Milnor number at 0 tjurina(f)... milnor(f). p) . //the same as milnor vdim (std(ideal(f)+jacob(f))).• τ (f. . . p) . f has eight critical points (counted with their respective Milnor numbers) outside 0. ring R = 0.. . p) = 0 if and only if p is a non–singular point point of V (f ).. xn ] = p∈ Sing(f ) τ (f. //-> 24 //Tjurina number at 0 Without using milnor and tjurina. ∂x1 ∂xn f. hence. the extra critical points of f do not ly on the zero-set V (f ) of f . points outside 0..(x.(x. milnor(f). //affine ring poly f = x7+y7+(x-y)^2*x2y2+z2.. V (f ) ⊂ A3 has no other singular points except 0.y. .. We use first the commands milnor and tjurina from sing. .4. f (p) = 0 for all critical points p = 0. ..5 Using Milnor and Tjurina Numbers We compute the local and the total Milnor. =: Sing(f ) .e. since the total Tjurina number coincides with the local Tjurina number. number and check in this way.lib: We first compute the local Milnor and Tjurina number at 0: LIB "sing. //the same as tjurina Now we compute the total Milnor and Tjurina number by choosing a global ordering. In other words. . ∂x1 ∂xn Note 5. i. respectively the total Tjurina number. We have the following equalities for the total Milnor number..lib".. respectively singular.dp. ring r = 0. ∂x1 ∂xn = p∈ Crit(f ) μ(f.ds. dimK K[x1 . //local ring poly f = x7+y7+(x-y)^2*x2y2+z2.1. On the other hand..z). respectively Tjurina.

y.dp.(y.J). 0). Now. poly f = fetch(s.(x. // // ring r1 = 0. We compute ring r = 0. // ideal J = g. we check singularities at infinity: ring sh = 0. y] f. //-> 120 homogeneous polynomial defining C F in affine chart (x=1) the global Tjurina number in the chart x=1 // local ring at (1:0:0) // the local Tjurina number at (1:0:0) 36 . The projective curve C ⊂ P2 is the curve defined by F = 0. y) := y 2 − 2x28 y − 4x21 y 17 + 4x14 y 33 − 8x7 y 49 + x56 + 20y 65 + 4x49 y 16 .dp.6.z).(x.ds.y). vdim(std(I)). the affine singular locus consists only of the origin (0.dp. ∂f ∂x ∂y of the singularity at the origin and check whether this is the only singularity of the corresponding complex plane projective curve C.1 we know that the global Milnor number τ (f ) := dimC C[x. //-> 2260 // the local Tjurina number of f at 0 From 5.ds. ideal I = f.y). where F is the homogenization of f w. Hence.t.6 Application to Projective Singular Plane Curves Problem: Let f (x. ideal I = fetch(s. a new variable.(x. //-> 120 // // ring r2 = 0. ideal J = fetch(r1. //-> 2260 // the affine ring We see that the global (affine) and local Tjurina number of f coincide. vdim(std(J)). map phi = sh. Determine the local Tjurina number τloc (f ) := dimC C{x. poly g = phi(F).1.1.z).I).r.y.z). vdim(std(I)). ∂f . poly F = homog(f. ∂f ∂x ∂y equals the sum of the local Tjurina number of all affine singular points of C. Note 5. vdim(std(J)).(y.4.f). // the local ring poly f = y2-2x28y-4x21y17+4x14y33-8x7y49+x56+20y65+4x49y16. at all other points V (f ) is smooth.z.jacob(g). y} f.jacob(f). ring s = 0.5.z). ∂f .

p = e p∈C δ(C.): ring R = 0.lib". p).(x. // // poly F = homog(f.y. • pa (C) = g(C)+δ(C). y.p /OC. z).1.1). delta(D)=p_a(D)-g(D)=4 uses the normalization (d − 1)(d − 2) − δ(D) 2 37 . we can conclude that there is (precisely) 1 singularity of C at infinity (at (1 : 0 : 0)) with Tjurina number 120. p) for each singular point p ∈ D (by using the library hnoether. Definition 5.We have considered all points at infinity except (0:1:0) which is obviously not on C. To compute δ(D) we have to compute the singularities of D and then compute δ(D. If we are able to compute the normalization.7.z).4 // genus(F).7 Computing the Genus of a Projective Curve HC (t) = deg(C) · t − pa (C) + 1 . // //-> -1 a cuspidal cubic with a transversal line defining the projective closure D loads all libraries p_a(D)=3. The geometric genus g(C) is the arithmetic genus of the normalization C of C: g(C) := pa (C). • For a generic projection C −→ D to a plane curve D which has the same degree d and normalization as C. The procedure hilbPoly from poly.1). where δ(C) is the sum over the local delta invariants in the singular points. The procedure genus in normal. Let D ⊂ P2 be a (reduced) plane projective curve given by the homogeneous polynomial F (x. // //-> -1 // // genus(F. //-> -2.lib offers both possibilities (genus( ). But this is often very time consuming. // LIB "all. poly f = (y3-x2)*(y-1). deg(D)=4 computes delta at the singular points hence D is reducible. Hence. Recall: Let C be a projective curve.lib in Singular) or to use the normalization. we have g(C) = pa (D) − δ(D) = . then the Hilbert polynomial is of the form where deg(C) is called the degree of the curve and pa (C) the arithmetic genus.z). 5. we can compute the geometric genus. Facts. Let δ(C) := p∈C dimK OC.lib computes the Hilbert polynomial. and genus( .dp. // hilbPoly(F). A closer analysis shows that it is of topological type x9 − y 16 = 0.

the two intersection points of y 3 − x2 = 0 and y − 1 = 0 (both having δ = 1). 38 . Hence.Remark 5.2. The computation shows that δ(D) = 4. D must have a node at ∞ = (0 : 0 : 1). the sum of the deltas is δ(D) = 4.7. By B´zout’s theorem the line y = 1 intersects the cubic y 3 = x2 at ∞ e with multiplicity 1. 0) and two nodes at (±1. Hence. counting with δ = 1. 1). We can compute in this example δ(D) by applying some theory without using Singular: By construction f has a cusp singularity (δ = 1) at (0.

uni-kl. Springer-Verlag. Singular online manual.-M. Lossen. Pfister and H.uni-kl.singular. C. [GPS1] G. 2006. Greuel. [DL] W. Greuel. Decker.de singular@mathematik. Erwin¨ Schrodinger-Straße. ¨ Fachbereich Mathematik. Berlin.de. G. Pfister. G. 2nd edition. Sch¨nemann. D – 67663 Kaiserslautern E–mail address: greuel@mathematik.References [GP] G. Greuel.uni-kl. A Singular Introduction to Commutative Algebra.-M. o http://www. Berlin. Pfister and H. Springer-Verlag. Universitat Kaiserslautern. Computing in Algebraic Geometry. Singular 3-0-4 (2007). 2007. G. o [GPS2] G. Sch¨nemann.-M.de to reach the Singular team 39 .