1. Trang chủ
  2. » Khoa Học Tự Nhiên

330 3 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Computing in Algebraic Geometry A Quick Start using SINGULAR
Tác giả Arjeh M. Cohen, Henri Cohen, David Eisenbud, Bernd Sturmfels, Wolfram Decker, Christoph Lossen
Trường học Universität des Saarlandes
Chuyên ngành Mathematics
Thể loại book
Năm xuất bản 2006
Thành phố Saarbrücken
Định dạng
Số trang 330
Dung lượng 2,49 MB

Cấu trúc

  • 2.1 The Geometry-Algebra Dictionary (0)
  • 2.2 Basic Applications of Gr¨ obner Bases (62)
  • 3.1 General Remarks on SINGULAR and its Syntax (73)
  • 3.2 Rings in SINGULAR (76)
    • 3.2.1 Global Monomial Orders (78)
    • 3.2.2 Creating Ring Maps (82)
  • 3.3 Ideals, Vectors and Modules in SINGULAR (84)
  • 3.4 Handling Graded Modules (86)
  • 3.5 Computing Gr¨ obner Bases (88)
  • 3.6 Basic Applications of Gr¨ obner Bases (revisited) (97)
    • 3.6.1 Ideal Membership Test (97)
    • 3.6.2 Elimination (99)
    • 3.6.3 Kernel of a Ring Map (101)
    • 3.6.4 Test for Subalgebra Membership (103)
    • 3.6.5 Test for Surjectivity of a Ring Map (104)
    • 3.6.6 Syzygies and Free Resolutions (104)
  • 3.7 Gr¨ obner Bases over Noncommutative Algebras (113)
  • 3.8 Writing SINGULAR Procedures and Libraries (121)
  • 3.9 Communication with Other Systems (132)
  • 3.10 Visualization: Plotting Curves and Surfaces (133)
  • 4.1 Lifting Homomorphisms (139)
  • 4.2 Constructive Module Theory (140)
    • 4.2.1 Cokernels and Mapping Cones (141)
    • 4.2.2 Modulo (141)
    • 4.2.3 Kernel, Hom, Ext, Tor, and more (142)
    • 4.2.4 Some Explicit Constructions (147)
  • 5.1 Flatness (154)
  • 5.2 Depth and Codimension (165)
  • 5.3 Cohen-Macaulay Rings (170)
  • 6.1 Gr¨ obner Basis Techniques (178)
    • 6.1.1 Computing Dimension (178)
    • 6.1.2 Zero-Dimensional Solving by Elimination (180)
    • 6.1.3 Decomposition (181)
  • 6.2 Resultant Based Methods (191)
    • 6.2.1 The Sylvester Resultant (191)
    • 6.2.2 Multipolynomial Resultants (196)
    • 6.2.3 Zero-Dimensional Solving via Resultants (198)
  • 7.1 Primary Decomposition (0)
  • 7.2 Normalization (0)
  • 8.1 Finite Groups (0)
    • 8.1.1 The Nonmodular Case (0)
    • 8.1.2 The Modular Case (0)
    • 8.1.3 Quotients for Finite Group Actions (0)
  • 8.2 Linearly Reductive Groups (0)
  • 9.1 Rings Implemented by Monomial Orders (0)
  • 9.2 Standard Bases and their Computation (0)
  • 9.3 Factorization and Primary Decomposition (0)
  • 9.4 Computing Dimension (0)
  • 9.5 Elimination (0)
  • 9.6 Hamburger-Noether Expansion (0)

Nội dung

Basic Applications of Gr¨ obner Bases

Gröbner basis techniques can resolve all issues mentioned previously, although additional methods are required for radicals and primary decomposition The computation in the local ring K[x] x will be detailed in Lecture 9, while Lecture 7 will cover radicals, primary decomposition, and normalization Further solutions to the remaining problems will be found in this section, with a comprehensive overview of the relevant SINGULAR commands provided in Lecture 3, Section 3.6.

To begin with, observe that Remark 1.40 settles theideal membership problem More generally, it settles the submodule membership problem:

Problem 2.16 (Submodule Membership) Given a freeK[x]-moduleF with a fixed basis and nonzero elementsf, f 1 , , f r ∈F, decide whether f ∈I:=f 1 , , f r ⊂F [If so, expressf as aK[x]-linear combinationf =g1f1+ .+grfr.]

To compute a Gröbner basis for the ideal I generated by polynomials f₁, , fᵣ and fᵣ₊₁, , fᵣ, apply Buchberger’s algorithm Begin by expressing f in terms of f₁, , fᵣ with a remainder h If h equals zero, then f is included in the ideal I In this scenario, for k ranging from r to r + 1, iteratively substitute fₖ with its expression derived from the syzygies obtained during Buchberger’s test, ensuring that the necessary syzygies are recorded throughout the process.

In Example 2.17, we analyze the lexicographic Gröbner basis consisting of the polynomials f1 = xy - y, f2 = -x + y², and f3 = y³ - y for the ideal I = (f1, f2) in K[x, y] The polynomial f = x²y - xy + y³ - y can be expressed as f = xãf1 + 1ãf3, indicating that f belongs to the ideal I since the remainder is zero Revisiting the calculations from Example 1.46, we substitute yãf2 + 1ãf1 for f3 in the standard expression, resulting in f = (x + 1)ãf1 + yãf2.

As already explained, solvability can be decided via ideal membership. Similarly for radical membership: if an ideal I⊂K[x] and a polynomial f ∈K[x] are given, then f ∈√

I ⇐⇒ 1∈ I, tf−1 ⊂K[x, t], where tis a slack variable.

To compute the intersections of ideals and ideal quotients, one approach involves incorporating rings with additional variables, as discussed by Cox, Little, and O’Shea (1997) Alternatively, one can analyze the given ideals I = f1, , fr to derive the desired results.

J =g1, , gs ofK[x], compute the syzygies on the columns of the matrix

The entries of the first row of the resulting syzygy matrix generateI∩J In the same way, we obtain a generating set for the ideal quotient

Note that theintersection of twosubmodulesI, J of a freeK[x]-module

⊂K[x] are obtained by similar recipes.

(I:J m ) can be computed by iteration Indeed, the ascending chain

I:J ⊂I:J 2 ⊂ ã ã ã ⊂I:J m ⊂ . is eventually stationary since K[x] is Noetherian.

IfK[x]/I is a graded affine ring, we already know that itsHilbert series

The dimension of homogeneous ideals in the polynomial ring K[x] can be calculated using Gr¨obner bases, as outlined in Macaulay’s Theorem 1.35 and Remark 1.36 from Lecture 1 Specifically, the dimension is determined by the formula dimK[x]/I = degP K[x]/I + 1, which is supported by the works of Bruns and Herzog (1993) and Eisenbud (1995).

In algebraic geometry, the Hilbert polynomial plays a crucial role in defining and rediscovering numerical invariants of a projective algebraic set and its embedding For a projective algebraic set \( A \subset P^n \) with a homogeneous coordinate ring \( K[A] = K[x_0, \ldots, x_n]/I(A) \), the Hilbert polynomial of \( A \) is defined as \( P_A(t) = P_{K[A]}(t) \).

The Krull dimension of the polynomial ring K[A] is d + 1, where d is the degree of the polynomial PA(t) Geometrically, this implies that the dimension of the affine cone over A is also d + 1, while the dimension of A itself is defined as dim A = d The degree of A is determined as d! times the leading coefficient of PA(t) In geometric terms, the degree of A represents the number of intersection points with a sufficiently general linear subspace of projective space P^n, having complementary dimension n - d Additionally, the arithmetic genus of A is defined as p_a(A) = (-1)^d.

