Computations of Moduli Spaces for semiquasihomogenous Singularities and an

Implentation in SINGULAR

Diplomarbeit

Thomas Bayer Fachbereich Mathematik Universitat Kaiserslatuern

tbayer@mathematik.uni-kl.de

Betreut von Prof. Dr. Gert-Martin Greuel

2

Contents

1 Introduction 7

1.1 Singularities, varieties, and group-actions . . . . . . . . . . . . 7 1.1.1 The algebraic category . . . . . . . . . . . . . . . . . . 7 1.1.2 Singularities and the complex category . . . . . . . . . 12

1.2 Semi-quasihomogeneous power series and unfoldings . . . . . . 14 1.3 Fine and coarse moduli spaces . . . . . . . . . . . . . . . . . . 15 1.4 Quotients and linearizations of algebraic group-actions …. 17

1.4.1 Quotients . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.4.2 Linearization of an algebraic group-action . . . . . . . 20

1.5 How to construct the moduli space . . . . . . . . . . . . . . . 24

2 Theoretical construction of the moduli space 27 2.1 The order of quasihomogeneous maps . . . . . . . . . . . . . . 27 2.2 Arnold’s Theorem on semiquasihomogeneous power series … 29 2.3 The action of the stabilizer of f_{0} on T_{−} . . . . . . . . . . . . . 32 2.4 The moduli space . . . . . . . . . . . . . . . . . . . . . . . . . 38

2.4.1 The functor Unf_{f_{0}}^{−} . . . . . . . . . . . . . . . . . . . . 39 2.4.2 The moduli space . . . . . . . . . . . . . . . . . . . . . 41

3 Algorithmic construction of the moduli space 45 3.1 An algorithm for computing equations of the moduli space . . 46 3.2 Computing the image of an ideal . . . . . . . . . . . . . . . . 47 3.3 A basis for T_{−} . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 3.4 The stabilizer group G_{f_{0}}^{w} . . . . . . . . . . . . . . . . . . . . . 49 3.5 The action of G_{f_{0}}^{w} on T . . . . . . . . . . . . . . . . . . . . . 52 3.6 Linearization of the group-action. . . . . . . . . . . . . . . . . 53 3.7 Equations of the moduli space . . . . . . . . . . . . . . . . . . 57 3.8 Computing the invariant ring . . . . . . . . . . . . . . . . . . 61 3.9 Computing the zero-set of a 0−dimensional ideal . . . . . . . 63 4 Specific singularities 67

4.1 Brieskorn-Pham singularities . . . . . . . . . . . . . . . . . . . 67 4.2 Semiquasihomogeneous singularities with inner modality ≤ 4. . 70

5 The Singular implementation - user manual 75

5.1 The qhmoduli.lib library . . . . . . . . . . . . . . . . . . . . 76 5.1.1 Options and trace . . . . . . . . . . . . . . . . . . . . . 76 5.1.2 Algorithms . . . . . . . . . . . . . . . . . . . . . . . . 77 5.1.3 Implementation remarks . . . . . . . . . . . . . . . . . 78

5.2 The rinvar.lib library . . . . . . . . . . . . . . . . . . . . . 79 5.2.1 Algorithms . . . . . . . . . . . . . . . . . . . . . . . . 79 5.2.2 Implementation remarks . . . . . . . . . . . . . . . . . 80

5.3 The zeroset.lib library . . . . . . . . . . . . . . . . . . . . . 81

5.3.1 Algorithms . . . . . . . . . . . . . . . . . . . . . . . . 81 5.4 Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 5.5 The example f_{0} = x^{2}z + x^{2}y − z^{5} + y^{5}. . . . . . . . . . . . . . 83 5.6 Practical limitations . . . . . . . . . . . . . . . . . . . . . . . 85

6 Appendix 87 6.1 QHMOD.LIB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 6.2 RINVAR.LIB . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 6.3 ZEROSET.LIB . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

Preface

One of the important achievements of singularity theory was the classification of some ”generic” classes of hypersurface singularities via normal forms by V.I. Arnold, cf. [AVG 1985]. For more complicated classes of singularities the classification by normal forms seems to be impossible. In 1997 Greuel, Hertling, and Pfister came up with a geometric classification of semiquasihomogeneous hypersurface singularities with fixed part w.r.t. right- and contact equivalence by geometric methods, i.e., by providing a moduli space for such singularities with some invariants fixed. In this thesis we provide a Singular implementation for computing moduli spaces for right equivalence.

The structure of this thesis is as follows : In Chapter 1 we state the required background algebraic geometry and singularity theory. Chapter 2 is a presentation of the theory developed in [GHP 1997] (w.r.t. right-equivalence). Chapter 3 contains the description of algorithms for computing equations of the moduli space. Chapter 4 is devoted to Brieskorn-Pham singularities and quasihomogeneous singularities with inner modality ≤ 4. Chapter 5 contains the user manual of the Singular implementation. The Appendix contains the source code of the actual implementation.

What’s New:

  1. The algorithms ArnoldAction, LinearizeAction, ModEqn, StabEqns

and ZeroSet for the construction of moduli spaces for semiquasihomogenous power series with fixed principal part w.r.t. right equivalence (Chapter 3).

2. We provide three new Singular libraries (qhmoduli.lib, rinvar.lib, zeroset.lib). The qhmoduli.lib contains procedures for the computation of equations for the moduli space of semiquasihomogenous hypersurface singularities with fixed principal part, where the only restrictions are time and memory. The rinvar.lib contains procedures for the computation of invariant rings of reductive groups (Derksen’s

algorithm).

3. A structure theorem on the stabilizer of Brieskorn-Pham singularities (Theorem 4.1.83) which says that the stabilizer group of a Brieskorn-Pham polynomial can be generated by diagonal and permutation matrices.

Acknowledgments

I am very grateful to my supervisor Gert-Martin Greuel for providing me this interesting topic and for useful discussions. In addition, I am grateful to Christoph Lossen and Josef Schicho (RISC-Linz) for their useful comments. I am particularly grateful to Heidi for her warm presence and moral support.

Chapter 1

Introduction

This chapter provides an introduction to moduli spaces and the kind of singularities treated in this thesis. The necessary tools required to construct a moduli space for them are also introduced.

1.1 Singularities, varieties, and group-actions

By C{x_{1}, x_{2}, ..., x_{n}} we denote the convergent power series ring in n variables, abbreviated by C{x} and by K we denote an algebraically closed field of characteristic 0. We are concerned with two different objects, namely the singularities which we want to classify and the classification spaces. The singularities are represented by power series in C{x_{1}, x_{2}, ..., x_{n}} while the classification spaces are affine varieties, .i.e., they can be represented by rings of the form K[x_{1}, x_{2}, ..., x_{n}]/I where I ⊂ K[x_{1}, x_{2}, ..., x_{n}] is a radical ideal. In this section we introduce several fundamental definitions from algebraic geometry and singularity theory used throughout this thesis.

We need the notion of a zero set of a set of functions which will be used in an algebraic and analytic context.

Definition 1 Let F be a set of K−valued functions on K^{n}. The zero-set of F is V(F) := {v ∈ K : f(v) = 0 for all f ∈ F }.

1.1.1 The algebraic category

The basic objects are topological spaces homeomorphic to closed subsets of K^{n} w.r.t. the Zariski topology. Together with coordinate rings and morphisms they form the category of affine varieties.

Definition 2 (a) X ⊂ K^{n} is an algebraic set iff there exists a set of polynomials F ⊂ K[x_{1}, x_{2}, ..., x_{n}] s.t. X = V(F).

(b) X ⊂ K^{n} is a closed subset in the Zariski topology iff X is an algebraic set.

(c) The Zariski topology of an algebraic set X ⊂ K^{n} is the induced subspace topology on X w.r.t. the Zariski topology on K^{n}.

(d) A function f : X → K, where X ⊂ K^{n} is an algebraic set, is called regular iff for each x ∈ X there exists x ∈ U ⊂ X open and polynomials g, h ∈ K[x_{1}, x_{2}, ..., x_{n}] s.t. h is nowhere zero on U and f = \frac{g}{h} on U.

We will see below that algebraic sets correspond to ideals of K[x_{1}, x_{2}, ..., x_{n}]. Since the intersection of finitely many and the union of arbitrarily many ideals is an ideal, the closed sets defined above form a topology, called the Zariski topology. An algebraic variety is an algebraic set plus the ring of regular functions on it, called the coordinate ring.

Definition 3 Let X ⊂ K^{n} be an algebraic set.

(a) The coordinate ring of X,denoted by O(X), is the ring of regular functions on X.

(b) The pair (X, O(X)) is a (closed) subvariety.

Up to now we have considered only closed subsets of K^{n}. Affine varieties need not be embedded in some K^{n} (but can always be embedded).

Definition 4 A topological space Z together with an algebra O(Z) of K− valued functions is an affine variety (over K) if there exists a closed subvariety X ⊂ K^{n} and a homeomorphism ϕ : Z → X which identifies O(Z) and O(X). In this case O(Z) is called the coordinate ring of Z

In particular, any closed subvariety is an affine variety. We concentrate on the relation between ideals and affine varieties. Let F ⊂ K[x_{1}, x_{2}, ..., x_{n}] be a set of polynomials, I = ⟨F ⟩ be the ideal generated by F and X := V(F). We have X = V(I) since x ∈ X iff f(x) = 0 for f ∈ F and h ∈ I iff h = ∑_{f∈F} p_{f} · f for some polynomials p_{f} ∈ K[x_{1}, x_{2}, ..., x_{n}]. Hilbert’s Basis Theorem shows that we can restrict ourselves to finite sets of polynomials.

Theorem 5 (Hilbert 1890) Any ideal I ⊂ K[x_{1}, x_{2}, ..., x_{n}] is finitely generated.

Proof. We refer ,e.g., to [CLS 1992], Theorem 4 in Ch.2.5.

A commutative ring R is Noetherian iff each ideal of R is finitely generated. The Basis Theorem says that the polynomial ring K[x_{1}, x_{2}, ..., x_{n}] is Noetherian.

In the sequel we do not distinguish between a finite set F and the ideal generated by F. To any subset X ⊂ K^{n} we can associate a radical ideal..

Definition 6 (a) An ideal I ⊂ K[x_{1}, x_{2}, ..., x_{n}] is a radical ideal if f^{k} ∈ I for some k > 0 implies f ∈ I.

(b) Let X ⊂ K^{n} be an arbitrary subset. The ideal associated to X is

I(X) := {f ∈ K[x_{1}, x_{2}, ..., x_{n}] | ∀x ∈ X : f(x) = 0} .

If X is a subvariety then the radical ideal I(X) is called the defining ideal of X.

Coordinate rings and quotient rings of K[x_{1}, x_{2}, ..., x_{n}] are tied together by Hilbert’s Nullstellensatz, which relates the ideal I(X) associated to a subvariety X = V(I) and the radical ideal of I.

Theorem 7 (Hilbert 1893) For any ideal I ⊂ K[x_{1}, x_{2}, ..., x_{n}] we have

I (V (I)) = \sqrt{I}.

Proof. We refer ,e.g., to [CLS 1992], Theorem 6 in Ch.4.2.

Hilbert’s Nullstellensatz justifies the notion of a defining ideal if X is a subvariety.

Proposition 8 (a) The coordinate ring of the closed subvariety X = V(I) is

O(X) = K[x_{1}, x_{2}, ..., x_{n}]/\sqrt{I}.

(b) The Zariski closure \overline{X} of an arbitrary subset X ⊂ K^{n} is the subvariety V(I(X)).

Proof. (a) We refer ,e.g., to [Hartshorne 1997], Theorem 3.2 in Ch.I.

(b) We refer ,e.g., to [CLS 1992], Proposition 1 in Ch.4.4.

Hence subvarieties of K^{n} are given as quotient rings K[x_{1}, x_{2}, ..., x_{n}]/I where I is a radical ideal. A K−algebra R which is isomorphic to the quotient ring K[x_{1}, x_{2}, ..., x_{n}]/I for some radical ideal I is called an affine algebra over K. We obtain a bijection

{affine K − algebras} ≃ {subvarieties of K^{n}}.

In order to obtain a category we need the notion of a morphism between varieties.

Definition 9 (a) Let X and Y be subvarieties of K^{n} and K^{m} respectively. A morphism of subvarieties ϕ : X → Y is a tuple (ϕ_{1}, ϕ_{2}, ..., ϕ_{m}) of regular functions ϕ_{1}, ϕ_{2}, ..., ϕ_{m} on X s.t. ϕ(X) ⊂ Y.

(b) Let X and Y be affine varieties. A morphism of affine varieties ϕ : X → Y is a continuous map s.t. ϕ^{∗}(f) := f ∘ϕ ∈ O(X) for all f ∈ O(Y). The K−algebra homomorphism ϕ^{∗} is called the pullback of ϕ.

Proposition 10 For affine varieties X, Y we have

Mor(X, Y) ≃ Hom_{K−alg}(O(Y), O(X)).

Proof. We refer ,e.g., to [Kraft 1985], Ch. AI.2, Theorem 2.2.

Note that subvarieties are defined as the zero set of finitely many polynomials and morphisms of subvarieties are given by tuples of polynomials. One can perform several geometric operations on subvarieties by manipulating ideals of polynomial rings. Therefore they are perfectly suited for computer algebra.

Definition 11 The category of affine varieties has affine varieties as objects and morphisms of affine varieties as morphisms.

The notion of schemes is very useful for the construction of quotients of affine varieties w.r.t. algebraic groups. Let R be a commutative ring. The (prime) spectrum of R is spec(R) := {P ⊂ R : P a prime ideal}. The closed sets of the Zariski topology of spec(R) are given by V(I) := {P ∈ Spec(R) : I ⊂ P }. Let R be a commutative K−algebra and set X := spec(R). The pair (X, O_{X}) is an affine scheme of finite type over K where O_{X} is the so called structure sheaf of X. For our purposes it suffices to note that the global sections of O_{X} are isomorphic to R. For the precise definition of schemes and sheaves we refer, e.g., to Ch. II of [Hartshorne 1997].

Remark 1 We refer to Ch. II of [Hartshorne 1997] for proofs of the equivalences below.

(a) There are equivalences of categories, defined by the covariant functor

t : (affine varieties over K) →^{≃} (reduced affine schemes of finite type over K)

and the contravariant functor

spec : (affine K−algebras) →^{≃} (reduced affine schemes of finite type over K)

where an affine K−algebra is a finitely generated reduced K−algebra, cf. [Hartshorne 1997]. In the sequel we often define an affine variety X by X = spec(R) for some affine K−algebra R. This should be seen as X := t^{−1}(spec(R)). In this way we avoid the definition of the action of a group G on nonclosed points of X.

(b) We obtain an equivalence of categories

(affine varieties over K) →^{≃} (affine K−algebras)

as follows. The coordinate ring O(Z) of an affine variety satisfies O(Z) ≃ K[x_{1}, x_{2}, ..., x_{n}]/I for some radical ideal I. The zero-set V(I) is a closed subvariety which corresponds to Z. Conversely, any radical ideal I of an affine K−algebra R defines a closed subvariety t^{−1}(spec(R/I)) =: X′ ⊂ X := t^{−1}(spec(R)).

Some morphism occurring in the practical computation of equations of the moduli space have Zariski closed image, which turns out to be important.

Definition 12 Let ϕ : V → W be a morphism of affine varieties.

(a) ϕ is closed if ϕ(V′) ⊂ W is closed for any closed subset V′ ⊂ V.

(b) ϕ is finite iff O(V) is a finitely generated O(W)−module via ϕ^{∗}.

Proposition 13 Let ϕ : V → W be a morphism of affine varieties.

(a) ϕ is a closed embedding iff ϕ^{∗} : K[W] → K[V] is surjective.

(b) If ϕ is finite then ϕ is closed.

(c) If ϕ is finite then the set ϕ(w)^{−1} is finite.

Proof. (a) We refer ,e.g., to [Hartshorne 1997], Ch. II. (b),(c) We refer, e.g., to [Kraft 1985], Ch. AI.4.1.

Group actions of algebraic groups will play an important role in the construction of the moduli space.

Definition 14 (a) An affine variety G is an algebraic group iff there exist morphisms μ : G × G → G, ι : G → G and an element e ∈ G s.t. G is a group w.r.t. multiplication μ, inverse ι and neutral element e.

(b) A linear algebraic group is a closed subset (in the Zariski-topology) of GL_{n}(K) together with the inherited group structure.

(c) Let G be an algebraic group and X be an affine variety. A morphism α : G × X → G is a group-action iff α(e, x) = x and α(σ, α(τ, x)) = α(στ, x) for all σ, τ ∈ G and x ∈ X.

1.1.2 Singularities and the complex category

The objects to classify are singularities defined by semiquasihomogeneous power series. We provide only the definition of a hypersurface singularity and omit the definition of a complex space which can be found, e.g., in [GF 1974]. In this section we use the Euclidean topology on C^{n}.

Let X ⊂ C^{n} be a subspace and x ∈ X. The space germ (X, x) is the equivalence class of open neighborhoods of x where two open neighborhoods U, V of x are equivalent iff there exists an open neighborhood W ⊂ X of x s.t. U ∩W = V ∩W. Let f̃: (C^{n}, 0) → (C, 0) be a holomorphic map of space germs. This means that there exist small neighborhoods 0 ∈ U ⊂ C^{n} and 0 ∈ V ⊂ C and a holomorphic map f s.t. f : U → V represents f̃. If f′ : U′ → V′ is another holomorphic map, where 0 ∈ U′ ⊂ C^{n} and 0 ∈ V′ ⊂ C are open neighborhoods, and there exists a neighborhood 0 ∈ W ⊂ U ∩ U′ s.t. f_{|W} = f′_{|W} then f′ is another representant of f̃. The holomorphic maps between (C^{n}, 0) → (C, 0) correspond to convergent power series, i.e., to elements from C{x_{1}, x_{2}, ..., x_{n}}.

Definition 15 Let U ⊂ C^{n} be a nonempty open set and f : U → C be a holomorphic map.

(a) f has a singular point at p ∈ U iff \frac{∂f}{∂x_{i}} (p) = 0 for 1 ≤ i ≤ n.

(b) A hypersurface singularity is a germ of the form (V(f), p) s.t. f(p) = 0 together with the local C−algebra C{x_{1}, x_{2}, ..., x_{n}}/ ⟨f⟩ , where V(f) := {u ∈ U : f(u) = 0}.

(c) The singularity of f is isolated iff exists a small neighborhood p ∈ U′ ⊂ U s.t. p is the only singular point of f in U′.

(d) The ideal j(f) := ⟨\frac{∂f}{∂x_{1}} , \frac{∂f}{∂x_{2}} , ..., \frac{∂f}{∂x_{n}} ⟩_{C\{x_{1}−p_{1},x_{2}−p_{2},...,x_{n}−p_{n}\}} is called the Ja-

cobi ideal of f at p.

(e) The Milnor algebra of f at p is M_{f,p} := C{x_{1} − p_{1}, x_{2} − p_{2}, ..., x_{n} − p_{n}}/j(f).

(f) The Milnor number of f at p is μ(f, p) := dim_{C} (M_{f,p}) . If p = 0 we abbreviate M_{f,p} by M_{f} and μ(f, p) by μ(f).

W.l.o.g. we restrict ourselves to maps with isolated singular points.

Theorem 16 f has an isolated singularity at p iff μ(f, p) < ∞.

Proof. We refer ,e.g., to [AVG 1985].

The elements f_{1}, f_{2}, ..., f_{k} ∈ R, where R is a commutative ring with 1, form a regular sequence if f_{i+1} is not a zero divisor in R/ < f_{1}, ..., f_{i−1} > . This notion turns out to be useful in several proofs of properties of G_{f_{0}}^{w} and E_{f_{0}}. If R is local (i.e., has only one maximal ideal) then any permutation of f_{1}, f_{2}, ..., f_{k} is a regular sequence. In general, this is not true for rings which are not local.

Corollary 17 Any permutation of the partial derivatives \frac{∂f}{∂x_{1}} , \frac{∂f}{∂x_{2}} , ..., \frac{∂f}{∂x_{n}} forms a regular sequence in C{x_{1} − p_{1}, x_{2} − p_{2}, ..., x_{n} − p_{n}}.

Proof. Since dim (M_{f,p}) < ∞ and C{x_{1} − p_{1}, x_{2} − p_{2}, ..., x_{n} − p_{n}} is a local ring this is a standard fact in commutative algebra.

In the sequel we assume that p = 0, i.e., we consider hypersurface singularities of the form (V(f), 0) for some f ∈ C{x_{1}, x_{2}, ..., x_{n}}. For the construction of a moduli space we fix the following equivalence relation.

Definition 18 (a) By Aut(C{x_{1}, x_{2}, ..., x_{n}}) we denote the ring of local C− algebra homomorphisms of C{x_{1}, x_{2}, ..., x_{n}}, i.e., C−algebra homomorphisms of C{x_{1}, x_{2}, ..., x_{n}} preserving the maximal ideal ⟨x_{1}, x_{2}, ..., x_{n}⟩.

(b) Two power series f, g ∈ C{x_{1}, x_{2}, ..., x_{n}} are right equivalent, written f ∼_{r} g, iff there exists φ ∈ Aut(C{x_{1}, x_{2}, ..., x_{n}}) s.t. f = φ(g).

(c) Two power series f, g ∈ C{x_{1}, x_{2}, ..., x_{n}} are contact equivalent iff there exists φ ∈ Aut(C{x_{1}, x_{2}, ..., x_{n}}) and a unit u ∈ C{x_{1}, x_{2}, ..., x_{n}} s.t. f = u · φ(g).

Right equivalence is probably the finest meaningful equivalence relation of hypersurface singularities. For power series f, g ∈ C{x_{1}, x_{2}, ..., x_{n}} we may have (V(f), 0) ≃ (V(g), 0) (i.e., there exists a local C−algebra automorphism ϕ of C{x_{1}, x_{2}, ..., x_{n}} s.t. ϕ(⟨f⟩) = ⟨g⟩) but f ≁_{r} g. Conversely, f ∼_{r} g implies (V(f), 0) ≃ (V(g), 0).

Definition 19 The power series f is k−determined w.r.t. ∼_{r} iff for all g ∈ C{x_{1}, x_{2}, ..., x_{n}} we have g^{(k)} = f^{(k)} g ∼_{r} f where g^{(k)} denotes the k−jet.

Theorem 20 If f ∈ C{x_{1}, x_{2}, ..., x_{n}} has an isolated singularity at 0 then f is μ(f) + 1−determined.

Proof. We refer ,e.g., to [AVG 1985].

Hence any power series f with an isolated singularity is right equivalent to a polynomial, more precisely we have f ∼_{r} f^{(μ(f)+1)}.

1.2 Semi-quasihomogeneous power series and unfoldings

We define the notion of semiquasihomogeneous power series and unfoldings of these power series and mention that the Milnor number of a semiquasihomogeneous power series is already determined by its principal part. Semiquasihomogeneous power series with fixed part are the objects under consideration.

Let w = (w_{1}, w_{2}, ..., w_{n}) ∈ N^{n} be a tuple of positive integers, called weights. For α ∈ N^{n} we denote the monomial ∏_{i=1}^{n} x_{i}^{α_{i}} by x^{α}.

Definition 21 (a) The monomial x^{α} ∈ C[x_{1}, x_{2}, ..., x_{n}] is quasihomogeneous of type (d; w) if |x^{α}|_{w} := ∑_{i=1}^{n} w_{i}α_{i} = d.

(b) A nonzero polynomial f ∈ C[x_{1}, x_{2}, ..., x_{n}] is quasihomogeneous of type (d; w) if all monomials of f are quasihomogeneous of type (d; w).

(c) The weighted degree is defined as deg_{w}(f) := max{|x^{α}|_{w} : x^{α} a monomial of f} where 0 ≠ f ∈ C[x_{1}, x_{2}, ..., x_{n}]. We define deg_{w}(0) := −1.

(d) For any given type (d; w) of quasihomogenity we call \overline{w}_{i} := \frac{w_{i}}{d} the normalized weights.

Quasihomogeneous polynomials can be characterized by the following group action. Let f be quasihomogeneous of type (d; w) and define

λ • f(x_{1}, x_{2}, ..., x_{n}) := f(λ^{w_{1}} · x_{1}, λ^{w_{2}} · x_{2}, ..., λ^{w_{n}} · x_{n})

for λ ∈ C.. Then

λ • f(x_{1}, x_{2}, ..., x_{n}) = λ^{d} · f(x_{1}, x_{2}, ..., x_{n}).

This action is called a good C^{∗}−action. One can show that f is quasihomogeneous iff f admits a good C^{∗}−action. If λ is a d−th root of unity then λ • f(x_{1}, x_{2}, ..., x_{n}) = f(x_{1}, x_{2}, ..., x_{n}).

The object of our study are power series with fixed quasihomogeneous principal part and an isolated singularity at 0.

Definition 22 Let 0 ≠ f ∈ C{x_{1}, x_{2}, ..., x_{n}} be a power series. We define ord_{w}(f) = min{|x^{α}|_{w} : x^{α} a monomial of f}. We define ord_{w}(0) := −1. The power series f is called semiquasihomogeneous of type (d; w) with principal part f_{0} iff f_{0} is a quasihomogeneous polynomial of type (w, d) with an isolated singularity at 0, f = f_{0} or ord_{w}(f − f_{0}) > d.

Proposition 23 For any semiquasihomogeneous power series f with principal part f_{0} we have μ(f) = μ(f_{0}) < ∞.

Proof. By definition, μ(f_{0}) < ∞. For the proof of the equality we refer, e.g., to [AVG 1985], Ch. 12.2.

A semiquasihomogeneous power series f with principal part f_{0} defines an isolated hypersurface singularity (V(f), 0) with principal part f_{0}.

Note that if f is semiquasihomogeneous with principal part f_{0} then right equivalence need not preserve the principal part, cf. Example 2.1.43(b).

Let f ∈ C{x_{1}, x_{2}, ..., x_{n}} be semiquasihomogeneous with principal part f_{0}. The power series f can be considered as a function germ f : (C^{n}, 0) ⟶ (C, 0) which can be deformed as follows. An unfolding of f over a germ (T, t) is a map F : (C^{n}, 0) × (T, t) ⟶ (C, 0) s.t. the following diagram commutes,

(C^{n}, 0) ↪ (C^{n}, 0) × (T, t)
↓ f  ↓ ϕ
(C, 0) ↪ (C, 0) × (T, t)
↓  ↓
0  ↪  (T, t)

where ϕ(x, t) = (F (x, t), t), and F (x, t) = f(x)+g(x, t) for some g ∈ C{x, t} with g(x, 0) = 0. In other words, F_{|(C^{n},0)×({0},t)} = f. Two unfoldings ϕ, ϕ′ of f are right equivalent if there exists an isomorphism Ψ : (C^{n}, 0) × (T, 0) → (C^{n}, 0) × (T, 0) , Ψ(x, t) = (ψ(x, t), t) s.t. ϕ ∘ Ψ = ϕ′, i.e., F (ψ(x, t), t) = F′(x, t).

Let φ : (S, s) → (T, t) be a morphism of space germs and F be an unfolding of f over (T, t). The morphism φ induces an unfolding φ^{∗}F of f over (S, s) via (φ^{∗}F) (x, s) = F (x, φ(s)).

An unfolding F of f over (T, t) is a semiuniversal unfolding of f if each unfolding G of f over (S, s) can be induced from F by a morphism φ : (S, s) → (T, t) s.t. the differential dφ is unique.

1.3 Fine and coarse moduli spaces

For the definition of moduli spaces we need the notion of a moduli problem and a corresponding moduli functor. A moduli problem typically consists of two things, a specific class of objects and the notion of families of these objects over base spaces of a given category together with an equivalence relation. One may consider global objects like projective varieties or vector bundles, or local objects like singularities and modules. For the global case we refer, e.g., to [MFK 1994], and for the local case we refer to [GP 1991].

Suppose that we have given the notion of a family of objects over a base B ∈ C, where C is a category of (base) spaces, together with an equivalence relation of families. Let F : C → (sets) be a contravariant functor assigning to each base space B the set of isomorphism classes of families with base B. The functor F is called a moduli functor to the moduli problem.

Definition 24 Let M ∈ Obj(C) and Ψ : F → Mor( , M) be a natural transformation. The pair (M, Ψ) is a fine moduli space for F iff Ψ : F → Mor( , M) is an isomorphism.

Let M ∈ Obj(C) and Ψ : F → Mor( , M) be a natural transformation. Assume that base change is done by means of fibre products and let X →^{ϕ} B be a family over B ∈ Obj(C) with corresponding morphism ϕ_{B} := Ψ(ϕ) ∈ Mor(B, M). Note that F({pt}) ≃ Mor({pt}, M) ≃ M, so, intuitively, closed points of M represent the isomorphism classes of the objects under consideration, and ϕ_{B}(b) is the moduli point of the fibre ϕ^{−1}(b). A fine moduli space implies the existence of a universal family 1 : X → M such that each family X →^{ϕ} B is obtained from X → M by a unique base change

\begin{matrix}X & → & X \\ ϕ ↓ & & ↓ 1 \\ B & →^{ϕ_{B}} & M. \end{matrix}

The universal family 1 : X → M is the family corresponding to id : M → M, i.e., Ψ(1) = id. Conversely, for any morphism ϕ_{B} : B → M we obtain via base change a family D := B ×_{M} X → B. The families X →^{ϕ} B and D → B are isomorphic since each of them corresponds to ϕ_{B}.

Unfortunately, for a reasonable category C, there are only a few problems where a fine moduli space exists. There are two possibilities to remedy this problem. The first one is an enlargement of the category C (e.g., from schemes to algebraic stacks or algebraic spaces). Or, secondly, one weakens the requirements for the pair (M, Ψ).

Definition 25 The pair (M, ψ) is a coarse moduli space for F iff

(1) ψ({pt}) is bijective for the reduced point pt,

(2) For all other pairs (M′, ψ′) where ψ′ : F → Mor( , M′) is a natural transformation, there exists a unique natural transformation η : Mor( , M) → Mor( , M′) making the diagram

F
ψ ↙  ↘ ψ′
Mor( , M) −−→^{η} Mor( , M)

commute.

1.4. QUOTIENTS AND LINEARIZATIONS OF ALGEBRAIC GROUP-ACTIONS17

As for fine moduli spaces the closed points of a coarse moduli space (M, ψ) represent the isomorphism classes of the objects under consideration.

Proposition 26 Let F : C → (sets) be a moduli functor.

(a) A fine moduli space (M, ψ) for F is also a coarse moduli space for F.

(b) A coarse/fine moduli space (M, ψ) for F : C → (sets) is unique up to unique isomorphism.

Proof. (a) For (M′, ψ′), where ψ′ : F → Mor( , M′) is a natural transformation, define η by η_{B}(ϕ) := ψ′_{B}(ψ_{B}^{−1}(ϕ)) for B ∈ Obj(C). Since ψ_{B} is an isomorphism η is the unique natural transformation making the required diagram commute.

(b) Suppose that (M′, ψ′) is another coarse moduli space for F and let η : Mor( , M) → Mor( , M′) and η′ : Mor( , M′) → Mor( , M) be the natural transformation from the definition. By uniqueness of η, η′ we obtain id_{Mor( ,M)} = η′ ∘ η and id_{Mor( ,M′)} = η ∘ η′ which shows that η is an isomorphism.

1.4 Quotients and linearizations of algebraic group-actions

We discuss the notion of a categorical and geometric quotient for algebraic/ complex reductive Lie groups acting algebraically/holomorphically on an affine variety/complex Stein space. In both categories we provide a construction of a categorical quotient and a criterium for the categorical quotient being a geometric quotient. In the affine category we present a constructive proof of the linearization of a given group-action, which will be used in the computation of the moduli space.

For more general results in the complex-analytic category we refer to [Snow 1982], in the case of reductive algebraic groups we refer to [Kraft 1985] or [MFK 1994], and for results on unipotent algebraic groups we refer to [GP 1992].

In the sequel all algebraic groups and affine varieties are defined over an algebraically closed field of characteristic 0.

1.4.1 Quotients

Let G be an algebraic group, X be an affine variety and

α : G × X ⟶ X

be an algebraic group action of G on X, denoted by “•_{α}”.

Definition 27 The subring

O(X)^{G} := {f ∈ O(X) : ∀σ ∈ G f(σ •_{α} x) = f (x)}

of O(X) is called the invariant ring of G on X. If X = K^{n} then O(X)^{G} = K[x_{1}, x_{2}, ..., x_{n}]^{G} is called the invariant ring of G.

The ring of invariant functions plays a crucial role in the construction of a categorical quotient for the algebraic and complex-analytic category. Certainly, it depends on the category of X.

Definition 28 Let Y be an affine variety and ϕ : X → Y be a morphism.

(a) The pair (Y, ϕ) is a categorical quotient of X by G iff

\begin{matrix}G × X & ⟶^{α} & X \\ π_{2} ↓ & & ϕ ↓ \\ X & ⟶^{ϕ} & Y \end{matrix}  (∗)

commutes and for any affine variety Z and morphism ψ : X → Z which satisfies (∗) there exists a unique morphism η : Y → Z s.t. η ∘ ϕ = ψ. We sometimes denote Y by X/G.

(b) The pair (Y, ϕ) is a geometric quotient of X by G iff (Y, ϕ) is a categorical quotient of X by G and the fibres of ϕ are precisely the orbits of G.