Example 2.19.The Hilbert polynomial of the twisted cubic curve C⊂P 3 is

P C (t) = 3t+ 1 (see Lecture 1, Example 1.25) In particular,Chas dimension 1 and degree 3 This justifies the name cubic curve Moreover,Chas arithmetic genus 0

In Lecture 6, Section 6.1.1, we explore an alternative method for computing dimensions that is applicable to nonhomogeneous ideals This approach utilizes Gröbner bases to simplify the problem to one involving monomial ideals The SINGULAR command "dim" is founded on this methodology.

In this section, we focus on calculating the singular locus of an algebraic set To do this, we introduce specific notation: an ideal I in K[x] is considered to have pure codimension c if all its minimal associated primes also have codimension c Furthermore, the ideal I is termed unmixed if it does not contain any embedded components.

In many cases of interest, the following criterion allows one to compute the singular locus (and to check that the given ideal is radical):

Theorem 2.20 (Jacobian Criterion) Let K be a field with algebraically closed extension fieldK, letI=f 1 , , f r K[x]be an ideal of pure codi- mension c, and let A= V(I) be the vanishing locus of I in A n =A n (K) If

J ⊂K[x]is the ideal generated by thec×c minors of the Jacobian matrix

(1) The vanishing locus of J+I in A n contains the singular locusAsing.

(3) If 1∈J+I, suppose in addition that I is unmixed (altogether, we ask that all associated primes of I are minimal and of codimension c) If codim(J+I)>codimI, thenV(J+I) =A sing andI K[x] = I(A).

Refer to Decker and Schreyer (2006), Chapter 4 for a detailed proof, and Eisenbud (1995), Section 16.6, along with Exercise 11.10 for an algebraic interpretation of the criterion The subsequent examples illustrate the necessity of the assumptions outlined in the Jacobian criterion, with J representing the respective ideal defined within the context of the criterion.

Example 2.21 (1) Let I⊂K[x, y, z] be the ideal generated by f1=z 2 −z andf2=xyz ThenI=z ∩ z−1, x ∩ z−1, y has codimension 1, but is not of pure codimension We have 1 = (2z−1) ∂f ∂z 1 −4f1∈J+I However,

A= V(I)⊂A 3 is not smooth In fact,Ais the union of a plane and a pair of lines intersecting in a point which is necessarily a singular point of A:

(2) Applying the Jacobian criterion to the mixed ideal I=xy, y 2 , we get

J +I=x, y In contrast, thex-axis V(I)⊂A 2 is smooth.

The ideal I=xy^2 in K[x, y] is an unmixed ideal with pure codimension 1, and its vanishing locus A=V(I) in A^2 represents the union of the coordinate axes, making A singular only at the origin In contrast, the algebraic set defined by the ideal J + I=xy, y^2 in A^2 encompasses the entire x-axis, highlighting that codim(J + I) equals codim(I) plus 1 Scheme-theoretically, the ideal I corresponds to the y-axis along with a doubled x-axis.

Remark 2.22.IfIK[x] is any proper ideal, the singular points of V(I)⊂

The singular points of each irreducible component of V(I), along with the intersection points of any two components, are crucial for understanding the singular locus When the Jacobian criterion is not directly applicable to the ideal I, it can be effectively combined with advanced decomposition techniques Since the Jacobian criterion is relevant for prime ideals and we can compute the sum and intersection of ideals, determining the singular locus of V(I) can be simplified to finding the minimal associated primes of I Alternatively, one may first compute an equidimensional decomposition of the radical of I.

Remark 2.23 (Jacobian Criterion in the Projective Case) LetIbe a proper homogeneous ideal ofK[x 0 , , xn], and letA= V(I) be the vanishing locus of I in P n =P n (K) Suppose that I is of pure codimension c and let

J be the corresponding ideal of minors as in Theorem 2.20 Further, suppose that 1∈J+I (otherwise,Ais a linear subspace of P n ) Applying Theorem 2.20 to the affine cone over A, we get:

(1) If codim(J+I) =n+ 1, then Ais smooth.

(2) If all associated primes of I are minimal and of codimension c, and if codim(J+I)>codimI, thenJ+I defines the singular locus ofA.

Determinantal ideals with expected codimension serve as notable examples of unmixed and pure codimensional ideals, such as the ideal associated with the twisted cubic curve Specifically, let M be a p×q matrix with entries from K[x], and define I_k(M) as the ideal generated by the k×k minors of M within K[x], where p, q, and k are specified It is important to note that I_k(M) is considered a proper ideal of K[x].

Proposition 2.24.The codimension of every minimal associated prime of

I k (M)and, thus, of I k (M)itself is at most(p−k+ 1)(q−k+ 1).

Theorem 2.25.If the codimension ofI k (M)is exactly(p−k+ 1)(q−k+ 1), then K[x]/I k (M)is a Cohen-Macaulay ring.

We will study Cohen-Macaulay rings in Lecture 5 In this section, we need the corollary below which follows from Theorem 2.25 by applying Theorem 5.41 to the zero ideal ofK[x]/Ik(M).

Corollary 2.26 (Unmixedness Theorem) If the codimension of Ik(M) is exactly (p−k+ 1)(q−k+ 1), then all associated primes of Ik(M) are minimal and have this codimension.

We refer to Eisenbud (1995), Section 18.5 and the references cited there for details and proofs See also Arbarello et al (1985), Chapter II.

Example 2.27.For the following computation inSINGULAR, we chooseK=Q as our coefficient field In our geometric interpretation, however, we deal with curves inP 3 =P 3 (C).

To begin with, we define a ringRimplementingQ[x 0 , , x 3 ] and a 4×1 matrixAwith entries inR:

Next, we randomly create a 4×2 matrix of linear forms in R For this, we load theSINGULARlibraryrandom.liband use its commandrandommat(see Lecture 3 for libraries):

> LIB "random.lib"; // loads other libraries incl matrix.lib

(note that maxideal(k)returns the monomial generators for thek-th power of the homogeneous maximal ideal of the ringR) Concatenating the matrices

BandA, we get a 4×3 matrixMof linear forms:

> matrix M = concat(B,A); // from matrix.lib

We create the ideal I which is generated by the maximal minors of M and compute its codimension (applied to a ringR, theSINGULARcommandnvars returns the number of variables in R):

> int codimI = nvars(R) - dim(GI); codimI;

So I has the expected codimension 2 = (4−3 + 1)(3−3 + 1) It is, thus, unmixed and of pure codimension 2 by Corollary 2.26 We check that the assumption on the codimension in the Jacobian criterion is satisfied:

> ideal singI = groebner(minor(jacob(GI),codimI) + I);

Applying the Jacobian criterion and summing up, we see that the vanishing locus C of I in P 3 is a curve, that I generates the vanishing ideal of C in

The singular locus of the curve C, denoted as singI, is defined by the set of points C[x0, , x3] To better understand the structure of singI, we can visualize the number of its generators and their respective degrees through the Betti diagram, as discussed in Remarks 1.20 and 3.34 regarding the betti command.

As it turns out, singI comes with an x 0 , , x 3 -primary component We get rid of this component by saturatingsingI with respect tox 0 , , x 3 :

> ideal singI_sat = sat(singI,maxideal(1))[1]; // from elim.lib

> print(betti(singI_sat,0),"betti");

> singI_sat; singI_sat[1]=x(1) singI_sat[2]=x(0) singI_sat[3]297*x(2)^2-2680*x(2)*x(3)-5023*x(3)^2

The analysis reveals that the curve C has two singular points located on the line L = V(x₀, x₁), which is actually a component of C This relationship is verified through ideal membership, as discussed in Problem 2.16 and Lecture 3, Section 3.6.1.

By saturating with respect to IL, we get an ideal defining the components of C other than L (in fact, sinceIis radical, this amounts to just one ideal quotient computation):

> ideal I’ = sat(I,IL)[1]; // result is a Groebner basis

General Remarks on SINGULAR and its Syntax

SINGULAR is a free computer algebra system tailored for polynomial computations, focusing on commutative algebra, algebraic geometry, and singularity theory It operates under the GNU General Public License and is available on multiple platforms Users can download SINGULAR from its official website and follow the installation instructions, which may require downloading up to three files depending on the platform The system includes a precompiled C/C++ program known as the SINGULAR kernel, various libraries, and an online help system to assist users.

In the kernel, the core algorithms for polynomial computations are imple- mented These include algorithms for arithmetic operations, for Gr¨obner basis and syzygy computations, and for polynomial factorization.

The libraries add further computational tools to SINGULAR, thus widely extending the functionality provided by the kernel Each library is a text

The file contains a set of procedures written in the SINGULAR user language, which is interpreted rather than compiled This language shares similarities with C, featuring variable assignments, comparisons, and conditional statements, as well as loops and code blocks Additionally, it supports comments for better code documentation.

In aSINGULARsession, users input commands via the keyboard in response to the system's prompt Each command concludes with a semicolon, prompting the system to execute computations and display results on the screen Following this, a new input prompt is provided for further commands.

Here, the first line is the input line One input line may consist of several commands:

To break lengthy input into manageable sections, simply press the enter key on your keyboard without typing a semicolon This action will prompt SINGULAR to initiate a new line on the screen, ready for additional input.

Theon-line help systemprovides information on what commands are avail- able and how to use them Entering

SINGULAR offers an online manual accessible through the help command, which displays a concise table of contents By typing "help topic," users can retrieve specific documentation related to any index entry, such as command names like "groebner." A link to the index is available at the end of the manual's title page, and help information is presented using the default help browser, which may vary by platform, often being a web browser For a list of supported browsers and instructions on switching, type "help browsers."

MostSINGULARlibraries are not immediately accessible and have to be loaded into aSINGULARsession, for instance, by using theLIBcommand as in Lecture 2, Example 2.27:

> LIB "random.lib"; // loads other libraries incl matrix.lib

SINGULAR provides a range of libraries for various computational tasks, including linear algebra, commutative algebra, singularity theory, invariant theory, symbolic-numerical solving, visualization, and coding theory For more information on the available libraries, type "help Singular libraries" and follow the provided links.

In this lecture, we have explored the singular features of SINGULAR, which resemble those of general-purpose computer algebra systems like MAPLE, MATHEMATICA, and MUPAD However, a key distinction lies in the necessity of defining a ring before manipulating polynomial data in SINGULAR; without this step, operations such as adding numbers are limited to integers within a specific range.

? error occurred in STDIN line : ‘1/3 + 1/5;‘

Initially, users may find this feature unappealing, but it is essential for addressing mathematical problems in algebra and geometry In algebraic geometry, the characteristics of quotient rings of polynomial rings mirror the traits of algebraic sets To explore local properties, we analyze localizations of polynomial rings at maximal ideals and their corresponding quotient rings Additionally, morphisms between algebraic sets align with ring homomorphisms in algebra Consequently, multiple distinct rings must be examined in a SINGULAR session, along with the ring homomorphisms that connect them To minimize confusion, it is crucial to name and access rings in a manner similar to how simpler objects are managed in other programming languages.

The names of almost alldata typesinSINGULARare reminiscent of math- ematical objects Most of them arering dependent types:

Ring independent types int,intmat,intvec,string

Ring dependent types ideal,map,matrix,module,number, poly,resolution,vector Special types link,list,proc,package

This article details the implementation of rings in SINGULAR, focusing on the types ring and qring It also covers the creation of ring maps categorized as typemap and the representation of fundamental mathematical objects such as ideals, vectors, and modules using their respective data types: ideal, vector, and module.

Rings in SINGULAR

Global Monomial Orders

In the context of SINGULAR, we consider global monomial orders for the polynomial ring K[x] = K[x1, , xn] It is important to note that beginners in SINGULAR do not need to delve into the intricate details of this topic, as general guidance is typically adequate for their understanding.

• If no elimination order is required, use the degree reverse lexicographic order> dp

When an elimination order is necessary, it is recommended to use the lexicographic order > lp only if the elimination property for each initial set of variables x1, , xk (where k = 1, , n−1) is essential For eliminating a specific initial set of variables x1, , xk, the product order (dp(k), dp(n-k)) is typically more effective For further details, refer to Example 2.29 and Section 3.6.2 regarding elimination methods.

Certain applications of Buchberger’s algorithm necessitate the selection of global monomial orders beyond the standard > dp, > lp, and their product combinations This article provides an overview of the implementation of global monomial orders in SINGULAR.

The following global monomial orders are predefined inSINGULAR: lp lexicographic order

Wp(w) weighted degree lexicographic order w= (w 1 , , w n )∈Z n ≥ 0 rp reverse lexicographic order dp degree reverse lexicographic order wp(w) weighted degree reverse lexicographic order w= (w1, , wn)∈Z n >0

The lexicographic and the degree reverse lexicographic order are already known to us Before defining the other orders, we introduce the following notation.

Definition 3.4.Ifw= (w 1 , , w n )∈R n is any vector, and ifx α ∈K[x] is a monomial, we set w-deg(x α ) n i=1 w i α i

We refer tow as aweight vectorand define thew-weighted degreeof an arbitrary polynomial 0=f αc α x α ∈K[x] to be w-deg(f) = max w-deg(x α )c α = 0

We now define the other orders listed above: x α > Dp x β :⇐⇒deg( x α )>deg(x β ) or deg(x α ) = deg(x β ) and the first nonzero entry of α−β is positive

. x α > Wp(w) x β :⇐⇒w-deg( x α )>w-deg(x β ) or w-deg(x α ) =w-deg(x β ) and the first nonzero entry ofα−β is positive

. x α > rp x β :⇐⇒the last nonzero entry ofα−β is negative. x α > wp(w) x β :⇐⇒w-deg( x α )>w-deg(x β ) or w-deg(x α ) =w-deg(x β ) and the last nonzero entry ofα−β is negative

The primary application of product orders is their role in elimination processes In Example 2.29, we explored the product of two monomial orders, and this concept can be extended inductively to create product orders that combine three or more monomial orders It's important to note that a product order is considered global if all of its individual components are global.

InSINGULAR, any combination of predefined monomial orders to a product order can be implemented For instance, entering

> ring R = 0, x(1 7), (dp(3),wp(2,1),dp); defines the polynomial ring Q[x1, , x7] equipped with the global product order (> 1 , >2, >3), where

• > 1 is the degree reverse lexicographic order onQ[x 1 , x 2 , x 3 ],

• > 2 is the (2,1)-weighted degree reverse lexicographic order on Q[x 4 , x 5 ], and

• > 3 is the degree reverse lexicographic order onQ[x 6 , x 7 ].

Typingbasering;, we get the information below:

By a result of Robbiano (1985), each monomial order onK[x] can be realized as a matrix order> M for some matrixM ∈GL(n,R) (see Greuel and Pfister

(2002), Exercise 1.2.9 for some hints on the proof).

Definition 3.5.Let M ∈Mat(m×n,R) be a matrix of rank n, for some m≥n Thematrix order> M onK[x] is defined by x α > M x β :⇐⇒ Mãα > lp Mãβ.

Here, the right-hand side means that the first nonzero entry ofMã(α−β) is positive

In this way, we get a monomial order which is global iff the first nonzero entry of each column ofM is positive.

Example 3.6.The input line below implements a ring equipped with a global matrix order In fact, this order coincides with> dp :

Evaluating the order of a matrix can be time-consuming; therefore, singular computations based on a predefined order, such as dp, tend to be more efficient than performing the same computations through matrix order.

Remark 3.7 (Internal Limitations) InSINGULAR, only matrix orders de- fined by a quadratic integer matrix M which is invertible over Q can be implemented In fact, the entries ofM have to be of type intand are, thus, integers of a rather limited range The same applies to the entries of weight vectors For information on the range, type

D Orders with an Extra Weight Vector

Given a weight vector w∈R n and a monomial order > on K[x], we get a new monomial order> a(w) onK[x] by setting x α > a(w) x β :⇐⇒w-deg(α)>w-deg(β), or w-deg(α) =w-deg(β) andx α >x β

In other words, a matrix defining> a(w) is obtained from a matrix defining> by insertingw as the top row The following holds:

• > a(w) is global if thew i are strictly positive, or if thew i are nonnegative and>is global;

• > a(w) has the elimination property with respect to the set of variables {x i |w i >0}.

The line below, for instance, implements Q[x, y, z, w] equipped with a global monomial order which has the elimination property with respect to {x, w}:

E Monomial Orders on Free Modules

Let F be a free K[x]-module with a fixed basise 1 , , e s There are many ways of extending a given monomial order>onK[x] to a monomial order on

F Most notably, we define: x α e i > (c,>) x β e j :⇐⇒i < j or i=j andx α >x β

, giving priority to the basis vectors e 1 , , e s ∈F, and x α ei> (>,c) x β ej :⇐⇒x α >x β or x α =x β andi < j

, giving priority to the monomials in K[x] By definition, an order extending

>is global iff>is global.

Example 3.8.InSINGULAR, the type of extension has to be chosen when defin- ing a ring This choice will then be applied to all free modules over that ring.

In the examples discussed, we focused solely on a monomial order > within the ring itself, leading SINGULAR to choose the default extension > (>,C) This choice clarifies the output shown in response to the basering command on Page 67.

To define rings with other extensions, type, for instance,

Entering basering;, the output now includes the lines below:

Remark 3.9.For some applications, other ways of extending a monomial order >onK[x] to one on F are needed For instance, in addition to giving weights to the variablesx k , it may be necessary to give weights to the vectors ei Implementing a monomial order on F which first compares the resulting weighted degrees of the monomials x α ei, using >as a tie breaker if needed, is more subtle To do this, define a ring with extra variablese(1), ,e(s), choosing the monomial order appropriately, and compute in the quotient ring modulo the ideal spanned by the products e(i)e(j), i, j= 1, , s Here is an example of how to set this up (assigning the weights −1,−2,−4 to the three basis vectors):

Creating Ring Maps

As already remarked, ring dependent objects are directly accessible only if they belong to the active ring For instance:

> int i = 1; // object of ring independent type int

> poly f = x; // object of ring dependent type poly

> ring S = 0, (x,y), dp; // active ring is changed

? error occurred in STDIN line 6: ‘f;‘

Entering listvar(); makes SINGULAR print all objects directly accessible from the active ring (which is marked by an asterisque):

We see that SINGULAR lists the ring objects, the objects depending on the active ring, and the ring independent objects.

In various situations, it is necessary to transfer elements from one ring to another using ring homomorphisms, also known as ring maps In SINGULAR, the destination of a ring map is consistently the active ring, facilitating the transfer of objects from the preimage ring to the active ring.

In describing the implementation of ring maps, we suppose that m is the number of variables of the preimage ring.

The data type map allows for the establishment of arbitrary ring maps by defining a preimage ring and a list of polynomials from the active ring This results in a unique ring map that associates each variable of the preimage ring with its corresponding polynomial The commands fetch and imap facilitate the implementation of specific ring maps, making them useful for managing ring inclusions and altering the monomial order of the active ring The fetch command maps the ith variable of the preimage ring to the corresponding variable in the active ring or to zero if it exceeds the active ring's variable count, while imap assigns a preimage variable to a variable with the same name in the active ring or to zero if no such variable exists.

Example 3.10 (Definition of Ring Maps).

> map F = R, a-b, c; // map F: R->S, sending x to a-b, y to c

> map F1 = R, a-b, c; // target ring is qring, with another

> g; // polynomial is not yet reduced a2+b2+c

> fetch(R,f); // fetch preserves order of variables a2+b

> imap(R,f); // imap preserves names of variables x2+y

Ideals, Vectors and Modules in SINGULAR

An ideal is specified by a comma separated list of generating polynomials. For instance:

SINGULAR can interpret input in both short (e.g., x3-2y2) and long (e.g., x^3-2*y^2) formats The format of the output, whether short or long, is determined by the active ring settings For detailed information on using the short format, type "help short." To ensure the output is displayed in the long format, specific commands can be entered.

This is particularly useful when communicating with other computer algebra systems (see Section 3.9).

Avector, that is, an element of a free module, is given as a list of poly- nomials either in a dense format,

> vector v = [f,0,0,g,0]; or in a sparse format,

SINGULAR stores vectors in a sparse representation, regardless of the input format, which means that vector objects do not retain information about the rank of their corresponding free module Notably, this allows for the addition of vectors with different lengths, as demonstrated in the SINGULAR code provided on the following page.

The output format for a vector depends on the chosen monomial order for free modules over the active ring If the order is of type(c,>), the dense format is used:

Otherwise,SINGULARdisplays vectors in the sparse format:

> v; z3*gen(3)+x2*gen(1)+x*gen(1)+y*gen(2)+gen(2)

In any case, the dense format can be enforced by using the printcommand:

Implementing modules in SINGULAR can be intricate and somewhat perplexing The key data types involved are module and matrix In SINGULAR, a module object is represented as a comma-separated list of vector objects, which are mathematically interpreted as column vectors.

In SINGULAR, a module I is typically viewed as a submodule of a free module F, such as F = Q[x, y]⁴ However, depending on the context, I may also be interpreted as the quotient module M = F/I In this interpretation, the polynomial vectors that generate I in SINGULAR are considered as the columns of a presentation matrix for M This perspective is particularly relevant for many commands in the homolog.lib library Two examples illustrate the implications of this interpretation in homological algebra.

• The commandmodulofrom theSINGULARkernel refers to the interpreta- tion as submodules, while

• the commandHomfrom homolog.librefers to the interpretation as quo- tient modules

(see Lecture 4 for a detailed discussion of these commands).

An object of type matrix is specified by the number of its rows and columns together with a comma separated list of its entries:

In ourSINGULARsession, having already implemented themodule I, we could have defined thematrix MIalso viatype conversionfrommoduletomatrix:

Similarly, there is a type conversion frommatrixtomodule.

When working with large inputs, it is advisable to use objects of type module, as they are stored in a sparse representation, unlike objects of type matrix, which utilize a dense representation.

Handling Graded Modules