Proposition 29 The categorical quotient (Y, ϕ) of X by G is unique up to unique isomorphism.

Proof. Suppose (Y, ϕ), (Y′, ϕ′) are categorical quotients of X by G and let η : Y → Y′ and η′ : Y′ → Y be the corresponding maps. Now η ∘ ϕ = ϕ′ and ϕ = η′ ∘ ϕ′ imply η ∘ η′ ∘ ϕ′ = ϕ′ and ϕ = η′ ∘ η ∘ ϕ, so η is an isomorphism.

In the sequel we refer to the pair (Y, ϕ) as the categorical quotient.

Remark 2 (a) We require that the categorical quotient Y of X by G lies in the same category as X, which prevents the existence of quotients for several group actions. If G is not reductive then the invariant ring O(X)^{G} may not be finitely generated, but the categorical quotient may exist in the larger category of schemes. (b)Each fibre ϕ^{−1}(y), y ∈ Y, of a categorical quotient (Y, ϕ) contains precisely one closed orbit of the action of G on X. The quotient Y = X/G parameterizes the closed orbits of G, cf. Ch. II.3.2 of [Kraft 1985].

(c) If G ⊂ GL_{n}(K) acts linearly on the affine variety X and G is linearly reductive the algebraic quotient of X by G, defined by spec(O(X)^{G}), coincides with the categorical quotient of X by G by Theorem 1.4.37(b).

Example 30 The linear action of GL_{n}(C) on C^{n} partitions C^{n} in the orbits C^{n}\{0} and {0}. It follows from the fact O(C)^{GL_{n}(C)} = C and Theorem 1.4.37 that the categorical quotient is the reduced space spec(C) = {pt} which can’t be a geometric quotient.

Existence of quotients: Complex spaces

In the category of complex spaces the notion of a categorical and a geometric quotient are defined as in the category of affine varieties. As in the affine category a quotient is unique up to unique isomorphism. We provide a construction of the categorical quotient in the complex category where we follow [Snow 1982].

In the sequel let X be a so called Stein space and G be a reductive complex Lie group which acts holomorphically on X. For our purposes it suffices to note that C^{n} is a Stein space and a reductive algebraic group over C is a reductive complex Lie group. We refer, e.g., to [GF 1974], Ch. V.2 for the definition of Stein spaces and to [FH 1991] for the definition of reductive complex Lie groups. The construction of the categorical quotient is more difficult as in the algebraic category, since there is no equivariant linear embedding available.

Instead of looking at the orbit space of the action of G on X, which even may not be Hausdorff, we consider the quotient of X by the analytic equivalence relation ∼_{G} on X, given by x ∼_{G} y iff f(x) = f(y) for all f ∈ O(X)^{G}. Let π : X → X/_{∼_{G}} be the projection. Note that X/_{∼_{G}} is Hausdorff and π is naturally equivariant, i.e., π ∘ σ = π for all σ ∈ G. On the topological space X/_{∼_{G}} we construct a sheaf O_{X/_{∼_{G}}} of local C−algebras as follows. For U ⊂ X/_{∼_{G}} open we define Γ(U, O_{X/_{∼_{G}}}) to be the algebra of complex valued continuous functions on X/_{∼_{G}} which lift via π to holomorphic functions on π^{−1}(U). Note that π^{∗}O_{X/_{∼_{G}}}(U) = O_{X}(π^{−1}(U))^{G}. We obtain a Hausdorff C−ringed space (X/_{∼_{G}}, O_{X/G}) which is a categorical quotient. Recall that the categorical quotient is denoted by X/G.

Theorem 31 Let X be a Stein space and G be a reductive complex Lie group acting holomorphically on X.

(a) The quotient space X/_{∼_{G}} with the projection π is the categorical quotient of X by G.

(b) The categorical quotient X/G is isomorphic to a complex Stein space s.t. π : X → X/G is holomorphic.

Proof. We refer to [Snow 1982].

In general, the categorical quotient is a much smaller object than the orbit space. If they are equal then X/G is a geometric quotient. We conclude with a criterium for X/G being a geometric quotient.

Proposition 32 X/_{∼_{G}} is a geometric quotient iff all orbits of G are closed.

Proof. We refer to [Snow 1982].

1.4.2 Linearization of an algebraic group-action

Let X be an affine variety and G be an algebraic group over an algebraically closed field K of characteristic 0. Suppose that G acts algebraically on X via

α : G × X ⟶ X.

The linearization of α is necessary for the computation of equations of the categorical quotient X/G since the existing algorithms require a linear action, cf. Chapter 3.6. On the coordinate ring of X we obtain the morphism

λ_{σ}(f)(x) := f(α(σ^{−1}, x)) = α^{∗}(f)(σ^{−1}, x)

for σ ∈ G, f ∈ K[X] and x ∈ X, called left-translation.

Definition 33 A linearization or equivariant embedding of α consists of a closed morphism ρ : G → GL_{n}(K) and a closed embedding ϕ : X → K^{n} s.t.

ϕ(σ •_{α} t) = ρ(σ) · ϕ(t).

Such an equivariant embedding always exists. The following three Theorems appear, e.g., in [Borel 1991].

Theorem 34 Let G be an algebraic group acting algebraically on a variety X. Any finite dimensional vector subspace V of K[X] can be extended to a finite dimensional vector subspace W of K[X] s.t. G •_{α} W ⊂ W. Moreover a necessary and sufficient condition that W is invariant under left translation is

α^{∗}W ⊆ K[G] ⊗ W.

Proof. W.l.o.g. assume that V is generated by a single element f. Choose a decomposition

α^{∗}(f) = ∑_{i=1}^{r} g_{i} ⊗ h_{i} ∈ K[G] ⊗ K[X]

s.t. r is minimal. Applying left translation to f yields

λ_{σ}f(x) = α^{∗}(f)(σ^{−1}, x) = ∑_{i=1}^{r} g_{i}(σ^{−1})h_{i}(x)

for all σ ∈ G and x ∈ X. Hence

λ_{σ}(f) = ∑_{i=1}^{r} g_{i}(σ^{−1})h_{i}

so h_{1}, h_{2}, ..., h_{r} span a K−vectorspace basis of W ⊇ V s.t. λ_{σ}(f) ∈ W. To see that W is G−invariant take σ, τ ∈ G and choose c_{1}, c_{2}, ..., c_{r} ∈ K s.t. λ_{σ}^{−1}_{τ} (f) = ∑_{i=1}^{r} c_{i}h_{i}. We have λ_{τ} (f) = λ_{σ}_{σ}^{−1}_{τ} (f) = λ_{σ}(∑_{i=1}^{r} c_{i}h_{i}) = ∑_{i=1}^{r} c_{i}(λ_{σ}(h_{i})), so λ_{τ}(f) is contained in the K−vectorspace W_{σ} spanned by λ_{σ}(h_{1}), λ_{σ}(h_{2}), ..., λ_{σ}(h_{r}). Since r is minimal we have W ∩ W_{σ} = W and therefore λ_{σ}(h_{i}) ∈ W. If dim_{K}(V) > 1 then choose for each basis element a minimal G−invariant vectorspace as above. The union of these vectorspaces is then the desired G−invariant subspace. Now let W ⊂ K[X] be a finitedimensional subspace and {f_{i}} ∪ {h_{j}} be a basis for K[X] s.t. {f_{i}} spans W. For f ∈ W and σ ∈ G we have λ_{σ}(f) = ∑ r_{i}(σ^{−1})f_{i} + ∑ s_{j}(σ^{−1})h_{j}, where α^{∗}f = ∑ r_{i} ⊗ f_{i} + ∑ s_{j} ⊗ h_{j}, so σ · f ∈ W iff s_{j}(σ^{−1}) = 0 for all σ ∈ G. Varying σ ∈ G and f ∈ W we see that λ_{σ}(W) ⊆ W iff α^{∗}W ⊆ K[G] ⊗ W.

Theorem 35 Any algebraic group G over K is isomorphic to a closed subgroup of GL_{n}(K) for some n ∈ N.

Proof. Let K[G] = K[f_{1}, f_{2}, ..., f_{n}] s.t. f_{1}, f_{2}, ..., f_{n} are the basis of a G−invariant subspace V of K[G]. Now α^{∗}V ⊂ K[G] ⊗ V by Theorem 1.4.34 and there exist uniquely defined m_{ij} ∈ K[G] s.t.

α^{∗}f_{i} = ∑_{j=1}^{m} m_{ij} ⊗ f_{j}.

Suppose that there exist m′_{ij} ∈ K[G] s.t. α^{∗}f_{i} = ∑_{j=1}^{m} m′_{ij} ⊗ f_{j}. Then 0 = (α^{∗}f_{i} − α^{∗}f_{i})(σ, σ′) = ∑_{j=1}^{m} (m_{ij}(σ^{−1}) − m′_{ij}(σ^{−1})) f_{j}(σ′), i.e., we have 0 = ∑_{j=1}^{m} (m_{ij}(σ^{−1}) − m′_{ij}(σ^{−1})) f_{j}. Since f_{1}, f_{2}, ..., f_{n} form a basis it follows that m_{ij} = m′_{ij}. We claim that

ρ : G → GL_{n}(K)
σ ↦ (m_{ij}(σ^{−1}))

is the closed embedding of the algebraic group. Since f_{i}(σ) = f_{i}(eσ) = ∑_{j=1}^{m} m_{ij}(e)f_{j}(σ) we have f_{i} = ∑_{j=1}^{m} m_{ij}(e)f_{j}, i.e. f_{i} ∈ Im ρ^{∗}. Hence ρ is a closed embedding by Proposition 1.1.13(a). For σ, τ ∈ G we have λ_{σ}(λ_{τ}(f_{i})) = λ_{τ} (∑_{j=1}^{m} m_{ij}(σ^{−1})f_{j}) = ∑_{k=1}^{m} ∑_{j=1}^{m} m_{kj}(τ^{−1})m_{ij}(σ^{−1})f_{k} and λ_{σ} ∘ λ_{τ} = λ_{στ}. From λ_{σ}(λ_{τ}(f_{i})) = λ_{στ}(f_{i}) = ∑_{j=1}^{m} m_{ij}(τ^{−1}σ^{−1})f_{j} we obtain

m_{ij}(τ^{−1}σ^{−1}) = ∑_{j=1}^{m} m_{kj}(τ^{−1})m_{ij}(σ^{−1})

and therefore ρ(στ) = ρ(σ) · ρ(τ). Let T_{ij} be coordinates for K[GL_{n}(K)] = K[T_{11}, ..., T_{nn}, det^{−1}]. Then ρ^{∗}(T_{ij})(σ) = T_{ij}(ρ(σ)) = m_{ij}(σ^{−1}).

Theorem 36 (Existence of equivariant embeddings) Let G be an algebraic group acting algebraically on a variety X. There exists a finite dimensional vectorspace V, a closed embedding ϕ : X ↪ V and a morphism ρ : G → GL(V) s.t.

ϕ(σ •_{α} x) = ρ(σ) · ϕ(x)

for all σ ∈ G and x ∈ X.

Proof. W.l.o.g. we assume that f_{1}, f_{2}, ..., f_{m} ∈ K[X] are algebra generators for K[X] and span a G−invariant K−vectorspace V. By Theorem 1.4.34 we have α^{∗}V ⊂ K[G] ⊗ V and there exist m_{ij} ∈ K[G] s.t. α^{∗}f_{i} = ∑_{j=1}^{m} m_{ij} ⊗ f_{j}. From the proof of Theorem 1.4.35 it follows that the m_{ij} ’s are uniquely determined and the map ρ : G → GL_{n}(K), σ ↦ (m_{ij}(σ^{−1}))is closed. For each σ ∈ G and x ∈ X we have

f_{i}(σ •_{α} x) = ∑_{j=1}^{m} m_{ij}(σ^{−1})f_{j}(x).  (∗)

Define ϕ : X → V = K^{m} by y_{i} := f_{i}(x) for x ∈ X, where y_{1}, y_{2}, ..., y_{m} are coordinates on V. The map ϕ is obviously a morphism and, by definition, we have ϕ^{∗}(y_{i}) = f_{i}, i.e. ϕ^{∗} is surjective. By Proposition 1.1.13(a) ϕ is a closed embedding of X. We can write (∗) as

ϕ(σ •_{α} x) = ρ(σ) · ϕ(x).

We use these results to construct the categorical quotient for any algebraic action of G on X. Note that for arbitrary algebraic groups the categorical quotient need not exists in the category of affine varieties. Nagata provided a famous counterexample. to Hilbert’s 14^{th} problem, namely a group action of an algebraic group where the invariant ring is not finitely generated. Investigations of this kind can be found in the work of Greuel and Pfister (cf. [GP 1992]), where they study actions of unipotent algebraic groups.

Existence of quotients: Algebraic varieties

Let G be an algebraic group, X be an affine variety over an algebraically closed field K of characteristic 0 and

α : G × X → X

an algebraic action of G on X. In general, the categorical quotient of X by G does not exist, because the invariant ring O(X)^{G} of G is not always finitely generated, so spec(O(X)^{G}) is not an affine variety. But for several classes of groups, e.g., linearly reductive groups, the categorical quotient exists in the category of affine varieties.

A linear algebraic group G ⊂ GL_{n}(K) is called linearly reductive if each linear representation of G is completely reducible. If this holds for G then for any affine variety X on which G acts algebraically, the categorical quotient of X by G is an affine variety. For details we refer, e.g., to [Kraft 1985] and [MFK 1994].

In the algebraic category, for computational reasons, we consider only linear algebraic and linearly reductive groups acting linearly on embedded varieties. In this case the categorical quotient is given by spec(O(X)^{G}).

Theorem 37 Let G ⊂ GL_{n}(K) be a linear algebraic group which acts linearly on a closed subvariety X ⊂ K^{n}.

(a) If the order of G is finite then G is linearly reductive.

(b) If G is linearly reductive then spec(O(X)^{G}) is a categorical quotient of X by G.

Proof. (a) is a standard fact in representation theory, cf., e.g., [FH 1991], Ch. 2.1. (b)We refer, e.g., to [MFK 1994], Ch. 1, Theorem 1.1.

The restriction to linear group actions of linear algebraic groups on embedded varieties does not matter, because any algebraic group action can be linearized and the corresponding categorical quotients are isomorphic.

Theorem 38 If ρ : G → GL_{n}(K) and ϕ : X → K^{n} form an equivariant embedding of α, then ϕ(x)/ρ(G) is a categorical quotient of X by G.

Proof. Let π : ϕ(X) → ϕ(X)/ρ(G) be the map of the categorical quotient (induced by O(X)^{G} ↪ O(X)),ψ : X → Z be a morphism of affine varieties, and φ : X → ϕ(X)/ρ(G), x ↦ π(ϕ(x)). Suppose that ψ(σ •_{α} x) = ψ(x) for all σ ∈ G and x ∈ X. For ψ′ := ψ ∘ (ϕ_{|ϕ^{−1}(X)})^{−1} : ϕ(X) → Z there exists a unique η : ϕ(x)/ρ(G) → Z s.t. η ∘ π = ψ′ since ϕ(x)/ρ(G) is a categorical quotient. We obtain η ∘ φ = η ∘ π ∘ ϕ = ψ as desired.

The existence of a categorical quotient (Y, π) of X by G follows from Theorem 1.4.36 (linearization) and the two theorems above. Note that the categorical quotient Y inherits several properties, like irreducibility and normality, of X, and the proposition below is only an excerpt. For more details we refer to Ch. 0.2 of [MFK 1994].

Proposition 39 (a) If X is irreducible or normal then so is Y.

(b) If X is smooth then Y is Cohen-Macaulay.

(c) If H is a linear algebraic group which acts algebraically on X s.t. the actions of G and H commute then H acts on Y and π : X → Y is H−equivariant.

Proof. For (a) and (b) we refer to [MFK 1994], Ch. 0.2, and for (c) to [Kraft 1985], Ch. II.4.3.

We conclude with a criterium for the categorical quotient being a geometric quotient, which could be stated in more generality.

Theorem 40 Let X ⊂ C^{n} be closed subvariety variety and G ⊂ GL_{n}(C) be closed linearly reductive subgroup acting linearly on X. If all orbits of G are closed then spec(O(X)^{G}) is a geometric quotient.

Proof. We refer, e.g., to [Kraft 1985], Ch. II, Section 3.2.

1.5 How to construct the moduli space

We provide an outline for the construction of coarse moduli spaces for singularities which is due to Greuel and Pfister, cf. [GP 1991]. We apply each step to the case of semiquasihomogeneous hypersurface singularities with fixed principal part w.r.t. right equivalence. In Chapter 2 we provide proofs and details. We follow closely [GP 1991] where this scheme for the construction of a moduli space for a specific class of singularities is described.

The Method

Suppose that we have fixed a class of objects. According to Mumford (cf. [MFK 1994]) one has to fix the functor for which a moduli space is to be constructed.

• Fix an equivalence relation. For subvarieties of a fixed ℙ^{n} this might be equality (leading to the Hilbert scheme) or birational equivalence. For hypersurface singularities it could be contact equivalence or right equivalence.

• Define the notion of (flat) families of objects over some category of base spaces, together with the notion of base change.

• The equivalence relation has to be extended to families. In general, there may be several different extensions, which may lead to different concepts of a moduli space.

If the functor is fixed, a general method for constructing a moduli space proposed by Greuel and Pfister (cf. [GP 1991]) is as follows.

1. Fix some rough invariants like the Tjurina number.

2. Construct an algebraic family X → T with finite dimensional base space T which contains all isomorphism classes to be classified. This family should be locally versal.

3. In general, T will contain many equivalent objects and one tries to interpret the equivalence classes as orbits of an algebraic/Lie group G.

4. (a) Describe a big open subset T_{0} ⊂ T such that T_{0}/G exists as a complex space or an algebraic variety.

(b) Better, find a stratification T = ∪T_{i} of T into locally closed G−invariant subvarieties T_{i} s.t. the closure \overline{T}_{i} is the union of strata and T_{i}/G exists.

5. Find fine invariants of the objects to be classified, such that at least the reduction of each stratum id characterized exactly by fixing these invariants.

We apply this principle to the construction of a moduli space for semiquasihomogeneous hypersurface singularities with fixed principal part w.r.t. right equivalence.

Application

We fix a quasihomogeneous polynomial f_{0} with isolated singularity at 0. Our Objects are quasihomogeneous power series with fixed principal part. The functor, denoted by Unf_{f_{0}}^{−}, is constructed as follows:

• The equivalence relation is right-equivalence of power series s.t. the fixed part f_{0} is preserved.

• We consider families of unfoldings of f_{0} negative weight over complex or algebraic spaces.

• The extension of right equivalence of power series to unfoldings is obvious.

We apply the method:

1. Fortunately, no invariants have to be fixed.

2. The family F : (C^{n}, 0) × T_{−} ⟶ (C^{n}, 0) , defined in Section 2.4, is the desired family which contains all isomorphism classes of objects to be classified by Theorem 2.2.47.

3. The equivalent objects are the orbits of the group E_{f_{0}} by Proposition 3.4.53.

4. The quotient space T_{−}/E_{f_{0}} is a geometric quotient by Theorem 2.4.61.

5. No invariants have to be fixed.

Remark 3 If we exchange right-equivalence with contact-equivalence above, then the construction of the moduli space is much more complicated. In this case one has to consider deformations instead of unfoldings and the corresponding group is , i.g., not even reductive. In particular, one has to fix additional invariants in (1) and (5) like the Tjurina number and the Hilbert function of the Tjurina algebra. In step (4) a stratification is required because the topological space T/G is neither an algebraic variety nor a complex space. We refer to [GHP 1997].

Theoretical construction of the moduli space

We present the construction of Greuel, Hertling and Pfister (cf. [GHP 1997]) of a coarse moduli space for semiquasihomogeneous power series with fixed part. Let f ∈ C{x_{1}, x_{2}, ..., x_{n}} be such a power series with principal part f_{0} ∈ C[x_{1}, x_{2}, ..., x_{n}]. Essentially, it consists of two parts. Firstly, a theorem of Arnold is applied to show that the semiuniversal unfolding of negative weight F (over T_{−}) of f contains all isomorphism classes (w.r.t. ∼_{r}) of semiquasihomogeneous power series with principal part f_{0}. Secondly, the stabilizer group G_{f_{0}}^{w} of f_{0} (and not of the germ defined by f_{0}) and its action on T_{−}, given by the group E_{f_{0}}, is constructed, and it is shown that T_{−}/E_{f_{0}} is a coarse moduli space. We follow the presentation in (loc. cit.).

Notation: Let f be a semiquasihomogeneous power series of type (d; w) with principal part f_{0}, let B be s.t. {x^{α} : α ∈ B} is a monomial base of the Milnor algebra M_{f_{0}}, and set B_{−} := {α ∈ B : |α|_{w} > d} . The monomials x^{α}, α ∈ B_{−} are called upper monomials of f_{0}. Let k = |B_{−}| and set T_{−} := C^{k}.

We need the notion of quasihomogeneous maps, Arnold’s Theorem on semiquasihomogeneous power series, and the corresponding group actions on T_{−}.

2.1 The order of quasihomogeneous maps

28CHAPTER 2. THEORETICAL CONSTRUCTION OF THE MODULI SPACE

Let R = C{x_{1}, x_{2}, ..., x_{n}} be the ring of convergent power series and let Aut(R) denote the group of local C−algebra automorphisms of R. We define the weighted order and the notion of quasihomogenity for morphisms φ ∈ Aut(R). We show that the subgroup of Aut(R) of morphisms with weighted order > 0 forms a normal divisor in the subgroup of morphisms with weighted order ≥ 0 which turns out to be crucial in the construction of the induced group action on T_{−}. In addition we present a theorem of Greuel, Hertling, and Pfister which states that an isomorphism between two semiquasihomogeneous power series of the same type has weighted order ≥ 0.

Let w = (w_{1}, w_{2}, ..., w_{n}) ∈ N^{n} be weights and let R_{d} be the ideal generated by all power series of weighted order greater or equal to d.

Definition 41 (a)Let id ≠ φ : R → R be a ring homomorphism. The weighted order of φ,denoted by ord_{w}(φ), is the maximal integer d s.t. ord_{w}(φ(x_{i}) − x_{i}) ≥ w_{i} + d for 1 ≤ i ≤ n.

(b) For d ≥ 0 we define Aut_{≥d}(R) := {φ ∈ Aut(R) : ord_{w}(φ) ≥ d} ∪ {id} and Aut_{>d}(R) := Aut_{≥d+1}(R).

Proposition 42 (a) If φ ∈ Aut_{≥d}(R) where d ≥ 0, then for all λ ∈ N we have φ(R_{λ}) ⊆ R_{λ} and φ^{−1}(R_{λ}) ⊆ R_{λ}.

(b) For d ≥ 0 Aut_{≥d}(R) ⊂ Aut(R) is a subgroup.

(c) If q > p ≥ 0 then Aut_{≥q}(C{x}) ⊂ Aut_{≥p}(C{x}) is a normal subgroup.

Proof. (a) By linearity it suffices to show φ(x^{α}) ∈ R_{λ} for |α|_{w} = λ. Now ord_{w} (φ(x_{i}) − x_{i}) ≥ w_{i} + d implies ord_{w} (φ(x_{i})) ≥ w_{i}, hence ord_{w} (φ(x^{α})) = ∑_{i=1}^{n} ord_{w} (φ(x_{i}^{α_{i}})) ≥ ∑_{i=1}^{n} w_{i}α_{i} = |α|_{w} = λ. Now assume that there exists f ∈ R_{λ} s.t. φ^{−1}(f) ∈ R\R_{λ}. Since dim_{C} R/R_{λ} < ∞ there exits g ∈ R\R_{λ} s.t. φ^{−1}(g) ∈ R_{λ}, but g = φ ∘ φ^{−1}(g) ⊂ R_{λ}, a contradiction.

(b) Let φ, ψ ∈ Aut_{≥d}(C{x}). We have ord_{w} ((φ ∘ ψ)(x_{i}) − x_{i}) = ord(φ ∘ (ψ − id)(x_{i}) + (φ − id)(x_{i})). By assumption, ord((ψ − id)(x_{i})) ≥ w_{i} + d and ord((φ − id)(x_{i})) ≥ w_{i} + d, hence φ ∘ ψ ∈ Aut_{≥d}(C{x}) by (a). For φ^{−1} we obtain ord_{w}(φ^{−1}(x_{i}) − x_{i}) = ord_{w} (φ^{−1}(x_{i} − φ(x_{i}))) ≥ w_{i} + d again by applying (a).

(c) Note that for q > 0 the components of φ ∈ Aut_{≥q}(R) satisfy φ(x_{i}) = x_{i} +r_{φ,i}(x) where ord_{w}(r_{φ,i}(x)) ≥ w_{i} +q. Hence ord_{w}(φ) = q iff (φ−id)R_{λ} ⊂ R_{λ+q}. For ψ ∈ Aut_{≥p}(R) we obtain (ψ∘φ∘ψ^{−1}−id)R_{λ} = ψ∘(φ−id)ψ^{−1}(R_{λ}) ⊂ ψ(R_{λ+q}) ⊂ R_{λ+q} by applying (a).

The group Aut_{≥0}(R) can be seen as the quasihomogeneous analogue to GL_{n}(C);

Example 43 (a) Let n = 2 and w = (1, 2). Consider the homomorphisms φ, φ′ and φ′′ with

φ(x_{1}, x_{2}) = (x_{1} + x_{2}, 2x_{2}),
φ′(x_{1}, x_{2}) = (x_{1} + x_{2}, x_{1}^{4} + x_{2}),
φ′′(x_{1}, x_{2}) = (x_{2}, x_{1}).

2.2. ARNOLD’S THEOREM ON SEMIQUASIHOMOGENEOUS POWER SERIES29

Then φ has order 0, φ′ has order 1, and φ′′ has order −1.

(b) The homomorphisms of order 0 do not necessarily preserve quasihomogenity. From (a) we see that φ is of order 0 and x_{1}^{2} + x_{2} is quasihomogeneous but φ(x_{1}^{2} + x_{2}) = x_{1}^{2} + 2x_{1}x_{2} + x_{2}^{2} + 2x_{2} is not quasihomogeneous..

If f is semiquasihomogeneous of type (d; w) and φ is an automorphism of C{x_{1}, x_{2}, ..., x_{n}} of order 0 then φ(f) is semiquasihomogeneous of type (d; w). The converse, due to Greuel, Hertling and Pfister (cf. [GHP 1997]), is by no means trivial and plays an important role for the construction of the moduli space.

Theorem 44 (Greuel-Hertling-Pfister 1997) Let f and g be semiquasihomogeneous power series of type (d; w) and let φ ∈ Aut(C{x_{1}, x_{2}, ..., x_{n}}). Then

f = φ(g) ⟹ ord_{w}(φ) ≥ 0.

Proof. The proof uses some facts coming from the Gauss-Manin connection, which we do not introduce. Therefore we refer to [GHP 1997], Theorem 2.1.

Hence it suffices to consider only automorphisms φ ∈ Aut(C{x_{1}, x_{2}, ..., x_{n}}) which satisfy ord_{w}(φ) ≥ 0.

2.2 Arnold’s Theorem on semiquasihomogeneous power series

We solve the problem of step (2) in the construction scheme by using a result of V.I. Arnold, cf. [Arnold 1974] (or [AVG 1985], Ch. 12.6), which says that any semiquasihomogeneous power series with principal part f_{0} is right equivalent to f_{0} + ∑_{α∈B} c_{α}x^{α} for some complex numbers c_{α}. Hence the germ of the family

F (x, t) := F_{t}(x) := f_{0}(x) + ∑_{α∈B} t_{α}x^{α}

over (T_{−}, t_{0}) is a semiuniversal unfolding of F_{t_{0}} for arbitrary t_{0} ∈ T_{−}, and not only for those t_{0} contained in a small neighborhood of 0. The proof provides a construction of a morphism of weighted order > 0 which maps a given semiquasihomogeneous power series (with terms of arbitrary high degree) with principal part f_{0} to some F (x, c), c ∈ T_{−}. This construction is essential for the computation of the induced action of the stabilizer G_{f_{0}}^{w} of f_{0} on T_{−}. We follow the presentation in [AVG 1985].

In the sequel let f_{0} ∈ K[x_{1}, x_{2}, ..., x_{n}] be a quasihomogeneous polynomial of type (d; w) with an isolated singularity at 0. The following Lemmata will be needed to prove Arnold’s Theorem.

Lemma 45 Let f be a power series of weighted order d and ϕ be an automorphism of the form ϕ(x) = x − v of order δ > 0, v = (v_{1}, v_{2}, ..., v_{n}). Then

f (φ(x)) = f(x) − ∑ \frac{∂f}{∂x_{i}} v_{i}(x) + r(x)

for some r of order > d + δ.

Proof. By linearity we can assume that f = x^{α}. Let m = (m_{1}, m_{2}, ..., m_{n}) with m_{i} ≥ 0 and |m| > 1. A monomial in the term of the Taylor series, which corresponds to ∏_{i=1}^{n} \frac{∂^{m_{i}}}{∂^{m_{i}}x_{i}} , has exponent vector p = α − m + ∑_{i=1}^{n} l^{(i)} where l^{(i)} = ∑_{j=1}^{m_{i}} l^{(i,j)} and l^{(i,j)} is one of the exponent vectors l of the decomposition v_{i} = ∑ v_{i,l}x^{l}. Let 1_{i} be the exponent vector with 1 at the i−th position and 0 at all other positions. We can write p as

p = α + ∑_{i=1}^{n} ∑_{j=1}^{m_{i}} (l^{(i,j)} − 1_{i}) .

By assumption, |l^{(i,j)} − 1_{i}|_{w} ≥ δ > 0 and |α|_{w} ≥ d, which implies |p|_{w} ≥ d + |m| δ > d + δ.

Lemma 46 Any semiquasihomogeneous power series f_{0} + f_{1} with fixed part f_{0} and ord_{w}(f_{1}) > d can we transformed by a formal diffeomorphism of order > 0 to f_{0} + f′_{1} s.t. the terms of degree less than d′ of f_{1} and f′_{1} coincide,and the term of f′_{1} of degree d′ reduce to ∑_{α∈B ,|α|_{w}=d′} c_{α}x^{α} for some c_{α} ∈ C.

Proof. Let g denote the sum of all terms of degree d′ in f_{1} and h denote the terms of f_{1} of degree < d′. We can write g as

g = ∑_{i=1}^{n} \frac{∂f_{0}}{∂x_{i}} v_{i} + ∑_{α∈B ,|α|_{w}=d′} c_{α}x^{α}

for some c_{α} ∈ C since the x^{α}, α ∈ B , |α|_{w} = d′ are basis monomials. Since g is quasihomogeneous, v_{1}, v_{2}, ..., v_{n} can be chosen to be quasihomogeneous of degree d′ − d + w_{1}, d′ − d + w_{2}, , ..., d′ − d + w_{n} respectively. Consider the morphism ϕ defined by ϕ(x_{i}) = x_{i} − v_{i}. We have ord_{w} (ϕ(x_{i}) − x_{i}) = ord_{w} (v_{i}) = w_{i} + d′ − d, so the order of ϕ equals d′ − d > 0. By applying Lemma 2.2.45 to f = f_{0} + f_{1} we obtain

f(φ(x)) = f_{0}(x) − ∑_{i=1}^{n} \frac{∂f_{0}}{∂x_{i}} v_{i}(x) + r_{0}(x) + f_{1}(x) − ∑_{i=1}^{n} \frac{∂f_{1}}{∂x_{i}} v′_{i}(x) + r_{1}(x)
= f_{0}(x) + h(x) + ∑_{α∈B ,|α|_{w}=d′} c_{α}x^{α}

+ (f_{1} − h + − ∑_{i=1}^{n} \frac{∂f_{1}}{∂x_{i}} v_{i} + r_{0} + r_{1}) (x)

where h_{1} is the sum of all terms m from f_{0} +f_{1} with d < deg_{w}(m) < d′. Note that the order of the terms in brackets is greater than d′.

Theorem 47 (Arnold 1974). Let f be a semiquasihomogeneous power series with fixed principal part f_{0}. Then

f ∼_{r} f_{0} + ∑_{α∈B} c_{α} · x^{α}.

for some c_{α} ∈ C.

Proof. Let d′ > d be the minimal degree of a term in f not appearing in f_{0} and set d′′ := max{|α|_{w} : α ∈ B }. We use Lemma 2.2.46 to obtain a diffeomorphism ϕ_{1} (of weighted degree d′ − d) s.t. ϕ_{1}(f) = f_{0} + ∑_{α∈B_{−},|α|_{w}<d′+1} c_{α}x^{α} + f_{1} where ord_{w}(f_{1}) > d′. We successively apply Lemma 2.2.46 and obtain in the k−th step

ϕ_{k} ∘ ϕ_{k−1} ∘ ... ∘ ϕ_{1}(f) = f_{0} + ∑_{α∈B_{−},|α|_{w}<d′+k} c_{α}x^{α} + f_{k}

where ord_{w}(f_{k}) > d′ + k. Note that ϕ_{k} does not change the coefficients c_{α} where |α|_{w} < d′ + k. If d′ + k > d′′ then no new terms of the form c_{α}x^{α},α ∈ B_{−}, are introduced. By Theorem 1.1.16 μ(f) < ∞ since f has an isolated singularity at the origin. Hence there exists N > 0 s.t. ord(f_{N}) > μ(f_{0}) (not the weighted order) and Theorem 1.1.20 implies that f ∼_{r} f_{0} +∑_{α∈B} c_{α}·x^{α} via some ψ ∈ Aut(C{x}) which has ord_{w}(ψ) ≥ 0 by Theorem 2.1.44.