To explain howSINGULARdeals with graded modules, we start a newSINGULAR session, defining a ring Rand a module I:

> module I = [xz,0,-w,-1,0], [-yz2,y2, 0,-w,0], [y2z,0,-z2,0,-x], [y3,0,-yz,-x,0], [-z3,yz,0,0,-w], [-yz2,y2,0,-w,0],

A check on degrees shows that the polynomial vectors generating I form a graded matrix More precisely, we may think of I as a graded submodule of the graded free R-module

(or of any twist of this module) We refer to this fact by saying that (0,1,1,2,2) is anadmissible degree vectorforI.

The degree check can be performed in SINGULAR by entering homog(I), which will return 1 if the vectors generating I form a graded matrix If this condition is met, SINGULAR will assign an admissible degree vector to I as an attribute To verify that I initially lacks this attribute, the attrib command can be utilized.

> attrib(I,"isHomog"); // no attribute => empty output

If an admissible degree vector is assigned, we may read the degrees from a Betti diagram (see Remarks 1.20 and 3.34 for Betti diagrams):

To switch to another admissible degree vector, use the attrib command as follows:

Now, we get the numerical information printed below:

To retrieve the top degree \( d = 2 \) from the first column of the Betti diagram and save it for future reference, convert the matrix representing the free generators in the Betti diagram into an intmat type matrix Utilize the "rowShift" attribute associated with this matrix for effective storage.

As of this writing, SINGULAR does not verify the validity of the assigned degree vector, and the assigned attributes may be lost during type conversions, such as from module to matrix or from resolution to list.

Computing Gr¨ obner Bases

Buchberger’s algorithm, in its basic form, offers significant flexibility in the computational process, with its efficiency heavily reliant on the strategies used for selecting the next S-polynomial and computing its standard expression from the existing generators The choice of division process can greatly affect performance, as some methods are more efficient than others Additionally, implementing criteria to minimize the number of S-polynomials considered can lead to substantial improvements, with two specific criteria demonstrating exceptional utility in enhancing the algorithm's effectiveness.

The product criterion applies to polynomials f and g in K[x] that do not share any variables, allowing for the standard expression S(f, g) in terms of f and g with a remainder of zero This can be achieved by rewriting the relation gf - fg = 0 Consequently, in Buchberger’s test, it is unnecessary to consider such an S-polynomial.

In Buchberger’s test, if f, g, and h are generators and the least common multiple of L(f) and L(g) is divisible by L(h), then it is unnecessary to consider the S-polynomial S(f, g) if the S-polynomials S(f, h) and S(g, h) have already been addressed.

For a comprehensive discussion on selection strategies such as the normal and sugar strategies, refer to Cox, Little, and O’Shea (1997), Chapter 2, §9 These strategies, along with key criteria, are integral to the SINGULAR implementation of Buchberger’s algorithm, which can be accessed using the std command Example 3.20 will demonstrate this implementation, highlighting the effectiveness of the criteria involved.

Arithmetic operations over rational numbers are significantly more costly than those over integers Consequently, when dealing with polynomials that have rational coefficients, SINGULAR clears the denominators before employing Buchberger’s algorithm Starting with a set of polynomials that have integer coefficients, all computations in Buchberger’s test are conducted over integers As a result, the output set of polynomials will also have integer coefficients, forming a Gröbner basis for the ideal generated by the original set over the rationals However, the ideal generated by the original set over integers may be strictly contained within the ideal generated by the output set over integers This is because, in SINGULAR's implementation of Buchberger’s test, each S-polynomial is divided by the greatest common divisor of its integer coefficients to minimize their size This approach is similarly applied to elements of free modules in SINGULAR.

2 The namestdrefers tostandard bases, see Lecture 9.

3 InSINGULAR, the elements of a coefficient field are of typenumber In contrast to integers of typeint, there is virtually no limitation for the size of integers of type number.

A Gröbner basis G computed using SINGULAR is considered minimal because the leading monomials of its elements create a uniquely determined minimal set of monomial generators for L(G) However, depending on the active ring type and the options configured, G may not be reduced.

> help option; for more details Entering

> option(redSB); in aSINGULARsession will forceSINGULARto compute reduced Gr¨obner bases. OverQ, however, the leading coefficients will not necessarily be adjusted to

1 To achieve this, use thesimplifycommand as in the session below:

Buchberger’s algorithm exhibits performance sensitivity based on the chosen monomial order, where less efficient orders like > lp may lead to excessive time or memory usage In contrast, using a more effective order such as > dp can result in feasible Gr¨obner basis computations This observation informs the development of Gr¨obner basis conversion algorithms and the Hilbert-driven Buchberger algorithm.

A Gr¨obner basis conversion algorithm proceeds along the following lines:

• Given an idealI⊂K[x] and a slow monomial order, compute a Gr¨obner basis forI with respect to an appropriately chosen fast order.

• Convert the result to a Gr¨obner basis with respect to the given slow order.

Applying the Hilbert driven Buchberger algorithm usually means to proceed in two steps as well:

• Given a homogeneous idealI⊂K[x] and a slow order, compute a Gr¨obner basis forI with respect to an appropriately chosen fast order From the result, compute the Hilbert function ofK[x]/I.

To compute a Gröbner basis for the ideal \( I \) with respect to the specified term order, it is essential to utilize the Hilbert function to streamline the process By leveraging the Hilbert function, one can effectively minimize the number of S-polynomials that need to be evaluated during Buchberger’s algorithm This strategic approach not only enhances efficiency but also ensures a more manageable computation of the Gröbner basis.

Here, the first step is of course superfluous if the Hilbert function ofK[x]/I is already known.

Currently, there are unique implementations of the conversion algorithm developed by Faugère, Gianni, Lazard, and Mora (1993), known as FGLM, as well as several variants of the Gröbner walk conversion algorithm and the Hilbert-driven Buchberger algorithm This article will outline how to access these implementations It is important to note that the FGLM algorithm is applicable solely to zero-dimensional ideals, whereas the walk algorithms and the Hilbert-driven approach can be utilized for ideals of any dimension.

In the context of zero-dimensional ideals in the polynomial ring K[x], the quotient K[x]/I is established as a finite-dimensional K-vector space, as demonstrated in Lecture 6, Theorem 6.1 Leveraging this principle, the FGLM algorithm employs linear algebra techniques, specifically Gaussian elimination, to convert Gröbner bases The implementation of this algorithm in SINGULAR is accessed through the fglm command For instance, by utilizing fglm, we can compute the reduced lexicographic Gröbner basis for the ideal I in Q[x, y, z], which is generated by the polynomials f1 = 3x^3y + x^3 + xy^3 + y^2z^2, f2 = 2x^3z - xy - xz^3 - y^4 - z^2, and f3 = 2x^2yz - 2xy^2 + xz^2 - y^4.

To start, we calculate the reduced Gröbner basis for the ideal I with respect to the ordering > dp By initializing an integer with a timer, we can effectively track and display the CPU time utilized by SINGULAR during this computation.

> ideal I = 3x3y+x3+xy3+y2z2, 2x3z-xy-xz3-y4-z2, 2x2yz-2xy2+xz2-y4;

> option(redSB); // force computation of reduced GBs

> timer-aa; // time in seconds

Now, we applyfglmtoSI For this,SIhas to be areduced Gr¨obner basis for a zero-dimensional ideal (SINGULARchecks this) The Gr¨obner basis returned by fglmis reduced, too.

We will not present the complete computed Gröbner basis due to its extensive length, which would exceed ten pages Instead, we utilize the size command to gather relevant information about the Gröbner basis When applied to an ideal, the size command indicates the number of nonzero generators, while for a string, it provides the character count Below, we present data regarding the reduced lexicographic Gröbner basis.

> size(string(J))/68; // number of lines with 68 characters

deg(J[1 size(J)]); // degrees of the generators

> leadmonom(J[1 size(J)]); // generators for L(I) w.r.t lp z35 yz6 y2z4 y3z2 y5 xz2 xy x3

> leadcoef(J[8]); // leading coefficient of 8th generator 64400936316237739859695098418592766025128073489865909063485822676518 06942677443883093109641441627364249598438582596862938314965556548533 870597328962260825040847335705757819599104

Note that on our machine, the attempt to compute the lexicographic Gr¨obner basis directly in the ringSfailed after several hours of running time:

> I = std(I); error: no more memory

Gr¨obner Walk Conversion Algorithms

Let I be an ideal in K[x] The Gr\"obner walk algorithm aims to find the target Gr\"obner basis for I by progressing through the Gr\"obner fan of I in multiple steps, effectively "walking" along a defined path For further insights into the Gr\"obner fan, refer to Sturmfels (1996).

In each stage of the process, a Gr¨obner basis is computed using an "intermediate" monomial order Various strategies exist for selecting the route through the Gr¨obner fan, resulting in different algorithmic variants For further insights, refer to the works of Collart, Kalkbrener, and Mall (1997), Amrhein and Gloor (1998), and Tran.

The current implementation of the Gr¨obner Walk algorithms is influenced by internal limitations on weight vectors, as noted in Remark 3.7, which affects its efficiency during the walking process Each intermediate monomial order is defined with an additional weight vector However, the commands available in the library grwalk.lib, developed by I Made Sulandra, frequently produce successful results even when direct computation of a Gr¨obner basis encounters difficulties.

Example 3.14.We recompute the reduced lexicographic Gr¨obner basis for the idealI in Example 3.13 by applying the commandfwalkfromgrwalk.lib:

> ideal I = 3x3y+x3+xy3+y2z2, 2x3z-xy-xz3-y4-z2, 2x2yz-2xy2+xz2-y4;

> option(redSB); // force computation of reduced GBs

Basic Applications of Gr¨ obner Bases (revisited)

Ideal Membership Test

The test whether a given polynomial f ∈K[x] is contained in a given ideal

The most fundamental application of Gröbner bases occurs in the context of ideals I⊂K[x] A polynomial f is considered to be part of the ideal I if and only if its remainder, when divided by the elements of a Gröbner basis G for I, equals zero.

Example 3.22 Problem 1.Check ideal membership:

Solution.Proceed as explained above:

> reduce(f1,GI,1); // see Example 1.39 for reduce y5-y4

To express f as a K[x]-linear combination of the original generators for the ideal I, utilize the lift command after solving the Submodule Membership Problem 2.16 This involves a step-by-step process of computing a Gröbner basis, storing the relevant syzygies, and determining a normal form.

It is, thus, more involved than thereducecommand.

? 2nd module lies not in the first

? error occurred in STDIN line 8: ‘lift(I,f1); ‘

We will return to theliftcommand in Lecture 4, Section 4.1.

Problem 2.Check the inclusion of ideals.

> reduce(J1,GI,1); // normal form for the generators of J1 _[1]=y5-y4

The size command applied to an ideal reveals the count of its nonzero generators Therefore, the output indicates that the ideal generated by J2 is a subset of the ideal generated by GI.

As explained in Lecture 2, radical membership can be decided via ideal membership: ift is a slack variable, then f ∈√

Example 3.23 Problem.Check radical membership:

Solution.Follow the recipe given above step by step, first setting up the ring with a slack variable:

> reduce(1,Jf1,1); // result is 0 iff f1 is in radical(I)

The built-in command Directly in the ring R, use the SINGULAR command rad conprovided by the librarypoly.lib:

> rad_con(f1,I); // result is 1 iff f is in radical(I)

Elimination

In Lecture 2, Proposition 2.30, we explained how to eliminate variables from a given idealI⊂K[x 1 , , x n ] This requires the choice of a global elimination order Possible choices are:

• The lexicographic orderlp This has the elimination property with respect toeach initial set of variables {x1, , xk},k= 1, , n−1.

The product order, denoted as (dp(k), dp(n-k)), represents a specific type of elimination order that combines a global monomial order >1 on K[x1, , xk] with another global monomial order >2 on K[xk+1, , xn] This structured approach is particularly effective when dealing with a designated initial set of variables {x1, , xk}.

• A global monomial order > with extra weight vector w= (w 1 , , w n )

∈Z n ≥ 0 (see Page 71) Such an order has the elimination property with respect to the set of variables{x i |w i >0}.

The SINGULARcommandeliminateuses an order with extra weight vector.

In a singular session, if the order of the active ring is denoted by ">", the elimination process yields a Gröbner basis for the elimination ideal based on the restricted order applied to the specified subring of remaining variables It's important to note that employing the eliminate function may result in slower performance compared to using a product order such as (dp(k), dp(n-k)).

Example 3.24 (Levelt) We consider a system of 12 polynomial equations in

> ideal I = z2+e2-1, g2+w2+a2-1, t2+u2+b2-1, f2+v2+c2-1, y2+d2-1, zw+ea, gt+wu+ab, tf+uv+bc, fy+cd, a+b+c+d+e, f+g+t+y+1,

The equations define a curve C = V(I) within the ambient space A^13(C) To project C onto the yz-plane, we eliminate all variables except for y and z from I, a task that poses significant challenges for computer algebra systems For instance, in SINGULAR, one can attempt this projection by using the command eliminate(I,abcdefgtuvw) To achieve timely results, we utilize a Hilbert-driven elimination method as outlined in Section 3.5.

> ideal J = homog(I,h); // homogenize the given generators

> intvec H = hilb(L,1); // assign Hilbert series

The resulting projection of C to the yz-plane is a plane curve defined by a polynomial of degree 32:

Remark 3.25.Another approach to eliminating variables, historically pre- ceeding the one via Gr¨obner bases, makes use of resultants (see Grete Her- mann (1926)) For more details on this approach and some examples, we refer to Lecture 6, Section 6.2

Closely related to eliminating variables is the elimination problem for module components: given a free K[x]-module F = s i=1K[x]e i and a submoduleI=f 1 , , f r ⊂F, compute thekth elimination submodule

That is, compute finitely many generators for the module of vectors in I whose first k components are zero The solution to this problem is based on the following result:

Proposition 3.26.Let>be a global monomial order onK[x], and letG be a Gr¨obner basis forIwith respect to> (c,>) onF Then, for eachk= 0, , s−1, the set

K[x]e i is a Gr¨obner basis forI k with respect to> (c,>) ons i=k+1K[x]e i In partic- ular, Gk generates I k

Alternatively, if we are just interested in computingI k for a fixedk, we may choose any other global elimination orderwith respect to e 1 , , e k , that is, any global monomial order onF satisfying

K[x]ei for all f∈F In view of Remark 3.9, this shows that there is actually no difference between the problem of eliminating variables and the problem of eliminating module components.

Kernel of a Ring Map

In Lecture 2, we already explained how to compute the kernel of aK-algebra homomorphism φ:K[y 1 , , y m ]−→K[x 1 , , x n ]/I , y i −→f i =f i +I , via elimination: kerφ=J∩K[y], whereJ is the ideal