Proposition 48 For ϕ := ϕ_{N} ∘...∘ϕ_{1} and ψ from the previous proof we have

ord_{w}(ψ ∘ ϕ) > 0.

Proof. If ord_{w}(ψ) > 0 there is nothing to prove. Suppose ord_{w}(ψ) = ord_{w}(ψ ∘ ϕ) = 0. Since Aut_{>0}(C{x}) is a normal subgroup there exists ψ′ ∈ Aut_{≥0}(C{x}) with ψ ∘ ϕ = ϕ ∘ ψ′. Note that ord_{w}(ϕ) > 0 and ord_{w}(ψ^{−1}) = ord_{w}(ϕ ∘ ψ′) = 0. Hence ψ ∘ ϕ ∘ ψ^{(−1)} = ϕ ∘ ψ′ ∘ ψ^{−1}, but ord_{w}(ψ ∘ ϕ ∘ ψ^{(−1)}) > 0 = ord_{w}(ϕ ∘ ψ′ ∘ ψ^{−1}), a contradiction.

Remark 4 In the proof of Arnold’s Theorem it suffices to compute the morphisms ϕ_{k} for 1 ≤ k ≤ d′′ − d′ + 1 because

ϕ_{d′′−d′+1} ∘ ... ∘ ϕ_{1}(f) = f_{0} + ∑_{α∈B_{−},|α|_{w}} c_{α}x^{α} + f_{d′′−d′+1}

and ord_{w}(f_{d′′−d′+1}) > d′′. The application of ϕ_{k} for k > d′′ − d′ + 1 increases the weighted order f_{k−1} and does not change f_{0} + ∑_{α∈B_{−},|α|_{w}} c_{α}x^{α}.

2.3 The action of the stabilizer of f_{0} on T_{−}

Let f_{0} ∈ C[x_{1}, x_{2}, ..., x_{n}] be a quasihomogeneous polynomial of type (d; w) with an isolated singularity at 0. We investigate the stabilizer group G_{f_{0}}^{w} of f_{0} and its induced action on T_{−} which play a crucial role in the construction of the moduli space. Namely, the action of G_{f_{0}}^{w} on T_{−} is induced as follows. For t_{0} ∈ T_{−} and φ ∈ G_{f_{0}}^{w} there may not exist a t′_{0} s.t. φ(F_{t_{0}}) = F_{t′_{0}}, but there exist ψ ∈ Aut_{>0}(C{x}) and t′_{0} ∈ T_{−} s.t. ψ ∘ φ(F_{t_{0}}) = F_{t′_{0}} by Arnold’s Theorem. We prove that t′_{0} is independent of ψ so φ defines a map Θ(φ) : T_{−} → T_{−}. It turns out that the map Θ(φ) is an automorphism of T_{−} defined by quasihomogeneous polynomials, hence G_{f_{0}}^{w} acts algebraically on T_{−} via φ • t := Θ(φ)(t). Note that this action need not be linear. In addition it is shown that the induced group Θ(G_{f_{0}}^{w}) =: E_{f_{0}} ⊂ Aut(T_{−}) is finite. We follow the presentation of [GHP 1997].

Let m_{1}, m_{2}, ..., m_{k} denote the upper monomials of f_{0}, i.e., F (x, t) = f_{0}(x) + ∑_{i=1}^{k} t_{i}m_{i}.

Definition 49 (a) φ ∈ Aut(C{x}) is called quasihomogeneous (w.r.t. w) iff φ maps quasihomogeneous elements to quasihomogeneous elements of the same degree.

(b) G^{w} := {φ ∈ Aut(C{x}) : φ is quasihomogeneous w.r.t. w} .

If φ is quasihomogeneous then φ(x_{i}) is quasihomogeneous of degree w_{i}, i.e., the components φ_{i} are quasihomogeneous polynomials. Consider the natural inclusion i : G^{w} ↪ Aut_{≥0}(C{x}) and the projection π : Aut_{≥0}(C{x}) → Aut_{≥0}(C{x})/Aut_{>0}(C{x}).

2.3. THE ACTION OF THE STABILIZER OF F_{0} ON T_{−} 33

Proposition 50 The set G^{w} is a group, in particular,

Aut_{≥0}(C{x})/Aut_{>0}(C{x}) ≅ G^{w}.

Proof. Ker(π∘i) = {φ ∈ G^{w} : i(φ) ∈ Aut_{>0}(C{x})} = G^{w}∩Aut_{≥1}(C{x}) = {id}. To show surjectivity we construct the inverse to π∘i. Let φ ∈ Aut_{≥0}(C{x}) be a representative of [φ] ∈ Aut_{≥0}(C{x})/Aut_{>0}(C{x}). If φ ∈ G^{w}.then set ϕ(φ) := φ. Assume φ ∉ G^{w}. We have φ(x_{i}) ∈ A_{w_{i}} and φ(x_{i}) = y_{i} + z_{i}, where y_{i} is quasihomogeneous of degree w_{i} and ord(z_{i}) > w_{i}. We define ϕ(φ)(x_{i}) := y_{i} and denote ϕ(φ) by φ̃. For the determinants of the Jacobians of φ and φ̃, evaluated at 0 we obtain

0 ≠ det (\frac{∂(y_{i} + z_{i})}{∂x_{j}}) = det (\frac{∂y_{i}}{∂x_{j}} ) + R(z).

The term R contains the derivatives of z is equal to zero at the origin. Therefore both determinants coincide and φ̃ is invertible. It remains to show that (π ∘ i ∘ ϕ)(φ) = [φ] . We claim that ord(φ̃^{(−1)} ∘ φ) > 0,.i.e. φ̃^{(−1)} ∘ φ ∈ Aut_{>0}(C\{x\}) which implies \left[{ \atop φ̃}\right] = [φ] . We have

ord_{w}(φ̃^{(−1)} ∘ φ(x_{i}) − x_{i}) = ord_{w}(φ̃^{(−1)}(y_{i} + z_{i}) − x_{i})
= ord_{w}(φ̃^{(−1)}(y_{i}) + φ̃^{(−1)}(z_{i})) − x_{i})
= ord_{w}(x_{i} + φ̃^{(−1)}(z_{i})) − x_{i})
= ord_{w}(φ̃^{(−1)}(z_{i})) > w_{i}.

Proposition 51 For any semiquasihomogeneous power series f with principal part f_{0} there exists an automorphism ψ ∈ Aut_{>0}(C{x}) and a t_{0} ∈ T_{−} s.t. ψ(f) = F_{t_{0}}. If ψ′ ∈ Aut_{>0}(C{x}) and ψ′(F_{t_{0}}) = F_{t′_{0}} for some t′_{0} ∈ T_{−} then t_{0} = t′_{0}.

Proof. The existence of ψ and t_{0} follows from Arnold’s Theorem (Theorem 2.2.47). Assume that there exists ψ′ ∈ Aut_{>0}(C{x}), t′_{0} ∈ T_{−} s.t. ψ′(F_{t_{0}}) = F_{t′_{0}} and t_{0} ≠ t′_{0}. Consider the automorphisms ψ_{s}(x_{i}) := x_{i} + s · (ψ′(x_{i}) − x_{i}). Since ψ_{0} = id, ψ_{1} = ψ′, and ord_{w}(ψ_{s}(x_{i}) − x_{i}) = ord_{w}(x_{i} + s · (ψ′(x_{i}) − x_{i}) − x_{i}) = ord_{w}(s · (ψ′(x_{i}) − x_{i})) we have ord_{w}(ψ_{s}) = ord_{w}(ψ′) > 0 for s ≠ 0. The family G_{s} := ψ_{s}(F_{t_{0}}) is semiquasihomogeneous with principal part f_{0} and connects F_{t_{0}} and F_{t′_{0}}. We claim that this family is right equivalent to a trivial subfamily of F which contradicts Proposition 2.4.59(b). Arnold’s Theorem implies the existence of an automorphism χ_{s} for each s and of a holomorphic map σ : C → T_{−} s.t. χ_{s}(G_{s}) = F_{σ(s)}, i.e., the family G is right equivalent to the family F_{σ(s)}. Substituting ψ_{s}(F_{t_{0}}) for G_{s} we obtain χ_{s} ∘ ψ_{s}(F_{t_{0}}) = F_{σ(s)} which implies

F_{t_{0}} = (χ_{s} ∘ ψ_{s})^{−1} (F_{σ(s)}).

Hence the family G is trivial.

Definition 52 The stabilizer group of f_{0} is G_{f_{0}}^{w} := {φ ∈ G^{w} : φ(f_{0}) = f_{0}} .

Proposition 53 (a) For any φ ∈ G_{f_{0}}^{w} and t ∈ T_{−} there exists a unique s = Θ(φ)(t) and an automorphism ψ ∈ Aut_{>0}(C{x}) s.t. ψ ∘ φ(F_{t}) = F_{s}.

(b) The function Θ : G_{f_{0}}^{w} → Aut(T_{−}) is a group homomorphism.

(c) The components of Θ(φ)(t_{i}) are quasihomogeneous polynomials of degree deg_{w}(m_{i}) − d. In particular, the group Θ(G_{f_{0}}^{w}) acts algebraically on T_{−} and this action commutes with a C^{∗}−action on T_{−}.

Proof. (a) Existence of s ∈ T_{−} follows from Theorem 2.2.47, uniqueness from Proposition 2.2.48 and Proposition 2.3.51.

(b) Let φ ∈ G_{f_{0}}^{w} and t ∈ T_{−}. If Θ(φ)(t) = Θ(φ)(t′) then ψ∘φ(F_{t}) = ψ′∘φ(F_{t′}) for some ψ, ψ′ ∈ Aut_{>0}(C{x}). Since Aut_{>0}(C{x}) is a normal subgroup it follows from φ^{−1} ∘ ψ^{−1}ψ′ ∘ φ(F_{t′}) = F_{t} and Proposition 2.3.51 that t = t′, which proves the bijectivity of Θ(φ). Let φ′ ∈ G_{f_{0}}^{w}, ψ, ψ′, ψ̃ ∈ Aut_{>0}(C{x}) s.t.

ψ′ ∘ φ′ ∘ ψ ∘ φ(F_{t}) = F_{s},
ψ̃ ∘ φ′ ∘ φ(F_{t}) = F_{s′}

for some s, s′ ∈ T_{−}. Since Aut_{>0}(C{x}) is a normal subgroup of Aut_{≥0}(C{x}) there exists ψ′′ s.t. φ′ ∘ ψ = ψ′′ ∘ φ′. Note that ord_{w}(ψ′ ∘ ψ′′) > 0. Hence

F_{s} = ψ′ ∘ ψ′′ ∘ φ′ ∘ φ(F_{t}) = ψ̃ ∘ φ′ ∘ φ(F_{t}) = F_{s′}

by the uniqueness of s as stated in Proposition 2.3.51. The above equalities can be rewritten as

Θ(φ′ ∘ φ)(t) = Θ(φ′) ∘ Θ(φ)(t)

for all t ∈ T_{−}, so Θ is a group homomorphism.

(c) Let t_{1}, t_{2}, ..., t_{k} be coordinates on T_{−}, extend w by k zeros, set w′ = (w_{1}, w_{2}, ..., w_{n}, d − deg_{w}(m_{1}), ..., d − deg_{w}(m_{k})) and extend φ by φby φ(t_{i}) = t_{i}. Note that F is quasihomogeneous of type (d, w′) and φ is quasihomogeneous... Hence

φ(F) = φ(f_{0} + ∑_{i=1}^{k} t_{i}m_{i}) = f_{0} + ∑_{i=1}^{k} t_{i}φ(m_{i})

is quasihomogeneous of type (d, w′). Consider the map ϕ_{r} constructed in the r−th step of the iteration in the proof of Theorem 2.2.47 from the decomposition g(x) = ∑_{i=1}^{n} \frac{∂f_{0}}{∂x_{i}} v_{i} + ∑_{i=1,deg_{w}(m_{i})=d′}^{k} c_{i}m_{i} of the terms of degree d′ > d of f_{0} + ∑_{i=1}^{k} φ(m_{i}) (w.r.t. w). If m is a monomial s.t. deg_{w}(m) = d′ and β(t)m is contained in φ(F) then m = ∑_{i=1}^{n} \frac{∂f_{0}}{∂x_{i}} β(t)v_{i,m} + β(t)m_{i} is a decomposition of m (one of the two summands vanishes). In this way we obtain a decomposition

g(x, t) = ∑_{i=1}^{n} \frac{∂f_{0}}{∂x_{i}} (x) · v_{i}(x, t) + ∑_{i=1,deg_{w}(m_{i})=d′} c_{i}(t) · m_{i}

of the terms of degree d′ of F (w.r.t. w) which is quasihomogeneous of type (d, w′), in particular, deg_{w′}(v_{i}) = w_{i} and deg_{w′}(c_{i}(t)) = d − deg(m_{i}). Since ϕ_{r}(x_{i}) − x_{i} = v_{i} we have deg_{w′}(ϕ_{r}) = deg_{w′}(v_{i}) = w_{i} and ϕ_{r} is quasihomogeneous w.r.t. to w′. We obtain

ϕ_{r} ∘ ϕ_{r−1} ∘ ... ∘ ϕ_{1}(φ(F)) = f_{0} + ∑_{i=1,deg_{w}(m_{i})≤d′} c_{i}(t) · m_{i} + R(x, t)

where ord_{w}(R(x, t)) > d′. The image Θ(φ)(t_{i}) is given by the quasihomogeneous polynomial c_{i}(t).

Definition 54 The group E_{f_{0}} := Θ(G_{f_{0}}^{w}) is the induced subgroup of Aut(T_{−}) of the action of G_{f_{0}}^{w} on T_{−}.

Remark 5 (a) Unfortunately (for computational purposes) the map ψ of the previous Proposition cannot be omitted. Consider the homogeneous polynomial f_{0} = x_{1}^{8} + 14x_{1}^{4}x_{2}^{4} + x_{2}^{8}. The permutation π = (12) which permutes the variables, is contained in G_{f_{0}}^{w}. The semiuniversal unfolding of negative weight with principal part f_{0} is given by

F_{t} = f_{0} + t_{1}x_{1}x_{2}^{8} + t_{2}x_{1}^{2}x_{2}^{7} + t_{3}x_{1}^{3}x_{2}^{6} + t_{4}x_{2}^{9} + t_{5}x_{1}x_{2}^{9} + t_{6}x_{1}^{2}x_{2}^{8}
+t_{7}x_{2}^{10} + t_{8}x_{1}x_{2}^{10} + t_{9}x_{1}^{2}x_{2}^{9} + t_{10}x_{1}^{2}x_{2}^{10}.

An application of π to F_{t} yields

π(F_{t}) = f_{0} + t_{1}x_{1}^{8}x_{2} + t_{2}x_{1}^{7}x_{2}^{2} + t_{3}x_{1}^{6}x_{2}^{3} + t_{4}x_{1}^{9} + t_{5}x_{1}^{9}x_{2} +
t_{6}x_{1}^{8}x_{2}^{2} + +t_{7}x_{1}^{10} + t_{8}x_{1}^{10}x_{2} + t_{9}x_{1}^{9}x_{2}^{2} + t_{10}x_{1}^{10}x_{2}^{2}.

But none of the terms in π(F_{t}) − f_{0} is contained in the upper base. As an example, consider f = f_{0} + t_{4}x_{2}^{9} (the restriction of F to the subspace t_{i} = 0 for i ≠ 4). We apply ψ from Proposition 2.3.51 to π(f) = f_{0} + t_{4}x_{1}^{9} and obtain ψ ∘ π(f) = f_{0} + t_{4}x_{1}x_{2}^{8} − \frac{1}{8}t_{4}^{2}x_{1}^{2}x_{2}^{8}.

(b) It follows from (a) that, in general, E_{f_{0}} does not act linearly on T_{−}, even if G_{f_{0}}^{w} ⊂ GL_{n}(C). From a theoretical point of view, this is no restriction since the action is algebraic, so the quotient T_{−}/E_{f_{0}} still exists in the category of affine varieties. In order to compute the equations of T_{−}/E_{f_{0}} one has to linearize the action of E_{f_{0}} on T_{−} which is the main topic in Section 3.6.

(c) Since the action of G_{f_{0}}^{w} on T_{−} is given by quasihomogeneous polynomials the quotient T_{−}/G_{f_{0}}^{w} admits a C^{∗}−action. It turns out that this action is preserved by the linearization, i.e., the linear action of E′_{f_{0}} commutes with a C^{∗}−action, too.

The construction of the quotient T_{−}/E_{f_{0}} is considerably simplified by the fact that E_{f_{0}} is finite, which is proved below. Together with Theorem 1.4.40(b) this implies that T_{−}/E_{f_{0}} is even a geometric quotient. In the sequel we denote by

V := ⨁_{|α|_{w}=d} C · x^{α}

the C−vectorspace of quasihomogeneous polynomials of weighted degree d.

Lemma 55 The tangent space T_{f_{0}}G^{w}(f_{0}) of the orbit G_{w}(f_{0}) at f_{0} is given by j(f_{0}) ∩ V.

Proof. The tangent space T_{f_{0}}G^{w}(f_{0}) is the image of the tangent space T_{id}G^{w} under the orbit map ω_{f_{0}} : σ ↦ σ · f_{0}. Consider small curve germs

σ_{t}(x) := x + ε(x, t) : (C^{n}, 0) × (C, 0) → (C^{n}, 0),

where ε(x, t) = ε^{(1)}(x)t + ε^{(2)}(x)t^{2} + ..., in particular, σ_{0} = id. The image of the tangent map are all vectors of the form