Example 2.32 in Lecture 2 shows two ways of carrying this out inSINGULAR.

To address the elimination problem, we can either follow the outlined recipe for setting up the ideal J in K[x,y] and performing elimination, or we can utilize the built-in SINGULAR command "preimage," which computes the preimage of an ideal under a specified ring map In this case, we would calculate the preimage of the ideal I under the mapping from K[y] to K[x] defined by the functions f_i It's important to note that, similar to the eliminate command mentioned in Section 3.6.2, the preimage command also relies on an order that includes an additional weight vector.

To determine if a set of elements \( f_1, \ldots, f_m \) from the affine ring \( K[x]/I \) is algebraically dependent over \( K \), we can compute the kernels of ring maps Specifically, we need to check if the kernel of the map \( K[y] \rightarrow K[x]/I \) defined by the \( f_i \) contains a nontrivial element For example, using SINGULAR, we can verify that the polynomials \( f_1 = x_1^6 x_2^3 - x_2^6 x_2^3 \), \( f_2 = x_1^3 - x_2^3 \), \( f_3 = x_1^3 + x_2^3 \), and \( f_4 = x_3^3 \) are algebraically dependent over \( \mathbb{Q} \).

Solution Follow the recipe given above step by step (setting up φand com- puting its kernel by using preimage):

> ideal zero; // the zero ideal

> preimage(R,phi,zero); // the kernel of phi

The built-in command Directly in the ring R, use the SINGULAR command algDependentprovided by the libraryalgebra.lib:

SINGULAR provides a method for accessing computed results, utilizing the def command to assign names to SINGULAR objects without needing to define their types The system automatically determines the object type based on the assigned name.

> L[1]; // first entry of L is 1 iff the polynomials are

def S = L[2]; // second entry of L is a ring which contains

> // an ideal ker defining the algebraic relation setring S;

Test for Subalgebra Membership

Problem Given elementsf , f 1 , , f m of an affine ringK[x]/I, decide whe- therf is contained in the subalgebraK$ f 1 , , f m % ofK[x]/I.

In the context of polynomial ideals, let J be defined as IK[x,y] + f1 - y1, , fm - ym, which is a subset of K[x,y] We establish a global elimination order on K[x,y] with respect to x, and denote G as a Gröbner basis for J under this order A polynomial f belongs to the ideal generated by f1, , fm if and only if the remainder h of f when divided by the elements of G lies in K[y] This remainder h effectively illustrates how f can be expressed as a polynomial in terms of f1, , fm.

Example 3.28 Problem.UseSINGULARto check whetherx 6 1 x 6 2 −x 6 1 x 6 3 is con- tained in the subalgebraQ$ x 3 1 x 3 2 −x 3 1 x 3 3 , x 3 1 x 3 2 +x 3 1 x 3 3 % ofQ$ x 1 , x 2 , x 3 %

Solution.Follow the recipe given above step by step:

From the output, we read thatf =f 1 f 2 ∈Q[f 1 , f 2 ].

The built-in command Directly in the ring R, use the SINGULAR command algebra containmentfromalgebra.lib:

The return value 1 indicates thatf ∈Q[f 1 , f 2 ], while the displayed polynomial y(1)*y(2)stands for the algebraic relationf 1 f 2 −f = 0.

Callingalgebra containmentwith the additional parameter 1 will allow us to access the polynomial:

Again,SINGULARdisplays an explanation which we follow without printing it here:

> check; // polynomial defining the algebraic relation y(1)*y(2)