\frac{d}{dt}(f_{0}(x + ε(x, t)) = ∑_{i=1}^{n} \frac{∂f_{0}}{∂x_{i}} (x)ε_{i}^{(1)}(x) ∈ m_{x} · j(f_{0})

which are all elements of j(f_{0}) ∩ V. .

Theorem 56 Let f_{0} ∈ C[x_{1}, x_{2}, ..., x_{n}] be a quasihomogeneous polynomial of type (d, w) with an isolated singularity at 0.

(a) The group G_{f_{0}}^{w} is finite if \overline{w}_{1} < \frac{1}{2}, ..., \overline{w}_{n−1} < \frac{1}{2}, \overline{w}_{n} ≤ \frac{1}{2}.

(b) The group E_{f_{0}} is finite.

Proof. (a) The dimension of the algebraic group G^{w} is

dim G^{w} = ∑_{i=1}^{n} #(monomials od degree w_{i}).

and G^{w} acts on V. We define

j_{i}(f_{0}) := ⟨\frac{∂f_{0}}{∂x_{1}} , \frac{∂f_{0}}{∂x_{2}} , ..., \frac{∂f_{0}}{∂x_{i−1}} , \frac{∂f_{0}}{∂x_{i+1}} , ..., \frac{∂f_{0}}{∂x_{n}} ⟩ .

By Lemma 2.3.55 we have for the tangent space T_{f_{0}}G^{w}(f_{0}) ⊂ T_{f_{0}}V in f_{0} that

T_{f_{0}}G^{w}(f_{0}) ≅ j(f_{0}) ∩ V.

We claim that \{x^{α} \frac{∂f_{0}}{x_{i}} : deg_{w}(x^{α}) = w_{i}\} is a basis of T_{f_{0}}G^{w}(f_{0}). For any relation with

0 = ∑_{i=1}^{n} ∑_{|α|_{w}=w_{i}} a_{i,α} · x^{α} \frac{∂f_{0}}{∂x_{i}} = ∑_{i=1}^{n} b_{i} \frac{∂f_{0}}{∂x_{i}}

where a_{i,α} ∈ C and b_{i} = ∑_{deg_{w}(x^{α})=w_{i}} a_{i,α}·x^{α}, we have, provided that b_{i} ≠ 0, deg_{w}(b_{i}) = w_{i} < d − w_{j} = deg_{w}(\frac{∂f_{0}}{∂x_{j}}) for i ≠ j. Therefore b_{i} ∉ j_{i}(f_{0}) or b_{i} = 0. Since f_{0} has an isolated singularity at 0 and C{x} is local, any permutation of the sequence \frac{∂f_{0}}{∂x_{1}} , \frac{∂f_{0}}{∂x_{2}} , ..., \frac{∂f_{0}}{∂x_{n}} is regular and \frac{∂f_{0}}{∂x_{i}} is not a zerodivisor in C{x}/j_{i}(f_{0}). This implies b_{i} = 0 for 1 ≤ i ≤ n,

j(f_{0}) ∩ V = ⨁_{i=1}^{n} ⨁_{|α|_{w}=w_{i}} C · x^{α} \frac{∂f_{0}}{∂x_{i}} ,

and

dim G_{f_{0}}^{w} = dim G^{w} − dim_{C} (j(f_{0}) ∩ V) = 0.

(b) W.l.o.g. \overline{w}_{1} < \frac{1}{2}, \overline{w}_{2} < \frac{1}{2}, ..., , \overline{w}_{r} < \frac{1}{2}, \overline{w}_{r+1} ≤ \frac{1}{2}, ..., \overline{w}_{n} ≤ \frac{1}{2}. By the generalized Morse Lemma and by Theorem 2.1.44 there exists φ ∈ G^{w} s.t.

φ(f_{0}) = g_{0}(x_{1}, x_{2}, ..., x_{r}) + x_{r+1}^{2} + ... + x_{n}^{2}.

We define h_{0} := x_{r+1}^{2} +...+x_{n}^{2} and denote by T_{−}^{f_{0}}, T_{−}^{g_{0}+h_{0}}, T_{−}^{g_{0}} the corresponding base spaces of the semiuniversal unfoldings of negative weight with fixed principal part f_{0}, g_{0} + h_{0} and g_{0} respectively. We obtain φ^{−1}G_{f_{0}}^{w}φ = G_{g_{0}+h_{0}}^{w} and isomorphisms among the Milnor algebras M_{f_{0}} ≅ M_{g_{0}+h_{0}} ≅ M_{g_{0}}, which implies

T_{−}^{f_{0}} = T_{−}^{g_{0}+h_{0}} = T_{−}^{g_{0}}.

An element σ ∈ G_{g_{0}+h_{0}}^{w} satisfies σ(x_{i}) = p_{i}(x_{1}, x_{2}, ..., x_{r}) for 1 ≤ i ≤ r since w_{i} < w_{r+j} for 1 ≤ j ≤ n − r − 1. Since σ is an isomorphism it follows that σ′(x_{i}) := p_{i},1 ≤ i ≤ r, is contained in G_{g_{0}}^{w}. Conversely, any element σ′ ∈ G_{g_{0}}^{w} can be lifted to an element σ ∈ G_{g_{0}+h_{0}}^{w} by σ(x_{i}) := σ′(x_{i}) for i ≤ r and σ(x_{i}) := x_{i} otherwise, hence we obtain a surjective map G_{g_{0}+h_{0}}^{w} → G_{g_{0}}^{w}. Let σ ∈ G_{g_{0}+h_{0}}^{w} and σ′ ∈ G_{g_{0}}^{w} be its image and note that none of the upper monomials m_{1}, m_{2}, ..., m_{k} of g_{0}+h_{0} contain x_{r+1}, x_{r+2}, ..., x_{n}. Therefore σ(F) = σ′(F) which implies Θ(σ) = Θ(σ′). Hence E_{g_{0}+h_{0}} = E_{g_{0}} = Θ(G_{g_{0}}^{w}) is finite since G_{g_{0}}^{w} is finite by (a).

Remark 6 Under the above hypotheses it is tempting, but wrong, to conclude that G_{f_{0}}^{w} ⊂ GL_{n}(C) or that ⊕_{i=1}^{n}C\frac{∂f_{0}}{∂x_{i}} is a G_{f_{0}}^{w}−module. Consider the quasihomogeneous polynomial f_{0} = x^{2} − xy^{2} + y^{4} of type (4; 2, 1) with an isolated singularity at 0 (μ_{f_{0}}(0) = 3). The the stabilizer group G_{f_{0}}^{w} has order 8 and is generated by the two automorphisms σ, τ, where

σ(x) = −x + y^{2},
σ(y) = y,

and τ(x) = −x, τ(y) = iy. It is obvious that G_{f_{0}}^{w} ⊈ GL_{2}(C). Moreover, C\frac{∂f_{0}}{∂x} ⊕ C\frac{∂f_{0}}{∂y} is not a G_{f_{0}}^{w}−module since σ^{−1} • \frac{∂f_{0}}{∂y} = 2y \frac{∂f_{0}}{∂x} + \frac{∂f_{0}}{∂y} .

2.4 The moduli space

For the construction of a moduli space for semiquasihomogeneous hypersurface singularities with fixed principal part f_{0} w.r.t. right equivalence we have to construct a moduli functor as described in Section 1.5, denoted by Unf_{f_{0}}^{−}. Note that In order to do so we have to extend the notion of unfoldings of negative weight and right equivalence of unfoldings to families of unfoldings of negative weight and right equivalence of such families and we mention that the family F : C^{n} × T_{−} → C is semiuniversal. Initially, the moduli space M is a complex space (more precisely, a Stein space), but it turns out that M also carries the structure of an affine variety. In addition, M ≠ {0} implies that M is not a fine moduli space.

Throughout this section let f_{0} ∈ C[x_{1}, x_{2}, ..., x_{n}] be a quasihomogeneous polynomial of type (d; w) with an isolated singularity at 0. Let S denote one of the categories complex/algebraic spaces, or complex germs. Note that T_{−} = C^{k} where k is the number of upper monomials of a monomial basis of the Milnor algebra M_{f_{0}}. We follow the construction of [GHP 1997].

2.4.1 The functor Unf_{f_{0}}^{−}

We have to extend the notion of an unfoldings of negative weight with fixed principal part f_{0} to families of unfoldings of negative weight.

Definition 57 Let S ∈ S be a base space.

(a) A family of unfoldings over S is a morphism ϕ : (C^{n}, 0) × S → (C, 0) × S s.t.

(C^{n}, 0) × S ⟶^{ϕ} (C, 0) × S
↘  ↙
S

commutes.

(b) A morphism of two families ϕ, ϕ′ of unfoldings over S is a morphism Ψ : (C^{n}, 0) × S → (C^{n}, 0) × S, Ψ(x, s) = (ψ(x, s), s) s.t. ϕ ∘ Ψ = ϕ′.

(c) Two families ϕ, ϕ′ of unfoldings over S are right equivalent, denoted by ϕ ∼_{r} ϕ′, iff there exists a morphism Ψ of ϕ and ϕ′ s.t. for all s ∈ S, ψ_{s} ∈ Aut((C^{n}, 0)).

Let ϕ, ϕ′ be two right equivalent families (via Ψ) of unfoldings over S ∈ S. For each s ∈ S, the germ ϕ : (C^{n}, 0) × (S, s) → (C, 0) × (S, s), ϕ(x, s) = (G_{s}(x), s), is an unfolding of G_{s} over (S, s) . The right equivalence can be written as G_{s}(ψ(x, s)) = G_{s}(ψ_{s}(x)) = G′_{s}(x).

Definition 58 A morphism

ϕ : (C^{n}, 0) × S ⟶ (C, 0) × S,
(x, s) ⟼ (G(x, s), s) = (G_{s}(x), s)

is called a family of unfoldings of negative weight with principal part f_{0}, also called a family of f_{0}^{−}−unfoldings, iff ϕ is a family of unfoldings over S and the following condition holds. For any s ∈ S, G_{s} : (C^{n}, 0) → (C, 0) is right equivalent to a semiquasihomogeneous power series with principal part f_{0} and the germ of G at s, G : (C^{n}, 0) × (S, s) → (C, 0) × (S, s) is an unfolding of G_{s} of negative weight.

Let ϕ be a family of unfoldings of negative weight with principal part f_{0} over S ∈ S, let T ∈ S and φ : T → S be a morphism. The induced map

φ^{∗}ϕ : (C^{n}, 0) × T ⟶ (C, 0) × T,
(x, t) ⟼ (G(x, φ(t)), t)

is a family of unfolding of negative weight with principal part f_{0} over T, also denoted by φ^{∗}G.

Let {m_{1}, m_{2}, ..., m_{k}} be the set of upper monomials of the Milnor algebra M_{f_{0}}. We define a family of f_{0}^{−}−unfoldings

F : C^{n} × T_{−} ⟶ C,
F (x, t) : = f_{0}(x) + ∑_{i=1}^{k} t_{i}m_{i}

and call it the semiuniversal family of unfoldings of negative weight of semiquasihomogeneous power series with principal part f_{0}. This name is justified by the proposition below.

Proposition 59 Let f be a semiquasihomogeneous power series with principal part f_{0}.

(a) For each t ∈ T_{−} the restriction of F to the germ (T_{−}, t) is a semiuniversal unfolding of F_{t} of negative weight.

(b) T_{−} does not contain trivial subfamilies.

(c) T_{−} = {0} iff f_{0} is simple or simple elliptic.

(d) If f_{0} is neither simple nor simple elliptic then there exist t, t′ ∈ T_{−} arbitrary close to 0 s.t. F_{t} ∼_{r} F_{t′} (that is, the unfolding F is not universal in any neighborhood of 0).

Proof. For the proof of (a) and (b) we refer to [GHP 1997], Remark 1.1 and Lemma 1.2.

(c) due to [Saito 1974].

(d) The group μ_{d} of d−th roots of 1 acts on T_{−} via λ • t_{i} = λ^{deg(t_{i})}t_{i} where deg(t_{i}) := d − deg_{w}(m_{i}). For λ ∈ μ_{d} we obtain F_{t}(λ • x) = F (λ • x, t) = f_{0}(x) + ∑_{i=1}^{k} λ^{− deg(t_{i})}t_{i}m_{i} = F_{λ^{−1}•t}(x), i.e., F_{t} ∼_{r} F_{λ^{−1}•t}.

The functor for our moduli problem is defined as follows

Unf_{f_{0}}^{−} : S ⟶ (sets),
S ∈ Obj(S) ⟼ {[ϕ]_{∼_{r}} : ϕ a family of f_{0}^{−} − unfoldings over S} ,
T →^{φ} S ∈ Mor(T, S) ⟼ ([ϕ]_{∼_{r}} ↦ [φ^{∗}ϕ]_{∼_{r}}) .

Proposition 60 For the reduced point {pt} ∈ S we obtain

Unf_{f_{0}}^{−}({pt}) = {[f]_{∼_{r}} : f semiquasihomogeneous with principal part f_{0}} .

Proof. By definition, a family ϕ of negative weight with principal part f_{0} over {pt} is a quasihomogeneous power series G with principal part f_{0}.

By Theorem 2.2.47 the quasihomogeneous power series G is right equivalent to F_{t} for some t ∈ T_{−}. Hence Unf_{f_{0}}^{−}({pt}) is the desired set of equivalence classes classifying semiquasihomogeneous hypersurface singularities with principal part f_{0} w.r.t. right equivalence. We can solve the classification problem by providing a coarse moduli space for Unf_{f_{0}}^{−}.

If S is any of the categories complex/algebraic spaces we denote Unf_{f_{0}}^{−} by Unf_{f_{0},hol}^{−} and Unf_{f_{0},alg}^{−} respectively.

2.4.2 The moduli space

We provide a proof that coarse moduli spaces M_{hol} for Unf_{f_{0},hol}^{−} and M_{alg} for Unf_{f_{0},alg}^{−} exist and that they are affine varieties.

Theorem 61 (Greuel-Hertling-Pfister 1997). Let f_{0} ∈ C[x_{1}, x_{2}, ..., x_{n}] be a quasihomogeneous polynomial with an isolated singularity at 0. The geometric quotient

M_{hol} := T_{−}/E_{f_{0}}

is a coarse moduli space for the functor Unf_{f_{0},hol}^{−}.

Proof. By Theorem 2.3.56.(b) and Proposition 2.3.53.(c) E_{f_{0}} is finite and acts algebraically on T_{−}, in particular it acts holomorphically on T_{−}, hence M_{hol} is a geometric quotient. by Theorem 1.4.32. The class of t ∈ T_{−} is denoted by [t] ∈ M_{hol}. We have to construct a natural transformation

ψ : Unf_{f_{0},hol}^{−} ⟶ Mor( , T_{−}/E_{f_{0}}).

Let f ∼_{r} f′ ∈ C{x_{1}, x_{2}, ..., x_{n}} be semiquasihomogeneous power series of type (d; w) with principal part f_{0} s.t. f ∼_{r} F_{t} and f′ ∼_{r} F_{t′} for some t, t′ ∈ T_{−}. We obtain a morphism φ s.t. φ(F_{t}) = F_{t′} and φ(f_{0}) = f_{0}. By Proposition 2.3.51 ord_{w}(φ) = 0 which implies φ ∈ E_{f_{0}} and [t] = [t′]. In this way we obtain a bijection ψ(pt) from the set of right equivalence classes of semiquasihomogeneous power series with principal part f_{0} and M_{hol}. For S ∈ (complex spaces) the map

ψ(S) : Unf_{f_{0},hol}^{−}(S) → Mor(S, T_{−}/E_{f_{0}})

is constructed as follows. Let G ∈ Unf_{f_{0},hol}^{−}(S) be a representative and chose a covering {U_{i}}_{i∈I} of S in such a way that Proposition 2.4.59 yields maps φ_{i} : U_{i} → (T_{−}, t_{i}) and φ_{i}^{∗}F ∼_{r} G |_{U_{i}} . Note that these morphisms are not necessarily unique. Suppose that U_{i} ∩ U_{j} =: U_{ij} is nonempty and let s ∈ U_{ij}. We obtain F_{φ_{i}(s)} ∼_{r} G_{s} ∼_{r} F_{φ_{j}(s)} which implies [φ_{i}(s)] = [φ_{j}(s)] (as above).

Therefore we can glue {φ_{i}}_{i∈I} to a morphism φ : S → T_{−}/E_{f_{0}}. If G ∼_{r} G′ via ψ then [φ(s)] = [φ ∘ ψ^{−1}(s)] since F_{φ(s)} ∼_{r} G_{s} ∼_{r} G′_{ψ^{−1}(s)} ∼_{r} F_{φ∘ψ^{−1}(s)}. Let {U′_{i}}_{i∈I} be a covering of S and let {φ′_{i}}_{i∈I} be morphisms as above, i.e. φ̃_{i}^{∗}F ∼_{r} G |_{U′_{i}} and they glue to φ′. We have to show that φ([s]) = φ′([s]). For s ∈ U_{i} ∩ U′_{j} we have F_{φ_{i}(s)} ∼_{r} G_{s} ∼_{r} F_{φ̃_{j}(s)} which implies [φ_{i}(s)] = [φ_{j}(s)]. Hence the map ψ(S) : [G]_{∼_{r}} ↦ φ is well defined. For S′ ∈ (complex spaces) and ϕ : S′ → S a morphism we claim that

Unf_{f_{0},hol}^{−}(S) → Mor(S, T_{−}/E_{f_{0}})
↓  ↓
Unf_{f_{0},hol}^{−}(S′) → Mor(S′, T_{−}/E_{f_{0}})

commutes. Let φ′ = ψ(S′)(ϕ^{∗}G) and let G and φ be as above. We have to show that φ′ = φ ∘ ϕ. Since F_{φ′(s)} ∼_{r} G_{s′} for s′ ∈ S′, we obtain for s ∈ S and s′ := ϕ(s)

F_{φ(ϕ(s))} ∼_{r} G_{ϕ(s)} = G_{s′} ∼_{r} F_{φ′(s)}

which implies the claim.

Corollary 62 (a) The geometric quotient M_{alg} := T_{−}/E_{f_{0}} is a coarse moduli space for the functor Unf_{f_{0},alg}^{−}.

(b) T_{−}/E_{f_{0}} is an affine variety.

Proof. (a) As in the Theorem 2.4.61.

(b) Since E_{f_{0}} is finite and acts algebraically on T_{−}, all orbits are closed. Consider the linearization of E_{f_{0}}, given by ρ : E_{f_{0}} → GL_{l}(C) and ϕ : T_{−} ↪ C^{l}, and set E′_{f_{0}} := ρ(E_{f_{0}}). Since E_{f_{0}} is finite the group E′_{f_{0}} is linearly reductive by Theorem 1.4.37(a). By Theorem 1.4.38 the categorical quotients T_{−}/E_{f_{0}} and T_{−}/E′_{f_{0}} are isomorphic, and by Theorem 1.4.37 the categorical quotient of ϕ(T_{−})/E′_{f_{0}} is isomorphic to spec(O(ϕ(T_{−}))^{E′_{f_{0}}}), hence it is an affine variety.

Proposition 63 As an affine variety the moduli space M_{hol} is reduced, irreducible, has the Cohen-Macaulay property, and admits a C^{∗}−action.

Proof. Obviously, T_{−} is smooth and irreducible. By Proposition 2.3.53(c) E_{f_{0}} admits a C^{∗}−action. The claim follows from Proposition 1.4.39.

Remark 7 A fine moduli space for Unf_{f_{0}}^{−} does not exist even if S is the category of complex germs. Suppose M is a fine moduli space. Then, by Proposition 1.3.26(a) M is also a coarse moduli space, so M ≃ T /E_{f_{0}}. There exists a universal unfolding over the germ (T_{−}/E_{f_{0}}, 0) which can be induced from the semiuniversal unfolding F over the germ (T_{−}, 0) and vice versa. Since T_{−} does not contain trivial subfamilies the semiuniversal family F over (T , 0) would be universal, which contradicts Proposition 2.4.59(d), cf. [GHP 1997].

44CHAPTER 2. THEORETICAL CONSTRUCTION OF THE MODULI SPACE

Algorithmic construction of the moduli space

We provide algorithms for computing equations of the moduli space M_{hol}, abbreviated by M, for the functor Unf_{f_{0},hol}^{−} where f_{0} ∈ C[x_{1}, x_{2}, ..., x_{n}] is a quasihomogeneous polynomial with an isolated singularity at 0. M_{hol} is the moduli space of quasihomogeneous power series with principal part f_{0} w.r.t. ∼_{r}, or, in other words, for semiquasihomogeneous hypersurface singularities with principal part f_{0}. As we have seen in Section 2.4.2 M carries the structure of an affine variety, hence M is isomorphic to a closed subvariety M′ of some C^{m}. It is the aim of this chapter to compute equations for M′. Note that the moduli space M is determined only up to unique isomorphism.

In the subsequent sections we provide the main algorithm together with necessary subalgorithms. Each algorithm is applied to the corresponding data coming from the quasihomogeneous polynomial f_{0} = x^{2}z +x^{2}y−z^{5} +y^{5}.

Note: In this chapter we provide a description of the algorithms and not of the implementation. No implementation details or tricks are mentioned, in particular we neglect the use of data types (such as ideal, poly, ring) which is essential for any use of Singular. Furthermore, the implemented algorithms may return more complex objects than described here. For a description of the interface of the implementation we refer to Chapter 5.

A procedure name in typewriter refers to a procedure in Singular or to an algorithm described here.

46CHAPTER 3. ALGORITHMIC CONSTRUCTION OF THE MODULI SPACE

3.1 An algorithm for computing equations of the moduli space

Let f_{0} ∈ C[x_{1}, x_{2}, ..., x_{n}] be a quasihomogeneous polynomial with an isolated singularity at 0. The coarse moduli space M_{hol} for the functor Unf_{f_{0},hol}^{−} is isomorphic to the quotient T_{−}/E′_{f_{0}} which can be embedded in C^{m} by computing the invariant ring of the group E′_{f_{0}} which is the linearization of the action of E_{f_{0}} on T_{−}. We present the main algorithm which computes the desired equations of M_{hol} as a closed subvariety of C^{m}. Roughly speaking, the algorithm consists of the computation of the quotient of T_{−} w.r.t. the action of the finite group E_{f_{0}} which is induced from the stabilizer group G_{f_{0}}^{w} acting on T_{−}, where the latter action is computed from Arnold’s Theorem (cf. Theorem 2.2.47). If E_{f_{0}} does not act linearly on T_{−} the action has to be linearized and T_{−} and E_{f_{0}} have to be replaced above by ϕ(T_{−}) and E′_{f_{0}} respectively. More precisely, the computation is divided in the following 6 steps.

1. Compute equations of the stabilizer group G_{f_{0}}^{w} of f_{0}.

2. Compute the induced action α of G_{f_{0}}^{w} on T_{−} by means of Arnold’s Theorem on semiquasihomogeneous power series. Note that σ •_{α} t := Θ(σ)(t) where Θ is the map defined in Proposition 2.3.53.

3. If necessary, linearize the action α, i.e., find a representation ρ : G_{f_{0}}^{w} → GL_{l}(C) and a closed embedding ϕ : T_{−} ↪ C^{l} s.t.

ϕ(σ •_{α} x) = ρ(σ) · ϕ(x).

4. Compute the ideal of the group E′_{f_{0}} := ρ(G_{f_{0}}^{w}). Note that E′_{f_{0}} acts linearly on C^{l} and is the linearization of the action of E_{f_{0}} on T_{−}.

5. Compute generators h_{1}, h_{2}, ..., h_{m} of the invariant ring C[t_{1}, t_{2}, ..., t_{l}]^{E′_{f_{0}}} of E′_{f_{0}} by means of Derksen’s algorithm. In general, this step requires the application of the Reynolds operator of E′_{f_{0}}.

6. Compute the ideal I of the image of ϕ(T_{−}) under the morphism

Φ : C^{l} → C^{l}/E′_{f_{0}} ↪ C^{m}

given by Φ^{∗}(y_{i}) = h_{i}. The coarse moduli space for Unf_{f_{0}}^{−} is given by the variety V(I) defined by I, i.e.,

V(I) ≃ M_{hol} ≃ Unf_{f_{0}}^{−} ({pt}) .

In the algorithm the (possibly nonlinear) action α is represented by the polynomials p_{1}(s, t), ..., p_{k}(s, t) where s = (s_{1}, s_{2}, ..., s_{r}), t = (t_{1}, t_{2}, ..., t_{k}). The linearized action is represented by the polynomials p_{1}(s, t), ..., p_{l}(s, t) where l ≥ k and t = (t_{1}, t_{2}, ..., t_{l}), which also encode the representation ρ. From a theoretical point of view, the computation of E′_{f_{0}} is not necessary, but this may simplify the computation of the Reynolds operator since |E′_{f_{0}} | ≤ |G_{f_{0}}^{w}| .

Algorithm ModEqn(f_{0})

In: quasihomogeneous polynomial f_{0} with an isolated singularity at 0. Out: equations f_{1}, f_{2}, ..., f_{q} of the moduli space of Unf_{f_{0}}^{−}. begin

m :=UpperMonomials(f_{0}); //

k :=size(m); G_{f_{0}}^{w} :=StabEqns(f_{0}); // variables s_{1}, ..., s_{r} // variables are s_{1}, s_{2}, ..., s_{r}, t_{1}, t_{2}, ..., t_{k}, x_{1}, x_{2}, ..., x_{n} F_{t} := f_{0} + ∑_{i=1}^{k} t_{i}m[i]; {p_{1}(s, t), ..., p_{k}(s, t)} :=ArnoldAction(G_{f_{0}}^{w}, F_{t}); ({p_{1}(s, t), ..., p_{l}(s, t)} , ϕ) :=LinearizeAction(G_{f_{0}}^{w}, {p_{1}, ..., p_{k}}) // variables are s_{1}, s_{2}, ..., s_{r}, t_{1}, t_{2}, ..., t_{k}, t_{k+1}, ..., t_{l} {g_{1}, ..., g_{l}} := {ϕ_{1}(t_{1}, ..., t_{k}), ϕ_{2}(t_{1}, ..., t_{k}), ..., ϕ_{l}(t_{1}, ..., t_{k})}; E′_{f_{0}} := ImageVariety(G_{f_{0}}^{w}, p_{1}(s, t), ..., p_{l}(s, t)); // variables are s_{1}, s_{2}, ..., s_{r′}, t_{1}, t_{2}, ..., t_{k}, t_{k+1}, ..., t_{l}; {g′_{1}, ..., g′_{l′}} := ImageVariety({0}, {g_{1}, ..., g_{l}}); // image of parameterization {f_{1}, ..., f_{q}} :=QuotientEquations(E′_{f_{0}}, {p_{1}(s, t), ..., p_{l}(s, t)} , {g_{1}, ..., g_{l}}); return({f_{1}, ..., f_{q}}) end;

3.2 Computing the image of an ideal

The computation of the image of an ideal (or variety) is needed two times in the algorithm. Let I := ⟨f_{1}, f_{2}, ..., f_{r}⟩ ⊂ K[x_{1}, x_{2}, ..., x_{n}] and J ⊂ K[y_{1}, y_{2}, ..., y_{m}] be defining ideals of subvarieties V ⊂ K^{n} and W ⊂ K^{m} respectively. A morphism

ϕ : V ⟶ W

is defined on the ring level as a homomorphism

ϕ^{∗} : K[y_{1}, y_{2}, ..., y_{m}]/J ⟶ K[x_{1}, x_{2}, ..., x_{n}]/I

where ϕ^{∗}(J) ⊂ I. The Zariski-closure of the image of ϕ is a closed subvariety \overline{ϕ(V)} ⊂ K^{m}. The defining ideal of \overline{ϕ(V)} can be computed as follows (cf. Proposition 2.1.3 in [Vasconcelos 1997]).

Proposition 64 The defining ideal of \overline{ϕ(V)} is given by

I(\overline{ϕ(V)}) = ⟨y_{1} − ϕ_{1}^{∗}(x), ..., y_{m} − ϕ_{m}^{∗}(x), f_{1}, ..., f_{r}⟩ ∩ K[y_{1}, y_{2}, ..., y_{m}],

where \overline{ϕ(V)} denotes the Zariski closure of ϕ(V).

Proof. The proof is a slight modification of the proof of Theorem 3.3.1 of [CLS 1992] where the case I = 0 is considered. By x we denote the point (x_{1}, x_{2}, ..., x_{n}) ∈ K^{n}. The graph Γ_{ϕ} of ϕ is given by

Γ_{ϕ} := {x, ϕ_{1}(x), ϕ_{2}(x)..., ϕ_{m}(x) : x ∈ V } ⊂ K^{n} × K^{m}

and its Zariski-closure has defining ideal

I(\overline{Γ_{ϕ}}) = ⟨f_{1}, f_{2}, ..., f_{r}, y_{1} − ϕ_{1}^{∗}(x), y_{2} − ϕ_{2}^{∗}(x), ..., y_{m} − ϕ_{m}^{∗}(x)⟩ .

The claim follows from elimination theory. .

Note that the ideal J is irrelevant (as soon as ϕ^{∗}(J) ⊂ I) in the practical computation of I(\overline{Γ_{ϕ}}). In our applications of the algorithm below we will not make use of J.

Algorithm ImageVariety({f_{1}, f_{2}, ..., f_{r}} , {ϕ_{1}, ϕ_{2}, ..., ϕ_{m}})

In: Generators f_{1}, f_{2}, ..., f_{r} for I, the components of ϕ = (ϕ_{1}, ϕ_{2}..., ϕ_{m}) . Out: (g_{1}, g_{2}, ..., g_{p}) equations of \overline{ϕ(V)}. Fix an elimination order on K[x_{1}, x_{2}, ..., x_{n}, y_{1}, y_{2}, ..., y_{m}] s.t. x_{i} > y_{j} begin {g_{1}, ..., g_{p}} := eliminate({f_{1}, ..., f_{r}, y_{1} − ϕ_{1}, ..., y_{m} − ϕ_{m}} , y_{1} · ... · y_{m}) ; return({g_{1}, g_{2}, ..., g_{p}}) end;

3.3 A basis for T_{−}

Recall that any semiquasihomogeneous power series f ∈ C{x_{1}, x_{2}, ..., x_{n}} of type (d; w) with principal part f_{0} is right equivalent to f_{0} + ∑_{i=1}^{k} c_{i}m_{i} where m_{1}, m_{2}, ..., m_{k} are the monomials from a basis of the Milnor algebra of f_{0} which satisfy deg_{w}(m_{i}) > d. By definition, f_{0} has an isolated singularity at 0.

3.4. THE STABILIZER GROUP G_{F_{0}}^{W} 49

Algorithm UpperMonomials(f_{0})

In: quasihomogeneous polynomial f_{0} with an isolated singularity at 0. Out: {m_{1}, m_{2}, ..., m_{k}} upper monomials. begin

     {m′_{1}, ..., m′_{k′}} :=kbase(std(jacob(f_{0})));

{m_{1}, ..., m_{k}} := {m′_{j} : 1 ≤ j ≤ k′, deg_{w}(m′_{j}) > d};

return({m_{1}, m_{2}, ..., m_{k}})

end;

Example 65 The polynomial f_{0} = x^{2}z + x^{2}y − z^{5} + y^{5} is quasihomogeneous of type (5; 2, 1, 1) and has an isolated singularity at 0 (μ_{f_{0}}(0) = 24). An

upper basis of the Milnor algebra M_{f_{0}} = C\{x, y, z\}/ ⟨\frac{∂f_{0}}{∂x} , \frac{∂f_{0}}{∂y} , \frac{∂f_{0}}{∂z} ⟩ is given by the monomials y^{3}z^{3}, x^{2}y^{3}, x^{2}y^{2} of weighted degrees 6, 7 and 6 respectively. The semiuniversal unfolding of f_{0} of negative weight is given by

F = f_{0} + t_{1}y^{3}z^{3} + t_{2}x^{2}y^{3} + t_{3}x^{2}y^{2}.

3.4 The stabilizer group G_{f_{0}}^{w}

Let f ∈ C{x_{1}, x_{2}, ..., x_{n}} be a quasihomogeneous power series of type (d; w) with principal part f_{0} ∈ C[x_{1}, x_{2}, ..., x_{n}]. We are interested in quasihomogeneous automorphisms of C{x_{1}, x_{2}, ..., x_{n}} w.r.t. the weights w_{1}, w_{2}, ..., w_{n} which leave f_{0} invariant. Each component φ_{i} of a quasihomogeneous automorphism is quasihomogeneous of degree w_{i}, hence φ is of the form

φ(x_{i}) = ∑_{j=1,w_{j}|w_{i}}^{n} a_{ij}xj^{\frac{w_{i}}{w_{j}}} + ∑_{|α|_{w}=w_{i},α_{i}=0} b_{α}x^{α}

for some a_{ij}, b_{α} ∈ C s.t. det(\frac{∂φ_{i}}{∂x_{j}} (0)) ≠ 0. We can compute equations defining the variety of G_{f_{0}}^{w} as a set by comparing coefficients of f_{0} and f_{0} ∘ φ. By definition, f_{0} has an isolated singularity at 0.

Proposition 66 Let f_{0} ∈ C[x_{1}, x_{2}, ..., x_{n}] be a quasihomogeneous with an isolated singularity at 0 and I be the ideal generated by the equations obtained by comparing coefficients of f_{0} and f_{0} ∘ φ. The affine variety V(\sqrt{I}) is an algebraic group.

Proof. It suffices to show that each the elements of V(\sqrt{I}) are invertible. Assume that φ ∈ V(\sqrt{I}) and det(\frac{∂φ_{i}}{∂x_{j}} (0)) = 0. There exists a coordinate change s.t. \frac{∂φ_{1}}{∂x_{j}} (0) = 0 for 1 ≤ j ≤ n, i.e., φ(x_{1}) = ∑_{|α|_{w}=w_{1},α_{1}=0} b_{α}x^{α}. This

implies \frac{∂φ_{1}}{∂x_{1}} = 0. Note that From the chain rule we obtain

\frac{∂f_{0}}{∂x_{1}} = ∑_{i=1}^{n} \frac{∂f_{0}}{∂x_{i}} \frac{∂φ_{i}}{∂x_{1}} = ∑_{i>1}^{n} \frac{∂f_{0}}{∂x_{i}} \frac{∂φ_{i}}{∂x_{1}}

since \frac{∂φ_{1}}{∂x_{1}} = 0. Hence \frac{∂f_{0}}{∂x_{1}} , \frac{∂f_{0}}{∂x_{2}} , ..., \frac{∂f_{0}}{∂x_{n}} is not a regular sequence which contradicts Proposition 1.1.17.

In the implementation the field K is a finite extension of (or equal to) Q.

Algorithm StabEqns(f_{0})

In: quasihomogeneous polynomial f_{0} ∈ K[x_{1}, x_{2}, ..., x_{n}] with an isolated singularity at 0. Out: equations for the stabilizer in K[s_{1}, s_{2}, ..., s_{r}]. begin

set φ(x_{i}) = ∑_{j=1,w_{j}|w_{i}}^{n} a_{ij}xj^{\frac{w_{i}}{w_{j}}} + ∑_{|α|_{w}=w_{i},α_{i}=0} b_{α}x^{α};

let f_{1}, f_{2}, ..., f_{k} be the equations obtained by comparing

coefficients in f_{0} = f_{0} ∘ φ.

⟨g_{1}, g_{2}, ..., g_{l}⟩ = radical(⟨f_{1}, f_{2}, ..., f_{k}⟩);

return(⟨g_{1}, g_{2}, ..., g_{l}⟩)

end;

Remark 8 In all examples of this thesis the ideal ⟨f_{1}, f_{2}, ..., f_{k}⟩ was already a radical, but it seems to be tricky to prove this for all quasihomogeneous polynomials with an isolated singularity at 0. To avoid the computation of the radical one can set RADICAL=0 in the actual implementation (cf. Ch. 5.1).

Example 67 (cont. of Example 3.3.65) For f_{0} = x^{2}z + x^{2}y − z^{5} + y^{5} a quasihomogeneous morphism φ is of the form

φ(x) = s_{1}x + s_{2}y^{2} + s_{3}yz + s_{4}z^{2},
φ(y) = s_{5}y + s_{6}z,
φ(z) = s_{7}y + s_{8}z

for some s_{i} ∈ C s.t. det(\frac{∂φ}{∂x_{i}} (0)) ≠ 0. By comparing coefficients in

f(φ(x), φ(y), φ(z)) = f(x, y, z)

we obtain the following set of 12 equations:

2s_{1}s_{3}s_{5}+2s_{1}s_{2}s_{6}+2s_{1}s_{3}s_{7}+2s_{1}s_{2}s_{8}, 2s_{1}s_{4}s_{5}+2s_{1}s_{3}s_{6}+2s_{1}s_{4}s_{7}+2s_{1}s_{3}s_{8},

2s_{1}s_{4}s_{6}+2s_{1}s_{4}s_{8}, s_{5}^{5}−s_{7}^{5}+s_{2}^{2}s_{5}+s_{2}^{2}s_{7}−1, s_{1}^{2}s_{5}+s_{1}^{2}s_{7}−1, s_{1}^{2}s_{6}+s_{1}^{2}s_{8}−1,

5s_{5}^{4}s_{6}−5s_{7}^{4}s_{8}+2s_{2}s_{3}s_{5}+s_{2}^{2}s_{6}+2s_{2}s_{3}s_{7}+s_{2}^{2}s_{8}, 2s_{1}s_{2}s_{5}+2s_{1}s_{2}s_{7},
10s_{5}^{3}s_{6}^{2}−10s_{7}^{3}s_{8}^{2}+s_{3}^{2}s_{5}+2s_{2}s_{4}s_{5}+2s_{2}s_{3}s_{6}+s_{3}^{2}s_{7}+2s_{2}s_{4}s_{7}+2s_{2}s_{3}s_{8},
10s_{5}^{2}s_{6}^{3}−10s_{7}^{2}s_{8}^{3}+2s_{3}s_{4}s_{5}+s_{3}^{2}s_{6}+2s_{2}s_{4}s_{6}+2s_{3}s_{4}s_{7}+s_{3}^{2}s_{8}+2s_{2}s_{4}s_{8}.

Note that these equations generate a radical ideal. A standard basis w.r.t. lexicographical is given by

s_{8}^{6}−s_{8}, s_{7}s_{8}, s_{5}−s_{6}+s_{7}−s_{8}, s_{4}, s_{3}+s_{4}, s_{2},
s_{6}+s_{7}^{5}s_{8}−5s_{7}^{4}s_{8}^{2}+10s_{7}^{3}s_{8}^{3}−10s_{7}^{2}s_{8}^{4}+5s_{7}s_{8}^{5}−s_{7}−s_{8}^{6}+s_{8},
s_{7}^{5}−5s_{7}^{4}s_{8}+10s_{7}^{3}s_{8}^{2}−10s_{7}^{2}s_{8}^{3}+5s_{7}s_{8}^{4}−s_{8}^{5}+1,

15s_{1}^{2}+16s_{6}^{4}−16s_{6}^{3}s_{8}+16s_{6}^{2}s_{8}^{2}−16s_{6}s_{8}^{3}−s_{7}^{4}+6s_{7}^{3}s_{8}−16s_{7}^{2}s_{8}^{2}+26s_{7}s_{8}^{3}−15s_{8}^{4}

which implies s_{2} = s_{3} = s_{4} = 0. We rename the variables as follows. s_{1} = s_{1}, s_{2} = s_{5}, s_{3} = s_{6}, s_{4} = s_{7}, s_{5} = s_{8}, so φ writes as

φ(x) = s_{1}x,
φ(y) = s_{2}y + s_{3}z,
φ(z) = s_{4}y + s_{5}z.

The corresponding standard basis is given by

s_{2}−s_{3}+s_{4}−s_{5}, s_{4}s_{5}, s_{4}^{5}−5s_{4}^{4}s_{5}+10s_{4}^{3}s_{5}^{2}−10s_{4}^{2}s_{5}^{3}+5s_{4}s_{5}^{4}−s_{5}^{5}+1,
s_{3}+s_{4}^{5}s_{5}−5s_{4}^{4}s_{5}^{2}+10s_{4}^{3}s_{5}^{3}−10s_{4}^{2}s_{5}^{4}+5s_{4}s_{5}^{5}−s_{4}−s_{5}^{6}+s_{5}, s_{5}^{6}−s_{5},

15s_{1}^{2}+16s_{3}^{4}−16s_{3}^{3}s_{5}+16s_{3}^{2}s_{5}^{2}−16s_{3}s_{5}^{3}−s_{4}^{4}+6s_{4}^{3}s_{5}−16s_{4}^{2}s_{5}^{2}+26s_{4}s_{5}^{3}−15s_{5}^{4}.

These equations define the group G_{f_{0}}^{(2,1,1)} ⊂ GL_{3}(C) which has order 20 and is generated by the matrices

( \begin{matrix}ξ^{2} & 0 & 0 \\ 0 & ξ & 0 \\ 0 & 0 & ξ \end{matrix} ) , ( \begin{matrix}i & 0 & 0 \\ 0 & 0 & −1 \\ 0 & −1 & 0 \end{matrix} )

where ξ = exp(\frac{2πi}{5}). Note that s_{1} = m_{11}, s_{2} = m_{22}, s_{3} = m_{23}, s_{4} = m_{32}, s_{5} = m_{33} and all other m_{ij}’s are 0.

3.5 The action of G_{f_{0}}^{w} on T

Let f ∈ C{x_{1}, x_{2}, ..., x_{n}} be a quasihomogeneous power series of type (d; w) with principal part f_{0} ∈ C[x_{1}, x_{2}, ..., x_{n}]. As we have seen in Chapter 2.2.3 the group G_{f_{0}}^{w} acts on T via

G_{f_{0}}^{w} × T ⟶ T
(φ, t) ⟼ Θ(φ)(t) = s

where we take the s ∈ T s.t. ψ ∘ φ(F_{t}) = F_{s} for some ψ ∈ Aut_{>0}(C{x}). The homomorphism Θ is well defined by Proposition 2.3.53(a) and the action on T_{−} is algebraic by Proposition 2.3.53(c). We provide an algorithm for the computation of the action of G_{f_{0}}^{w} on T_{−}. The algorithm is an implementation of the proof of Arnold’s Theorem on quasihomogeneous power series (Theorem 2.2.47) and delivers the morphism ϕ of order > 0 s.t.

ϕ(φ(F_{t})) = F_{s} + r(x)

where ord_{w}(r) > d′′ := max {|α|_{w} : α ∈ B_{−}} . By Remark 2.2.4 we may assume ord(r) > μ(f_{0}) (not the weighted order) and by Theorem 1.1.20 there exist ψ ∈ Aut(C{x}) s.t. F_{s} + r(x) ∼_{r} F_{s}. The Theorem of Greuel, Hertling, and Pfister (Theorem 2.1.44) and Proposition 2.2.48 imply that ord_{w}(ψ∘ϕ) > 0, hence s ∈ T_{−} is uniquely determined by the homomorphism ϕ. It remains to compute the action t_{i} ↦ p_{i}(s, t) by setting p_{i}(s, t) := coefficient of m_{i} in ϕ(F_{t}) where m_{1}, m_{2}, ..., m_{k} are the upper monomials of f_{0}.

Algorithm ArnoldAction(f_{0}, G_{f_{0}}^{w}, B)

In: quasihomogeneous polynomial f_{0} ∈ K[x_{1}, x_{2}, ..., x_{n}] with an isolated singularity at 0. equations for G_{f_{0}}^{w} in K[s_{1}, s_{2}, ..., s_{r}], upper monomials B = {m_{1}, ..., m_{k}} Out: (p_{1}(s, t), p_{2}(s, t), ..., p_{k}(s, t)) polynomials defining the action of G_{f_{0}}^{w} on T_{−} = C^{k}. basering has parameters s_{1}, .., s_{r}, t_{1}, ..., t_{k} and variables x_{1}, ..., x_{n}. begin lb := min (|m|_{w} : m ∈ B) ; ub := max (|m|_{w} : m ∈ B) ; F := f_{0} + ∑_{i=1}^{k} t_{i}m_{i}; for d := lb to ub do . g := sum of all monomials in F of weighted degree d; . g_{1} := reduce(g,jacob(f_{0})); . v := lift(jacob(f_{0}), g − g_{1}); // g − g_{1} = ∑_{i=1}^{n} \frac{∂f_{0}}{∂x_{i}} v_{1i}; . φ(x_{i}) := x_{i} − v_{1i}(x); . F := φ(F); . reduce F w.r.t. the ideal G_{f_{0}}^{w},.i.e., consider s_{1}, ..., s_{r} as variables. end; for i := 1 to k do . p_{i} := coefficient of m_{i} in F; end; return({p_{1}, p_{2}, ..., p_{k}}); end.

Example 68 (cont. of Example 3.4.67) Let f_{0} = x^{2}z + x^{2}y − z^{5} + y^{5}. The action of the group G_{f_{0}}^{(2,1,1)} on T_{−} = C^{3}, denoted by α, is given by the following polynomials

α^{∗}t_{1} = p_{1}(s, t_{1}, t_{2}, t_{3}) = (s_{5} − s_{4}) t_{1},
α^{∗}t_{2} = p_{2}(s, t_{1}, t_{2}, t_{3}) = (s_{5}^{2} − s_{4}^{2}) t_{2} + 2s_{4}^{2}t_{3}^{2},
α^{∗}t_{3} = p_{3}(s, t_{1}, t_{2}, t_{3}) = (s_{4} + s_{5}) t_{3}

where s = (s_{1}, s_{2}, s_{3}, s_{4}, s_{5}). In this case, the action of G_{f_{0}}^{(2,1,1)} is not linear. Note that p_{1}, p_{2}, p_{3} are quasihomogeneous w.r.t. t_{1}, t_{2}, t_{3} where deg(t_{1}) = deg(t_{3}) = 1 and deg(t_{2}) = 2.

3.6 Linearization of the group-action.

In order to compute equations of a categorical quotient of an affine variety X by an algebraic group G we need generators of the invariant ring of G. The existing algorithm require that the action α of G on X is linear. Note that the quotient X/G is isomorphic to the quotient ϕ(X)/ρ(G) where (ρ, ϕ) is a linearization of α by Theorem 1.4.38. Therefore we need a linearization of the action of G on X. How to compute equations of the quotient is explained in Section 3.7 below. In this section we provide an algorithm for the linearization of an algebraic group action of an algebraic group G on C^{k}. In the sequel we denote the action α(σ, t) occasionally by σ •_{α} t.

We are interested in the action α of the algebraic group G_{f_{0}}^{w} on T defined as follows

α : G_{f_{0}}^{w} × T_{−} ⟶ T_{−},
(σ, t) ⟼ Θ(σ)(t)

where f_{0} ∈ C[x_{1}, x_{2}, ..., x_{n}] is the principal part of a quasihomogeneous power series. In general, this action is not linear, cf. Example 3.5.68 or Remark 2.3.5(b). Recall that Θ : G_{f_{0}}^{w} → E_{f_{0}} is onto and E_{f_{0}} is finite. It follows from Theorem 1.4.40 that T /E_{f_{0}} is a geometric quotient. In order to compute the corresponding equations we need a linearization of the action of E_{f_{0}} on T . Since G_{f_{0}}^{w}/ ker Θ ≃ E_{f_{0}} we linearize the action of G_{f_{0}}^{w} on T_{−}, i.e., we construct closed morphisms ρ : G_{f_{0}}^{w} → GL_{l}(C) and ϕ : T_{−} ↪ C^{l} s.t. ϕ(σ•_{α}t) = ρ(σ)·ϕ(t). Equations for the quotient can be constructed from the invariant ring of G_{f_{0}}^{w} w.r.t. to the linearized action provided that |G_{f_{0}}^{w}| < ∞ or from the invariant ring of the finite group E′_{f_{0}} := ρ(G_{f_{0}}^{w}). The performance of InvariantRing depends heavily on the group, in particular if the Reynolds operator has to be computed. We refer to Section 5.4.

Note: If G_{f_{0}}^{w} acts linearly on T_{−} then E_{f_{0}} = E′_{f_{0}}.

Algorithm LinearizeAction(G, {p_{1}, p_{2}, ..., p_{k}})

In: Ideal of G in K[s_{1}, s_{2}, ..., s_{r}], polynomials p_{1}(s, t), p_{2}(s, t), ..., p_{k}(s, t) defining an action of G on K^{k}. Out: {p_{1}(s, t), p_{2}(s, t), ..., p_{l}(s, t)} , defining a linear action of G on K^{l}, {B_{1}(t), B_{2}(t), ..., B_{l}(t)} an equivariant embedding K^{k} ↪ K^{l}. begin; B := {t_{1}, t_{2}, ..., t_{k}}; for i := 1 to k do

. h^{(i)} :=MinimalDecomposition(p_{i});

. write p_{i} = ∑_{j=1}^{n_{i}} h_{1j}^{(i)}⊗h_{2j}^{(i)} ∈ K[G]⊗K[t_{1}, t_{2}, ..., t_{k}] with n_{i} minimal . for j := 1 to n_{i} do . if h_{2j}^{(i)} ∉ ⟨B⟩_{K} then begin

. B := B ∪ {h_{2j}^{(i)}};

. p_{|B|} := h_{2j}^{(i)}(p_{1}, p_{2}, ..., p_{k}); . end if . end; end; for i := 1 to |B| do . p_{i} = ∑_{j=1}^{|B|} h_{1j}^{(i)} ⊗ B_{j}; // decomposition of p_{i} . p′_{i} := ∑_{j=1}^{|B|} h_{1j}^{(i)} ⊗ t_{j}; end; return({p′_{1}, p′_{2}, ..., p′_{|B|}} , B); end.

The minimal decomposition of the polynomials p_{i} can be done as follows. Note that the Singular procedure coef(p, x_{i_{1}} · x_{i_{2}} · ... · x_{i_{k}}) returns a 2 × m matrix M s.t. p = ∑_{i=1}^{m} M_{1i} · M_{2i}, where M_{1i} contains none of the variables x_{i_{1}}, x_{i_{2}}, ..., x_{i_{k}} while M_{2i} ∈ K[x_{i_{1}}, x_{i_{2}}, ..., x_{i_{k}}].

Algorithm MinimalDecomposition(p)

In: polynomial p(s_{1}, s_{2}, ..., s_{r}, t_{1}, t_{2}, ..., t_{k}). Out: 2 × m matrix D s.t. p = ∑_{i=1}^{m} D_{1i} · D_{2i} with m minimal, and D_{1i} ∈ K[s_{1}, s_{2}, ..., s_{r}], D_{2i} ∈ K[t_{1}, t_{2}, ..., t_{k}]. begin;

M := ( \begin{matrix}0 & 1 \\ 1 & 0 \end{matrix} ) ·coef(p, t_{1} · t_{2} · ... · t_{k}); // exchange rows

for all i < j≤ ncols(M) do . if M_{2i} = M_{2j} then M_{1i} := M_{1i} + M_{1j}; delete j − th column; end; M′ :=coef(p, s_{1} · s_{2} · ... · s_{r}); for all i < j≤ ncols(M′) do . if M′_{2i} = M′_{2j} then M′_{1i} := M′_{1i} + M′_{1j}; delete j − th column; end; D := M; for i := 1 to ncols(M) do

. N := MinimalDecomposition(p − M_{1i}M_{2i});

. if ncols(N) + 1 < ncols(D) then D := (M_{1i}, M_{2i})^{T} + N; end; for i := 1 to ncols(M′) do

. N := MinimalDecomposition(p − M′_{1i}M′_{2i});

. if ncols(N) + 1 < ncols(D) then D := (M′_{1i}, M′_{2i})^{T} + N; end; return(D); end.

Proposition 69 Let α be an action of G on C^{k} which commutes with a C^{∗}−action and let deg(t_{i}) be s.t. the defining polynomials of α are quasihomogeneous w.r.t. these weights, where t_{1}, t_{2}, ..., t_{k} are coordinates on C^{k} and the variables of K[G] have weight 0.

(a) The linearized action constructed by LinearizeAction commutes with a C^{∗}−action, i.e., the polynomials p_{1}(s, t), p_{2}(s, t), ..., p_{l}(s, t) are quasihomogeneous w.r.t. to the weights deg(t_{i}) for 1 ≤ i ≤ k and deg(t_{r}) = deg(t_{i}) if t_{r} comes from the decomposition of α^{∗}t_{i} for r > k.

(b) The ideal of ϕ(T ) is quasihomogeneous. w.r.t. the weights defined in (a).

Proof. (a) By assumption, the polynomials p_{1}(s, t), p_{2}(s, t), ..., p_{k}(s, t) are quasihomogeneous w.r.t. w′′, hence the polynomials h_{ij} in the decomposition α^{∗}t_{i} = ∑_{j=1}^{r_{i}} g_{ij} ⊗ h_{ij} ∈ C[G_{f_{0}}^{w}] ⊗ C[t_{1}, t_{2}, ..., t_{k}] are quasihomogeneous w.r.t. w′′. If some h_{ij} is not contained in the vectorspace basis constructed so far, a new variable t_{r} is introduced. We extend the action α by

α^{∗}t_{r} := p_{r}(s, t) := h_{ij}(p_{1}(s, t), p_{2}(s, t), ..., p_{l}(s, t))

and replace h_{ij} by t_{r} in the polynomials p_{1}, p_{2}, ..., p_{r}. By construction, p_{1}, p_{2}, ...,p_{r} are quasihomogeneous..

(b) By Proposition 2.3.53(c) the polynomials α(σ, t_{i}) are quasihomogeneous of degree deg(t_{i}). Suppose that ϕ ≠ id, i.e., the action is not linear (otherwise the claim is trivial). For r > k we have ϕ_{r} = h_{ij} for some i ≤ k and j ≤ r_{i} which is quasihomogeneous by assumption..

Example 70 (cont. of Example 3.5.68) Let f_{0} = x^{2}z+x^{2}y−z^{5}+y^{5}. We have to extend the C−vectorspace V, spanned by ⟨t_{1}, t_{2}, t_{3}⟩_{C} , to a G_{f_{0}}^{w}−invariant vectorspace W. The decomposition of the only nonlinear component of α equals

α^{∗}t_{3} = p_{3}(s_{1}, s_{2}, s_{3}, s_{4}, s_{5}, t_{1}, t_{2}, t_{3}) = (s_{5}^{2} − s_{4}^{2}) ⊗ t_{2} + 2s_{4}^{2} ⊗ t_{3}^{2}.

Therefore we consider the vectorspace W := ⟨t_{1}, t_{2}, t_{3}, t_{3}^{2}⟩_{C} and we set t_{4} = t_{3}^{2}. Note that deg(t_{4}) = 2. We obtain

α^{∗}t_{4} = α^{∗}t_{3}^{2} = (s_{4} + s_{5})^{2} t_{3}^{2} = (s_{4}^{2} + 2s_{4}s_{5} + s_{5}^{2}) t_{4} = (s_{4}^{2} + s_{5}^{2}) t_{4}

since s_{4}s_{5} is in the ideal of G_{f_{0}}^{w}. Hence W is the desired G_{f_{0}}^{w}−invariant vectorspace. The closed embedding ϕ : T ↪ C^{4} is given by

(t_{1}, t_{2}, t_{3}) ⟼ (t_{1}, t_{2}, t_{3}, t_{3}^{2})

and the representation ρ : G_{f_{0}} → GL_{4}(C) by

(s_{1}, s_{2}, s_{3}, s_{4}, s_{5}) ⟼ ( \begin{matrix}s_{5} − s_{4} & 0 & 0 & 0 \\ 0 & s_{5}^{2} − s_{4}^{2} & 0 & 2s_{4}^{2} \\ 0 & 0 & s_{4} + s_{5} & 0 \\ 0 & 0 & 0 & s_{4}^{2} + s_{5}^{2} \end{matrix} ) .

The ideal of the variety ϕ(T ) is generated by t_{4} − t_{3}^{2} and the generator is quasihomogeneous of type (2; 1, 2, 1, 2). The image E′_{f_{0}} := ρ(G_{f_{0}}^{w}) is a linearization of the action of E_{f_{0}} on T and its defining ideal is given by

I(E′_{f_{0}}) = ⟨s_{5}^{5} − 1, s_{4}^{2} − s_{5}, s_{3} + s_{4}s_{5}^{3} − s_{5}, s_{2} + s_{3} − s_{5}, s_{1} − s_{5}^{3}⟩

in the ring C[s_{1}, s_{2}, s_{3}, s_{4}, s_{5}]. Note that |G_{f_{0}}^{w}| = 20 and |ρ(E′_{f_{0}})| = 10. The action is given by

(s_{1}, s_{2}, s_{3}, s_{4}, s_{5}, t_{1}, t_{2}, t_{3}, t_{4}) ⟼ (s_{1}t_{1}, s_{3}(t_{4} − t_{2}) + s_{5}t_{2}, s_{4}t_{3}, s_{5}t_{4}) .

3.7 Equations of the moduli space

Let f ∈ C{x_{1}, x_{2}, ..., x_{n}} be a quasihomogeneous power series of type (d; w) with principal part f_{0} ∈ C[x_{1}, x_{2}, ..., x_{n}] and let (ϕ, ρ) be an equivariant embedding of the action of the stabilizer G_{f_{0}}^{w} on T . Note that E′_{f_{0}} := ρ(G_{f_{0}}^{w}) is the linearization of the action of E_{f_{0}} on T_{−}, in particular E′_{f_{0}} is finite. The categorical quotient ϕ(T )/E′_{f_{0}}, denoted by M, is the desired coarse moduli space for the functor Unf_{f_{0}}^{−}. By Theorem 1.4.37 and Theorem 1.4.37 M carries the structure of an affine variety, hence there exists a closed subvariety Y ⊂ C^{l} for some l which is isomorphic to M. Equations for the embedding Y of M can be computed in two steps.

1. Compute algebra generators h_{1}, h_{2}, ..., h_{m} of C[x_{1}, x_{2}, ..., x_{n}]^{E′_{f_{0}}} =: S. by means of Derksen’s algorithm (cf. [Derksen 1997]). They provide a morphism

Φ : ϕ(T_{−}) ↪ C^{l} ↠ C^{l}/E′_{f_{0}} ↪ C^{m}.

In general, one has to compute the Reynolds operator of E′_{f_{0}}. Note that C^{l}/E′_{f_{0}} ≃ spec(S).

2. Compute the ideal of the image of ϕ(T ) under the morphism Φ with

     ImageVariety.

For the computation of the invariant ring and invariant generators we apply the Reynolds operator, which plays an important role in invariant theory of reductive algebraic groups.

In the sequel let K be an algebraically closed field of characteristic 0 and G be a linearly reductive group which acts linearly on K^{n}.

Lemma 71 (a) Any G−invariant closed subvariety V ⊂ K^{n} has a defining ideal which is G−invariant.

(b) For a G−invariant ideal I ⊂ R we have R^{G}/ (I ∩ R^{G}) ≅ (R/I)^{G} .

Proof. (a) For a defining ideal I of V we have f ∈ I iff f(v) = 0 for all v ∈ V, so 0 = f(σ^{−1} · v) = σ · f(x) for all v ∈ V and σ ∈ G. Hence σ · f ∈ I.

(b) We refer, e.g., to [Kraft 1985], Ch. II, Section 3.2.

Proposition 72 Let (Y, π) be a categorical quotient of the closed subvariety X by G, let X′ ⊂ X be a G−invariant subvariety and define π′ := π_{|X′}. Then the pair (π(X′), π′) is a categorical quotient of X′ by G and π(X′) ⊂ Y is a closed subvariety.

Proof. By part (a) of Lemma 3.7.71 we have O(X′) = O(X)/I for some G−stable ideal I. Part (b) implies that O(X′)^{G} = O(X)^{G}/I ∩ O(X)^{G}. By Theorem 1.4.37(b) spec(O(X′)^{G}) is the categorical quotient of X′ by G, therefore X′/G corresponds to the ideal I ∩ O(X)^{G}. Now the claim follows from Remark 1.1.1(d).

Remark 9 For a G−invariant ideal I ⊂ O(X) it is, in general, wrong that ⟨I ∩ O(X)^{G}⟩ = I. E.g., the ideal I = ⟨x_{1}, x_{2}, ..., x_{n}⟩ is always G−invariant, but ⟨I ∩ O(X)^{G}⟩ = I iff G = {id}.

The projection map

π : K^{n} ↠ K^{n}/G

is given by the inclusion π^{∗} : K[x_{1}, x_{2}, ..., x_{n}]^{G} ↪ K[x_{1}, x_{2}, ..., x_{n}].

Proposition 73 The morphism π is finite if G is finite. In particular, π is closed.

Proof. The ring K[x_{1}, x_{2}, ..., x_{n}] is a finitely generated K[x_{1}, x_{2}, ..., x_{n}]^{G}− module, which follows from the fact that the transcendence degree of the invariant ring K[x_{1}, x_{2}, ..., x_{n}]^{G} equals n, cf., e.g., [Sturmfels 1993], Proposition 2.1.1, hence π is finite. By Proposition 1.1.13(b) π is closed.

By choosing homogeneous generators h_{1}, h_{2}, ..., h_{m} of K[x_{1}, x_{2}, ..., x_{n}]^{G} as a K−algebra we obtain an embedding

ι : K^{n}/G ↪ K^{m}

defined on the ring level by the morphism

ι^{∗} : K[y_{1}, y_{2}, ..., y_{m}] ⟶ K[h_{1}, h_{2}, ..., h_{m}]
y_{i} ⟼ h_{i}

which is obviously surjective (for a proof we refer, e.g., to [CLS 1992]), i.e., K^{n}/G ≃ spec(K[y_{1}, y_{2}, ..., y_{m}]/ ker ι^{∗}). By composing ι^{∗} with π^{∗} we obtain the morphism

Φ : K^{n} ↠ K^{n}/G ↪ K^{m}

defined on the ring level by

Φ^{∗} : K[y_{1}, y_{2}, ..., y_{m}] ↠^{ι^{∗}} K[h_{1}, h_{2}, ..., h_{m}] ↪ K[x_{1}, x_{2}, ..., x_{n}].

Let I be the defining ideal of a G−invariant variety V ⊂ K^{n}. The quotient of V by G is given by Φ(V), and equations can be computed and set I_{G} := I ∩ K[h_{1}, h_{2}, ..., h_{m}]. The equations of the embedding

Φ_{V/G} : V/G ↪ K^{n}/G ↪ K^{m}

are given as the kernel of the morphism

Φ_{V/G}^{∗} : K[y_{1}, y_{2}, ..., y_{m}] ↠^{ι^{∗}} K[h_{1}, h_{2}, ..., h_{m}] ↠ K[h_{1}, h_{2}, ..., h_{m}]/I_{G}.

Proposition 74 Let I = ⟨f_{1}, f_{2}, ..., f_{r}⟩ ⊂ K[x_{1}, x_{2}, ..., x_{n}] be the defining ideal of a G−invariant variety V. Then

Im Φ_{V/G} = Φ(V)

is a closed subvariety of K^{m} with defining ideal

⟨y_{1} − h_{1}, y_{2} − h_{2}, ..., y_{m} − h_{m}, f_{1}, f_{2}, ..., f_{r}⟩ ∩ K[y_{1}, y_{2}, ..., y_{m}].

Proof. Let ι_{V} : V ↪ K^{n} be defined by K[x_{1}, x_{2}, ..., x_{n}] ↠ K[x_{1}, x_{2}, ..., x_{n}]/I. Hence Φ(V) = Im Φ ∘ ι_{V}, and, on the ring level we have

ι^{∗} ∘ Φ^{∗} : K[Y] ↠^{ι^{∗}} K[h_{1}, h_{2}, ..., h_{m}] ↪ K[x_{1}, x_{2}, ..., x_{n}] ↠ K[x_{1}, x_{2}, ..., x_{n}]/I.

The kernel of

K[h_{1}, h_{2}, ..., h_{m}] ↠ K[h_{1}, h_{2}, ..., h_{m}]/I_{G}

equals the kernel of

K[h_{1}, h_{2}, ..., h_{m}] ↪ K[x_{1}, x_{2}, ..., x_{n}] ↠ K[x_{1}, x_{2}, ..., x_{n}]/I

which proves the first claim. The morphism Φ is finite since it is the composition of the finite maps π and ι, hence Φ(V) is closed by Proposition 1.1.13(b). That the defining ideal of Φ(V) has the stated form follows from Proposition 3.2.64.

The finite group E′_{f_{0}} acts linearly K^{l}, E′_{f_{0}} is the linearization of the action of E_{f_{0}} on T_{−} and let I_{ϕ} ⊂ K[t_{1}, t_{2}, ..., t_{l}] be the ideal of the equivariant embedding of T_{−}. It follows from the above discussion that the moduli space M is isomorphic to the closed subvariety Φ(ϕ(T_{−})) whose ideal can be computed by the algorithm ImageVariety.

For the computation of the invariant ring of the linear action of G on K^{m} we employ Derksen’s algorithm, described below. In the algorithm the group G is given as an ideal, also denoted by G, of K[s_{1}, s_{2}, ..., s_{r}] and the linear action of G on C^{n} is given by the polynomials p_{1}(s, t), p_{2}(s, t), ..., p_{n}(s, t). If G is finite then the Reynolds operator is computed as explained in Section 3.8, otherwise, one has to provide a Reynolds operator.

Algorithm QuotientEquations(G, {p_{1}(s, t), ..., p_{l}(s, t)} , {f_{1}, ..., f_{r}})

In: equations for G, p_{1}, ..., p_{l} the linear action of G on K^{l}, equations f_{1}, f_{2}, ..., f_{r} for a G−invariant variety V. Out: (g_{1}, g_{2}, ..., g_{q}) equations of the embedding of V/G. begin {h_{1}, h_{2}, ..., h_{m}} :=NullCone(G, {p_{1}(s, t), p_{2}(s, t), ..., p_{l}(s, t)}) ; for i := 1 to m do . if h_{i} is not invariant w.r.t. G then h_{i} := ℜ^{G}(h_{i}); end; {g_{1}, g_{2}, ..., g_{q}} :=ImageVariety((f_{1}, f_{2}, ..., f_{r}) , {h_{1}, ..., h_{m}}); return({g_{1}, g_{2}, ..., g_{q}}); end.

Example 75 (cont. of Example 3.6.70) Let f_{0} = x^{2}z + x^{2}y − z^{5} + y^{5}. We compute the invariant ring of the variety t_{4} − t_{3}^{2} under the action of E′_{f_{0}} := ρ(G_{f_{0}}^{(2,1,1)}) given in Example 3.6.70. Generators h_{1}, h_{2}, ..., h_{21} of C[t_{1}, t_{2}, t_{3}, t_{4}]^{E′_{f_{0}}} are given by

t_{2}t_{3}t_{4}−t_{3}t_{4}^{2}, t_{1}t_{4}^{2}, t_{1}t_{2}^{2}−2t_{1}t_{2}t_{4}, t_{2}t_{3}^{3}−t_{3}^{3}t_{4}, t_{1}t_{3}^{2}t_{4}, t_{1}t_{3}^{4},
t_{1}^{2}t_{2}t_{3}−t_{1}^{2}t_{3}t_{4}, t_{1}^{3}t_{4}, t_{4}^{5}, t_{2}^{2}t_{4}^{3}−2t_{2}t_{4}^{4}, t_{2}^{4}t_{4}−4t_{2}^{3}t_{4}^{2}+8t_{2}t_{4}^{4}, t_{1}^{3}t_{3}^{2},
t_{1}^{5}, t_{3}^{2}t_{4}^{4}, t_{2}^{4}t_{3}^{2}, t_{2}^{3}t_{3}^{2}t_{4}+12t_{2}^{2}t_{3}^{2}t_{4}^{2}−16t_{2}t_{3}^{2}t_{4}^{3}+8t_{3}^{2}t_{4}^{4}, t_{3}^{4}t_{4}^{3}, t_{3}^{6}t_{4}^{2},

t_{2}^{7}t_{3}−7t_{2}^{6}t_{3}t_{4}+42t_{2}^{5}t_{3}t_{4}^{2}−140t_{2}^{4}t_{3}t_{4}^{3}+280t_{2}^{3}t_{3}t_{4}^{4}−336t_{2}^{2}t_{3}t_{4}^{5}+224t_{2}t_{3}t_{4}^{6}−64t_{3}t_{4}^{7},

t_{3}^{8}t_{4}, t_{3}^{10}, t_{2}^{10}−10t_{2}^{9}t_{4}+90t_{2}^{8}t_{4}^{2}−480t_{2}^{7}t_{4}^{3}+1680t_{2}^{6}t_{4}^{4}−4032t_{2}^{5}t_{4}^{5}+

6720t_{2}^{4}t_{4}^{6}−7680t_{2}^{3}t_{4}^{7}+5760t_{2}^{2}t_{4}^{8}−2560t_{2}t_{4}^{9}+512t_{4}^{10}.

It remains to compute the image of the variety ϕ(T ) = V(t_{4} − t_{3}^{2}) under the morphism

Φ^{∗} : C[y_{1}, y_{2}, ..., y_{21}] ⟶ C[h_{1}, h_{2}, ..., h_{21}]/ ⟨t_{4} − t_{3}^{2}⟩
y_{i} ⟼ h_{i}

which corresponds to the embedding

Φ : ϕ(T ) ↪ C^{21}.

The ideal of this embedding can be generated by 67 elements with degrees ranging from 1 to 5. A Gröbner basis w.r.t. the lexicographical order consists of 114 elements with maximal degree 19.

We conclude by computing equations of the moduli space of the singularity E_{19}.

Example 76 We consider the singularity E_{19}, defined by the quasihomogeneous polynomial f_{0} = x^{3}+xy^{7} of type (21; 7, 2). The semiuniversal unfolding of negative weight with principal part f_{0} is given by F := f_{0} +t_{1}x^{2}y^{5} +t_{2}x^{2}y^{4}. The stabilizer group G_{f_{0}}^{(7,2)} has order 21 and is generated by diag(ξ^{7}, ξ^{2}). In this example the map Θ is bijective and the image Θ(G_{f_{0}}^{(7,2)}) = E_{f_{0}} is represented by the ideal ⟨s_{2}^{21} − 1, s_{1} − s_{2}^{3}⟩ . E_{f_{0}} acts linearly on T_{−} = C^{2} via (t_{1}, t_{2}) → (s_{1}t_{1}, s_{2}t_{2}) and the invariant ring C[t_{1}, t_{2}]^{E_{f_{0}}} can be generated by the 8 monomials, i.e.,

C[t_{1}, t_{2}]^{E_{f_{0}}} = C[t_{1}^{7}, t_{1}^{6}t_{2}^{3}, t_{1}^{5}t_{2}^{6}, t_{1}^{4}t_{2}^{9}, t_{1}^{3}t_{2}^{12}, t_{1}^{2}t_{2}^{15}, t_{1}t_{2}^{18}, t_{2}^{21}].

An embedding T_{−}/E_{f_{0}} ↪ C^{8} is given by the ideal generated by

Y_{6}Y_{8}−Y _{7}^{2}, Y_{5}Y_{8}−Y_{6}Y_{7}, Y_{5}Y_{7}−Y _{6}^{2}, Y_{4}Y_{8}−Y _{6}^{2}, Y_{4}Y_{7}−Y_{5}Y_{6}, Y_{4}Y_{6}−Y _{5}^{2}, Y_{3}Y_{8}−Y_{5}Y_{6}, Y_{3}Y_{7}−Y _{5}^{2}, Y_{3}Y_{6}−Y_{4}Y_{5}, Y_{3}Y_{5}−Y _{4}^{2}, Y_{2}Y_{8}−Y _{5}^{2}, Y_{2}Y_{7}−Y_{4}Y_{5}, Y_{2}Y_{6}−Y _{4}^{2}, Y_{2}Y_{5}−Y_{3}Y_{4}, Y_{2}Y_{4}−Y _{3}^{2}, Y_{1}Y_{8}−Y_{4}Y_{5}, Y_{1}Y_{7}−Y _{4}^{2}, Y_{1}Y_{6}−Y_{3}Y_{4},

Y_{1}Y_{5}−Y _{3}^{2}, Y_{1}Y_{4}−Y_{2}Y_{3}, Y_{1}Y_{3}−Y _{2}^{2}.

3.8 Computing the invariant ring

There are several distinct algorithms for computing generators of the invariant ring of an algebraic group G over K which acts linearly on the polynomial ring R := K[x_{1}, x_{2}, ..., x_{n}] provided that G is finite and/or reductive, which depends also on K. For a discussion we refer to [Bayer 1998], [Derksen 1997], [KS 1997], or [Sturmfels 1993]. We restrict ourselves linearly reductive groups over C.

Derksen’s algorithm

Derksen’s algorithm (the algorithm NullCone) provides homogeneous generators for the ideal of the nullcone of a reductive algebraic group G which acts linearly on C^{n}. These generators can be transformed to algebra generators of the invariant ring C[x_{1}, x_{2}, ..., x_{n}]^{G} by means of the Reynolds operator ℜ^{G}, described below.

In 1890 Hilbert was able to prove the following theorem, now called Hilbert’s Finiteness Theorem, by means of nonconstructive methods (he used his Basis Theorem!), cf. [Hilbert 1890].

Theorem 77 (Hilbert 1890) If G is a reductive algebraic group acting linearly on C^{n} then C[x_{1}, x_{2}, ..., x_{n}]^{G} is finitely generated as a C−algebra.

More precisely, Hilbert proved that any ideal basis of the ideal (generated by all non-constant homogeneous invariants) ⟨C[x_{1}, x_{2}, ..., x_{n}]_{+}^{G}⟩ ⊂ C[x_{1}, x_{2}, ..., x_{n}], which consists of homogeneous invariants, generates the invariant ring C[x_{1}, x_{2}, ..., x_{n}]^{G} as a C−algebra. At this time the proof was criticized because its non-constructive nature. In 1893 Hilbert came up with a constructive, but much more difficult proof, cf. [Hilbert 1893]. For a modern treatment we refer, e.g., [Bayer 1998], or [Sturmfels 1993].

In his PhD thesis H. Derksen provided a constructive proof of Hilbert’s Finiteness Theorem (cf. [Derksen 1997]). Derksen proved that the Reynolds images of any ideal basis of ⟨C[x_{1}, x_{2}, ..., x_{n}]_{+}^{G}⟩, which consists of not necessarily invariant homogeneous polynomials, still form an ideal basis of the ideal ⟨C[x_{1}, x_{2}, ..., x_{n}]_{+}^{G}⟩ , but now consisting of homogeneous invariants, and an algorithm for computing homogeneous ideal basis of ⟨C[x_{1}, x_{2}, ..., x_{n}]_{+}^{G}⟩ .

Let K[G] = C[s_{1}, s_{2}, ..., s_{r}]/ ⟨g_{1}, g_{2}, ..., g_{p}⟩ with linear action on C^{m} given by

σ · ( \begin{matrix}y_{1} \\ y_{2} \\ y_{3} \\ y_{4} \end{matrix} ) = ( \begin{matrix}a_{11}(σ) & a_{12}(σ) & … & a_{1m}(σ) \\ a_{21}(σ) & a_{22}(σ) & … & a_{2m}(σ) \\ ⋮ & ⋮ & & ⋮ \\ a_{m1}(σ) & a_{m2}(σ) & … & a_{mm}(σ) \end{matrix} ) ( \begin{matrix}y_{1} \\ y_{2} \\ y_{3} \\ y_{4} \end{matrix} ) .

For Derksen’s algorithm we provide only the user interface.

Algorithm NullCone({g_{1}, g_{2}, ..., g_{p}} , {a_{11}, a_{12}, ..., a_{mm}})

In: polynomials as above.

Out: {f_{1}, f_{2}, ..., f_{t}} algebra generators for C[x_{1}, x_{2}, ..., x_{n}]^{G}.

As noted above it might be necessary to apply the Reynolds operator in Derksen’s algorithm.

Remark 10 (a) The set of algebra generators for R^{G} obtained by Derksen’s algorithm is not necessarily minimal. (b)We use Derksen’s algorithm since the stabilizer G_{f_{0}}^{w} (or E_{f_{0}}) is given by means of equations, which fits perfectly with the interface. In addition, since the stabilizer contains roots of 1, possibly of high order, the computation with the Singular library “finvar.lib” is not so efficient.

Reynolds operator and invariance of polynomials

3.9. COMPUTING THE ZERO-SET OF A 0−DIMENSIONAL IDEAL 63

The Reynolds operator ℜ^{G} of a reductive algebraic group G is an R^{G}−linear projection of R to R^{G} which plays an important role in invariant theory of reductive algebraic groups. For the computation of algebra generators of the invariant ring R^{G} we apply the Reynolds operator to homogeneous generators of the ideal ⟨R_{+}^{G}⟩. For finite groups one has an explicit description of the Reynolds operator.

Definition 78 The Reynolds operator ℜ^{G} of the finite group G which acts linearly on R via • is defined by

ℜ^{G} : R ⟶ R^{G}
f ⟼ \frac{1}{|G|} ∑_{σ∈G} σ • f.

If G is not finite but linearly reductive then the Reynolds operator can be computed by means of the action of some differential operators on the graded components R. We refer, e.g., to Ch.7.4 of [Vasconcelos 1997].

Remark 11 For any reductive algebraic group G there exists a Reynolds operator ℜ^{G} : R → R^{G} which is an R^{G}−linear projection. In many proofs only this property, and no explicit description, is used (cf. the proof of Hilbert’s Finiteness Theorem below).

Assume that G is finite and has defining ideal I_{G} = ⟨g_{1}, g_{2}, ..., g_{p}⟩ ⊂ K[s_{1}, s_{2}, ..., s_{m}], i.e., the ideal I_{G} is zero-dimensional radical ideal. In order to apply the Reynolds operator we have to compute all solutions of I_{G}, which is done in Section 3.9.

Let p_{1}(s, x), p_{2}(s, x), ..., p_{n}(s, x) be polynomials defining a linear action of G on K[x_{1}, x_{2}, ..., x_{n}].

Proposition 79 A polynomial f ∈ K[x_{1}, x_{2}, ..., x_{n}] is invariant w.r.t. G iff

NormalF orm(f(p_{1}(s, x), p_{2}(s, x), ..., p_{n}(s, x)) − f(x), I_{G}) = 0.

Proof. cf. Proposition 7.4.3 in [Vasconcelos 1997].

3.9 Computing the zero-set of a 0−dimensional ideal

The computation of the solutions of a nontrivial zero-dimensional ideal I ⊂ K[s_{1}, s_{2}, ..., s_{m}] can be reduced to the computation of the solutions of a univariate polynomial by the elimination property of Gröbner bases, which says that a Gröbner basis of I contains at least one univariate polynomial. By the extension Theorem any solution of such a polynomial can be extended to an element of V(I). The roots of an univariate polynomial can be computed by iterative application of factorization and field extensions.

In the sequel let I ⊂ K[s_{1}, s_{2}, ..., s_{m}] be a proper zero-dimensional ideal. Assume that a Gröbner basis of I contains the nonconstant polynomial f ∈ K[s_{m}] and note that the ideal I′ ⊂ K[s_{1}, s_{2}, ..., s_{m−1}], obtained from I by substituting any root of f in I, is again zero-dimensional.. We define the k−th elimination ideal of I to be I_{k} := I ∩ K[s_{k+1}, s_{k+2}, ..., s_{m}].

Proposition 80 Let I ⊂ K[s_{1}, s_{2}, ..., s_{m}] be a zero-dimensional ideal.

(a) For 0 ≤ k ≤ m−1 the ideal I_{k} is zero-dimensional in K[s_{k+1}, s_{k+2}, ..., s_{m}].

(b) Each solution of I_{k} can be lifted to a solution of I_{k−1}.

Proof. (a) Note that I_{k} is zero-dimensional iff K[s_{k+1}, s_{k+2}, ..., s_{m}]/I_{k} is Artinian (satisfies the descending chain condition). The projection

π : K[s_{1}, s_{2}, ..., s_{m}]/I → K[s_{k+1}, s_{2}, ..., s_{m}]/I_{k}

is surjective, hence any strictly descending chain in K[s_{k+1}, s_{2}, ..., s_{m}]/I_{k} lifts to a strictly descending chain in the Artinian ring K[s_{1}, s_{2}, ..., s_{m}]/I, hence K[s_{k+1}, s_{2}, ..., s_{m}]/I_{k} is Artinian.

(b) Let ⟨f_{1}, f_{2}, ..., f_{r}⟩ = I_{k−1} and LT (f_{i}) = h_{i}(s_{k+1}, s_{k+2}, ..., s_{m}) · s_{k}^{N_{i}}. By the Extension Theorem (cf. [CLS 1992], Theorem 3.1.3) a partial solution (a_{k+1}, a_{k+2}, ..., a_{m}) of I_{k} lifts to a solution of I_{k−1} iff there exists an i s.t. h_{i} (a_{k+1}, a_{k+2}, ..., a_{m}) ≠ 0. Now (a) implies that\sqrt{LT (I_{k})} = ⟨s_{k+1}, s_{k+2}, ..., s_{m}⟩ and \sqrt{LT (I_{k−1})} = ⟨s_{k}, s_{k+1}, ..., s_{m}⟩ , hence some h_{i} must be constant.

In the sequel we provide two algorithms, one for the computation of the roots of an univariate polynomial and one for computing all solutions of a given zero-dimensional ideal. The algorithm Roots, described below, relies on factorization in Q(a)[s] and the computation of primitive elements for field extensions of the form Q(a, b), where minimal polynomials for a over Q and b over Q(a) are known. These algorithms are described, e.g., in Chapter 5.4 of [Winkler 1997]. Both algorithms are contained in the Singular library

zeroset.lib.

Algorithm Roots(f)

In: univariate polynomial f ∈ Q(a)[s], a an algebraic number over Q with minimal polynomial p ∈ Q[t] Out:{{(a_{1}, n_{1}), (a_{2}, n_{2}), ..., (a_{k}, n_{k})} , q, α} roots of f with multiplicities, a_{i} ∈ Q[t]/q(t) =: Q(b) may be a new extension with minimal polynomial q, and α(b) is the representation of a in Q(b). Note : ∑_{i=1}^{k} n_{i} = deg(f). begin; if n = 0 then return({{}, p, id}); A := t; // A ∈ Q[t]; factor f as f = ∏_{i=1}^{r_{1}}(s − a_{i})^{n_{i}} · ∏_{i=1}^{r_{2}} f_{i}; // f_{i} irreducible, deg(f_{i}) > 1; roots := {(a_{1}, n_{1}), (a_{2}, n_{2}), ..., (a_{r_{1}}, n_{r_{2}})}; for i := 1 to r_{2} do . if f_{i} is irreducible then begin . {q, α, β} :=PrimitiveElement(p, f_{i}); . replace a in roots by α(a) and set Q(a) := Q[t]/q(t); . p := q; . A := α(A(t)); . end; . {{(a′_{1}, n′_{1}), (a′_{2}, n′_{2}), ..., (a_{m}, n_{m})} , q, α, β} := Roots(f_{i}); . if p ≠ q then begin // field has changed . replace a in roots by α(a) and set Q(a) := Q[t]/q(t); . p := q; . A := α(A(t)); . end; . roots := roots ∪ {(a′_{1}, n′_{1}), (a′_{2}, n′_{2}), ..., (a_{m}, n_{m})}; end; return({roots, } , q, A); end;

We can state the main algorithm.

Algorithm ZeroSet({g_{1}, g_{2}, ..., g_{n}})

In: generators g_{1}, g_{2}, ..., g_{n} ∈ Q(a)[s_{1}, s_{2}, ..., s_{m}] of a zero-dimensional ideal I, a an algebraic number over Q with minimal polynomial p ∈ Q[t] Out:{{(a_{1}^{1}, a_{2}^{1}, ..., a_{m}^{1}), ..., (a_{1}^{r}, a_{2}^{r}, ..., a_{m}^{r})} , q, α} all elements of the zero set of the ideal I, Q[t]/q(t) =: Q(b) may be a new extension with minimal polynomial q, α(a) is the representation of a in Q(b), and a_{i}^{j} ∈ Q(b) Note r = dim_{Q(b)} Q(b)[s_{1}, ..., s_{m}]/I. begin; if n = 0 then return({{}, p, id}); relabel the generators of I s.t. g_{n−t}, g_{n−t+1}, ..., g_{n} ∈ Q(a)[s_{m}]; g := gcd(g_{n−t}, g_{n−t+1}, ..., g_{n}); (solutions, p, α) :=Roots(g); If necessary, change the minimal polynomial and replace a by α(a). for j := 1 to |roots| do . // extend the partial solutions . {pSol, q, α} :=ZeroSet({g_{1}(s_{1}, ..., s_{m−1}, a_{m}^{j}), ..., g_{1}(s_{1}, ..., s_{m−1}, a_{m}^{j})}; . if p ≠ q then begin // field has changed . replace a in solutions by α(a) and set Q(a) := Q[t]/q(t); . p := q; . A := α(A(t)); . end; . solutions := solutions∪{(a_{1}, a_{2}, ..., a_{m}^{j}) : (a_{1}, a_{2}, ..., a_{m−1}) ∈ pSol}; end; return({solutions} , q, A); end;

Example 81 Let I = ⟨x^{2} − 2ay, y^{2} − 2⟩ ⊂ Q(a)[x, y] with minimal polynomial a^{2} − 2. The elements of the zero set are contained in Q(b)^{2} where the field Q(b) has minimal polynomial b^{4} + 4b^{2} + 36. The algebraic number a is represented by −\frac{1}{12}b^{3} + \frac{1}{6}b, i.e., I = ⟨x^{2} + (\frac{1}{6}b^{3} − \frac{1}{3}b)y, y^{2} − 2⟩ ⊂ Q(b)[x, y]. The 4 elements of the zero set are given by

(\frac{b^{3}}{12} + \frac{5b}{6}, \frac{b^{3}}{12} − \frac{b}{6}) , (−\frac{b^{3}}{12} − \frac{5b}{6}, \frac{b^{3}}{12} − \frac{b}{6}) ,

(2, −\frac{b^{3}}{12} + \frac{b}{6}) , (−2, −\frac{b^{3}}{12} + \frac{b}{6}) .

Specific singularities

We discuss semiquasihomogeneous power series with fixed part either a Brieskorn-Pham polynomial or a polynomial of inner modality ≤ 4

4.1 Brieskorn-Pham singularities

Brieskorn-Pham polynomials appeared, e.g., in the study of exotic spheres. A polynomial f_{0} ∈ C[x_{1}, x_{2}, ..., x_{n}] is called a Brieskorn-Pham polynomial if f_{0} = ∑_{i=1}^{n} x_{i}^{a_{i}} for a ∈ N^{n}. In this case the computation of the moduli space is significantly simpler because of the following two facts :

• Generators for G_{f_{0}}^{w} can be written down without computation.

• The image of Θ is contained in GL_{k}(C), i.e., the induced group action of G_{f_{0}}^{w} on T_{−} is linear.

In order to prove the structure theorem on G_{f_{0}}^{w} we need the following Lemma, which appears (without proof) in [OW 1991].

Lemma 82 (Orlik-Wagenreich 1991) Let f ∈ C[x_{1}, x_{2}, ..., x_{n}] be quasihomogeneous and G = G_{w}^{f_{0}} ∩ GL_{n}(C). Then

⨁_{i=1}^{n} C\frac{∂f}{∂x_{i}}

is a G−module.

Proof. Let σ ∈ G_{w}^{f_{0}} ∩ GL_{n}(C). From f_{0} = f_{0} ∘ σ it follows that \frac{∂f_{0}}{∂x_{i}} (x) = \frac{∂f_{0}∘σ}{∂x_{i}}(x) = ∑_{j=1}^{n} \frac{∂f_{0}}{∂x_{j}} (σ · x) · \frac{∂σ_{j}}{∂x_{i}} (x). Since σ ∈ GL_{n}(C) the terms \frac{∂σ_{j}}{∂x_{i}} (x) are constants which we denote by λ_{j} ∈ C. We obtain \frac{∂f_{0}}{∂x_{i}} (x) = (∑_{j=1}^{n} λ_{j} \frac{∂f_{0}}{∂x_{j}} ) (σx). Now

σ · \frac{∂f_{0}}{∂x_{i}} (x) = σ · (∑_{j=1}^{n} λ_{j} \frac{∂f_{0}}{∂x_{j}} ) (x) = (∑_{j=1}^{n} λ_{j} \frac{∂f_{0}}{∂x_{j}} ) (σ^{−1}x)

= ∑_{j=1}^{n} λ_{j} \frac{∂f_{0}}{∂x_{j}} (σσ^{−1} · x) = ∑_{j=1}^{n} λ_{j} \frac{∂f_{0}}{∂x_{j}} (x).

We can state a structure theorem on the stabilizer group of a Brieskorn polynomial.

Theorem 83 Let f_{0} ∈ C[x_{1}, x_{2}, ..., x_{n}] be a Brieskorn-Pham polynomial.

(a) For f_{0} = ∑_{i=1}^{n} x_{i}^{d} stabilizer group G_{f_{0}}^{w} ≃ S_{n} × (Z_{d})^{n} .

(b) Let f_{0} = ∑_{i=1}^{r} f_{0}^{(d_{i})} where f_{0}^{(d_{i})} = ∑_{j=r_{i−1}+1}^{r_{i}} x_{j}^{d_{i}} and r_{i} ∈ N, r_{0} = 0, r_{i} < r_{i+1}. The stabilizer of f_{0} is

G_{f_{0}}^{w} = ⨁_{i=1}^{r} G_{f_{0}^{(d_{i})}}^{w}.

Proof. (a) Since all weights are equal the only quasihomogeneous automorphisms are matrices, i.e. G_{f_{0}}^{w} ⊂ GL_{n}(C). Let M = ⨁_{i=1}^{n} C\frac{∂f_{0}}{∂x_{i}} = Cx_{1}^{d−1} ⊕ Cx_{2}^{d−1} ⊕ ... ⊕ Cx_{n}^{d−1}. W.l.o.g.. let A = (a_{ij}) ∈ G_{f_{0}}^{w} be s.t. a_{11} and a_{12} are not equal to 0. By Lemma 4.1.82 M is a G_{w}^{f_{0}} module, but A^{−1} · x_{1}^{d−1} contains terms like a_{11}^{d−2}a_{12}x_{1}^{d−1}x_{2}, and is therefore not contained in M, a contradiction. Any matrix in G_{f_{0}}^{w} contains precisely one nonzero entry per row, which must be a d−th root of 1. Since f_{0} is invariant under permutations the claim follows.

(b) W.l.o.g. assume that deg_{w}(x_{1}) ≤ deg_{w}(x_{2}) ≤ ... < deg_{w}(x_{n}). Note that for r_{i−1} < k ≤ r_{i} each φ ∈ G_{f_{0}}^{w} is of the form

φ(x_{k}) = ∑_{j=r_{i−1}+1}^{r_{i}} c_{kj}x_{j} + ∑ c_{α,k}p_{α,k}(x_{1}, x_{2}, ..., x_{r_{i−1}})

for some c_{kj}, c_{α,k} ∈ C, and p_{α,k} ∈ C[x_{1}, x_{2}, ..., x_{r_{i−1}}] with deg_{w}(p_{α,k}) = w_{k} s.t. det(\frac{∂φ}{∂x_{i}} (0)) ≠ 0. Choose m ≤ m′ s.t. deg(x_{m−1}) < deg(x_{m}) = deg(x_{m′}) and deg(x_{m′}) < deg(x_{m′+1}) or m = m′ = n s.t. each φ ∈ G_{f_{0}}^{w} satisfies the condition that c_{α,k} ≠ 0 implies k ≤ m. For k < m the polynomial φ(x_{k}) dose not contain any of the variables x_{m}, ..., x_{n}. Let i be s.t. r_{i} + 1 = m and consider the restriction of φ′ of φ to f_{0}^{(d_{i})} where, in addition, each c_{α,k} is set to 0. Since φ′ is an isomorphism and

φ (f_{0}^{(d_{i})}) = ∑_{k=r_{i}+1}^{r_{i+1}} x_{k}^{d_{i}} + P (x_{1}, x_{2}, ..., x_{m′})

where P does not contain x_{k}^{d_{i}} for r_{i} +1 ≤ k ≤ r_{i+1}, it follows that φ′ ∈ G_{f_{0}^{(d_{i})}}^{w}.

Now part (a) implies that precisely one c_{kj} ≠ 0 for _{i} + 1 ≤ k ≤ r_{i+1}. Since any permutation of the variables occurring in f_{0}^{(d_{i})} is contained in G_{f_{0}}^{w} we may assume that c_{kk} ≠ 0 for r_{i} + 1 ≤ k ≤ r_{i+1}. Applying φ to f_{0} yields

φ(f_{0}) = ∑_{j=1}^{r_{i−1}} x_{j}^{d_{ρ(j)}} + ( ∑_{k=r_{i}+1}^{r_{i+1}} c_{kk}x_{k} + ∑ c_{α,k}p_{α,k})^{d_{i}} + R(x_{m′+1}, x_{m′+2}, ..., x_{n})

by the choice of m and m′. But the terms (c_{kk}x_{k})^{d_{i}−1} p_{α,i} do not cancel, hence φ(f_{0}) ≠ f_{0}, a contradiction.

Now we make use of the knowledge of the structure of G_{f_{0}}^{w} to show that the induced group-action of G_{f_{0}}^{w} on T_{−} is linear.

Theorem 84 If f_{0} is a Brieskorn-Pham polynomial then E_{f_{0}} ⊂ GL_{k}(C).

Proof. Let f_{0} = ∑_{i=1}^{n} x_{i}^{d_{i}} and M_{−} = {x^{α} : α ∈ B_{−}} be an upper basis of M_{f_{0}} = C[x_{1}, x_{2}, ..., x_{n}]/ < x_{i}^{d_{i−1}} > . It follows from Theorem 4.1.83 that G_{w}^{f_{0}} ⊂ GL_{n}(C) is generated by diagonal and permutation matrices. For diagonal matrices σ = diag(σ_{1}, σ_{2}, ..., σ_{n}) it is clear that Θ(σ) ∈ E_{f_{0}} since

σ^{−1} • x^{α} = (σ_{1}x_{1})^{α^{1}} · (σ_{2}x_{2})^{α^{2}} · ... · (σ_{n}x_{n})^{α^{n}}

induces a diagonal matrix in Aut(T_{−}). Now note that any permutation is a product of transpositions. Any monomial in M_{−} can be written as m = x_{i}^{α_{i}}x_{j}^{α_{j}} ·m′, where m′ does not contain x_{i} and x_{j} and α_{i} < d_{i}−1, α_{j} < d_{j} −1. If deg_{w}(x_{i}) = deg_{w}(x_{j}) then the application of the transposition π = (ij) ∈ G_{f_{0}}^{w} to m yields

π · (x_{i}^{α_{i}}x_{j}^{α_{j}} · m′) = x_{i}^{α_{j}}x_{j}^{α_{i}} · m′ ∈ M_{−}

since α_{i}, α_{j} < d_{i} − 1 = d_{j} − 1. In both cases the map ψ from Proposition 2.3.53(a) is the identity.

Nonetheless the computation of moduli spaces for semiquasihomogeneous power series where the fixed principal part is a Brieskorn-Pham polynomial ranges from easy to intractable, even if we restrict ourselves to reasonable examples. We exclude examples of the form ∑_{i=1}^{n} x_{i}^{a_{i}} with n >> 1 and/or a_{i} >> 1, e.g., n = 2 and a_{1} = a_{2} = 1000 (here T_{−} has dimension \binom{2+a_{1}−5}{a_{1}−5} =

496506 and |G_{f_{0}}^{(1,1)}| = 2 · 10^{6}). We illustrate the situation with 4 examples.

Example 85 (easy) Let f_{0} = x^{4} + y^{8} be a Brieskorn-Pham polynomial of type (8; 2, 1). The semiuniversal family of negative weight is given by F (x, y, t_{1}, t_{2}) = x^{4} + y^{8} + t_{1}x^{2}y^{6} + t_{2}x^{2}y^{5}. We have μ_{f_{0}}(0) = 21, G_{f_{0}}^{(2,1)} =

⟨(12), diag(ξ^{2}, 1), diag(1, ξ)⟩ where ξ := exp(\frac{2πi}{8}). Note that |G_{f_{0}}^{(2,1)}| = |E_{f_{0}}| =

32 and T_{−} = C^{2}. The group E_{f_{0}} is generated by diag(ξ^{2}, 1), diag(1, ξ) where ... and the invariant ring C[x, y]^{E_{f_{0}}} = C[t_{1}^{4}, t_{1}^{2}t_{2}^{4}, t_{2}^{8}]. The moduli space M = T_{−}/E_{f_{0}} is embedded in C^{3} and is given by

V(y_{1}y_{3} − y_{2}^{2}) = M.

Example 86 (hard)Let f_{0} = x^{3} + y^{3} + z^{7} be a Brieskorn-Pham polynomial of type (21; 7, 7, 3). We have μ_{f_{0}}(0) = 24, |G_{f_{0}}^{(7,7,3)}| = |E_{f_{0}}| = 126 and T_{−} = C^{5}. The invariant ring C[t_{1}, t_{2}, t_{3}, t_{4}, t_{5}]^{E_{f_{0}}} is generated by 162 homogeneous invariants h_{1}, h_{2}, ..., h_{162} with degrees ranging from .. to .. . In order to compute the equations one has to eliminate the variables t_{1}, t_{2}, t_{3}, t_{4}, t_{5} in the ideal ⟨y_{1} − h_{1}, y_{2} − h_{2}, ..., y_{162} − h_{162}⟩ .

Example 87 (hard)Let f_{0} = x^{8} + y^{8} be a Brieskorn-Pham polynomial of type (8; 1, 1). We have μ_{f_{0}}(0) = 49, and |G_{f_{0}}^{(1,1)}| = |E_{f_{0}}| = 128 and T_{−} = C^{10}.

Example 88 (tractable ?) Let f_{0} = x_{1}^{5} + x_{2}^{5} + x_{3}^{5} + x_{4}^{5} + x_{5}^{5} be a Brieskorn-Pham polynomial of type (5; 1, 1, 1, 1, 1). This is the equation of the quintic threefold, which plays an important role in mirror symmetry. The Milnor number equals μ_{f_{0}}(0) = 1024, the base space of the semiuniversal family is

T_{−} = C^{802} and |G_{f_{0}}^{(1,1,1,1,1)}| = 375000.

4.2 Semiquasihomogeneous singularities with inner modality ≤ 4.

We apply the algorithm to some principal parts with inner modality 2, 3 and 4. The principal parts with their names are taken from [YS 1979].

Note: We have omitted all quasihomogeneous polynomials which involve parameters since this case is not covered by the theory presented here. In the table μ denotes the Milnor number, t_{−} the dimension of T_{−}, |G_{f_{0}}^{w}| the order of G_{f_{0}}^{w}, |E_{f_{0}}| the order of E_{f_{0}}, l the dimension of the ambient space of the equivariant embedding of T_{−} (if the action is linear then t_{−} = l), #I the number of invariants delivered from NullCone, #E the number of equations delivered from QuotientEquations (ImageVariety), ub is the maximal degree occurring in these equations (except for modality 4) and time denotes 4.2. SEMIQUASIHOMOGENEOUS SINGULARITIES WITH INNER MODALITY ≤ 4.71

number of seconds needed for the whole computation in seconds (up to 1/100 sec.). All examples were computed in Singular-1-3-7 under Ret Hat 5.2 Linux, running on a 200 MHz Pentium with 64 MB RAM.

Note: In each example was no need for computing the radical of the equations defining the stabilizer.

Some examples with modality 2

We apply the algorithm to some principal parts coming.

Name Equation  μ t_{−} |G_{f_{0}}^{w}| |E_{f_{0}}| l #I #E ub time
E_{18}  y^{10} + x^{3}  18 2  30  30 2 9 28 3 2.85
E_{19}  xy^{7} + x^{3}  19 2  21  21 2 8 21 2 2.45
W_{17} xy^{5} + x^{4}  17 2  20  20 2 6 10 2 2.20
Z_{17}  y^{8} + x^{3}y  17 2  24  24 2 7 15 2 2.31
Q_{17} yz^{2} + xy^{5} + x^{3} 17 2  30  15 2 6 10 2 2.69
S_{17}  yz^{2} + y^{6} + x^{2}z 17 2  24  12 2 5 6 2 2.49

Equations for the moduli spaces of these principal parts are as follows. The equations of E_{19} appear in Example 3.7.76.

E_{18} R = C[Y_{1}, Y_{2}, ..., Y_{9}], equations :

Y_{8}^{2} − Y_{7}Y_{9}, Y_{7}Y_{8} − Y_{6}Y_{9}, Y_{6}Y_{8} − Y_{5}Y_{9}, Y_{5}Y_{8} − Y_{3}Y_{9}, Y_{3}Y_{8} − Y_{2}Y_{9}, Y_{2}Y_{8} − Y_{1}Y_{9}, Y_{7}^{2} −Y_{6}Y_{8}, Y_{6}Y_{7} −Y_{5}Y_{8}, Y_{5}Y_{7} −Y_{3}Y_{8}, Y_{3}Y_{7} −Y_{2}Y_{8}, Y_{2}Y_{7} −Y_{1}Y_{8}, Y_{6}^{2} − Y_{5}Y_{7}, Y_{5}Y_{6}−Y_{3}Y_{7}, Y_{3}Y_{6}−Y_{2}Y_{7}, Y_{2}Y_{6}−Y_{1}Y_{7}, Y_{5}^{2}−Y_{3}Y_{6}, Y_{3}Y_{5}−Y_{2}Y_{6}, Y_{2}Y_{5}− Y_{1}Y_{6}, Y_{3}^{2}−Y_{2}Y_{5}, Y_{2}Y_{3}−Y_{1}Y_{5}, Y_{2}^{2}−Y_{1}Y_{3}, Y_{1}^{2}Y_{8}−Y_{4}Y_{9}, Y_{1}^{2}Y_{7}−Y_{4}Y_{8}, Y_{1}^{2}Y_{6}−

Y_{4}Y_{7}, Y_{1}^{2}Y_{5} − Y_{4}Y_{6}, Y_{1}^{2}Y_{3} − Y_{4}Y_{5}, Y_{1}^{2}Y_{2} − Y_{3}Y_{4}, Y_{1}^{3} − Y_{2}Y_{4}.

W_{17} R = C[Y_{1}, Y_{2}, ..., Y_{6}], equations :

Y_{5}^{2} − Y_{4}Y_{6}, Y_{4}Y_{5} − Y_{3}Y_{6}, Y_{3}Y_{5} − Y_{2}Y_{6}, Y_{2}Y_{5} − Y_{1}Y_{6}, Y_{4}^{2} − Y_{3}Y_{5}, Y_{3}Y_{4} −

Y_{2}Y_{5}, Y_{2}Y_{4} − Y_{1}Y_{5}, Y_{3}^{2} − Y_{2}Y_{4}, Y_{2}Y_{3} − Y_{1}Y_{4}, Y_{2}^{2} − Y_{1}Y_{3}.

Z_{17} R = C[Y_{1}, Y_{2}, ..., Y_{7}], equations :

Y_{6}^{2} − Y_{5}Y_{7}, Y_{5}Y_{6} − Y_{4}Y_{7}, Y_{4}Y_{6} − Y_{3}Y_{7}, Y_{3}Y_{6} − Y_{2}Y_{7}, Y_{2}Y_{6} − Y_{1}Y_{7}, Y_{5}^{2} − Y_{4}Y_{6}, Y_{4}Y_{5}−Y_{3}Y_{6}, Y_{3}Y_{5}−Y_{2}Y_{6}, Y_{2}Y_{5}−Y_{1}Y_{6}, Y_{4}^{2}−Y_{3}Y_{5}, Y_{3}Y_{4}−Y_{2}Y_{5}, Y_{2}Y_{4}−

Y_{1}Y_{5}, Y_{3}^{2} − Y_{2}Y_{4}, Y_{2}Y_{3} − Y_{1}Y_{4}, Y_{2}^{2} − Y_{1}Y_{3}.

Q_{17} R = C[Y_{1}, Y_{2}, ..., Y_{6}], equations :

Y_{5}^{2} − Y_{4}Y_{6}, Y_{4}Y_{5} − Y_{3}Y_{6}, Y_{3}Y_{5} − Y_{2}Y_{6}, Y_{2}Y_{5} − Y_{1}Y_{6}, Y_{4}^{2} − Y_{3}Y_{5}, Y_{3}Y_{4} −

Y_{2}Y_{5}, Y_{2}Y_{4} − Y_{1}Y_{5}, Y_{3}^{2} − Y_{2}Y_{4}, Y_{2}Y_{3} − Y_{1}Y_{4}, Y_{2}^{2} − Y_{1}Y_{3}.

S_{17} R = C[Y_{1}, Y_{2}, ..., Y_{5}], equations :Y_{4}^{2} −Y_{3}Y_{5}, Y_{3}Y_{4} −Y_{2}Y_{5}, Y_{2}Y_{4} −Y_{1}Y_{5}, Y_{3}^{2} − Y_{2}Y_{4}, Y_{2}Y_{3} − Y_{1}Y_{4}, Y_{2}^{2} − Y_{1}Y_{3}.

Some examples with modality 3

We obtain the following table.

Name Equation  μ t_{−} |G_{f_{0}}^{w}| |E_{f_{0}}| l #I #E ub time
E_{24}  y^{13} + x^{3}  24 3  39  39 3 41 792 11 203.16
E_{25}  xy^{9} + x^{3}  25 3  27  27 3 39 666 4 149.56
E_{26}  y^{14} + x^{3}  26 3  42  42 3 22 216 6 11.93
Z_{23}  y^{11} + x^{3}y  23 3  33  33 3 35 673 5 121.56
Z_{24}  xy^{8} + x^{3}y  24 3  23  23 3 29 381 8 27.23
Z_{25}  y^{12} + x^{3}y  25 3  36  36 3 18 137 5 7.09
N_{19} y^{6} + x^{4}y  19 3  24  24 3 35 513 2 52.99
N_{20}^{1} xy^{5} + x^{4}y  20 3  19  19 3 33 507 5 68.23
N_{20}^{2} y^{6} + x^{5}  20 3  30  30 3 18 125 5 6.93
N_{21} xy^{5} + x^{5}  21 3  25  25 3 23 267 6 15.27
Q_{22} yz^{2} + y^{10} + x^{3} 22 3  60  30 3 28 449 17 30.68
Q_{23} yz^{2} + xy^{7} + x^{3} 23 3  42  21 3 24 236 6 14.12
Q_{24} yz^{2} + y^{11} + x^{3} 24 3  66  33 3 25 336 8 22.10
V_{18}^{∗1} z^{4} + y^{5} + x^{2}y  18 3  40  20 3 27 291 4 14.19
V_{18}^{∗2} y^{3}z + xz^{3} + x^{2}y 18 3  19  19 3 30 388 7 40.96
V_{19}^{∗1} z^{4} + y^{4}z + x^{2}y 19 3  32  16 3 22 191 6 10.45
V_{19}^{∗2} z^{5} + y^{3}z + x^{2}y 19 3  30  15 3 19 137 3 6.85
V_{19}^{∗3} y^{4} + xz^{3} + x^{2}y 19 3  24  24 3 11 17 3 3.98
V_{20}^{∗}  z^{5} + y^{4} + x^{2}y  20 3  40  20 3 15 100 6 7.04

Some examples with modality 4

We use opt=4 because the computation of the nullcone (NullCone) is faster than in the case opt=7. Namely, the equations of G_{f_{0}}^{w} contain 2 − 3 variables while the equations for E′_{f_{0}} contain 4 variables. Since the invariant rings are generated by more than 65 elements we set opt=4 and omit the column #E.

4.2. SEMIQUASIHOMOGENEOUS SINGULARITIES WITH INNER MODALITY ≤ 4.73 Note that ub denotes the maximal degree of an invariant !

Name Equation  μ t_{−} |G_{f_{0}}^{w}| |E_{f_{0}}| l #I ub time
E_{30}  y^{16} + x^{3}  30 4  48  48 4 143 48 24.53
E_{31}  xy^{11} + x^{3}  31 4  33  33 4 118 33 26.65
E_{32}  y^{17} + x^{3}  32 4  51  51 4 96 51 29.89
W_{24} y^{9} + x^{4}  24 4  36  36 4 136 36 16.20
W_{25} xy^{7} + x^{4}  25 4  28  28 4 105 28 21.79
Z_{29}  y^{14} + x^{3}y  29 4  42  42 4 94 42 29.65
Z_{30}  xy^{10} + x^{3}y  30 4  29  29 4 95 29 24.33
Z_{31}  y^{15} + x^{3}y  31 4  45  45 4 65 45 35.43
N_{24}^{1}  y^{7} + x^{5}  24 4  35  35 4 81 35 18.61
N_{24}^{2}  xy^{6} + x^{4}y  24 4  23  23 4 96 23 17.83
N_{25}  y^{8} + x^{4}y  25 4  32  32 4 68 32 10.17
Q_{28}  yz^{2} + y^{13} + x^{3} 28 4  78  39 4 104 39 44.20
Q_{29}  yz^{2} + xy^{9} + x^{3} 29 4  54  27 4 83 27 21.85
Q_{30}  yz^{2} + y^{14} + x^{3} 30 4  84  42 4 65 42 56.38
S_{23}  yz^{2} + y^{8} + x^{2}z 23 4  32  32 4 105 32 13.47
S_{24}  yz^{2} + xy^{6} + x^{2}z 24 4  25  25 4 83 25 68.80
V_{23}^{∗}  z^{4} + y^{5}z + x^{2}y 23 4  40  20 4 73 20 9.94
V_{24}^{∗}  z^{4} + y^{7} + x^{2}y  24 4  56  28 4 59 28 12.42
V’_{20} yz^{3} + xy^{3} + x^{3} 20 4  27  27 4 82 27 104.64
V’_{21} y^{4} + xz^{3} + x^{3}  21 4  36  36 4 42 36 11.64

74 CHAPTER 4. SPECIFIC SINGULARITIES

The Singular implementation - user manual

We provide a description of the implementation of the algorithms in the computer algebra system Singular (cf. [GPS 1997]). They are divided in

the three libraries qhmoduli.lib, rinvar.lib and zeroset.lib where the

first library contains algorithms for the computation of the stabilizer G_{f_{0}}^{w}, the induced action of G_{f_{0}}^{w} on T_{−}, the image E′_{f_{0}} of the linearization of this action and the and equations for the quotient T_{−}/E′_{f_{0}}, provided that the invariant ring C[t_{1}, t_{2}, ..., t_{n}]^{E′_{f_{0}}} is given, the second contains algorithms for the computation of a linearization of an arbitrary (algebraic) group action, of the nullcone of any reductive group and the invariant ring (and the Reynolds operator), provided that the group is finite or that the Reynolds operator is not required, while the third library contains algorithms for finding the variety of a zerodimensional ideal over a finite extension of Q (which can be generated by a single polynomial due to the primitive element theorem, cf., e.g., Ch. 5.4 of [Winkler 1997]).

Algorithms are described in the form

Procedure-Name(parameter-list[,optional-parameters])
   > <data-type>

parameter-list description of the parameters.

optional-parameter description of optional parameters.

<data-type> a description of the result of the algorithm. The data type ring is described as follows.

ring [ideal I,...] denotes that the output is a ring which contains, among others, the ideal I.

76CHAPTER 5. THE SINGULAR IMPLEMENTATION - USER MANUAL

Important Note The descriptions of the three libraries only contain the main procedures described in Chapter 3, whereas numerous sub- and auxiliary procedures have been omitted. They are described in the header-files, contained in the Appendix (cf. Chapter 6).

5.1 The qhmoduli.lib library

This library contains the algorithms for the computation of the moduli space of a semiquasihomogeneous power series with fixed part w.r.t. right equivalence. For the computation of invariant rings the library rinvar.lib, described below, is used. From a theoretical point of view the library can compute the moduli space of any quasihomogeneous fixed part, but in practical applications there may be constraints due to time and space, cf. Section 5.6.

5.1.1 Options and trace

Due to the fact that the computation of the moduli space of some quasihomogeneous polynomial may be hard there are three options for the control of the algorithm. Note: Different options may be combined by adding their value to opt.

Equations of the moduli space (opt + 1)

If the invariant ring is generated by more than 50 elements, the computation of the algebraic relations (=equations) may take quite long or become intractable. Therefore one can omit the computation of the relations by using the corresponding option when calling the algorithm. In several examples in this thesis we used this option to avoid the computation of the relations because elimination w.r.t. more than 50 variables takes quite long (or is not tractable), cf. e.g., Example 4.1.86.

Primary decomposition of G_{f_{0}}^{w} or E_{f_{0}} for the Reynolds map (opt +

2)

In order to compute the Reynolds operator one has to know all elements of the corresponding finite group, i.e., the elements of a zero-dimensional variety over a finite algebraic extension of Q. Since this process requires univariate factorization, it may be faster to compute the elements of more, but smaller varieties, which correspond to the primary components of the ideal defining the group.

Computing the image of G_{f_{0}}^{w} (opt + 4)

Note that |G_{f_{0}}^{w}| ≥ |E_{f_{0}}| and in several occasions the inequality is proper, which may help if the Reynolds operator has to be computed. But it may be possible that the ring of the ideal of E′_{f_{0}} contains more variables than the ring of G_{f_{0}}^{w} and that the equations of E′_{f_{0}} are more complicated. For this reason one can decide to continue the computation with either G_{f_{0}}^{w} or E′_{f_{0}} by passing the corresponding option to the algorithm. E.g., the computation of the invariant ring for quasihomogeneous polynomials with inner modality 4,or for the quasihomogeneous polynomial of Example 4.1.86, is faster if one uses G_{f_{0}}^{w} instead of E′_{f_{0}}. A possible reason may be the fact, that in these examples the ideal of G_{f_{0}}^{w} contains less variables than the ideal of E′_{f_{0}}. In Example 4.1.86 the ideal of G_{f_{0}}^{w} is contained in C[s_{1}, s_{2}, s_{3}, s_{4}, s_{5}] while the ideal of E′_{f_{0}} is contained in C[s_{1}, s_{2}, s_{3}, s_{4}, s_{5}, s_{6}, s_{7}].

Trace

Set the Singular variables printlevel to 1, 2 or 3.

5.1.2 Algorithms

In the sequel f denotes a quasihomogeneous polynomials with an isolated singularity at the origin.

ArnoldAction(poly f [, list G_{f}^{w}, list B] )
   > ring [ideal actionid, stabid]

f semiquasihomogeneous polynomial with an isolated singularity at 0.

G_{f}^{w} is the stabilizer of f as returned from StabEqn.

B list of upper monomials.

actionid list of the polynomials which represent the action of G_{f}^{w} on T_{−}, stabid is the ideal of the stabilizer G_{f}.

ModEqn(poly f, [int opt])
   > ring [ideal modid]

modid list of the generators of the ideal of the moduli space of f.

opt = 1: compute equations of the moduli space.

opt = 2: use a primary decomposition when computing the group elements.

opt = 4 compute E_{f_{0}}, i.e., the image of G_{f_{0}}.

DEFAULT: opt = 7

QuotientEquations(ideal G, action, embedding [, intvec w])
   > ring [ideal id, embedid]

G ideal of a finite group, action ideal/list defining a linear action of G w weights s.t. action and embedding are quasihomogeneous.. id ideal of the quotient variety if opt = 1, if opt = 0, 2 then id contains generators of the coordinate ring R^{G}. embedid is 0 if opt = 1, if opt = 0, 2 it is the ideal defining the equivari-

ant embedding.

opt = 1: compute equations of the quotient. opt = 2: use a primary decomposition when computing the group ele-

ments.

StabEqns(poly f)
> list [ring R1, ring R2]

f is the principal part. R1 ring containing equations of the stabilizer G_{f}^{w} (standard basis) (stabid)

of the stabilizer

R2 ring containing the ideal defining the action (actionid) of the stabilizer G_{f}^{w}.

StabEqnsId(ideal I, intvec w)
> list [ring R1, ring R2]

I is a quasihomogeneous ideal w.r.t. the weights w. R1 list of the equations of the stabilizer ∩_{f∈I}G_{f} (standard basis) (stabid). R2 ring containing the ideal defining the action (actionid) of the sta-

bilizer.

StabOrder(poly f)
StabOrder(G_{f}^{w})
> int order

f is the principal part. G_{f}^{w} is the result of StabEqn. order the order of G_{f}^{w}.

UpperMonomials(poly f[, intvec wt] )
> list monomials

f principal part. monomials list/ideal of the monomials of a C−base of the Milnor algebra

with weighted degree > deg_{w}(f).

wt weight of f (optional).

5.1.3 Implementation remarks

APSusbtitution: The application of the map constructed in the loop of the algorithm ArnoldAction may not be tractable. This procedure substitutes in each monomial separately and the substitution in a monomial is done step by step. After each step the terms of degree exceeding the upper bound are omitted and the result is reduced w.r.t. to the ideal of the group G_{f_{0}}^{w}.

QuotientEquations: If weights are provided the algorithm uses the Hilbertdriven std.

5.2 The rinvar.lib library

This library contains the algorithms for the computation of invariant rings of reductive algebraic groups acting linearly by means of Derksen’s algorithm (cf. [Derksen 1997]) and for linearizing a given algebraic action of an algebraic group. Note that Derksen’s algorithm (the algorithm NullCone) provides homogeneous generators for the ideal of the nullcone. These generators can be transformed to algebra generators of the invariant ring by applying the Reynolds operator. The computation of the Reynolds operator is implemented only for finite groups over finite extensions of Q (by means of the zeroset.lib, see below).

Restrictions

InvariantRing : G must be finite and the ground field must be a finite extension of Q.

5.2.1 Algorithms

LinearizeAction(G,action)
   > ring [ideal actionid, ideal embedid]

G is the ideal of an algebraic group, action defines the action of G, both have type ideal or list. actionid list of the polynomials which represent the linearized action of

G. on T_{−}.

embedid list of the equations defining the equivariant embedding.

ImageVariety(ideal I,ideal F [, intvec w])
   > ring [ideal imageid]

I is the ideal of a variety X, F is an ideal defining a morphism F : X → Y. imageid ideal of the Zariski-closure of F (X). If I and F are quasihomogeneous w.r.t. w then the Hilbert-driven std is

used.

InvariantRing(ideal G, ideal action, poly f)
   > int

G is the ideal of a finite algebraic group,

action list of polynomials defining a linear action of G on K^{n}.

f a polynomial 0 if f is not invariant. 1 if f is invariant.

InvariantRing(ideal G, ideal action)
> ring [ideal invars, poly newA]

G is the ideal of a finite algebraic group, action list of polynomials defining a linear action of G on K^{n}. invars ideal of the algebra generators of the invariant ring K[x_{1}, x_{2}, ..., x_{n}]^{G}. newA if the minpoly changes this is the new representation of the algebraic

number, otherwise it is set to a.

NullCone(list G, ideal action)
> ideal inv

G is the ideal of a linearly reductive algebraic group over a field K. action list of the polynomials defining a linear action of G on K^{n}. both have type ideal or list. inv ideal of the nullcone.

ReynoldsImage(list reynolsdOp, ideal action, poly f)
> poly f^{∗}

reynoldsOp is the list representing the Reynolds operator of a finite algebraic group over a finite extension of Q,

action defines the action of G. f^{∗} image of f under the Reynolds operator.

ReynoldsOperator(ideal G, ideal action [int opt])
> ring [list ROelements, ideal id, poly newA]

G is the ideal of an algebraic group, action defines the action of G,

opt cf. ZeroSet.

ROelements is the list containing all substitutions of group elements id equations of G in the new ring newA if the minpoly changes this is the new representation of the algebraic

number, otherwise it is set to a.

5.2.2 Implementation remarks

ImageVariety: If the input is quasihomogeneous and the weights are provided then the Hilbert driven Gröbner basis algorithm is used. In this case the Hilbert function H_{J} of the ideal ⟨F_{1} − y_{1}, ..., F_{m} − y_{m}⟩ can be computed directly and H_{J} provides an upper bound for the Hilbert function of ⟨F_{1} − y_{1}, ..., F_{m} − y_{m}, I⟩ , cf. [Traverso 1996]. InvariantRing: If the output of NullCone contains polynomials which are not invariant, the Reynolds operator has to be computed. This means that the zero set of the ideal of the group must be computed. The group must be finite and it is of uttermost importance to keep the order of the group as low as possible, i.e., use the option for computing E_{f_{0}}.

5.3 The zeroset.lib library

This library contains algorithms for finding the variety of a zerodimensional radical ideal over a finite extension of Q.

5.3.1 Algorithms

Factor(poly f)
> list [list factors, list multiplicities]

f is a univariate polynomial over a finite algebraic extension of Q. factors is the list containing all nontrivial irreducible factors of f over

the groundfield.

multiplicities is the list containing the multiplicities of the factors.

Roots(poly f)
> ring [list roots, poly g, poly newA]

f is a univariate polynomial. roots is the list containing all roots of f over a finite algebraic extension

of the groundfield.

g the polynomial f in the new ring newA if the minpoly changes this is the new representation of the algebraic

number, otherwise it is set to a.

ZeroSet(ideal I [, int opt])
> ring [list zeroset, ideal id, poly newA]

I is the radical ideal of a zerodimensional variety over Q. opt = 0 no primary decomposition (default) opt > 0 primary decomposition. zeroset is the list containing all elements of the variety id equations of I in the new ring newA if the minpoly changes this is the new representation of the algebraic

number, otherwise it is set to a.

5.4 Performance

We provide 7 examples with increasing complexity and runtime. In the first table we provide information about the singularity, the group action and the invariant ring together with the embedding of the moduli space while the second table contains a profile of the computation. We consider the following examples.

1. E_{19} : xy^{7} + x^{3}.

2. V_{19}^{∗2} : x^{2}y + y^{3}z + z^{5}.

3. V_{19}^{∗1} : x^{2}y + y^{4}z + z^{4}.

4. Q_{22} : yz^{2} + y^{10} + x^{3}.

5. Z_{23} : y^{11} + x^{3}y.

6. E_{24} : y^{13} + x^{3}.

7. E_{31} : x^{3} + xy^{11}, we set opt = 6.

8. the singularity x^{2}y + x^{2}z + y^{5} − z^{5}, cf. Example 3.7.75.

9. the Brieskorn-Pham polynomial x^{3} + y^{3} + z^{7}, cf. Example 4.1.86. We set opt = 6.

10. The singularity x^{5}y − xy^{5}.

11. The K3 singularity x_{1}^{3} + x_{2}^{3}x_{4} + x_{3}^{4} + x_{4}^{8}

12. The singularity x^{8} + 14x^{4}y^{4} + y^{8} cf. 5.6.89. 13 The quintic threefold x_{1}^{5} + x_{2}^{5} + x_{3}^{5} + x_{4}^{5} + x_{5}^{5} 4.1.88. Note that only the stabilizer of Example 7 and 8 contains matrices with

more than one entry per row. A “?” denotes that the computation was aborted.

Note: In each example we did not compute the radical.

Nr.  μ t_{−} |G_{f_{0}}^{w}| {G_{f_{0}}^{w}− \atop vars} |E′_{f_{0}} | {E′_{f_{0}}− \atop vars} l #I #E ub
1 19 2  21  2  21  2 2 8 21 2
2 19 3  30  3  15  3 3 19 137 3
3 19 3  32  3  16  3 3 22 191 6
4 22 3  60  3  30  3 3 28 449 17
5 23 3  33  2  33  3 3 35 673 5
6 24 3  39  2  39  3 3 41 792 11
7 31 4  33  2  33  4 4 118 − 33
8 24 3  20  5  10  5 4 21 67 5
9 24 5 126  5 126  ? 5  ?  ? ?
10 25 3 144  4  ?  ? 3  ?  ? ?
11 102 49 288  4  ?  ? ?  ?  ? ?
12 49 10 192  4  ?  ? ?  ?  ? ?
13 1024 802  ?  ?  ?  ? ?  ?  ? ?

G_{f_{0}}^{w}−vars and E′_{f_{0}}−vars denote the number of variables used for G_{f_{0}}^{w} and E′_{f_{0}} respectively, t_{−} indicates the dimension of T_{−} and l is the dimension of the ambient space of the embedding of T_{−} via ϕ. Note: dim T_{−} = l implies ϕ = id. #I, #E and ub denote the number of generators of the invariant ring K[t_{1}, t_{2}, ..., t_{l}]^{E_{f_{0}}}, the number of generators of the ideal I of the embedding 5.5. THE EXAMPLE F_{0} = X^{2}Z + X^{2}Y − Z^{5} + Y^{5}. 83

of the quotient ϕ(T_{−})/E′_{f_{0}} = M_{hol} and the highest degree occurring in the basis of I. Note that this basis is a Gröbner basis w.r.t. degree-lexicographic order. A Gröbner basis w.r.t. lexicographical order contains, i.g., more elements with higher degrees, e.g., in example ? it contains 591 elements with highest degree = 20. Note: If dim T_{−} = l then ϕ = id. The profile is given by the table below. A “ − ” denotes that the corresponding procedure was not executed. All examples were computed in Singular-1-3-7 under Ret Hat 5.2 Linux, running on a 200 MHZ Pentium with 64 MB RAM.

Nr.  B_{−} G_{f_{0}}^{w}  Θ  ρ E′_{f_{0}} NC R1 R2  Eq.  tot.
1 0.12 0.19 0.89 0.08 0.11 0.34  0  0 0.36 2.54
2 0.13 0.30 1.90 0.12 0.14 0.75  0  0 2.80 7.04
3 0.13 0.33 1.92 0.11 0.17 0.89  0  0 6.20 10.84
4 0.16 0.48 2.29 0.11 0.16 1.97  0  0 23.88 31.01
5 0.14 0.22 1.48 0.10 0.14 1.91  0  0 122.58 129.65
6 0.15 0.23 1.44 0.11 0.13 3.70  0  0 193.87 203.16
7 0.19 0.22 1.75 0.14  0 21.01  0  0  − 26.20
8 0.16 0.58 8.81 0.96 0.20 2.05 3.49 0.07 33.21 50.47
9 0.17 0.33 2.49 0.19  ?  ?  ?  ?  ?  ?
10 0.15 0.42 8.34 0.13  ?  ?  ?  ?  ?  ?
11 0.71 0.73 33.71 1.56  ?  ?  ?  ?  ?  ?
12 0.29 0.42  ?  ?  ?  ?  ?  ?  ?  ?
13 108.79  ?  ?  ?  ?  ?  ?  ?  ?  ?

Here we have the following list. B_{−} is the time needed for the algorithm UpperMonomials G_{f_{0}}^{w} time for StabEqns, including a std-computation, Θ time for ArnoldAction. This step may cause problems if the action is not linear.

ρ time for LinearizeAction.

E′_{f_{0}} time for ImageGroup. May cause difficulty for large stabilizers. NC time for NullCone. R1 ReynoldsOperator (uses ZeroSet). Causes problems if the degree of the field-extension is > 8. R2 ReynoldsImage applied to the non-invariant generators Eq. time for ImageIdeal. Takes long if the number of invariants exceeds 50.

5.5 The example f_{0} = x^{2}z + x^{2}y − z^{5} + y^{5}.

We show how to compute the moduli space of semiquasihomogeneous hypersurface singularities w.r.t. the fixed part f_{0} = x^{2}z + x^{2}y − z^{5} + y^{5} by means

of the SINGULAR library qhmoduli.lib.
> LIB ''qhm.lib'';
> ring R = 0,(x,y,z),ls;
> poly f = -z5+y5+x2z+x2y;
> list stab = StabEqn(f);
> def R1 = stab[1]; setring R1;
> stabid; stabid[1]=s(2)*s(3)
stabid[2]=s(1)^2*s(2)+s(1)^2*s(3)-1
stabid[3]=s(1)^2*s(3)^2-s(3)
stabid[4]=s(2)^4-s(3)^4+s(1)^2
stabid[5]=s(1)^4+s(2)^3-s(3)^3
stabid[6]=s(3)^5-s(1)^2*s(3)
> vdim(stabid); 20
> setring R;
> StabOrder(f);
20
> ideal B = UpperMonomials(f);
> B;
B[1]=y3z3
B[2]=x2y3
B[3]=x2y2
> def R2 = ArnoldAction(f,stab,B);
> setring R2;
> actionid;
actionid[1]=-s(2)*t(1)+s(3)*t(1)
actionid[2]=-s(2)^2*t(2)+2*s(2)^2*t(3)^2+s(3)^2*t(2)
actionid[3]=s(2)*t(3)+s(3)*t(3)
> nvars(stab[1]);
3
> def R3 = LinearizeAction(stabid, actionid, nvars(stab[1]));
> setring R3;
> actionid;
actionid[1]=-s(2)*t(1)+s(3)*t(1)
actionid[2]=-s(2)^2*t(2)+2*s(2)^2*t(4)+s(3)^2*t(2)
actionid[3]=s(2)*t(3)+s(3)*t(3)
actionid[4]=s(2)^2*t(4)+s(3)^2*t(4)
// 'ImageGroup' is not necessary
> def S = ImageGroup(groupid, actionid);
> setring S;
> groupid;
groupid[1]=s(2)+s(3)-s(5)

groupid[2]=s(4)^2-s(5)
groupid[3]=s(1)*s(5)+s(3)*s(4)-s(4)*s(5)
groupid[4]=s(1)*s(4)+s(3)-s(5)
groupid[5]=s(3)^2-2*s(3)*s(5)
groupid[6]=s(1)*s(3)-s(1)*s(5)+s(4)*s(5)
groupid[7]=s(1)^2+s(4)^2-2*s(5)
groupid[8]=-s(1)+s(5)^3
groupid[9]=s(3)*s(5)^2+s(4)-s(5)^3
groupid[10]=s(1)*s(5)^2-1
> ideal G = groupid,t(1),t(2),t(3),t(4);
> vdim(std(G));
10
// continue
setring R3;
> def R4 = QuotientEquations(groupid,actionid,embedid);
> setring R4;
> size(std(imageid)); // elimpart is not used !
72
> dim(std(imageid)); 3
// short version
> def T = ModEqn(f); setring T;
> size(modid); // 'elimpart' is used !
56
> dim(std(modid));
3

5.6 Practical limitations

There are no limitations from a theoretical point of view. Nonetheless, there are limitations w.r.t. time and memory in practical use. The following steps in the algorithm might be hard or even intractable. By intractable we mean either that a computation is not possible on a computer with 64 or 128 MB or elimination has to be performed with more than, say, 60 variables.

• The computation of the induced group action of G_{f_{0}}^{w} on T_{−}, i.e., the algorithm ArnoldAction, cf. Example 5.6.89 below.

• The computation of the invariant ring K[t_{1}, t_{2}, ..., t_{l}]^{E_{f_{0}}} (NullCone), cf. Example 5.6.90.

• The computation of the algebraic relations among the generators of K[t_{1}, t_{2}, ..., t_{l}]^{E_{f_{0}}} (ImageVariety), cf. e.g., Example 4.1.86, or any example where the invariant ring has more than 60 generators.

Specific classes of singularities.

As a general rule, examples where the dimension of the moduli space is > 3 and the group action is not linear, may be intractable. We provide ... examples .

Example 89 Consider the homogeneous polynomial f_{0} = x^{8} + 14x^{4}y^{4} + y^{8}. We have μ_{f_{0}}(0) = 49 and T_{−} = T_{−} = C^{10}. The stabilizer G_{f_{0}}^{(1,1)} is generated by the three matrices

( \begin{matrix}0 & 1 \\ 1 & 0 \end{matrix} ) , ( \begin{matrix}i & 0 \\ 0 & i \end{matrix} ) , \frac{1}{\sqrt{2}} ( \begin{matrix}1 & 1 \\ 1 & −1 \end{matrix} )

and has order |G_{f_{0}}^{(1,1)}| = 192. The upper monomials have degrees ranging from 9 to 12. The computation of the action of G_{f_{0}}^{w} on T_{−} exceeds the memory (64 MB + 20 MB swap-space) while processing the terms of degree 11. In addition, the resulting action will be quite complicated and the computation of the nullcone is the next challenging problem.

Example 90 The quasihomogeneous polynomial f = x_{1}^{3} + x_{2}^{3}x_{4} + x_{3}^{4} + x_{4}^{8} (hypersurface K3 singularity). Since dim(T_{−}) = 49 the computation of E′_{f_{0}} is very hard. The computation of the nullcone seems to be out of reach (at the moment).

Appendix

We provide the headers of all three libraries and procedures.

6.1 QHMOD.LIB
// Moduli Spaces for Semiquasihomogeneous Hypersurface Singularities
// w.r.t.  right-equivalence
// Bayer Thomas
// Last change 27.6.2000
//
//
///////////////////////////////////////////////////////////////////////////////
version=''Id:  qhmoduli.lib,v 1.0 2000/06/27 12:32:15 Singular Exp $'';
info=''
LIBRARY: qhmoduli.lib PROCEDURES FOR MODULI SPACES OF SEMIQUASIHOMOGENOUS SINGULARITIES
AUTHOR: Thomas Bayer, email:  tbayer@mathematik.uni-kl.de
PROCEDURES:
 ArnoldAction(f, [G, w]) Induced action of G_f on T_.
 ModEqn(f) Equations of the moduli space for principal part f
 QuotientEquations(G,A,I) Equations of Variety(I)/G w.r.t.  action 'A'
 StabEqn(f) Equations of the stabilizer of f.
 StabEqnId(I, w) Equations of the stabilizer of the qhom.  ideal I.
 StabOrder(f) Order of the stabilizer of f.
 UpperMonomials(f, [w]) Upper basis of the Milnor algebra of f.
 SUBPROCEDURES:
 Max(data) maximal integer contained in 'data'
 Min(data) minimal integer contained in 'data'
 Table(cmd, i, lb, ub) list, i-th entry is cmd(i), lb <= i <= ub

88 CHAPTER 6. APPENDIX

'';
LIB ''rinvar.lib'';
///////////////////////////////////////////////////////////////////////////////
proc ModEqn(poly f, list #)
''USAGE: ModEqn(f [, opt]); poly f; int opt;
PUROPSE: compute equations of the moduli space of semiquasihomogenos hyper-
 surface singularity with principal part f w.r.t.  right equivalence
ASSUME: f quasihomogeneous polynomial with an isolated singularity at 0
RETURN: polynomial ring over a simple extension of the groundfield of the
 basering, containing the ideal 'modid'
 - 'modid' is the ideal of the moduli space if opt is even (> 0).
 otherwise it contians generators of the coordinate ring R of the
 moduli space (note :  Spec(R) is the moduli space)
OPTIONS: 1 compute equations of the mod.  space,
 2 use a primary decomposition
 4 compute E_f0, i.e., the image of G_f0
 To combine options, add their value.
DEFAULT: opt = 7
EXAMPLE: example ModEqn; shows an example
///////////////////////////////////////////////////////////////////////////////
proc QuotientEquations(ideal G, ideal Gaction, ideal embedding, list#)
''USAGE: QuotientEquations(G,action,emb [, opt]); ideal G,action,emb;int opt
PUROPSE: compute the quotient of the variety given by the parameterization
 'emb' by the linear action 'action' of the algenraic group G.
ASSUME: 'action' is linear, G must be finite if the Reynolds operator is
 needed (i.e., NullCone(G,action) returns some non-invariant polys)
RETURN: polynomial ring over a simple extension of the groundfield of the
 basering, containing the ideals 'id' and 'embedid'.
 - 'id' contians the equations of the quotient if opt = 1,
 if opt = 0, 2 'id' contains generators of the coordiante ring R
 of the quotient (Spec(R) is the quotient)
 - 'embedid' = 0 if opt = 1,
 if opt = 0, 2 it is the ideal defining the equivariant embedding
OPTIONS: 1 compute equations of the quotient,
 2 use a primary decomposition when computing the Reynolds operator
 To combine options, add their value.
DEFAULT: opt = 3
EXAMPLE: example QuotientEquations; shows an example
///////////////////////////////////////////////////////////////////////////////
proc UpperMonomials(poly f, list #)
''USAGE: UpperMonomials(poly f, [intvec w])

6.1. QHMOD.LIB 89

PUROPSE: compute the upper monomials of the milnor algebra of f.
ASSUME: f is quasihomogeneous (w.r.t.  w)
RETURN: ideal
EXAMPLE: example UpperMonomials; shows an example
///////////////////////////////////////////////////////////////////////////////
proc ArnoldAction(poly f, list #)
''USAGE: ArnoldAction(f, [Gf, B]); poly f; list Gf, B;
 'Gf' is a list of two rings (coming from 'StabEqn')
PUROPSE: compute the induced action of of the stabilizer G of f on T_, where
 T_is given by the upper monomials B of the Milnor algebra of f.
ASSUME: f is quasihomogeneous
RETURN: polynomial ring over the same groundfield, containing the ideals
 'actionid' and 'stabid'.
 - 'actionid' is the ideal defining the induced action of Gf on T_
 - 'stabid' is the ideal of the stabilizer Gf in the new ring
EXAMPLE: example ArnoldAction; shows an example
///////////////////////////////////////////////////////////////////////////////
proc StabOrder(list #)
''USAGE: StabOrder(f); poly f;
PUROPSE: compute the order of the stabilizer group of f.
ASSUME: f quasihomogeneous polynomial with an isolated singularity at 0
RETURN: int
GLOBAL: varSubsList
///////////////////////////////////////////////////////////////////////////////
proc StabEqn(poly f)
''USAGE: StabEqn(f); f polynomial
PUROPSE: compute the equations of the isometry group of f.
ASSUME: f semiquasihomogeneous polynomial with an isolated singularity at 0
RETURN: list of two ring 'S1', 'S2'
 - 'S1' contians the equations of the stabilizer (ideal 'stabid')
 - 'S2' contains the action of the stabilizer (ideal 'actionid')
EXAMPLE: example StabEqn; shows an example
GLOBAL: varSubsList, contains the index j s.t.  x(i) -> x(i)t(j) ...
///////////////////////////////////////////////////////////////////////////////
proc StabEqnId(ideal data, intvec wt)
''USAGE: StabEqn(I, w); I ideal, w intvec
PUROPSE: compute the equations of the isometry group of the ideal I
 each generator of I is fixed by the stabilizer.
ASSUME: I semiquasihomogeneous ideal w.r.t.  'w' with an isolated singularity at 0
RETURN: list of two ring 'S1', 'S2'
 - 'S1' contians the equations of the stabilizer (ideal 'stabid')

 - 'S2' contains the action of the stabilizer (ideal 'actionid')
EXAMPLE: example StabEqnId; shows an example
GLOBAL: varSubsList, contains the index j s.t.  t(i) -> t(i)t(j) ...
///////////////////////////////////////////////////////////////////////////////
static
proc ArnoldFormMain(poly f, B, poly Fs, ideal reduceIdeal, int nrs, int nrt)
''USAGE: ArnoldFormMain(f, B, Fs, rI, nrs, nrt);
 poly f,Fs; ideal B, rI; int nrs, nrt
PUROPSE: compute the induced action of 'G_f' on T_, where f is the principal part
 and 'Fs' is the semiuniversal unfolding of 'f' with x_i substituted by
 actionid[i], 'B' is a list of upper basis monomials for the milnor
 algebra of 'f', 'nrs' = number of variables for 'G_f' and
 'nrt' = dimension of T_
ASSUME: f is quasihomogeneous with an isolated singularity at 0,
 s(1..r), t(1..m) are parameters of the basering
RETURN: poly
EXAMPLE: example ArnoldAction; shows an example
///////////////////////////////////////////////////////////////////////////////
proc MonosAndTerms(poly f, wt, int ub)
''USAGE: MonosAndTerms(f, w, ub); poly f, intvec w, int ub
PUROPSE: returns a list of all monomials and terms occuring in f of
 weighted degree < ub
RETURN: list
 _[1] list of monomials
 _[2] list of terms
EXAMPLE: example MonosAndTerms shows an example
///////////////////////////////////////////////////////////////////////////////
proc SelectMonos(parts, intvec wt, int d)
''USAGE: SelectMonos(parts, w, d); list/ideal parts, intvec w, int d
PUROPSE: returns a list of all monomials and terms occuring in f of
 weighted degree = d
RETURN: list
 _[1] list of monomials
 _[2] list of terms
EXAMPLE: example SelectMonos; shows an example
///////////////////////////////////////////////////////////////////////////////
proc Expand(substitution, degVec, ideal reduceI, intvec w1, int ub, list truncated)
''USAGE: Expand(substitution, degVec, reduceI, w, ub, truncated);
 ideal/list substitution, list/intvec degVec, ideal reduceI, intvec w,
 int ub, list truncated
PUROPSE: substitute 'substitution' in the monomial given by the list of

6.1. QHMOD.LIB 91

 exponents 'degVec', omit all terms of weighted degree > ub and reduce
 the result w.r.t.  'reduceI'. If truncated[i] = 0 then the result is
 stored for later use.
RETURN: poly
NOTE: used by APSubstitution
GLOBAL: computedPowers
///////////////////////////////////////////////////////////////////////////////
proc PolyProduct(poly g1, poly h1, ideal reduceI, intvec wt, int ub)
''USAGE: PolyProduct(g, h, reduceI, wt, ub); poly g, h; ideal reduceI, intvec wt, int ub.
PUROPSE: compute g*h and reduce it w.r.t 'reduceI' and omit terms of weighted
 degree > ub.
RETURN: poly
NOTE: used by 'Expand'
///////////////////////////////////////////////////////////////////////////////
proc PolyPower1(int varIndex, poly f, int e, ideal reduceI, intvec wt, int truncated, int ub)
''USAGE: PolyPower1(i, f, e, reduceI, wt, truncated, ub); int i, e, ub; poly f;
 ideal reduceI; intvec wt; list truncated;
PUROPSE: compute f^e, use previous computations if possible, and reduce it
 w.r.t reudecI and omit terms of weighted degree > ub.
RETURN: poly
NOTE: used by 'Expand'
GLOBAL: 'computedPowers'
///////////////////////////////////////////////////////////////////////////////
proc Num(int i)
// Type :  void
// Purpose :  set basering R, poly f and weight w to ...
///////////////////////////////////////////////////////////////////////////////
proc RingVarsToList(list @index)
///////////////////////////////////////////////////////////////////////////////
proc APSubstitution(poly f, ideal substitution, ideal reduceIdeal, intvec wt, int ub, int nrs,
int nrt)
''USAGE: APSubstitution(f, subs, reduceI, w, ub, int nrs, int nrt); poly f
 ideal subs, reduceI, intvec w, int ub, nrs, nrt;
 nrs = number of parameters s(1..nrs),
 nrt = number of parameters t(1..nrt)
PUROPSE: substitute 'subs' in f, omit all terms with weighted degree > ub and
 reduce the result w.r.t.  'reduceI'.
RETURN: poly
GLOBAL: 'computedPowers'
///////////////////////////////////////////////////////////////////////////////
proc StabVar(intvec wt)

''USAGE: StabVar(w); intvec w
PUROPSE: compute the indicies for quasihomogeneous substitutions of each
 variable.
ASSUME: f semiquasihomogeneous polynomial with an isolated singularity at 0
RETURN: list
 _[i] list of combinations for var(i) (i must be appended to each comb)
GLOBAL: 'varSubsList', contains the index j s.t.  x(i) -> x(i)t(j) ...
///////////////////////////////////////////////////////////////////////////////
proc StabVarComb(intvec wt)
''USAGE: StabVarComb(w); intvec w
PUROPSE: list all possible indices of indeterminates for a quasihom.  subs.
RETURN: list
 _[1] linear substitutions
 _[2] nonlinear substiutions
GLOBAL: 'varSubsList', contains the index j s.t.  x(i) -> x(i)t(j) ...
///////////////////////////////////////////////////////////////////////////////
proc AllCombinations(list partition, list indices)
''USAGE: AllCombinations(partition,indices); list partition, indices)
PUROPSE: all compbinations for a given partititon
RETURN: list
GLOBAL: varSubsList, contains the index j s.t.  x(i) -> x(i)t(j) ...
///////////////////////////////////////////////////////////////////////////////
proc AllSingleCombinations(int n, list index)
''USAGE: AllSingleCombinations(n index); int n, list index
PUROPSE: all combinations for var(n)
RETURN: list
///////////////////////////////////////////////////////////////////////////////
proc AllCombinationsAux(list parts, list index)
''USAGE: AllCombinationsAux(parts ,index); list parts, index
PUROPSE: all compbinations for nonlinear substituiton
RETURN: list
///////////////////////////////////////////////////////////////////////////////
proc Partitions(int n, list nr)
''USAGE: Partitions(n, nr); int n, list nr
PUROPSE: partitions of n consisting of elements from nr
RETURN: list
///////////////////////////////////////////////////////////////////////////////
proc NumFactor(int a, int b)
'' USAGE: NumFactor(a, b); int a, b
PUROPSE: if b divides a then return b/a, else return 0
RETURN: int

6.2. RINVAR.LIB 93

///////////////////////////////////////////////////////////////////////////////
proc Table(string cmd, string iterator, int lb, int ub)
'' USAGE: Table(cmd,i, lb, ub); string cmd, i; int lb, ub
PUROPSE: generate a list of size ub - lb + 1 s.t.  _[i] = cmd(i)
RETURN: list
///////////////////////////////////////////////////////////////////////////////
proc Flatten(list data)
'' USAGE: Flatten(n, nr); list data
PUROPSE: flatten the list (one level) 'data', which is a list of lists
RETURN: list
///////////////////////////////////////////////////////////////////////////////
proc Intersection(list l1, list l2)
// Type :  list
// Purpose :  Intersection of l1 and l2
///////////////////////////////////////////////////////////////////////////////
proc FirstEntry(data, elem)
// Type :  int
// Purpose :  position of first entry equal to elem in data (from left to right)
///////////////////////////////////////////////////////////////////////////////
proc Max(data)
''USAGE: Max(n, nr); intvec/list data
PUROPSE: find the maximal integer contained in 'data'
RETURN: list
ASSUME: 'data' contians only integers and is not empty
///////////////////////////////////////////////////////////////////////////////
proc Min(data)
''USAGE: Min(n, nr); intvec/list data
PUROPSE: find the minimal integer contained in 'data'
RETURN: list
ASSUME: 'data' contians only integers and is not empty
///////////////////////////////////////////////////////////////////////////////

6.2 RINVAR.LIB
// Invariants of reductive groups
// Bayer Thomas
// Last change 14.8.2000
//
///////////////////////////////////////////////////////////////////////////////
version=''Id:  rinvar.lib,v 1.0 2000/08/14 17:32:15 Singular Exp $'';

info=''
LIBRARY: rinvar.lib PROCEDURES FOR INVARIANT RINGS OF REDUCTIVE GROUPS
AUTHOR: Thomas Bayer, email:  tbayer@mathematik.uni-kl.de
PROCEDURES:
 HilbertSeries(I, w) Hilbert series of the ideal I w.r.t.  weight w
 HilbertWeights(I, w) weighted degrees of the generators of I
 ImageVariety(I, F) ideal of the image variety F(variety(I))
 ImageGroup(G, F) ideal of G w.r.t.  the induced representation
 InvariantRing(G, Gaction) generators of the invariant ring of G
 InvariantQ(f, G, Gaction) decide if f is invariant w.r.t.  G
 LinearizeAction(G, Gaction) linearization of the action 'Gaction' of G
 LinearActionQ(action,s,t) decide if action is linear in var(s..nvars)
 LinearCombinationQ(base, f) decide if f is in the linear hull of 'base'
 MinimalDecomposition(f,s,t) minimal decomposition of f (like coef)
 NullCone(G, act) ideal of the nullcone of the action 'act' of G
 ReynoldsImage(RO,f) image of f under the Reynolds operator 'RO'
 ReynoldsOperator(G, Gaction) Reynolds operator of the group G
 SimplifyIdeal(I[,m,s]) simplify the ideal I (try to reduce variables)
 TransferIdeal(R,name,nA) transfer the ideal 'name' from R to basering
;
''
LIB ''presolve.lib'';
LIB ''elim.lib'';
LIB ''zeroset.lib'';
///////////////////////////////////////////////////////////////////////////////
proc EquationsOfEmbedding(ideal embedding, int nrs)
USAGE: EquationsOfEmbedding(embedding, s); ideal embedding; int s;
PUROPSE: compute the ideal of the variety parameterized by 'embedding' by
 implicitation and change the variables to the old ones.
RETURN: ideal
ASSUME: nvars(basereing) = n, size(embedding) = r and s = n - r.
 The polynomials of embedding contain only var(s + 1 ..  n).
NOTE: the result is the Zariski closure of the parameterized variety
EXAMPLE: example EquationsOfEmbedding; shows an example
///////////////////////////////////////////////////////////////////////////////
proc ImageGroup(ideal Grp, ideal Gaction)
USAGE: ImageGroup(G, action); ideal G, action;
PUROPSE: compute the ideal of the image of G in GL(m,K) induced by the linear
 action 'action', where G is an algebraic group and 'action' defines
 an action of G on K^m (size(action) = m).
RETURN: ring, a polynomial ring over the same ground field as the basering,

 containing the ideals 'groupid' and 'actionid'.
 - 'groupid' is the ideal of the image of G (order <= order of G)
 - 'actionid' defines the linear action of 'groupid' on K^m.
NOTE: 'action' and 'actionid' have the same orbits
 all variables which give only rise to 0's in the m x m matrices of G
 have been omitted.
ASSUME: basering K[s(1..r),t(1..m)] has r + m variables, G is the ideal of an
 algebraic group and F is an action of G on K^m.  G contains only the
 variables s(1)...s(r).  The action 'action' is given by polynomials
 f_1,...,f_m in basering, s.t.  on the ring level we have
 K[t_1,...,t_m] --> K[s_1,...,s_r,t_1,...,t_m]/G
 t_i --> f_i(s_1,...,s_r,t_1,...,t_m)
EXAMPLE: example ImageGroup; shows an example
///////////////////////////////////////////////////////////////////////////////
proc HilbertWeights(ideal I, wt)
USAGE: HilbertWeights(I, w); ideal I, intvec wt
PUROPSE: compute the weights of the slack varaibles needed for the
 computation of the algebraic relations of the generators of 'I' s.t.
 the Hilbert driven 'std' can be used.
RETURN: intvec
ASSUME: basering = K[t_1,...,t_m,...], 'I' is quasihomogeneous w.r.t.  'w' and
 contains only polynomials in t_1,...,t_m
///////////////////////////////////////////////////////////////////////////////
proc HilbertSeries(ideal I, wt)
USAGE: HilbertSeries(I, w); ideal I, intvec wt
PUROPSE: compute the polynomial p of the Hilbert Series,represented by p/q, of
 the ring K[t_1,...,t_m,y_1,...,y_r]/I1 where 'w' are the weights of
 the variables, computed, e.g., by 'HilbertWeights', 'I1' is of the
 form I[1] - y_1,...,I[r] - y_r and is quasihomogeneous w.r.t.  'w'
RETURN: intvec
NOTE: the leading 0 of the result does not belong to p, but is needed in
 the hilbert-driven 'std'.
///////////////////////////////////////////////////////////////////////////////
proc ImageVariety(ideal I, F, list #)
USAGE: ImageVariety(ideal I, F [, w]);ideal I; F is a list/ideal, intvec w.
PUROPSE: compute the Zariski closure of the image of the variety of I under
 the morphism F.
NOTE: if 'I' and 'F' are quasihomogeneous w.r.t.  'w' then the Hilbert-driven
 'std' is used.
RETURN: polynomial ring over the same groundfield, containing the ideal

 'imageid'.  The variables are Y(1),...,Y(k) where k = size(F)
 - 'imageid' is the ideal of the Zariski closure of F(X) where
 X is the variety of I.
EXAMPLE: example ImageVariety; shows an example
///////////////////////////////////////////////////////////////////////////////
proc LinearizeAction(ideal Grp, Gaction, int nrs)
USAGE: LinearizeAction(G,action,r); ideal G, action; int r
PUROPSE: linearize the group action 'action' and find an equivariant embedding
 of K^m where m = size(action).
ASSUME: G contains only variables var(1..r)
basering = K[s(1..r),t(1..m)], K = Q or K = Q(a) and minpoly != 0.
RETURN: polynomial ring contianing the ideals 'actionid', 'embedid', 'groupid'
 - 'actionid' is the ideal defining the linearized action of G
 - 'embedid' is a parameterization of an equivariant embedding (closed)
 - 'groupid' is the ideal of G in the new ring
NOTE: set printlevel > 0 to see a trace
EXAMPLE: example LinearizeAction; shows an example
///////////////////////////////////////////////////////////////////////////////
proc LinearActionQ(Gaction, int nrs)
USAGE: LinearActionQ(action,nrs,nrt); ideal action, int nrs
PUROPSE: check if the action defined by 'action' is linear w.r.t.  the variables
 var(nrs + 1...nvars(basering)).
RETURN: 0 action not linear
 1 action is linear
EXAMPLE: example LinearActionQ; shows an example
///////////////////////////////////////////////////////////////////////////////
proc LinearCombinationQ(ideal I, poly f)
USAGE: LinearCombination(I, f); ideal I, poly f
PUROPSE: test if f can be written as a linear combination of the generators of I.
RETURN: 0 f is not a linear combination
 1 f is a linear combination
///////////////////////////////////////////////////////////////////////////////
proc InvariantRing(ideal G, ideal action, list #)
USAGE: InvariantRing(G, Gact [, opt]); ideal G, Gact; int opt
PUROPSE: compute generators of the invariant ring of G w.r.t.  the action 'Gact'
ASSUME: G is a finite group and 'Gact' is a linear action.
RETURN: polynomial ring over a simple extension of the groundfield of the
 basering (the extension might be trivial), containing the ideals
 'invars' and 'groupid' and the poly 'newA'
 - 'invars' contains the algebra-generators of the invariant ring
 - 'groupid' is the ideal of G in the new ring

 - 'newA' if the minpoly changes this is the new representation of the
 algebraic number, otherwise it is set to 'a'.
NOTE: the delivered ring might have a different minimal polynomial
EXAMPLE: example InvariantRing; shows an example
///////////////////////////////////////////////////////////////////////////////
proc InvariantQ(poly f, ideal G, action)
USAGE: InvariantQ(f, G, action); poly f; ideal G, action
PUROPSE: check if the polynomial f is invariant w.r.t.  G where G acts via
 'action' on K^m.
ASSUME: basering = K[s_1,...,s_m,t_1,...,t_m] where K = Q of K = Q(a) and
 minpoly != 0, f contains only t_1,...,t_m, G is the ideal of an
 algebraic group and a standardbasis.
RETURN: int;
 0 if f is not invariant,
 1 if f is invariant
NOTE: G need not be finite
EXAMPLE: example InvariantQ; shows an example
///////////////////////////////////////////////////////////////////////////////
proc MinimalDecomposition(poly f, int nrs, int nrt)
USAGE: MinimalDecomposition(f,a,b); poly f; int a, b.
PUROPSE: decompose f as a sum M[1,1]*M[2,1] + ...  + M[1,r]*M[2,r] where M[1,i]
 contains only s(1..a), M[2,i] contains only t(1...b) s.t.  r is minimal
ASSUME: f polynomial in K[s(1..a),t(1..b)], K = Q or K = Q(a) and minpoly != 0
RETURN: 2 x r matrix M s.t.  f = M[1,1]*M[2,1] + ...  + M[1,r]*M[2,r]
EXAMPLE: example MinimalDecomposition;
///////////////////////////////////////////////////////////////////////////////
proc NullCone(ideal G, action)
USAGE: NullCone(G, action); ideal G, action
PUROPSE: compute the ideal of the nullcone of the linear action of G on K^n,
 given by 'action', by means of Deksen's algorithm
ASSUME: basering = K[s(1..r),t(1..n)], K = Q or K = Q(a) and minpoly != 0,
 G is an ideal of a reductive algebraic group in K[s(1..r)],
 'action' is a linear group action of G on K^n (n = ncols(action))
RETURN: ideal of the nullcone of G.
NOTE: the generators of the nullcone are homogeneous, but i.g.  not invariant
EXAMPLE: example NullCone; shows an example
///////////////////////////////////////////////////////////////////////////////
proc ReynoldsOperator(ideal Grp, ideal Gaction, list #)
USAGE: ReynoldsOperator(G, action [, opt); ideal G, action; int opt
PUROPSE: compute the Reynolds operator of the group G which act via 'action'
RETURN: polynomial ring R over a simple extension of the groundfield of the

 basering (the extension might be trivial), containing a list
 'ROelements', the ideals 'id', 'actionid' and the polynomial 'newA'.
 R = K(a)[s(1..r),t(1..n)].
 - 'ROelements' is a list of ideal, each ideal represents a
 substitution map F : R -> R according to the zero-set of G
 - 'id' is the ideal of G in the new ring
 - 'newA' is the new representation of a' in terms of a.  If the
 basering does not contain a parameter then 'newA' = 'a'.
ASSUME: basering = K[s(1..r),t(1..n)], K = Q or K = Q(a') and minpoly != 0,
 G is the ideal of a finite group in K[s(1..r)], 'action' is a linear
 group action of G
EXAMPLE: example ReynoldsOperator; shows an example
///////////////////////////////////////////////////////////////////////////////
proc ReynoldsImage(list reynoldsOp, poly f)
USAGE: ReynoldsImage(RO, f); list RO, poly f
PUROPSE: compute the Reynolds image of the polynomial f where RO represents
 the Reynolds operator
RETURN: poly
///////////////////////////////////////////////////////////////////////////////
static proc SimplifyCoefficientMatrix(matrix coefMatrix)
USAGE: SimplifyCoefficientMatrix(M); M matrix coming from coef(...)
PUROPSE: simplify the matrix, i.e.  find linear dependencies among the columns
RETURN: matrix M, f = M[1,1]*M[2,1] + ...  + M[1,n]*M[2,n]
///////////////////////////////////////////////////////////////////////////////
proc SimplifyIdeal(ideal I, list #)
USAGE: SimplifyIdeal(I [,m, name]); ideal I; int m, string name
PURPOSE: simplify ideal I to the ideal I', do not change the names of the
 first m variables, new ideal I' might contain less variables.
 I' contains variables var(1..m)
RETURN: list
 _[1] ideal I'
 _[2] ideal representing a map phi to a ring with probably less vars.  s.t.
 phi(I) = I'
 _[3] list of variables
 _[4] list from 'elimpart'
NOTE:
////////////////////////////////////////////////////////////////////////////////
proc TransferIdeal(R, string name, poly newA)
 USAGE: TransferIdeal(R, name, newA); ring R, string name, poly newA
PUROPSE: Maps an ideal with name 'name' in R to the basering, s.t.  all
 variables are fixed but par(1) is replaced by 'newA'.

6.3. ZEROSET.LIB 99

RETURN: ideal
NOTE: this is used to transfor an ideal if the minimal polynomial has changed
///////////////////////////////////////////////////////////////////////////////
proc RingVarProduct(index)
///////////////////////////////////////////////////////////////////////////////

6.3 ZEROSET.LIB
// Algorithms for finding the zero-set of a zero-dim.  ideal in Q(a)[x_1,..x_n],
// Roots and Factorization of univariate polynomials over Q(a)[t]
// where a is an algebric number
// Last change 19.5.2000
//
///////////////////////////////////////////////////////////////////////////////
version=''Id:  zeroset.lib,v 1.0 2000/05/19 12:32:15 Singular Exp $'';
info=''
LIBRARY: zeroset.lib PROCEDURES FOR ROOTS AND FACTORIZATION
AUTHOR: Thomas Bayer, email:  tbayer@mathematik.uni-kl.de
PROCEDURES:
EGCD(f, g) gcd over an algebraic extension field of Q
Factor(f) factorization of f over an algebraic extension field
InvertNumber(c) inverts an element of an algenraic extension field
LinearZeroSet(I) find the linear (partial) solution of I
Quotient(f, g) quotient q of f w.r.t.  g (in f = q*g + remainder)
Remainder(f,g) remainder of the division of f by g
Roots(f) computes all roots of f in an extension field of Q
SQFRNorm(f) norm of f (f must be squarefree)
ZeroSet(I) zero-set of the 0-dim.  ideal I
SUBPROCEDURES:
EGCDMain(f, g) gcd over an algebraic extension field of Q
FactorMain(f) factorization of f over an algebraic extension field
InvertNumberMain(c) inverts an element of an algenraic extension field
QuotientMain(f, g) quotient of f w.r.t.  g
RemainderMain(f,g) remainder of the division of f by g
RootsMain(f) computes all roots of f, might extend the groundfield
SQFRNormMain(f) norm of f (f must be squarefree)
ContainedQ(data, f) f in data ?
SameQ(a, b) a == b (list a,b)
TransferRing() create a new basering (to use ...Main())

 NewBaseRing() create a new basering (return from ...Main())
 SimplifyData(data) reduces entries of data w.r.t.  mpoly
 SimplifyPoly(f) reduces coefficients of f w.r.t.  mpoly
 SimplifySolution(sol) reduces the entries of sol w.r.t.  the ideal mpoly
 NOTE: this library is meant as a preliminary extension of the functionality
 of Singular for univariate factorization of polynomials over simple algebraic
 extensions in characteristic 0.
'';
LIB primitiv.lib;
LIB primdec.lib;
// note :  return a ring :  ring need not be exported !!!
// Artihmetic in Q(a)[x] without built-in procedures
// assume basering = Q[x,a] and minpoly is represented by mpoly(a).
// the algorithms are taken from Polynomial Algorithms in Computer Algebra,
// F. Winkler, Springer Verlag Wien, 1996.
// To do :
// squarefree factorization
// multiplicities
// Improvement :
// a main problem is the growth of the coefficients.  Try Roots(x7 - 1)
// retrurn ideal mpoly !
// mpoly is not monic, comes from primitive_extra
// IMPLEMENTATION
//
// In procedures with name 'proc-name'Main a polynomial ring over a simple
// extension field is represented as Q[x...,a] together with the ideal
// 'mpoly' (attribute isSB). The arithmetic in the extension field is
// implemented in the procedures in the procedures 'MultPolys' (multiplication)
// and 'InvertNumber' (inversion).  After addition and substraction one should
// apply 'SimplifyPoly' to the result to reduce the result w.r.t.  'mpoly'.
// This is done by reducing each coefficient seperately, which is more
// efficient for polynomials with many terms.
///////////////////////////////////////////////////////////////////////////////
proc Roots(poly f)
USAGE: Roots(f); poly f
PUROPSE: compute all roots of f in a finite extension of the groundfield
 without multiplicities.
RETURN: ring, a polynomial ring over an extension field of the ground field,
 containing a list 'roots', poly 'newA', poly 'f':
 - 'roots' is the list of roots of the polynomial f (no multiplicities)
 - if the groundfield is Q(a') and the extension field is Q(a), then

'newA' is the representation of a' in Q(a).  If the basering
contains a parameter 'a' and the minpoly remains unchanged then
'newA' = 'a'.  If the basering does not contain a parameter then
'newA' = 'a' (default).
- 'f' is the polynomial f in Q(a) (a' being substituted by newA)
ASSUME: ground field to be Q or a simple extension of Q given by a minpoly
EXAMPLE: example Roots; shows an example
///////////////////////////////////////////////////////////////////////////////
proc RootsMain(poly f)
USAGE: RootsMain(f); poly f
PUROPSE: compute all roots of f in a finite extension of the groundfield
without multiplicities.
RETURN: list, all entries are polynomials
_[1] = roots of f, each entry is a polynomial
_[2] = 'newA' - if the groundfield is Q(a') and the extension field is Q(a), then
'newA' is the representation of a' in Q(a)
_[3] = minpoly of the algebraic extension of the groundfield
ASSUME: basering = Q[x,a]
ideal mpoly must be defined, it might be 0 !
NOTE: might change teh ideal mpoly !!
EXAMPLE: example Roots; shows an example
///////////////////////////////////////////////////////////////////////////////
proc ZeroSet(ideal I, list #)
USAGE: ZeroSetMain(ideal I [, int opt]); ideal I, int opt
PUROPSE: compute the zero-set of the zero-dim.  ideal I, in a finite extension
of the groundfield.
RETURN: ring, a polynomial ring over an extension field of the ground field,
containing a list 'zeroset', a polynomial 'newA', and an ideal 'id'.
- 'zeroset' is list of the zeros of the ideal 'I', each zero is
an ideal.
- if the groundfield is Q(a') and the extension field is Q(a), then
'newA' is the representation of a' in Q(a).  If the basering
contains a parameter 'a' and the minpoly remains unchanged then
'newA' = 'a'.  If the basering does not contain a parameter then
'newA' = 'a' (default).
- 'id' is the ideal 'I' in Q(a)[x_1,...]  (a' substituted by 'newA')
ASSUME: dim(I) = 0, and ground field to be Q or a simple extension of Q given
by a minpoly.
OPTIONS: opt = 0 no primary decomposition (default)
opt > 0 primary decomposition
NOTE: If I contains an algebraic number (parameter) then 'I' must be transformed

 w.r.t.  'newA' in the new ring.
EXAMPLE: example ZeroSet; shows an example
///////////////////////////////////////////////////////////////////////////////
proc InvertNumberMain(poly f)
USAGE: InvertNumberMain(f); poly f
PURPOSE: compute 1/f if f is a number in Q(a) i.e., f is represented by a
 polynomial in Q[a].
RETURN: poly 1/f
ASSUME: basering = Q[x_1,...,x_n,a], ideal 'mpoly' must be defined and != 0 !
///////////////////////////////////////////////////////////////////////////////
proc MultPolys(poly f, poly g)
USAGE: MultPolys(f, g); poly f,g
PURPOSE: multiply the polynomials f and g and reduce them w.r.t.  mpoly
RETURN: poly f*g
ASSUME: basering = Q[x,a], ideal mpoly must be defined, it might be 0 !
///////////////////////////////////////////////////////////////////////////////
proc LeadTerm(poly f, int i)
USAGE: LeadTerm(f); poly f, int i
PUROPSE: compute the leading coef and term of f w.r.t var(i), where the last
 ring variable is treated as a parameter.
RETURN: list of polynomials
 _[1] = leading term
 _[2] = leading monomial
 _[3] = leading coefficient
ASSUME: basering = Q[x_1,...,x_n,a]
///////////////////////////////////////////////////////////////////////////////
proc Quotient(poly f, poly g)
USAGE: Quotient(f, g); poly f, g;
PUROPSE: compute the quotient q and remainder r s.t.  f = g*q + r, deg(r) < g
RETURN: list of polynomials
 _[1] = quotient q
 _[2] = remainder r
ASSUME: basering = Q[x] or Q(a)[x]
EXAMPLE: example Quotient; shows an example
///////////////////////////////////////////////////////////////////////////////
proc Remainder(poly f, poly g)
USAGE: Remainder(f, g); poly f, g
PUROPSE: compute the remainder of the division of f by g, i.e.  a polynomial r
 s.t.  f = g*q + r, deg(r) < g.
RETURN: poly
ASSUME: basering = Q[x] or Q(a)[x]

///////////////////////////////////////////////////////////////////////////////
proc EGCD(poly f, poly g)
USAGE: EGCDMain(f, g); poly f, g
PUROPSE: compute the polynomial gcd of f and g over Q(a)[x]
RETURN: poly h s.t.  h is a greatest common divisor of f and g (not nec.  monic)
ASSUME: basering = Q(a)[t]
EXAMPLE: example EGCD; shows an example
///////////////////////////////////////////////////////////////////////////////
proc MEGCD(poly f, poly g, int varIndex)
USAGE: MEGCD(f, g, i); poly f, g; int i
PUROPSE: compute the polynomial gcd of f and g in the i'th variable
RETURN: poly
ASSUME: f, g are polynomials in var(i), last variable is the algebraic number
EXAMPLE: example MEGCD; shows an example
///////////////////////////////////////////////////////////////////////////////
proc SQFRNorm(poly f)
USAGE: SQFRNorm(f); poly f
PUROPSE: compute the norm of the squarefree polynomial f in Q(a)[x].
RETURN: list
 _[1] = squarefree norm of g (poly)
 _[2] = g (= f(x - s*a)) (poly)
 _[3] = s (int)
ASSUME: f must be squarefree, basering = Q(a)[x] and minpoly != 0.
NOTE: the norm is an element of Q[x]
EXAMPLE: example SQFRNorm; shows an example
///////////////////////////////////////////////////////////////////////////////
proc Factor(poly f)
USAGE: Factor(f); poly f
PUROPSE: compute the factorization of the squarefree poly f over Q(a)[t], minpoly = p(a).
RETURN: list
 _[1] = factors (monic), first entry is the leading coefficient
 _[2] = multiplicities (not yet)
ASSUME: basering must be the univariate polynomial ring over a field which is Q
 or a simple extension of Q given by a minpoly.
NOTE: if basering = Q[t] then this is the built-in 'factorize'.
EXAMPLE: example Factor; shows an example
///////////////////////////////////////////////////////////////////////////////
proc FactorMain(poly f)
USAGE: FactorMain(f); poly f
PUROPSE: compute the factorization of the squarefree poly f over Q(a)[t], minpoly = p(a).
RETURN: list

_[1] = factors, first is a constant
_[2] = multiplicities (not yet)
ASSUME: basering = Q[x,a], represents Q(a)[x] and minpoly.
ideal mpoly must be defined, it might be 0 !
EXAMPLE: example Factor; shows an example
///////////////////////////////////////////////////////////////////////////////
proc ZeroSetMain(ideal I, int primDecQ)
USAGE: ZeroSetMain(ideal I, int opt); ideal I, int opt
PUROPSE: compute the zero-set of the zero-dim.  ideal I, in a simple extension
of the groundfield.
RETURN: list
- 'f' is the polynomial f in Q(a) (a' being substituted by newA)
_[1] = zero-set (list), is the list of the zero-set of the ideal I,
each entry is an ideal.
_[2] = 'newA'; if the groundfield is Q(a') and the extension field
is Q(a), then 'newA' is the representation of a' in Q(a).
If the basering contains a parameter 'a' and the minpoly
remains unchanged then 'newA' = 'a'.  If the basering does not
contain a parameter then 'newA' = 'a' (default).
_[3] = 'mpoly' (ideal), the minimal polynomial of the simple extension
of the ground field.
ASSUME: basering = K[x_1,x_2,...,x_n] where K = Q or a simple extension of Q
given by a minpoly.
dim(I) = 0.
NOTE: opt = 0 no primary decomposition
opt > 0 use a primary decomposition
EXAMPLE: example ZeroSet; shows an example
///////////////////////////////////////////////////////////////////////////////
proc ZeroSetMainWork(ideal id, intvec wt, int sVars)
USAGE: ZeroSetMainWork(I, wt, sVars);
PUROPSE: compute the zero-set of the zero-dim.  ideal I, in a finite extension
of the groundfield (without multiplicities).
RETURN: list, all entries are polynomials
_[1] = zeros, each entry is an ideal
_[2] = newA; if the groundfield is Q(a') this is the rep.  of a' w.r.t.  a
_[3] = minpoly of the algebraic extension of the groundfield (ideal)
_[4] = name of algebraic number (default = 'a')
ASSUME: basering = Q[x_1,x_2,...,x_n,a]
ideal mpoly must be defined, it might be 0 !
NOTE: might change 'mpoly' !!
EXAMPLE: example IdealSolve; shows an example

///////////////////////////////////////////////////////////////////////////////
proc LinearZeroSetMain(ideal I, intvec wt)
USAGE: LinearZeroSetMain(I, wt)
PURPOSE: solve the univariate linear polys in I
ASSUME: basering = Q[x_1,...,x_n,a]
RETURN: list
 _[1] = partial solution of I
 _[2] = index of solved vars
 _[3] = new generators (standardbasis)
///////////////////////////////////////////////////////////////////////////////
proc NonLinearZeroSetMain(ideal I, intvec wt)
USAGE: ZeroSetMainWork(I, wt, sVars);
PUROPSE: solves the (nonlinear) univariate polynomials in I
 of the groundfield (without multiplicities).
RETURN: list, all entries are polynomials
 _[1] = list of solutions
 _[2] = newA
 _[3] = minpoly
 _[4] - index of solved variables
 _[5] = new representation of I
ASSUME: basering = Q[x_1,x_2,...,x_n,a], ideal 'mpoly' must be defined,
 it might be 0 !
NOTE: might change 'mpoly' !!
///////////////////////////////////////////////////////////////////////////////
proc ExtendSolutions(list solutions, list newSolutions)
USAGE: ExtendSolutions(sols, newSols); list sols, newSols;
PUROPSE: extend the entries of 'sols' by the entries of 'newSols',
 each entry of 'newSols' is a number.
RETURN: list
ASSUME: basering = Q[x_1,...,x_n,a], ideal 'mpoly' must be defined,
 it might be 0 !
NOTE: used by 'NonLinearZeroSetMain'
///////////////////////////////////////////////////////////////////////////////
proc MergeSolutions(list sol1, list index1, list sol2, list index2)
USAGE: MergeSolutions(sol1, index1, sol2, index2); all parameters are lists
RETURN: list
PURPOSE: create a list of solutions of size n, each entry of 'sol2' must
 have size n.  'sol1' is one partial solution (from 'LinearZeroSetMain')
 'sol2' is a list of partial solutions (from 'NonLinearZeroSetMain')
ASSUME: 'sol2' is not empty
NOTE: used by 'ZeroSetMainWork'

///////////////////////////////////////////////////////////////////////////////
proc SubsMapIdeal(list sol, list index, int opt)
USAGE: SubsMapIdeal(sol,index,opt); list sol, index; int opt;
PUROPSE: built an ideal I as follows.
 if i is contained in 'index' then set I[i] = sol[i]
 if i is not contained in 'index' then
 - opt = 0:  set I[i] = 0
 - opt = 1:  set I[i] = var(i)
 if opt = 1 and n = nvars(basering) then set I[n] = var(n).
RETURN: ideal
ASSUME: size(sol) = size(index) <= nvars(basering)
///////////////////////////////////////////////////////////////////////////////
proc SimplifyZeroset(data)
USAGE: SimplifyZeroset(data); list data
PUROPSE: reduce the entries of the elements of 'data' w.r.t.  the ideal 'mpoly'
 'data' is a list of ideals/lists.
RETURN: list
ASSUME: basering = Q[x_1,...,x_n,a], order = lp
 'data' is a list of ideals
 ideal 'mpoly' must be defined, it might be 0 !
///////////////////////////////////////////////////////////////////////////////
proc Variables(poly f, int n)
USAGE: Variables(f,n); poly f; int n;
PUROPSE: list of variables among var(1),...,var(n) which occur in f.
RETURN: list
ASSUME: n <= nvars(basering)
///////////////////////////////////////////////////////////////////////////////
proc ContainedQ(data, f, list #)
USAGE: ContainedQ(data, f [, opt]); list data; f is of any type, int opt
PUROPSE: test if 'f' is an element of 'data'.
RETURN: int
 0 if 'f' not contained in 'data'
 1 if 'f' contained in 'data'
OPTIONS: opt = 0 :  use '==' for comparing f with elements from data
 opt = 1 :  use 'SameQ' for comparing f with elements from data
//////////////////////////////////////////////////////////////////////////////
proc SameQ(a, b)
USAGE: SameQ(a, b); list/intvec a, b;
PUROPSE: test a == b elementwise, i.e., a[i] = b[i].
RETURN: int
 0 if a != b

 1 if a == b
///////////////////////////////////////////////////////////////////////////////
proc SimplifyPoly(poly f)
USAGE: SimplifyPoly(f); poly f
PUROPSE: reduces the coefficients of f w.r.t.  the ideal 'moly' if they contain
 the algebraic number 'a'.
RETURN: poly
ASSUME: basering = Q[x_1,...,x_n,a]
 ideal mpoly must be defined, it might be 0 !
///////////////////////////////////////////////////////////////////////////////
proc SimplifyData(data)
USAGE: SimplifyData(data); ideal/list data;
PUROPSE: reduces the entries of 'data' w.r.t.  the ideal 'mpoly' if they contain
 the algebraic number 'a'
RETURN: ideal/list
ASSUME: basering = Q[x_1,...,x_n,a]
 ideal 'mpoly' must be defined, it might be 0 !
///////////////////////////////////////////////////////////////////////////////
proc TransferRing(R)
USAGE: TransferRing(R);
PUROPSE: creates a new ring containing the same variables as R, but without
 parameters.  If R contains a parameter then this parameter is added
 as the last variable and 'minpoly' is represented by the ideal 'mpoly'
 If the basering does not contain a parameter then 'a' is added and
 'mpoly' = 0.
RETURN: ring
ASSUME: R = K[x_1,...,x_n] where K = Q or K = Q(a).
NOTE: Creates the ring needed for all prodecures with name 'proc-name'Main
///////////////////////////////////////////////////////////////////////////////
proc NewBaseRing()
USAGE: NewBaseRing();
PUROPSE: creates a new ring, the last variable is added as a parameter.
 minpoly is set to mpoly[1].
RETURN: ring
ASSUME: basering = Q[x_1,...,x_n, a], 'mpoly' must be defined
///////////////////////////////////////////////////////////////////////////////
// remove later
///////////////////////////////////////////////////////////////////////////////

108 CHAPTER 6. APPENDIX

Bibliography

[Arnold 1974] Arnold, V.I. Normal forms of functions in neighborhoods of degenerate critical points. Usp. Mat. Nauk. 29, No. 2, 1974

[AVG 1985] Arnold, V.I, Varchenko, A.N., Gusein-Zade, S.M. Singularities of differentiable mappings Vol. I,II. Birkhäuser, Basel 1985.

[Bayer 1998] Bayer, T. Algorithmic Aspects of Invariant Theory. Diploma Thesis, RISC Report 98-06, Johannes Kepler Universität Linz, 1998.

[Borel 1991] Borel, A. Linear Algebraic Groups. 2nd Edition, Graduate Texts in Mathematics 126, Springer Verlag Berlin Heidelberg New York 1991.

[CLS 1992] Cox, D. Little, J, O’Shea, D., Ideals, Varieties, and Algorithms. Springer Verlag, New York 1992.

[Derksen 1997] Derksen, H.,Constructive Invariant Theory and the Linearization Problem. PhD thesis 1997, University of Basel.

[FH 1991] Fulton, W, Harris, J. Representation Theory. Graduate Texts in Mathematics 129, Springer Verlag New York Berlin Heidelberg 1991.

[GF 1974] Grauert, H., Fritsche, K. Einführung in die Funktionentheorie mehrerer Veranderlicher. Springer Verlag Berlin Heidelberg New York 1974.

[GHP 1997] Greuel, G-M., Hertling, K., Pfister, G. Moduli spaces of semiquasihomogeneous singularities with fixed principal part. J. Algebraic Geometry 6, 1997.

[GP 1991] Greuel, G-M., Pfister, G. Moduli for singularities. Proceedings of the Lille conference on singularities, 1991, London Math. Soc. 1994.

[GP 1992] Greuel, G-M., Pfister, G. Geometric quotients of unipotent group actions. London Math. Soc. 1992.

[GPS 1997] Greuel, G.-M., Pfister, G., Schönemann, H. Singular Reference Manual. In Reports On Computer Algebra, number 12. Centre for Computer Algebra, University of Kaiserslautern, May 1997.

http://www.mathematik.uni-kl.de/~zca/Singular.

[Hartshorne 1997] Hartshorne, R. Algebraic Geometry. Graduate Texts in Mathematics 52, Springer Verlag New York Berlin Heidelberg 1997.

[Hilbert 1890] Hilbert, D. (1890). Über die Theorie der Algebraischen Formen. Collected Papers, Volume II, Springer Verlag Berlin Heidelberg New York 1970

[Hilbert 1893] Hilbert, D. (1893). Über die Vollen Invariantensysteme. Collected Papers, Volume II, Springer Verlag Berlin Heidelberg New York1970.

[KS 1997] Kemper G, Steel A. Some Algorithms in Invariant Theory of Finite Groups. Preprint 1997.

[Kraft 1985] Kraft, H. Geometrische Methoden in der Invariantentheorie. 2. Auflage, Aspekte der Mathematik D1, Vieweg Verlag, Braunschweig 1985.

[MFK 1994] Mumford, D., Fogarty, J., Kirwan, F. Geometric Invariant Theory. 2. Auflage, Erg. der Math. 34, Springer Verlag Berlin Heidelberg New York 1994.

[OW 1991] Orlik, Wagenreich Automorphisms of Singularities II. Math. Ann. 231, 1978.

[Saito 1971] Saito, K. Quasihomogene isolierte Singularitäten von Hyperflächen. Invent. Math. 14, 1971.

[Saito 1974] Saito, K. Einfach-elliptische Singularitäten. Invent. Math. 23, 1974.

[Snow 1982] Snow, D. Reductive Group Actions on Stein Spaces. Math. Ann. 259, 1982.

[Sturmfels 1993] Sturmfels, B. Algorithms in Invariant Theory. Texts and Monographs in Symbolic Computation, Springer Verlag Wien New York 1993.

[Traverso 1996] Traverso, C. Hilbert Functions and the Buchberger Algorithm. J. Symb. Comp. 22, 1996.

[Vasconcelos 1997] Vasconcelos, W. Computational Methods in Commutative Algebra and Algebraic Geometry. Algorithms and Computation in Mathematics Vol. 2, Springer Verlag Berlin Heidelberg New York 1997.

[Winkler 1997] Winkler, F. Polynomial Algorithms in Computer Algebra. Texts and Monographs in Symbolic Computation, Springer Verlag Wien 1997.

[YS 1979] Yoshinaga, E., Suzuki, M. Normal Forms of Non-Degnerate Quasihomogeneous Functions with Inner Modality≤ 4. Invent. Math. 55, 1979.