Note that the SINGULARlibrary algebra.libprovides the alternative com- mandinSubringfor the subalgebra membership problem This command is based on a slightly different algorithm (see Greuel and Pfister (2002), Section

Test for Surjectivity of a Ring Map

Problem Given a map φ:K[y]→K[x]/I,y i →f i , find out whether φ is surjective That is, check whetherx 1 , , x n are contained in the subalgebra

Solution Set J =IK[x,y] + f1−y1, , fm−ym ⊂K[x,y], and com- pute the reduced Gr¨obner basis G for J using a global elimination order with respect tox Thenxi∈K$ f 1 , , f m % iffGcontains an element of type x i −h i (y), fori= 1, , n.

Example 3.29 Problem Let φ:Q[x, y, z]→Q[a, b, c]/c−b 3 be induced by x→2a+b 6 ,y→7b−a 2 , z→c 2 Check thatφis surjective usingSINGULAR. Solution.Follow the recipe given above step by step:

> simplify(groebner(J),1); // the reduced Groebner basis for J _[1]=x12-12x11z+66x10z2-220x9z3+495x8z4-792x7z5+[ ]

The built-in command Use the commandis surjectivefromalgebra.lib:

Note thatalgebra.libalso provides the commandis bijective.

Syzygies and Free Resolutions

Consider the free K[x]-module F =K[x] s with its canonical basis, and let f 1 , , f r ∈F\ {0} be polynomial vectors Recall from Remark 1.44 how to compute the syzygies onf 1 , , f r using Schreyer’s algorithm:

To compute a Gröbner basis using Buchberger’s algorithm, begin with the polynomials \(f_1, \ldots, f_r\) and \(f_{r+1}, \ldots, f_n\) Throughout the process, it is essential to store all syzygies associated with the elements of the Gröbner basis, as defined by the standard expression in Buchberger’s test These stored syzygies will generate all syzygies on the elements of the Gröbner basis, ensuring a comprehensive understanding of the relationships among the polynomials.

The syzygies derived from a division that introduces a new generator \( f_k \) in Buchberger’s test enable us to represent \( f_k \) in terms of the previous generators \( f_1, \ldots, f_{k-1} \) By iteratively substituting these representations of \( f_k \) into each relation resulting from a division with a remainder of zero during the test, we ultimately obtain the syzygies associated with the original generators \( f_1, \ldots, f_r \).

The SINGULAR command 'resis' utilizes Schreyer’s algorithm but is specifically designed to work with a Gröbner basis as its input Consequently, it is limited to computing syzygies for the elements of a Gröbner basis, rather than for any arbitrary set of generators.

An alternative method for computing syzygies is based on the following easy observation Viewf 1 , , f r ∈F =K[x] s as column vectors with sen- tries, and consider the (s+r)×rmatrix

A vector t (g1, , gr) in K[x] r is considered a syzygy on f1, , fr if the extended vector t (0, g1, , gr) in K[x] s+r can be expressed as a K[x]-linear combination of the columns of a specific matrix Thus, the process of computing syzygies involves the elimination of module components, as illustrated in Proposition 3.26 The SINGULAR command syz effectively utilizes this concept.

> poly f1, f2, f3 = y2-xz, xy-wz, x2z-wyz;

> size(syz(phi2)); // we check that there are no higher syzygies

By successively computing syzygies, starting from f 1 , , frand using eitherSchreyer’s algorithm or the alternative method, we eventually obtain a free resolution

F 1 ϕ 2 F 2 ϕ 3 F 3 ϕ 4 of the submoduleI=f 1 , , f r ⊂F and, thus, a free resolution

F 0 =F ϕ 1 =(f 1 , ,f r ) F 1 ϕ 2 F 2 ϕ 3 F 3 ϕ 4 of the quotient module M =F/I, with syzygy matricesϕ i

When dealing with homogeneous polynomials f1, , fr, both methods for computing syzygies produce graded free resolutions However, the process involves calculating a Gröbner basis for the syzygy module at each stage, which often results in resolutions that are not minimal This phenomenon is illustrated in Example 3.30.

To eliminate unnecessary generators from a set, it is essential to analyze the syzygy matrix associated with those generators The process of minimizing the generators can be effectively achieved through Gaussian elimination applied to this syzygy matrix.

Example 3.31 Consider the graded free resolution

In Example 3.30, the syzygy matrix ϕ 2 reveals that the functions f 1, f 2, and f 3 do not constitute a minimal set of generators for the ideal I, as indicated by the first entry of the matrix Specifically, the first column of ϕ 2 shows that f 3 can be expressed as a linear combination of f 1 and f 2, specifically f 3 = -xf 1 + yf 2 Additionally, applying Gaussian elimination to ϕ 2 leads to a commutative diagram, further illustrating the relationships among the generators.

0 R(−3) 1 R(−3) 0 in the second row, we a get the minimal free resolution ofR/I:

The alternative method for computing free resolutions allows for direct minimization at each stage, enabling the minimization of each set of generators immediately after calculating the corresponding syzygies In contrast, Schreyer's algorithm necessitates working with syzygies based on a Gröbner basis at each stage, which means that minimization occurs only after the entire resolution is completed.

La Scala's variant of Schreyer’s algorithm employs a horizontal strategy that progresses degree by degree, rather than syzygy module by syzygy module This approach enables direct minimization, enhancing the efficiency of the algorithm.

A horizontal Hilbert driven algorithm for computing free resolutions has been described by Capani, De Dominicis, Niesi and Robbiano (1997).

Remark 3.32.Schreyer’s algorithm is more conceptual than the alternative method As already pointed out in Lecture 1, Remark 1.45, it allows one to give a constructive proof of Hilbert’s syzygy theorem Also, if I is a graded submodule of a graded freeK[x]-module, it follows from applying Schreyer’s algorithm to both I and L(I) that βij(F/I) ≤ βij(F/L(I)) for all i, j (see Decker and Schreyer (2006)) This fact can be used to expedite the computa- tion of free resolutions via the alternative method

Remark 3.33 (SINGULARCommands for Computing Free Resolutions I: Polynomial Rings) The following commands are available:

Command Implemented Method Applies to nres alternative method ideals, modules mres alternative method ideals, modules sres Schreyer ideals, modules lres La Scala homogeneous ideals hres Hilbert driven homogeneous ideals

Each command necessitates two input parameters: one of type ideal or module, and another of type integer The integer, denoted as k, must be nonnegative If k is greater than 0, the free resolution is calculated up to stage k; if k equals 0, it is computed up to stage n + 1, where n represents the number of variables in the active ring The outcome of this computation is classified under the SINGULAR type known as resolution For illustration, we will continue the session from Example 3.30.

> typeof(FI[1]); // ’typeof’ displays type of given object ideal

> print(FI[1]); y2-xz, xy-wz x2z-wyz

It is hard to predict a priori which of the commands for computing free reso- lutions is best suited for a given problem

Before giving an example which, in particular, illustrates the difference be- tween nresandmres, we explain the use of thebetticommand:

Remark 3.34 (Graded Betti Numbers) Let I be a graded submodule of a graded free module F, and suppose that a graded free resolution FIof

The graded Betti numbers of the ideal F/I can be directly obtained, even if the ideal FI is not minimal In the SINGULAR software, these numbers can be accessed by entering the command print(betti(FI),"betti");, which will display numerical information regarding the minimal free resolution of F/I, rather than the resolution that was previously computed For example, applying this command to the ideal I discussed in Example 3.30 and Remark 3.33 yields specific results.

To get numerical information on thecomputed resolution, type

Similarly, to visualize the degrees of the generators of a given homogeneous ideal (submodule) I, enterprint(betti(I,0),"betti");

In the following example, we show the behavior of nres,mres, andsres, and we introduce the commandsprune andminres.

Example 3.35 To begin with, we define the ringR and the module I which we already considered in Section 3.4:

> module I = [xz,0,-w,-1,0], [-yz2,y2, 0,-w,0], [y2z,0,-z2,0,-x], [y3,0,-yz,-x,0], [-z3,yz,0,0,-w], [-yz2,y2,0,-w,0],

Recall from Section 3.4 that we may think ofIas a graded submodule of the graded free module F=R⊕R(−1) 2 ⊕R(−2) 2 :

Applying nres to compute a free resolution of I, the given generators re- main untouched, but for each subsequent syzygy module, a minimal set of generators will be computed:

> print(FInres[1]); // the given generators xz,-yz2,y2z,y3, -z3,-yz2,0,

> print(FInres[2]); // display syzygies on the given generators

The nonzero constant entries in the syzygy matrix FInres[2] reveal that the provided generators do not constitute a minimal generating set By utilizing mres, the set of generators can be minimized prior to calculating the resolution.

> print(FImres[1]); // the new generators xz,z3, yz2,y2z,y3,

> print(FImres[2]); // display syzygies on the new generators 0, xy,

Thus, consideringI as a submodule ofF =R⊕R(−1) 2 ⊕R(−2) 2 as above, its minimal free resolution isR(−2)⊕R(−3) 4 ←R(−5)←0.

Note, however, that there is still a nonzero constant entry of FImres[1] (the columns of FImres[1]form the original set of generators for I) Hence,

The expression F ← R(−2) ⊕ R(−3) and 4 ← R(−5) ← 0 indicates that the given sequence is not the minimal free resolution of the module M = F/I Specifically, the images of the canonical basis vectors of F do not generate M in a minimal way under the mapping M ← F To derive the minimal free resolution of M, it is essential to first compute a suitable presentation.

0 M ϕ 0 F 0 F1 e ϕ 1 such that ϕ 0 corresponds to a minimal set of generators forM This is done by Gaussian elimination The correspondingSINGULARcommand isprune:

> print(PI); wxz+yz2,-y2z,-y3+x2z,z3, wxz+yz2,xy2z,

Thus, the minimal free resolution ofM is of type

Next, we apply sres to PI As already remarked, this command requires a Gr¨obner basis as input This is checked bySINGULAR:

? error occurred in STDIN line 27:

> resolution FPIsres = sres(groebner(PI),0);

As the reader might have expected, the resolution is far from being minimal.

In fact, it is even longer than the minimal free resolution.

Applying the command minres to a given resolutionFIof I, all syzygy matrices of Iwill be minimized Note, however, thatminresdoes not prune

I That is, the resolution obtained when entering minres(FI)is isomorphic to that obtained when enteringmres(I):

Remark 3.36 (SINGULARCommands for Computing Free Resolutions II: Quotient Rings and Local Rings).

(1) The commandssyz,nres,mres, andsresalso work over quotient rings of polynomial rings Note, however, that modules over such a ring may not have a free resolution of finite length See Example 4.9.

In Lecture 9, we will explore the extension of Gröbner bases to the localized ring K[x]ₓ, which is formed by localizing K[x] at the maximal ideal x corresponding to the origin in affine space By adapting Buchberger’s algorithm for local monomial orders, we can effectively compute Gröbner bases and syzygies in K[x]ₓ Additionally, in the SINGULAR software, commands such as syz, nres, mres, and sres are compatible with K[x]ₓ and its quotient rings Importantly, Schreyer’s algorithm demonstrates that Hilbert’s syzygy theorem is applicable to K[x]ₓ, confirming that every finitely generated K[x]ₓ-module possesses a free resolution with a length not exceeding n.

Constructive Module Theory

Gr¨ obner Basis Techniques

Resultant Based Methods

Finite Groups

Ngày đăng: 27/05/2022, 15:17

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...