A Singular Introduction to Commutative Algebra
Gert-Martin Greuel · Gerhard Pfister
A Singular Introduction to Commutative Algebra With contributions by Olaf Bachmann, Christoph Lossen and Hans Schönemann
Second, Extended Edition With 49 Figures
Gert-Martin Greuel Gerhard Pfister University of Kaiserslautern Department of Mathematics 67663 Kaiserslautern Germany
[email protected] [email protected]
Library of Congress Control Number: 2007936410 Mathematics Subject Classi cation (2000): 13-XX, 13-01, 13-04, 13P10, 14-XX, 14-01, 14-04, 14QXX ISBN 978-3-540-73541-0 Springer Berlin Heidelberg New York This work is subject to copyright. All rights are reserved, whether the whole or part of the material is concerned, speci cally the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on micro lm or in any other way, and storage in data banks. Duplication of this publication or parts thereof is permitted only under the provisions of the German Copyright Law of September 9, 1965, in its current version, and permission for use must always be obtained from Springer. Violations are liable for prosecution under the German Copyright Law. Springer is a part of Springer Science+Business Media springer.com c Springer-Verlag Berlin Heidelberg 2002, 2008 The use of general descriptive names, registered names, trademarks, etc. in this publication does not imply, even in the absence of a speci c statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use. Typesetting: by the authors and Integra, India using a Springer LATEX macro package Cover Design: K¨unkelLopka, Heidelberg Printed on acid-free paper
SPIN: 12073818
543210
To Ursula, Ursina, Joscha, Bastian, Wanja, Grischa G.–M. G.
To Marlis, Alexander, Jeannette G. P.
Preface to the Second Edition
The first edition of this book was published 5 years ago. When we have been asked to prepare another edition, we decided not only to correct typographical errors, update the references, and improve some of the proofs but also to add new material, some appearing in printed form for the first time. The major changes in this edition are the following: (1) A new section about non–commutative Gr¨obner basis is added to chapter one, written mainly by Viktor Levandovskyy. (2) Two new sections about characteristic sets and triangular sets together with the corresponding decomposition–algorithm are added to chapter four. (3) There is a new appendix about polynomial factorization containing univariate factorization over Fp and Q and algebraic extensions, as well as multivariate factorization over these fields and over the algebraic closure of Q. (4) The system Singular has improved quite a lot. A new CD is included, containing the version 3-0-3 with all examples of the book and several new Singular–libraries. (5) The appendix concerning Singular is rewritten corresponding to the version 3-0-3. In particular, more examples on how to write libraries and about the communication with other systems are given. We should like to thank many readers for helpful comments and finding typographical errors in the first edition. We thank the Singular Team for the support in producing the new CD. Special thanks to Anne Fr¨ uhbis–Kr¨ uger, Santiago Laplagne, Thomas Markwig, Hans Sch¨ onemann, Oliver Wienand, for proof–reading, Viktor Levandovskyy for providing the chapter on non– commutative Gr¨obner bases and Petra B¨asell for typing the manuscript. Kaiserslautern, July, 2007
Gert–Martin Greuel Gerhard Pfister
Preface to the First Edition
In theory there is no difference between theory and practice. In practice there is. Yogi Berra A SINGULAR Introduction to Commutative Algebra offers a rigorous introduction to commutative algebra and, at the same time, provides algorithms and computational practice. In this book, we do not separate the theoretical and the computational part. Coincidentally, as new concepts are introduced, it is consequently shown, by means of concrete examples and general procedures, how these concepts are handled by a computer. We believe that this combination of theory and practice will provide not only a fast way to enter a rather abstract field but also a better understanding of the theory, showing concurrently how the theory can be applied. We exemplify the computational part by using the computer algebra system Singular, a system for polynomial computations, which was developed in order to support mathematical research in commutative algebra, algebraic geometry and singularity theory. As the restriction to a specific system is necessary for such an exposition, the book should be useful also for users of other systems (such as Macaulay2 and CoCoA ) with similar goals. Indeed, once the algorithms and the method of their application in one system is known, it is usually not difficult to transfer them to another system. The choice of the topics in this book is largely motivated by what we believe is most useful for studying commutative algebra with a view toward algebraic geometry and singularity theory. The development of commutative algebra, although a mathematical discipline in its own right, has been greatly influenced by problems in algebraic geometry and, conversely, contributed significantly to the solution of geometric problems. The relationship between both disciplines can be characterized by saying that algebra provides rigour while geometry provides intuition. In this connection, we place computer algebra on top of rigour, but we should like to stress its limited value if it is used without intuition. During the past thirty years, in commutative algebra, as in many parts of mathematics, there has been a change of interest from a most general
X
Preface
theoretical setting towards a more concrete and algorithmic understanding. One of the reasons for this was that new algorithms, together with the development of fast computers, allowed non–trivial computations, which had been intractable before. Another reason is the growing belief that algorithms can contribute to a better understanding of a problem. The human idea of “understanding”, obviously, depends on the historical, cultural and technical status of the society and, nowadays, understanding in mathematics requires more and more algorithmic treatment and computational mastering. We hope that this book will contribute to a better understanding of commutative algebra and its applications in this sense. The algorithms in this book are almost all based on Gr¨obner bases or standard bases. The theory of Gr¨ obner bases is by far the most important tool for computations in commutative algebra and algebraic geometry. Gr¨ obner bases were introduced originally by Buchberger as a basis for algorithms to test the solvability of a system of polynomial computations, to count the number of solutions (with multiplicities) if this number is finite and, more algebraically, to compute in the quotient ring modulo the given polynomials. Since then, Gr¨ obner bases have played an important role for any symbolic computations involving polynomial data, not only in mathematics. We present, right at the beginning, the theory of Gr¨ obner bases and, more generally, standard bases, in a somewhat new flavour. Synopsis of the Contents of this Book From the beginning, our aim is to be able to compute effectively in a polynomial ring as well as in the localization of a polynomial ring at a maximal ideal. Geometrically, this means that we want to compute globally with (affine or projective) algebraic varieties and locally with its singularities. In other words, we develop the theory and tools to study the solutions of a system of polynomial equations, either globally or in a neighbourhood of a given point. The first two chapters introduce the basic theories of rings, ideals, modules and standard bases. They do not require more than a course in linear algebra, together with some training, to follow and do rigorous proofs. The main emphasis is on ideals and modules over polynomial rings. In the examples, we use a few facts from algebra, mainly from field theory, and mainly to illustrate how to use Singular to compute over these fields. In order to treat Gr¨ obner bases, we need, in addition to the ring structure, a total ordering on the set of monomials. We do not require, as is the case in usual treatments of Gr¨obner bases, that this ordering be a well–ordering. Indeed, non–well–orderings give rise to local rings, and are necessary for a computational treatment of local commutative algebra. Therefore, we introduce, at an early stage, the general notion of localization. Having this, we introduce the notion of a (weak) normal form in an axiomatic way. The standard basis algorithm, as we present it, is the same for any monomial ordering,
Preface
XI
only the normal form algorithm differs for well–orderings, called global orderings in this book, and for non–global orderings, called local, respectively mixed, orderings. A standard basis of an ideal or a module is nothing but a special set of generators (the leading monomials generate the leading ideal), which allows the computation of many invariants of the ideal or module just from its leading monomials. We follow the tradition and call a standard basis for a global ordering a Gr¨ obner basis. The algorithm for computing Gr¨ obner bases is Buchberger’s celebrated algorithm. It was modified by Mora to compute standard bases for local orderings, and generalized by the authors to arbitrary (mixed) orderings. Mixed orderings are necessary to generalize algorithms (which use an extra variable to be eliminated later) from polynomial rings to local rings. As the general standard basis algorithm already requires slightly more abstraction than Buchberger’s original algorithm, we present it first in the framework of ideals. The generalization to modules is then a matter of translation after the reader has become familiar with modules. Chapter 2 also contains some less elementary concepts such as tensor products, syzygies and resolutions. We use syzygies to give a proof of Buchberger’s criterion and, at the same time, the main step for a constructive proof of Hilbert’s syzygy theorem for the (localization of the) polynomial ring. These first two chapters finish with a collection of methods on how to use standard bases for various computations with ideals and modules, so–called “Gr¨ obner basics”. The next four chapters treat some more involved but central concepts of commutative algebra. We follow the same method as in the first two chapters, by consequently showing how to use computers to compute more complicated algebraic structures as well. Naturally, the presentation is a little more condensed, and the verification of several facts of a rather elementary nature are left to the reader as an exercise. Chapter 3 treats integral closure, dimension theory and Noether normalization. Noether normalization is a cornerstone in the theory of affine algebras, theoretically as well as computationally. It relates affine algebras, in a controlled manner, to polynomial algebras. We apply the Noether normalization to develop the dimension theory for affine algebras, to prove the Hilbert Nullstellensatz and E. Noether’s theorem that the normalization of an affine ring (that is, the integral closure in its total ring of fractions) is a finite extension. For all this, we provide algorithms and concrete examples on how to compute them. A highlight of this chapter is the algorithm to compute the non–normal locus and the normalization of an affine ring. This algorithm is based on a criterion due to Grauert and Remmert, which had escaped the computer algebra community for many years, and was rediscovered by T. de Jong. The chapter ends with an extra section containing some of the larger procedures, written in the Singular programming language. Chapter 4 is devoted to primary decomposition and related topics such as the equidimensional part and the radical of an ideal. We start with the
XII
Preface
usual, short and elegant but not constructive proof, of primary decomposition of an ideal. Then we present the constructive approach due to Gianni, Trager and Zacharias. This algorithm returns the primary ideals and the associated primes of an ideal in the polynomial ring over a field of characteristic 0, but also works well if the characteristic is sufficiently large, depending on the given ideal. The algorithm, as implemented in Singular is often surprisingly fast. As in Chapter 3, we present the main procedures in an extra section. In contrast to the relatively simple existence proof for primary decomposition, it is extremely difficult to actually decompose even quite simple ideals, by hand. The reason becomes clear when we consider the constructive proofs which are all quite involved, and which use many non–obvious results from commutative algebra, field theory and Gr¨ obner bases. Indeed, primary decomposition is an important example, where we learn much more from the constructive proof than from the abstract one. In Chapter 5 we introduce the Hilbert function and the Hilbert polynomial of graded modules together with its application to dimension theory. The Hilbert polynomial, respectively its local counterpart, the Hilbert– Samuel polynomial, contains important information about a homogeneous ideal in a polynomial ring, respectively an arbitrary ideal, in a local ring. The most important one, besides the dimension, is the degree in the homogeneous case, respectively the multiplicity in the local case. We prove that the Hilbert (–Samuel) polynomial of an ideal and of its leading ideal coincide, with respect to a degree ordering, which is the basis for the computation of these functions. The chapter finishes with a proof of the Jacobian criterion for affine K–algebras and its application to the computation of the singular locus, which uses the equidimensional decomposition of the previous chapter; other algorithms, not using any decomposition, are given in the exercises to Chapter 7. Standard bases were, independent of Buchberger, introduced by Hironaka in connection with resolution of singularities and by Grauert in connection with deformation of singularities, both for ideals in power series rings. We introduce completions and formal power series in Chapter 6. We prove the classical Weierstraß preparation and division theorems and Grauert’s generalization of the division theorem to ideals, in formal power series rings. Besides this, the main result here is that standard bases of ideals in power series rings can be computed if the ideal is generated by polynomials. This is the basis for computations in local analytic geometry and singularity theory. The last chapter, Chapter 7, gives a short introduction to homological algebra. The main purpose is to study various aspects of depth and flatness. Both notions play an important role in modern commutative algebra and algebraic geometry. Indeed, flatness is the algebraic reason for what the ancient geometers called “principle of conservation of numbers”, as it guarantees that certain invariants behave continuously in families of modules, respectively varieties. After studying and showing how to compute Tor–modules, we use Fit-
Preface
XIII
ting ideals to show that the flat locus of a finitely presented module is open. Moreover, we present an algorithm to compute the non–flat locus and, even further, a flattening stratification of a finitely presented module. We study, in some detail, the relation between flatness and standard bases, which is somewhat subtle for mixed monomial orderings. In particular, we use flatness to show that, for any monomial ordering, the ideal and the leading ideal have the same dimension. In the final sections of this chapter we use the Koszul complex to study the relation between the depth and the projective dimension of a module. In particular, we prove the Auslander–Buchsbaum formula and Serre’s characterization of regular local rings. These can be used to effectively test the Cohen–Macaulay property and the regularity of a local K–algebra. The book ends with two appendices, one on the geometric background and the second one on an overview on the main functionality of the system Singular. The geometric background introduces the geometric language, to illustrate some of the algebraic constructions introduced in the previous chapters. One of the objects is to explain, in the affine as well as in the projective setting, the geometric meaning of elimination as a method to compute the (closure of the) image of a morphism. Moreover, we explain the geometric meaning of the degree and the multiplicity defined in the chapter on the Hilbert Polynomial (Chapter 5), and prove some of its geometric properties. This appendix ends with a view towards singularity theory, just touching on Milnor and Tjurina numbers, Arnold’s classification of singularities, and deformation theory. All this, together with other concepts of singularity theory, such as Puiseux series of plane curve singularities and monodromy of isolated hypersurface singularities, and many more, which are not treated in this book, can be found in the accompanying libraries of Singular. The second appendix gives a condensed overview of the programming language of Singular, data types, functions and control structure of the system, as well as of the procedures appearing in the libraries distributed with the system. Moreover, we show by three examples (Maple, Mathematica, MuPAD), how Singular can communicate with other systems. How to Use the Text The present book is based on a series of lectures held by the authors over the past ten years. We tried several combinations in courses of two, respectively four, hours per week in a semester (12 – 14 weeks). There are at least four aspects on how to use the text for a lecture: (A) Focus on computational aspects of standard bases, and syzygies. A possible selection for a two–hour lecture is to treat Chapters 1 and 2 completely (possibly omitting 2.6, 2.7). In a four–hour course one can treat, additionally, 3.1 – 3.5 together with either 4.1 – 4.3 or 4.1 and 5.1 – 5.3.
XIV
Preface
(B) Focus on applications of methods based on standard basis, respectively syzygies, for treating more advanced problems such as primary decomposition, Hilbert functions, or flatness (regarding the standard basis, respectively syzygy, computations as “black boxes”). In this context a two–hour lecture could cover Sections 1.1 – 1.4 (only treating global orderings), 1.6 (omitting the algorithms), 1.8, 2.1, Chapter 3 and Section 4.1. A four–hour lecture could treat, in addition, the case of local orderings, Section 1.5, and selected parts of Chapters 5 and 7. (C) Focus on the theory of commutative algebra, using Singular as a tool for examples and experiments. Here a two–hour course could be based on Sections 1.1, 1.3, 1.4, 2.1, 2.2, 2.4, 2.7, 3.1 – 3.5 and 4.1. For a four–hour lecture one could choose, additionally, Chapter 5 and Sections 7.1 – 7.4. (D) Focus on geometric aspects, using Singular as a tool for examples. In this context a two–hour lecture could be based on Appendix A.1, A.2 and A.4, together with the needed concepts and statements of Chapters 1 and 3. For a four–hour lecture one is free to choose additional parts of the appendix (again together with the necessary background from Chapters 1 – 7). Of course, the book may also serve as a basis for seminars and, last but not least, as a reference book for computational commutative algebra and algebraic geometry. Working with SINGULAR The original motivation for the authors to develop a computer algebra system in the mid eighties, was the need to compute invariants of ideals and modules in local rings, such as Milnor numbers, Tjurina numbers, and dimensions of modules of differentials. The question was whether the exactness of the Poincar´e complex of a complete intersection curve singularity is equivalent to the curve being quasihomogeneous. This question was answered by an early version of Singular: it is not [190]. In the sequel, the development of Singular was always influenced by mathematical problems, for instance, the famous Zariski conjecture, saying that the constancy of the Milnor number in a family implies constant multiplicity [111]. This conjecture is still unsolved. Enclosed in the book one finds a CD with folders EXAMPLES, LIBRARIES, MAC, MANUAL, UNIX and WINDOWS. The folder EXAMPLES contains all Singular Examples of the book, the procedures and the links to Mathematica, Maple and MuPAD. The other folders contain the Singular binaries for the respective platforms, the manual, a tutorial and the Singular libraries. Singular can be installed following the instructions in the INSTALL
.html (or INSTALL .txt) file of the respective folder. We also should like to refer to the Singular homepage
Preface
XV
http://www.singular.uni-kl.de which always offers the possibility to download the newest version of Singular, provides support for Singular users and a discussion forum. Moreover, one finds there a lot of useful information around Singular, for instance, more advanced examples and applications than provided in this book. Comments and Corrections We should like to encourage comments, suggestions and corrections to the book. Please send them to either of us: Gert–Martin Greuel Gerhard Pfister
[email protected] pfi[email protected]
We also encourage the readers to check the web site for A SINGULAR Introduction to Commutative Algebra, http://www.singular.uni-kl.de/Singular-book.html This site will contain lists of corrections, respectively of solutions for selected exercises. Acknowledgements As is customary for textbooks, we use and reproduce results from commutative algebra, usually without any specific attribution and reference. However, we should like to mention that we have learned commutative algebra mainly from the books of Zariski–Samuel [238], Nagata [183], Atiyah–Macdonald [6], Matsumura [159] and from Eisenbud’s recent book [66]. The geometric background and motivation, present at all times while writing this book, were laid by our teachers Egbert Brieskorn and Herbert Kurke. The reader will easily recognize that our book owes a lot to the admirable work of the above–mentioned mathematicians, which we gratefully acknowledge. There remains only the pleasant duty of thanking the many people who have contributed in one way or another to the preparation of this work. First of all, we should like to mention Christoph Lossen, who not only substantially improved the presentation but also contributed to the theory as well as to proofs, examples and exercises. The book could not have been written without the system Singular, which has been developed over a period of about fifteen years by Hans Sch¨ onemann and the authors, with considerable contributions by Olaf Bachmann. We feel that it is just fair to mention these two as co–authors of the book, acknowledging, in this way, their contribution as the principal creators of the Singular system.1 1
“Software is hard. It’s harder than anything else I’ve ever had to do.” (Donald E. Knuth)
XVI
Preface
Further main contributors to Singular include: W. Decker, A. Fr¨ uhbisKr¨ uger, H. Grassmann, T. Keilen, K. Kr¨ uger, V. Levandovskyy, C. Lossen, M. Messollen, W. Neumann, W. Pohl, J. Schmidt, M. Schulze, T. Siebert, R. Stobbe, M. Wenk, E. Westenberger and T. Wichmann, together with many authors of Singular libraries mentioned in the headers of the corresponding library. Proofreading was done by many of the above contributors and, moreover, by Y. Drozd, T. de Jong, D. Popescu, and our students M. Brickenstein, K. Dehmann, M. Kunte, H. Markwig and M. Olbermann. Last but not least, Pauline Bitsch did the LATEX–typesetting of many versions of our manuscript and most of the pictures were prepared by Thomas Keilen. We wish to express our heartfelt2 thanks to all these contributors.
The book is dedicated to our families, especially to our wives Ursula and Marlis, whose encouragement and constant support have been invaluable.
Kaiserslautern, March, 2002
2
Gert–Martin Greuel Gerhard Pfister
The heart is displayed by using the programme surf, see Singular Example A.1.1.
Contents
1.
Rings, Ideals and Standard Bases . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1 Rings, Polynomials and Ring Maps . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Monomial Orderings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.3 Ideals and Quotient Rings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.4 Local Rings and Localization . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 1.5 Rings Associated to Monomial Orderings . . . . . . . . . . . . . . . . . . 38 1.6 Normal Forms and Standard Bases . . . . . . . . . . . . . . . . . . . . . . . 44 1.7 The Standard Basis Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 1.8 Operations on Ideals and Their Computation . . . . . . . . . . . . . . 67 1.8.1 Ideal Membership . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 1.8.2 Intersection with Subrings . . . . . . . . . . . . . . . . . . . . . . . . . 69 1.8.3 Zariski Closure of the Image . . . . . . . . . . . . . . . . . . . . . . . 71 1.8.4 Solvability of Polynomial Equations . . . . . . . . . . . . . . . . . 74 1.8.5 Solving Polynomial Equations . . . . . . . . . . . . . . . . . . . . . . 74 1.8.6 Radical Membership . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 1.8.7 Intersection of Ideals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 1.8.8 Quotient of Ideals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 1.8.9 Saturation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 1.8.10 Kernel of a Ring Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 1.8.11 Algebraic Dependence and Subalgebra Membership . . . 86 1.9 Non–Commutative G–Algebras . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 1.9.1 Centralizers and Centers . . . . . . . . . . . . . . . . . . . . . . . . . . 99 1.9.2 Left Ideal Membership . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 1.9.3 Intersection with Subalgebras (Elimination of Variables)101 1.9.4 Kernel of a Left Module Homomorphism . . . . . . . . . . . . 103 1.9.5 Left Syzygy Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 1.9.6 Left Free Resolutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 1.9.7 Betti Numbers in Graded GR–algebras . . . . . . . . . . . . . . 107 1.9.8 Gel’fand–Kirillov Dimension . . . . . . . . . . . . . . . . . . . . . . . 107
2.
Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1 Modules, Submodules and Homomorphisms . . . . . . . . . . . . . . . . 2.2 Graded Rings and Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Standard Bases for Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
109 109 132 136
XVIII Contents
2.4 2.5 2.6 2.7 2.8
Exact Sequences and Free Resolutions . . . . . . . . . . . . . . . . . . . . . Computing Resolutions and the Syzygy Theorem . . . . . . . . . . . Modules over Principal Ideal Domains . . . . . . . . . . . . . . . . . . . . . Tensor Product . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Operations on Modules and Their Computation . . . . . . . . . . . . 2.8.1 Module Membership Problem . . . . . . . . . . . . . . . . . . . . . . 2.8.2 Intersection with Free Submodules (Elimination of Module Components) . . . . . . . . . . . . . . . 2.8.3 Intersection of Submodules . . . . . . . . . . . . . . . . . . . . . . . . 2.8.4 Quotients of Submodules . . . . . . . . . . . . . . . . . . . . . . . . . . 2.8.5 Radical and Zerodivisors of Modules . . . . . . . . . . . . . . . . 2.8.6 Annihilator and Support . . . . . . . . . . . . . . . . . . . . . . . . . . 2.8.7 Kernel of a Module Homomorphism . . . . . . . . . . . . . . . . 2.8.8 Solving Systems of Linear Equations . . . . . . . . . . . . . . . .
146 157 171 185 195 195 197 198 199 201 203 204 205
3.
Noether Normalization and Applications . . . . . . . . . . . . . . . . . 3.1 Finite and Integral Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 The Integral Closure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Dimension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4 Noether Normalization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6 An Algorithm to Compute the Normalization . . . . . . . . . . . . . . 3.7 Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
211 211 218 225 230 235 244 251
4.
Primary Decomposition and Related Topics . . . . . . . . . . . . . . 4.1 The Theory of Primary Decomposition . . . . . . . . . . . . . . . . . . . . 4.2 Zero–dimensional Primary Decomposition . . . . . . . . . . . . . . . . . 4.3 Higher Dimensional Primary Decomposition . . . . . . . . . . . . . . . 4.4 The Equidimensional Part of an Ideal . . . . . . . . . . . . . . . . . . . . . 4.5 The Radical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6 Characteristic Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7 Triangular Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.8 Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
259 259 264 273 278 281 285 300 305
5.
Hilbert Function and Dimension . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1 The Hilbert Function and the Hilbert Polynomial . . . . . . . . . . . 5.2 Computation of the Hilbert–Poincar´e Series . . . . . . . . . . . . . . . . 5.3 Properties of the Hilbert Polynomial . . . . . . . . . . . . . . . . . . . . . . 5.4 Filtrations and the Lemma of Artin–Rees . . . . . . . . . . . . . . . . . . 5.5 The Hilbert–Samuel Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.6 Characterization of the Dimension of Local Rings . . . . . . . . . . . 5.7 Singular Locus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
315 315 319 324 332 334 340 346
Contents
XIX
6.
Complete Local Rings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1 Formal Power Series Rings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 Weierstraß Preparation Theorem . . . . . . . . . . . . . . . . . . . . . . . . . 6.3 Completions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4 Standard Bases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
355 355 359 367 373
7.
Homological Algebra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1 Tor and Exactness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2 Fitting Ideals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3 Flatness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.4 Local Criteria for Flatness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.5 Flatness and Standard Bases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.6 Koszul Complex and Depth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.7 Cohen–Macaulay Rings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.8 Further Characterization of Cohen–Macaulayness . . . . . . . . . . . 7.9 Homological Characterization of Regular Rings . . . . . . . . . . . . .
377 377 383 388 399 404 411 424 430 438
A. Geometric Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.1 Introduction by Pictures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.2 Affine Algebraic Varieties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.3 Spectrum and Affine Schemes . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.4 Projective Varieties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.5 Projective Schemes and Varieties . . . . . . . . . . . . . . . . . . . . . . . . . A.6 Morphisms Between Varieties . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.7 Projective Morphisms and Elimination . . . . . . . . . . . . . . . . . . . . A.8 Local Versus Global Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . A.9 Singularities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
443 443 452 463 471 483 488 496 510 523
B. Polynomial Factorization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.1 Squarefree Factorization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.2 Distinct Degree Factorization . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.3 The Algorithm of Berlekamp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.4 Factorization in Q[x] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.5 Factorization in Algebraic Extensions . . . . . . . . . . . . . . . . . . . . . B.6 Multivariate Factorization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.7 Absolute Factorization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
537 538 540 542 545 551 557 564
C. SINGULAR — A Short Introduction . . . . . . . . . . . . . . . . . . . . . C.1 Downloading Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C.2 Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C.3 Procedures and Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C.4 Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C.5 Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C.6 Control Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C.7 System Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
571 571 572 576 581 587 605 606
XX
Contents
C.8 Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C.8.1 Standard-lib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C.8.2 General purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C.8.3 Linear algebra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C.8.4 Commutative algebra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C.8.5 Singularities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C.8.6 Invariant theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C.8.7 Symbolic-numerical solving . . . . . . . . . . . . . . . . . . . . . . . . C.8.8 Visualization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C.8.9 Coding theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C.8.10 System and Control theory . . . . . . . . . . . . . . . . . . . . . . . . C.8.11 Teaching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C.8.12 Non–commutative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C.9 Singular and Maple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C.10 Singular and Mathematica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C.11 Singular and MuPAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C.12 Singular and GAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C.13 Singular and SAGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
607 607 607 610 611 618 623 625 629 630 630 631 634 638 641 643 645 646
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 649 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665 Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685 Singular–Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 687
1. Rings, Ideals and Standard Bases
1.1 Rings, Polynomials and Ring Maps The concept of a ring is probably the most basic one in commutative and non–commutative algebra. Best known are the ring of integers Z and the polynomial ring K[x] in one variable x over a field K. We shall now introduce the general concept of a ring with special emphasis on polynomial rings. Definition 1.1.1. (1) A ring is a set A together with an addition + : A× A → A, (a, b) → a+ b, and a multiplication · : A × A → A, (a, b) → a · b = ab, satisfying a) A, together with the addition, is an abelian group; the neutral element being denoted by 0 and the inverse of a ∈ A by −a; b) the multiplication on A is associative, that is, (ab)c = a(bc) and the distributive law holds, that is, a(b+c) = ab+ac and (b+c)a = ba+ca, for all a, b, c ∈ A. (2) A is called commutative if ab = ba for a, b ∈ A and has an identity if there exists an element in A, denoted by 1, such that 1 · a = a · 1 for all a ∈ A. In this book, except for chapter 1.9, a ring always means a commutative ring with identity. Because of (1) a ring cannot be empty but it may consist only of one element 0, this being the case if and only if 1 = 0. Definition 1.1.2. (1) A subset of a ring A is called a subring if it contains 1 and is closed under the ring operations induced from A. (2) u ∈ A is called a unit if there exists a u ∈ A such that uu = 1. The set of units is denoted by A∗ ; it is a group under multiplication. (3) A ring is a field if 1 = 0 and any non–zero element is a unit, that is A∗ = A − {0}. (4) Let A be a ring, a ∈ A, then a := {af | f ∈ A}. Any field is a ring, such as Q (the rational numbers), or R (the real numbers), or C (the complex numbers), or Fp = Z/pZ (the finite field with p elements
2
1. Rings, Ideals and Standard Bases
where p is a prime number, cf. Exercise 1.1.3) but Z (the integers) is a ring which is not a field. Z is a subring of Q, we have Z∗ = {±1}, Q∗ = Q {0}. N ⊂ Z denotes the set of nonnegative integers. Definition 1.1.3. Let A be a ring. (1) A monomial in n variables (or indeterminates) x1 , . . . , xn is a power product αn 1 xα = xα 1 · . . . · xn ,
α = (α1 , . . . , αn ) ∈ Nn .
The set of monomials in n variables is denoted by Mon(x1 , . . . , xn ) = Monn := {xα | α ∈ Nn } . Note that Mon(x1 , . . . , xn ) is a semigroup under multiplication, with neutral element 1 = x01 · . . . · x0n . We write xα | xβ if xα divides xβ , which means that αi ≤ βi for all i and, hence, xβ = xγ xα for γ = β − α ∈ Nn . (2) A term is a monomial times a coefficient (an element of A), αn 1 axα = axα 1 · . . . · xn ,
a ∈ A.
(3) A polynomial over A is a finite A–linear combination of monomials, that is, a finite sum of terms, f=
aα xα =
finite
αn 1 aα1 ...αn xα 1 · . . . · xn ,
α∈Nn
α
with aα ∈ A. For α ∈ Nn , let |α| := α1 + · · · + αn . The integer deg(f ) := max{|α| | aα = 0} is called the degree of f if f = 0; we set deg(f ) = −1 for f the zero polynomial. (4) The polynomial ring A[x] = A[x1 , . . . , xn ] in n variables over A is the set of all polynomials together with the usual addition and multiplication: aα xα + bα xα := (aα + bα )xα ,
α
α
α
⎞ ⎛ ⎞ ⎛ ⎝ aα xα · ⎝ bβ xβ ⎠ := aα bβ ⎠ xγ . α
β
γ
α+β=γ
A[x1 , . . . , xn ] is a commutative ring with identity 1 = x01 · . . . · x0n which we identify with the identity element 1 ∈ A. Elements of A ⊂ A[x] are called constant polynomials, they are characterized by having degree ≤ 0. A is called the ground ring of A[x], respectively the ground field , if A is a field.
1.1 Rings, Polynomials and Ring Maps
3
Note that any monomial is a term (with coefficient 1) but, for example, 0 is a term but not a monomial. For us the most important case is the polynomial ring K[x] = K[x1 , . . . , xn ] over a field K. By Exercise 1.3.1 only the non–zero constants are units of K[x], that is, K[x]∗ = K ∗ = K {0}. If K is an infinite field, we can identify polynomials f ∈ K[x1 , . . . , xn ] with their associated polynomial function f˜ : K n −→ K,
(p1 , . . . , pn ) −→ f (p1 , . . . , pn ) ,
but for finite fields f˜ may be zero for a non–zero f (cf. Exercise 1.1.4). Any polynomial in n − 1 variables can be considered as a polynomial in n variables (where the n–th variable does not appear) with the usual ring operations on polynomials in n variables. Hence, A[x1 , . . . , xn−1 ] ⊂ A[x1 , . . . , xn ] is a subring and it follows directly from the definition of polynomials that A[x1 , . . . , xn ] = (A[x1 , . . . , xn−1 ])[xn ] . Hence, we can write f ∈ A[x1 , . . . , xn ] in a unique way, either as f=
finite
aα xα , aα ∈ A
α∈Nn
or as f=
finite
fν xνn ,
fν ∈ A[x1 , . . . , xn−1 ] .
ν∈N
The first representation of f is called distributive while the second is called recursive. Remark 1.1.4. Both representations play an important role in computer algebra. The practical performance of an implemented algorithm may depend drastically on the internal representation of polynomials (in the computer). Usually the distributive representation is chosen for algorithms related to Gr¨ obner basis computations while the recursive representation is preferred for algorithms related to factorization of polynomials. Definition 1.1.5. A morphism or homomorphism of rings is a map ϕ : A → B satisfying ϕ(a + a ) = ϕ(a) + ϕ(a ), ϕ(aa ) = ϕ(a)ϕ(a ), for all a, a ∈ A, and ϕ(1) = 1. We call a morphism of rings also a ring map, and B is called an A–algebra.1 We have ϕ(a) = ϕ(a · 1) = ϕ(a) · 1. If ϕ is fixed, we also write a · b instead of ϕ(a) · b for a ∈ A and b ∈ B. 1
See also Example 2.1.2 and Definition 2.1.3.
4
1. Rings, Ideals and Standard Bases
Lemma 1.1.6. Let A[x1 , . . . xn ] be a polynomial ring, ψ : A → B a ring map, C a B–algebra, and f1 , . . . , fn ∈ C. Then there exists a unique ring map ϕ : A[x1 , . . . , xn ] −→ C satisfying ϕ(xi ) = fi for i = 1, . . . , n and ϕ(a) = ψ(a) · 1 ∈ C for a ∈ A. Proof. Given any f = α aα xα ∈ A[x], then a ring map ϕ with ϕ(xi ) = fi , and ϕ(a) = ψ(a) for a ∈ A must satisfy (by Definition 1.1.5) ψ(aα )ϕ(x1 )α1 · . . . · ϕ(xn )αn . ϕ(f ) = α
Hence, ϕ is uniquely determined. Moreover, defining ϕ(f ) for f ∈ A[x] by the above formula, it is easy to see that ϕ becomes a homomorphism, which proves existence. We shall apply this lemma mainly to the case where C is the polynomial ring B[y1 , . . . , ym ]. In Singular one can define polynomial rings over the following fields: (1) (2) (3) (4) (5) (6) (7) (8)
the field of rational numbers Q, finite fields Fp , p a prime number ≤ 32003, finite fields GF(pn ) with pn elements, p a prime, pn ≤ 215 , transcendental extensions of Q or Fp , simple algebraic extensions of Q or Fp , simple precision real floating point numbers, arbitrary prescribed real floating point numbers, arbitrary prescribed complex floating point numbers.
For the definitions of rings over fields of type (3) and (5) we use the fact that for a polynomial ring K[x] in one variable x over a field and f ∈ K[x] {0} the quotient ring K[x]/f is a field if and only if f is irreducible, that is, f cannot be written as a product of two polynomials of lower degree (cf. Exercise 1.1.5). If f is irreducible and monic, then it is called the minimal polynomial of the field extension K ⊂ K[x]/f (cf. Example 1.1.8). Remark 1.1.7. Indeed, the computation over the above fields (1) – (5) is exact, only limited by the internal memory of the computer. Strictly speaking, floating point numbers, as in (6) – (8), do not represent the field of real (or complex) numbers. Because of rounding errors, the product of two non–zero elements or the difference between two unequal elements may be zero (the latter case is the more serious one since the individual elements may be very big). Of course, in many cases one can trust the result, but we should like to emphasize that this remains the responsibility of the user, even if one computes with very high precision.
1.1 Rings, Polynomials and Ring Maps
5
In Singular, field elements have the type number but notice that one can define and use numbers only in a polynomial ring with at least one variable and a specified monomial ordering. For example, if one wishes to compute with arbitrarily big integers or with exact arithmetic in Q, this can be done as follows: SINGULAR Example 1.1.8 (computation in fields). In the examples below we have used the degree reverse lexicographical ordering dp but we could have used any other monomial ordering (cf. Section 1.2). Actually, this makes no difference as long as we do simple manipulations with polynomials. However, more complicated operations on ideals such as the std or groebner command return results which depend very much on the chosen ordering. (1) Computation in the field of rational numbers: ring A = 0,x,dp; number n = 12345/6789; n^5; //common divisors are cancelled //-> 1179910858126071875/59350279669807543 Note: Typing just 123456789^5; will result in integer overflow since 123456789 is considered as an integer (machine integer of limited size) and not as an element in the field of rational numbers; however, also correct would be number(123456789)^5;. (2) Computation in finite fields: ring A1 = 32003,x,dp; number(123456789)^5; //-> 8705
//finite field Z/32003
ring A2 = (2^3,a),x,dp; //finite (Galois) field GF(8) //with 8 elements number n = a+a2; //a is a generator of the group //GF(8)-{0} n^5; //-> a6 minpoly; //minimal polynomial of GF(8) //-> 1*a^3+1*a^1+1*a^0 ring A3 = (2,a),x,dp; minpoly = a20+a3+1;
number n = a+a2;
//infinite field Z/2(a) of //characteristic 2 //define a minimal polynomial //a^20+a^3+1 //now the ground field is //GF(2^20)=Z/2[a]/, //a finite field
6
1. Rings, Ideals and Standard Bases
n^5;
//with 2^20 elements //a is a generator of the group //GF(2^20)-{0}
//-> (a10+a9+a6+a5) Note: For computation in finite fields Z/pZ, p ≤ 32003, respectively GF (pn ), pn ≤ 215 , one should use rings as A1 respectively A2 since for these fields Singular uses look–up tables, which is quite fast. For other finite fields a minimal polynomial as in A3 must be specified. A good choice are the Conway polynomials (cf. [126]). Singular does not, however, check the irreducibility of the chosen minimal polynomial. This can be done as in the following example. ring tst = 2,a,dp; factorize(a20+a2+1,1); //-> _[1]=a3+a+1 //not irreducible! We have two factors //-> _[2]=a7+a5+a4+a3+1 factorize(a20+a3+1,1); //irreducible //-> _[1]=a20+a3+1 To obtain the multiplicities of the factors, use factorize(a20+a2+1);. (3) Computation with real and complex floating point numbers, 30 digits precision: ring R1 = (real,30),x,dp; number n = 123456789.0; n^5; //compute with a precision of 30 digits //-> 0.286797186029971810723376143809e+41 Note: n5 is a number whose integral part has 41 digits (indicated by e+41). However, only 30 digits are computed. ring R2 = (complex,30,I),x,dp;//I denotes imaginary unit number n = 123456789.0+0.0001*I; n^5; //complex number with 30 digits precision //-> (0.286797186029971810723374262133e+41 +I*116152861399129622075046746710) (4) Computation with rational numbers and parameters, that is, in Q(a, b, c), the quotient field of Q[a, b, c]: ring R3 = (0,a,b,c),x,dp; number n = 12345a+12345/(78bc); n^2; //->(103021740900a2b2c2+2641583100abc+16933225)/(676b2c2) n/9c; //-> (320970abc+4115)/(234bc2)
1.1 Rings, Polynomials and Ring Maps
7
We shall now show how to define the polynomial ring in n variables x1 , . . . , xn over the above mentioned fields K. We can do this for any n, but we have to specify an integer n first. The same remark applies if we work with transcendental extensions of degree m; we usually call the elements t1 , . . . , tm of a transcendental basis (free) parameters. If g is any non–zero polynomial in the parameters t1 , . . . , tm , then g and 1/g are numbers in the corresponding ring. For further examples see the Singular Manual [116]. SINGULAR Example 1.1.9 (computation in polynomial rings). Let us create polynomial rings over different fields. By typing the name of the ring we obtain all relevant information about the ring. ring A = 0,(x,y,z),dp; poly f = x3+y2+z2; //same as x^3+y^2+z^2 f*f-f; //-> x6+2x3y2+2x3z2+y4+2y2z2+z4-x3-y2-z2 Singular understands short (e.g., 2x2+y3) and long (e.g., 2*x^2+y^3) input. By default the short output is displayed in rings without parameters and with one–letter variables, whilst the long output is used, for example, for indexed variables. The command short=0; forces all output to be displayed in the long format. Computations in polynomial rings over other fields follow the same pattern. Try ring R=32003,x(1..3),dp; (finite ground field), respectively ring R=(0,a,b,c),(x,y,z,w),dp; (ground field with parameters), and type R; to obtain information about the ring. The command setring allows switching from one ring to another, for example, setring A4; makes A4 the basering. We use Lemma 1.1.6 to define ring maps in Singular. Indeed, one has three possibilities, fetch, imap and map, to define ring maps by giving the name of the preimage ring and a list of polynomials f1 , . . . , fn (as many as there are variables in the preimage ring) in the current basering. The commands fetch, respectively imap, map an object directly from the preimage ring to the basering whereas fetch maps the first variable to the first, the second to the second and so on (hence, is convenient for renaming the variables), while imap maps a variable to the variable with the same name (or to 0 if it does not exist), hence is convenient for inclusion of sub–rings or for changing the monomial ordering. Note: All maps go from a predefined ring to the basering.
8
1. Rings, Ideals and Standard Bases
SINGULAR Example 1.1.10 (methods for creating ring maps). map: preimage ring −→ basering (1) General definition of a map: ring A = 0,(a,b,c),dp; poly f = a+b+ab+c3; ring B = 0,(x,y,z),dp; map F = A, x+y,x-y,z;//map F from ring A (to basering B) //sending a -> x+y, b -> x-y, c -> z poly g = F(f); //apply F g; //-> z3+x2-y2+2x (2) Special maps (imap, fetch): ring A1 = 0,(x,y,c,b,a,z),dp; imap(A,f); //imap preserves names of variables //-> c3+ba+b+a fetch(A,f); //fetch preserves order of variables //-> c3+xy+x+y
Exercises 1.1.1. The set of units A∗ of a ring A is a group under multiplication. 1.1.2. The direct sum of rings A ⊕ B, together with component–wise addition and multiplication is again a ring. 1.1.3. Prove that, for n ∈ Z, the following are equivalent: (1) Z/n is a field. (2) Z/n is an integral domain. (3) n is a prime number. 1.1.4. Let K be a field and f ∈ K[x1 , . . . , xn ]. Then f determines a polynomial function f : K n → K, (p1 , . . . , pn ) → f (p1 , . . . , pn ). (1) If K is infinite then f is uniquely determined by f˜. (2) Show by an example that this is not necessarily true for K finite. (3) Let K be a finite field with q elements. Show that each polynomial f ∈ K[x1 , . . . , xn ] of degree at most q − 1 in each variable is already determined by the polynomial function f : K n → K. 1.1.5. Let f ∈ K[x] be a non–constant polynomial in one variable over the field K. f is called irreducible if f ∈ K and if it is not the product of two polynomials of strictly smaller degree. Prove that the following are equivalent:
1.2 Monomial Orderings
9
(1) K[x]/f is a field. (2) K[x]/f is an integral domain. (3) f is irreducible. 1.1.6. An irreducible polynomial f = an xn + · · · + a1 x + a0 ∈ K[x], K a field, is called separable, if f has only simple roots in K, the algebraic closure of K. An algebraic field extension K ⊂ L is called separable if any element a ∈ L is separable over K, that is, the minimal polynomial of a over K is separable. (1) Show that f = 0 is separable if and only if f and its formal derivative Df := nan xn−1 + · · · + a1 have no common factor of degree ≥ 1. (2) A finite separable field extension K ⊂ L is generated by a primitive element , that is, there exists an irreducible f ∈ K[x] such that L∼ = K[x]/f . (3) K is called a perfect field if every irreducible polynomial f ∈ K[x] is separable. Show that finite fields, algebraically closed fields and fields of characteristic 0 are perfect. 1.1.7. Which of the fields in Singular, (1) – (5), are perfect, which not? 1.1.8. Compute (10!)^5 with the help of Singular. 1.1.9. Declare in Singular a polynomial ring in the variables x(1), x(2), x(3), x(4) over the finite field with eight elements 1.1.10. Declare in Singular the ring A = Q(a, b, c)[x, y, z, w] and compute f 2 /c2 for f = (ax3 + by 2 + cz 2 )(ac − bc). 1.1.11. Declare in Singular the rings A = Q[a, b, c] and B = Q[a]. In A define the polynomial f = a + b + ab + c3 . Try in B the commands imap(A,f) and fetch(A,f). 1.1.12. Declare in Singular the ring Q(i)[u, v, w], i2 = −1, and compute 3 (i + i2 + 1)(uvw) . 1.1.13. Write a Singular procedure, depending on two integers p, d, with p a prime, which returns all polynomials in Fp [x] of degree d such that the corresponding polynomial function vanishes. Use the procedure to display all f ∈ (Z/5Z)[x] of degree ≤ 6 such that f˜ = 0.
1.2 Monomial Orderings The presentation of a polynomial as a linear combination of monomials is unique only up to an order of the summands, due to the commutativity of the addition. We can make this order unique by choosing a total ordering on the set of monomials. For further applications it is necessary, however, that the ordering is compatible with the semigroup structure on Monn .
10
1. Rings, Ideals and Standard Bases
Definition 1.2.1. A monomial ordering or semigroup ordering is a total (or linear) ordering > on the set of monomials Monn = {xα | α ∈ Nn } in n variables satisfying xα > xβ =⇒ xγ xα > xγ xβ for all α, β, γ ∈ Nn . We say also > is a monomial ordering on A[x1 , . . . , xn ], A any ring, meaning that > is a monomial ordering on Monn . We identify Monn with Nn , and then a monomial ordering is a total ordering on Nn , which is compatible with the semigroup structure on Nn given by addition. A typical, and important, example is provided by the lexicographical ordering on Nn : xα > xβ if and only if the first non–zero entry of α − β is positive. We shall see different monomial orderings later. Monomial orderings provide an extra structure on the set of monomials and, hence, also on the polynomial ring. Although they have been used in several places to prove difficult mathematical theorems they are hardly part of classical commutative algebra. Monomial orderings, however, can be quite powerful tools in theoretical investigations (cf. [98]) but, in addition, they are indispensable in many serious and deeper polynomial computations. From a practical point of view, a monomial ordering > allows us to write a polynomial f ∈ K[x] in a unique ordered way as f = aα xα + aβ xβ + · · · + aγ xγ , with xα > xβ > · · · > xγ , where no coefficient is zero (a sparse representation of f ). Moreover, this allows the representation of a polynomial in a computer as an ordered list of coefficients, making equality tests very simple and fast (assuming this is the case for the ground field). Additionally, this order does not change if we multiply f with a monomial. For highly sophisticated presentations of monomials and polynomials in a computer see [10]. There are many more and deeper properties of monomial orderings and, moreover, different orderings have different further properties. Definition 1.2.2. Let > be a fixed monomial ordering. Write f ∈ K[x], f = 0, in a unique way as a sum of non–zero terms f = aα xα + aβ xβ + · · · + aγ xγ ,
xα > xβ > · · · > xγ ,
and aα , aβ , . . . , aγ ∈ K. We define: (1) (2) (3) (4) (5)
LM(f ) := leadmonom(f):= xα , the leading monomial of f , LE(f ) := leadexp(f):= α, the leading exponent of f , LT(f ) := lead(f):= aα xα , the leading term or head of f , LC(f ) := leadcoef(f):= aα , the leading coefficient of f tail(f ) := f − lead(f)= aβ xβ + · · · + aγ xγ , the tail of f .
1.2 Monomial Orderings
11
Let us consider an example with the lexicographical ordering. In Singular every polynomial belongs to a ring which has to be defined first. We define the ring A = Q[x, y, z] together with the lexicographical ordering. A is the name of the ring, 0 the characteristic of the ground field Q, x, y, z are the names of the variables and lp defines the lexicographical ordering with x > y > z, see Example 1.2.8. SINGULAR Example 1.2.3 (leading data). ring A = 0,(x,y,z),lp; poly f = y4z3+2x2y2z2+3x5+4z4+5y2; f; //display //-> 3x5+2x2y2z2+y4z3+5y2+4z4 leadmonom(f); //leading //-> x5 leadexp(f); //leading //-> 5,0,0 lead(f); //leading //-> 3x5 leadcoef(f); //leading //-> 3 f - lead(f); //tail //-> 2x2y2z2+y4z3+5y2+4z4
f in a lex-ordered way monomial exponent term coefficient
The most important distinction is between global and local orderings. Definition 1.2.4. Let > be a monomial ordering on {xα | α ∈ Nn }. (1) > is called a global ordering if xα > 1 for all α = (0, . . . , 0), (2) > is called a local ordering if xα < 1 for all α = (0, . . . , 0), (3) > is called a mixed ordering if it is neither global nor local. Of course, if we turn the ordering around by setting xα > xβ if xβ > xα , then > is global if and only if > is local. However, local and global (and mixed) orderings have quite different properties. Here are the most important characterizations of a global ordering. Lemma 1.2.5. Let > be a monomial ordering, then the following conditions are equivalent: (1) (2) (3) (4)
> is a well–ordering. xi > 1 for i = 1, . . . , n. xα > 1 for all α = (0, . . . , 0), that is, > is global. α ≥nat β and α = β implies xα > xβ .
The last condition means that > is a refinement of the natural partial ordering on Nn defined by (α1 , . . . , αn ) ≥nat (β1 , . . . , βn ) :⇐⇒ αi ≥ βi for all i .
12
1. Rings, Ideals and Standard Bases
Proof. (1) ⇒ (2): if xi < 1 for some i, then xpi < xp−1 < 1, yielding a set of i monomials without smallest element (recall that a well–ordering is a total ordering on a set such that each non–empty subset has a smallest element). (2) ⇒ (3): write xα = xα xj for some j and use induction. For (3) ⇒ (4) let (α1 , . . . , αn ) ≥nat (β1 , . . . , βn ) and α = β. Then γ := α − β ∈ Nn {0}, hence xγ > 1 and, therefore, xα = xβ xγ > xβ . (4) ⇒ (1): Let M be a non–empty set of monomials. By Dickson’s Lemma (Lemma 1.2.6) there is a finite subset B ⊂ M such that for each xα ∈ M there is an xβ ∈ B with β ≤nat α. By assumption, xβ < xα or xβ = xα , that is, B contains a smallest element of M with respect to >. Lemma 1.2.6 (Dickson, 1913). Let M ⊂ Nn be any subset. Then there is a finite set B ⊂ M satisfying ∀ α ∈ M ∃ β ∈ B such that β ≤nat α . B is sometimes called a Dickson basis of M . Proof. We write ≥ instead of ≥nat and use induction on n. For n = 1 we can take the minimum of M as the only element of B. For n > 1 and i ∈ N define Mi = {α = (α1 , . . . , αn−1 ) ∈ Nn−1 | (α , i) ∈ M } basis Bi . and, by induction, Mi has a Dickson Again, by induction hypothesis, i∈N Bi has a Dickson basis B . B is finite, hence B ⊂ B1 ∪ · · · ∪ Bs for some s. We claim that B := {(β , i) ∈ Nn | 0 ≤ i ≤ s, β ∈ Bi } is a Dickson basis of M . To see this, let (α , αn ) ∈ M . Then α ∈ Mαn and, since Bαn is a Dickson basis of Mαn , there is a β ∈ Bαn with β ≤ α . If αn ≤ s, then (β , αn ) ∈ B and (β , αn ) ≤ (α , αn ). If αn > s, we can find a γ ∈ B and an i ≤ s such that γ ≤ β and (γ , i) ∈ Bi . Then (γ , i) ∈ B and (γ , i) ≤ (α , αn ). Remark 1.2.7. If A is an n × n integer matrix with only non–negative entries and determinant = 0, and if > is a monomial ordering, we can define a matrix ordering >(A,>) by setting xα >(A,>) xβ :⇐⇒ xAα > xAβ where α and β are considered as column vectors. By Exercise 1.2.6 (2), >(A,>) is again a monomial ordering. We can even use matrices A ∈ GL(n, R) with real entries to obtain a monomial ordering by setting xα >A xβ :⇐⇒ Aα > Aβ ,
1.2 Monomial Orderings
13
where > on the right–hand side is the lexicographical ordering on Rn . Robbiano proved in [196], that every monomial ordering arises in this way from the lexicographical ordering on Rn . However, we do not need this fact (cf. Exercise 1.2.9). Important examples of monomial orderings are: Example 1.2.8 (monomial orderings). In the following examples we fix an enumeration x1 , . . . , xn of the variables, any other enumeration leads to a different ordering. (1) Global Orderings (i) Lexicographical ordering >lp (also denoted by lex): xα >lp xβ :⇐⇒ ∃ 1 ≤ i ≤ n : α1 = β1 , . . . , αi−1 = βi−1 , αi > βi . (ii) Degree reverse lexicographical ordering >dp (denoted by degrevlex): xα >dp xβ :⇐⇒ deg xα > deg xβ or deg xα = deg xβ and ∃ 1 ≤ i ≤ n :
αn = βn , . . . , αi+1 = βi+1 , αi < βi ,
where deg xα = α1 + · · · + αn . (iii) Degree lexicographical ordering >Dp (also denoted by deglex): xα >Dp xβ :⇐⇒ deg xα > deg xβ or deg xα = deg xβ and ∃ 1 ≤ i ≤ n :
α1 = β1 , . . . , αi−1 = βi−1 , αi > βi .
In all three cases x1 , . . . , xn > 1. For example, we have x31 >lp x21 x22 but x21 x22 >dp,Dp x31 . An example where dp and Dp differ: x21 x2 x23 >Dp x1 x32 x3 but x1 x32 x3 >dp x21 x2 x23 . Given a vector w = (w1 , . . . , wn ) of integers, we define the weighted degree of xα by w–deg(xα ) := w, α := w1 α1 + · · · + wn αn , that is, the variable xi has degree wi . For a polynomial f = α aα xα , we define the weighted degree, w–deg(f ) := max w–deg(xα ) aα = 0 . Using the weighted degree in (ii), respectively (iii), with all wi > 0, instead of the usual degree, we obtain the weighted reverse lexicographical ordering, wp(w1 , . . . , wn ), respectively the weighted lexicographical ordering, Wp(w1 , . . . , wn ).
14
1. Rings, Ideals and Standard Bases
(2) Local Orderings (i) Negative lexicographical ordering >ls : xα >ls xβ :⇐⇒ ∃ 1 ≤ i ≤ n, α1 = β1 , . . . , αi−1 = βi−1 , αi < βi . (ii) Negative degree reverse lexicographical ordering >ds : xα >ds xβ :⇐⇒ deg xα < deg xβ , where deg xα = α1 + · · · + αn , or deg xα = deg xβ and ∃ 1 ≤ i ≤ n : αn = βn , . . . , αi+1 = βi+1 , αi < βi . (iii) Negative degree lexicographical ordering >Ds : xα >Ds xβ :⇐⇒ deg xα < deg xβ , or deg xα = deg xβ and ∃ 1 ≤ i ≤ n :
α1 = β1 , . . . , αi−1 = βi−1 , αi > βi .
Similarly, as above, we can define weighted versions ws(w1 , . . . , wn ) and Ws(w1 , . . . , wn ) of the two last local orderings. (3) Product or Block Orderings Now consider >1 , a monomial ordering on Mon(x1 , . . . , xn ), and >2 , a monomial ordering on Mon(y1 , . . . , ym ). Then the product ordering or block ordering >, also denoted by (>1 , >2 ) on Mon(x1 , . . . , xn , y1 , . . . , ym ), is defined as
xα y β > xα y β :⇐⇒ xα >1 xα or xα = xα and y β >2 y β . If >1 is a global ordering then the product ordering has the property that monomials which contain an xi are always larger than monomials containing no xi . If the special orderings >1 on Mon(x1 , . . . , xn ) and >2 on Mon(y1 , . . . , ym ) are irrelevant, for a product ordering on Mon(x1 , . . . , xn , y1 , . . . , ym ) we write just x y. If >1 and >2 are global (respectively local), then the product ordering is global (respectively local) but the product ordering is mixed if one of the orderings >1 and >2 is global and the other local. This is how mixed orderings arise in a natural way. Definition 1.2.9. A monomial ordering > on {xα | α ∈ Nn } is called a weighted degree ordering if there exists a vector w = (w1 , . . . , wn ) of non– zero integers such that w–deg(xα ) > w–deg(xβ ) =⇒ xα > xβ . It is called a global (respectively local ) degree ordering if the above holds for wi = 1 (respectively wi = −1) for all i.
1.2 Monomial Orderings
15
Remark 1.2.10. Consider a matrix ordering defined by A ∈ GL(n, R). Since the columns of A are lexicographically greater than the 0–vector if and only if the variables are greater than 1, it follows that a matrix ordering >A is a well–ordering if and only if the first non–zero entry in each column of A is positive. It is a (weighted) degree ordering if and only if all entries in the first row of A are non–zero. Of course, different matrices can define the same ordering. For examples of matrices defining the above orderings see the Singular Manual. Although we can represent any monomial ordering > as a matrix ordering >A for some A ∈ GL(n, R), it turns out to be useful to represent > just by one weight vector. This is, in general, not possible on the set of all monomials (cf. Exercise 1.2.10) but it is possible, as we shall see, for finite subsets. For this purpose, we introduce the set of differences D := {α − β | xα > xβ } ⊂ Zn associated to a monomial ordering on Mon(x1 , . . . , xn ). D has the following properties, • 0 ∈ D, • γ1 , γ2 ∈ D =⇒ γ1 + γ2 ∈ D. The last property follows from the fact that > is a semigroup ordering. Namely, if γ1 = α1 − β1 , γ2 = α2 − β2 ∈ D, then xα1 > xβ1 implies that xα1 +α2 > xβ1 +α2 , and xα2 > xβ2 implies that xβ1 +α2 > xβ1 +β2 , therefore xα1 +α2 > xβ1 +β2 and γ1 + γ2 = (α1 + α2 ) − (β1 + β2 ) ∈ D. k It follows that i=1 ni γi ∈ D for ni ∈ N {0} and γi ∈ D, and, hence, k of elements of D with ri ∈ Q>0 . i=1 ri γi = 0 for any finite linear combination In particular, no convex combination ki=1 ri γi , ri ∈ Q≥0 , ki=1 ri = 1, yields 0, that is, 0 is not contained in the convex hull of D. This fact will be used in the following lemma. Lemma 1.2.11. Let > be a monomial ordering and M ⊂ Mon(x1 , . . . , xn ) a finite set. Then there exists some w = (w1 , . . . , wn ) ∈ Zn such that xα > xβ if and only if w, α > w, β for all xα , xβ ∈ M . Moreover, w can be chosen such that wi > 0 for xi > 1 and wi < 0 if xi < 1. The integer vector w is called a weight–vector and we say that w induces > on M . Proof. Since w, α > w, β if and only if w, α − β > 0, we have to find w ∈ Zn such that w, γ > 0 for all γ ∈ DM := {α − β ∈ D | xα , xβ ∈ M, xα > xβ } . This means that DM should be in the positive half–space defined by the linear form w, − on Qn . Since 0 is not contained in the convex hull of DM and
16
1. Rings, Ideals and Standard Bases
since DM is finite, we can, indeed, find such a linear form (see, for example, [221], Theorem 2.10). To see the last statement, include 1 and xi , i = 1, . . . , n, into M . Then wi > 0 if xi > 1 and wi < 0 if xi < 1. Example 1.2.12. A weight vector for the lexicographical ordering lp can be determined as follows. For M ⊂ Monn finite, consider an n–dimensional cube spanned by the coordinate axes containing M . Choose an integer v larger than the side length of this cube. Then w = (v n−1 , v n−2 , . . . , v, 1) induces lp on M. We shall now define in Singular the same ring Q[x, y, z] with different orderings, which are considered as different rings in Singular. Then we map a given polynomial f to the different rings using imap and display f as a sum of terms in decreasing order, the method by which f is represented in the given ring. SINGULAR Example 1.2.13 (monomial orderings). Global orderings are denoted with a p at the end, referring to “polynomial ring” while local orderings end with an s, referring to “series ring”. Note that Singular stores and outputs a polynomial in an ordered way, in decreasing order. (1) Global orderings: ring A1 = 0,(x,y,z),lp; //lexicographical poly f = x3yz + y5 + z4 + x3 + xy2; f; //-> x3yz+x3+xy2+y5+z4 ring A2 = 0,(x,y,z),dp; poly f = imap(A1,f); f; //-> y5+x3yz+z4+x3+xy2
//degree reverse lexicographical
ring A3 = 0,(x,y,z),Dp; poly f = imap(A1,f); f; //-> x3yz+y5+z4+x3+xy2
//degree lexicographical
ring A4 = 0,(x,y,z),Wp(5,3,2);//weighted degree //lexicographical poly f = imap(A1,f); f; //-> x3yz+x3+y5+xy2+z4 (2) Local orderings: ring A5 = 0,(x,y,z),ls; poly f = imap(A1,f); f; //-> z4+y5+xy2+x3+x3yz
//negative lexicographical
1.2 Monomial Orderings
ring A6 = 0,(x,y,z),ds;
17
//negative degree reverse //lexicographical
poly f = imap(A1,f); f; //-> x3+xy2+z4+y5+x3yz ring A7 = 0,(x,y,z),Ws(5,3,2);//negative weighted degree //lexicographical poly f = imap(A1,f); f; //-> z4+xy2+x3+y5+x3yz (3) Product and matrix orderings: ring A8 = 0,(x,y,z),(dp(1),ds(2)); //mixed product ordering poly f = imap(A1,f); f; //-> x3+x3yz+xy2+z4+y5 intmat A[3][3] = -1, -1, -1, 0, 0, 1, 0, 1, 0; print(A); //-> -1 -1 -1 //-> 0 0 1 //-> 0 1 0 Now define your own matrix ordering using A: ring A9 = 0,(x,y,z),M(A); //a local ordering poly f = imap(A1,f); f; //-> xy2+x3+z4+x3yz+y5
Exercises 1.2.1. Show that lp, dp, Dp, wp(w(1..m)), Wp(w(1..n)), respectively ls, ds, Ds, ws(w(1..m)), Ws(w(1..n)), as defined in Example 1.2.8 are indeed global, respectively local, monomial orderings. 1.2.2. Determine the names of the orderings given by the following matrices: 1 1 0 0 −1 0 1 2 1 1 −1 −1 0 −1 0 0 1 0), , ( , , , . 0 −1 0 −1 0 −1 0 −1 0 0 −1 −1 01 0
4
5
3
4
0
0 −1
2 2
1.2.3. Order the polynomial x + z + x z + yz + x y with respect to the orderings dp,Dp,lp,ds,Ds,ls,wp(5,3,4),ws(5,5,4). 1.2.4. Compute the leading term and the leading coefficient f = 4xy 2 z + 4z 2 − 5x3 + 7xy 2 − 7y 4 with respect to the orderings lp on Q[x, y, z], lp on Q(x)[z, y], lp on Q[z, y, x], Dp on (Z/2Z)[z, y, x], ls on Q[x, y, z], wp(w(1..3)) on (Z/2Z)[x, y, z], where wp(w(1..3)) is given by w–deg(xα y β z γ ) := 3α + 2β + γ.
18
1. Rings, Ideals and Standard Bases
1.2.5. Determine matrices defining the orderings dp, Dp, lp, ds, Ds, ls, wp(5,3,4), ws(5,5,4). 1.2.6. Let > be any monomial ordering on Mon(x1 , . . . , xn ). (1) Let w = (w1 , . . . , wn ) ∈ Rn be arbitrary. Show that xα >w xβ :⇐⇒ w, α > w, β or w, α = w, β and xα > xβ defines a monomial ordering on Mon(x1 , . . . , xn ). Note that the ordering >w is a (weighted) degree ordering. It is a global ordering if wi > 0 for all i and a local ordering if wi < 0 for all i. (2) Let A be an n × n integer matrix with non–negative entries, which is invertible over Q. Show that xα >(A,>) xβ ⇔ xAα > xAβ defines a monomial ordering on Mon(x1 , . . . , xn ). 1.2.7. (1) Prove the claim made in Example 1.2.12. (2) Consider a matrix ordering >A for some matrix A ∈ GL(n, Q) and M ⊂ Monn a finite set. Use (1) and the fact that xα >A xβ if and only if Aα >lex Aβ to determine a weight vector which induces >A on M . 1.2.8. (1) Determine weight vectors w which induce dp, respectively ds, on M = {xi y j z k | 1 ≤ i, j, k ≤ 5}. (2) Check your result, using Singular, in the following way: create a polynomial f , being the sum of all monomials of degree ≤ 5 in the rings with ordering dp, respectively ds, and convert f to a string. Then do the same in the rings with ordering wp(w), respectively ws(-w), ((a(w),lp), respectively (a(-w),lp)), and compare the respective strings. 1.2.9. Show that any monomial ordering > can be defined as >A by a matrix A ∈ GL(n, R). (Hint: You may proceed as follows: first show that a semigroup ordering on (Zn≥0 , +) extends in a unique way to a group ordering on (Qn , +). Then show that, for any Q–subvector space V ⊂ Qn of dimension r, the set ∀ ε > 0 ∃ z (ε), z (ε) ∈ U (z) ∩ V + − ε V0 := z ∈ Rn such that z+ (ε) > 0, z− (ε) < 0 is an R–subvector space in Rn of dimension r − 1. Use this to construct, successively, the rows of A.) 1.2.10. Let w1 , . . . , w n ∈ R be linearly n independent over Q and define > n by setting xα < xβ if i=1 wi αi < i=1 wi βi . Prove that > is a monomial ordering. Show that there is no matrix A ∈ GL(n, Q) defining this ordering.
1.3 Ideals and Quotient Rings
19
1.3 Ideals and Quotient Rings Ideals are in the centre of commutative algebra and algebraic geometry. Here we introduce only the basic notions related to them. Let A be a ring, as always, commutative and with 1. Definition 1.3.1. A subset I ⊂ A is called an ideal if it is an additive subgroup which is closed under scalar multiplication, that is, f, g ∈ I =⇒ f + g ∈ I f ∈ I, a ∈ A =⇒ af ∈ I. Definition 1.3.2. (1) Let I ⊂ A be an ideal. A family (fλ )λ∈Λ , Λ any index set, and fλ ∈ I, is called a system of generators of I if every element f ∈ I can be expressed as a finite linear combination f = λ aλ fλ for suitable aλ ∈ A. We then write fλ A I = fλ | λ ∈ ΛA = fλ | λ ∈ Λ = λ∈Λ
or, if Λ = {1, . . . , k}, I = f1 , . . . , fk A = f1 , . . . , fk . (2) I is called finitely generated if it has a finite system of generators; it is called principal if it can be generated by one element. (3) If (I λ )λ∈Λ is a family of ideals, then λ∈Λ Iλ denotes the ideal generated by λ∈Λ Iλ . (4) If I1 , I2 are ideals, then I1 I2 (or I1 · I2 ) denotes the ideal generated by the set {ab | a ∈ I1 , b ∈ I2 }. Note that the union of ideals is, in general, not an ideal (but the intersection is). We have Iλ = aλ aλ ∈ Iλ , aλ = 0 for almost all λ . λ∈Λ
λ∈Λ
Because the empty sum is defined to be 0, the 0–ideal is generated by the empty set (but also by 0). The expression f = λ aλ fλ as a linear combination of the generators is, in general, by no means unique. For example, if I = f1 , f2 then we have the trivial relation f1 f2 − f2 f1 = 0, hence a1 f1 = a2 f2 with a1 = f2 , a2 = f1 . Usually there are also further relations, which lead to the notion of the module of syzygies (cf. Chapter 2). Ideals occur in connection with ring maps. If ϕ : A → B is a ring homomorphism and J ⊂ B an ideal, then the preimage
20
1. Rings, Ideals and Standard Bases
ϕ−1 (J) = {a ∈ A | ϕ(a) ∈ J} is an ideal. In particular, Ker ϕ = {a ∈ A | ϕ(a) = 0} is an ideal in A. On the other hand, the image ϕ(I) = {ϕ(a) | a ∈ I} of an ideal I ⊂ A is, in general, not an ideal. In particular, Im ϕ = ϕ(A) ⊂ B is not, generally, an ideal (for example, consider Z ⊂ Q, then no non–zero ideal in Z is an ideal in Q). All these statements are very easy to check. ϕ is called injective if Ker ϕ = 0, and surjective if Im ϕ = B. A bijective, that is injective and surjective, morphism is called an isomorphism, an isomorphism from A to A an automorphism. Singular contains the built–in command preimage which can be used to compute the kernel of a ring map. If a ring map ϕ : K[x1 , . . . , xk ] → K[y1 , . . . , ym ] is given by f1 , . . . , fk , that is, ϕ(xi ) = fi , then ϕ is surjective if and only if y1 , . . . , ym are contained in the subring Im ϕ = K[f1 , . . . , fm ] of K[y1 , . . . , ym ]. This fact is used in Singular to check surjectivity. We shall explain the algorithms for checking injectivity, surjectivity, bijectivity of a ring map in Chapter 2. Here we just apply the corresponding procedures from algebra.lib. SINGULAR Example 1.3.3 (properties of ring maps). (1) Checking injectivity: ring S = 0,(a,b,c),lp; ring R = 0,(x,y,z),dp; ideal i = x, y, x2-y3; map phi = S,i; //a map from S to R, a->x, b->y, c->x2-y3 LIB "algebra.lib"; //load algebra.lib By default, Singular displays the names and paths of those libraries which are used by algebra.lib and which are also loaded. We suppress this message. We test injectivity using the procedure is_injective, then we compute the kernel by using the procedure alg_kernel (which displays the kernel, an object of the preimage ring, as a string). is_injective(phi,S); //-> 0
// phi is not injective
1.3 Ideals and Quotient Rings
ideal j = x, x+y, z-x2+y3; map psi = S,j; is_injective(psi,S); //-> 1
21
// another map from S to R // psi is injective
alg_kernel(phi,S); //-> b^3-a^2+c alg_kernel(psi,S); //-> 0
// = Ker(phi)
(2) Computing the preimage: Using the preimage command, we must first go back to S, since the preimage is an ideal in the preimage ring. ideal Z; setring S; preimage(R,phi,Z); //-> _[1]=a2-b3-c
//the zero ideal in R //computes kernel of phi in S //kernel of phi = preimage of Z
(3) Checking surjectivity and bijectivity. setring R; is_surjective(psi,S); //-> 1 is_bijective(psi,S);
//faster than is_injective, //is_surjective
//-> 1 Definition 1.3.4. A ring A is called Noetherian if every ideal in A is finitely generated. It is a fundamental fact that the polynomial ring A[x1 , . . . , xn ] over a Noetherian ring A is again Noetherian; this is the content of the Hilbert basis theorem. Since a field is obviously a Noetherian ring, the polynomial ring over a field is Noetherian. It follows that the kernel of a ring map between Noetherian rings is finitely generated. An important point of the Singular Example 1.3.3 is that we can explicitly compute a finite set of generators for the kernel of a map between polynomial rings. Theorem 1.3.5 (Hilbert basis theorem). If A is a Noetherian ring then the polynomial ring A[x1 , . . . , xn ] is Noetherian.
22
1. Rings, Ideals and Standard Bases
For the proof of the Hilbert basis theorem we use Proposition 1.3.6. The following properties of a ring A are equivalent: (1) A is Noetherian. (2) Every ascending chain of ideals I1 ⊂ I2 ⊂ I3 ⊂ . . . ⊂ Ik ⊂ . . . becomes stationary (that is, there exists some j0 such that Ij = Ij0 for all j ≥ j0 ). (3) Every non–empty set of ideals in A has a maximal element (with regard to inclusion). Condition (2) is called the ascending chain condition and (3) the maximality condition. We leave the proof of this proposition as Exercise 1.3.9. Proof of Theorem 1.3.5. We need to show the theorem only for n = 1, the general case follows by induction. We argue by contradiction. Let us assume that there exists an ideal I ⊂ A[x] which is not finitely generated. Choose polynomials f1 ∈ I, f2 ∈ I f1 , . . . , fk+1 ∈ I f1 , . . . , fk , . . . of minimal possible degree. If di = deg(fi ), fi = ai xdi + lower terms in x , then d1 ≤ d2 ≤ . . . and a1 ⊂ a1 , a2 ⊂ . . . is an ascending chain of ideals in A. By assumption it is stationary, that is, a1 , . . . , ak = a1 , . . . , ak+1 for some k, hence, ak+1 = ki=1 bi ai for suitable bi ∈ A. Consider the polynomial g = fk+1 −
k
bi xdk+1 −di fi = ak+1 xdk+1 −
i=1
k
bi ai xdk+1 + lower terms .
i=1
Since fk+1 ∈ If1 , . . . , fk , it follows that g ∈ If1 , . . . , fk is a polynomial of degree smaller than dk+1 , a contradiction to the choice of fk+1 . Definition 1.3.7. Let I be any ideal in the ring A. We define the quotient ring or factor ring A/I as follows. (1) A/I is the set of co–sets {[a] := a + I | a ∈ A}2 with addition and multiplication defined via representatives: [a] + [b] := [a + b], [a] · [b] := [a · b]. 2
a + I := {a + f | f ∈ I}.
1.3 Ideals and Quotient Rings
23
It is easy to see that the definitions are independent of the chosen representatives and that (A/I, +, ·) is, indeed, a ring. Moreover, A/I is not the zero ring if and only if 1 ∈ I. (2) The residue map or quotient map is defined by π : A −→ A/I ,
a −→ [a] .
π is a surjective ring homomorphism with kernel I. The following lemma is left as an easy exercise. Lemma 1.3.8. The map J → π(J) induces a bijection {ideals in A containing I} −→ {ideals in A/I} with J → π −1 (J ) being the inverse map. Definition 1.3.9. (1) An element a ∈ A is called a zerodivisor if there exists an element b ∈ A {0} satisfying ab = 0; otherwise a is a non–zerodivisor . (2) A is called an integral domain if A = 0 and if A has no zerodivisors except 0. (3) A is a principal ideal ring if every ideal in A is principal; if A is, moreover, an integral domain it is called a principal ideal domain. Polynomial rings over a field are integral domains (Exercise 1.3.1 (4)). This is, however, not generally true for quotient rings K[x1 , . . . , xn ]/I. For example, if I = f · g with f, g ∈ K[x1 , . . . , xn ] polynomials of positive degree, then [f ] and [g] are zerodivisors in K[x1 , . . . , xn ]/I and not zero. A ring A, which is isomorphic to a factor ring K[x1 , . . . , xn ]/I, is called an affine ring over K. Definition 1.3.10. Let I ⊂ A be an ideal. (1) I is a prime ideal if I = A and if for each a, b ∈ A : ab ∈ I ⇒ a ∈ I or b ∈ I. (2) I is a maximal ideal if I = A and if it is maximal with respect to inclusion (that is, for any ideal I A and I ⊂ I implies I = I ). (3) The set of prime ideals is denoted by Spec(A) and the set of maximal ideals by Max(A). The set of prime ideals Spec(A) of a ring A is made a topological space by endowing it with the so–called Zariski topology, creating, thus, a bridge between algebra and topology. We refer to the Appendix, in particular A.3, for a short introduction. In many cases in the text we use Spec(A) just as a set. But, from time to time, when we think we should relax and enjoy geometry, then we consider the affine space Spec(A) instead of the ring A and the variety V (I) ⊂ Spec(A) instead of the ideal I. Most of the examples deal with affine rings over a field K.
24
1. Rings, Ideals and Standard Bases
Lemma 1.3.11. (1) I ⊂ A is a prime ideal if and only if A/I is an integral domain. (2) I ⊂ A is a maximal ideal if and only if A/I is a field. (3) Every maximal ideal is prime. Proof. Let I A. For a, b ∈ A we have ab ∈ I ⇐⇒ [ab] = [a] · [b] = 0 in A/I, which implies (1). By Lemma 1.3.8, A/I has only the trivial ideals 0 and A/I, if and only if I and A are the only ideals of A which contain I, which implies (2). Finally, (3) follows from (2) and (1), since a field is an integral domain. If ϕ : A → B is a ring map and I ⊂ B is a prime ideal, then ϕ−1 (I) is a prime ideal (an easy check). However, the preimage of a maximal ideal need not be maximal. (Consider Z ⊂ Q, then 0 is a maximal ideal in Q but not in Z.) Lemma 1.3.12. Let A be a ring. (1) Let P, I, J ⊂ A be ideals with P prime. Then I ⊂ P , IJ ⊂ P implies J ⊂ P. n , . . . , In , P ⊂ A be ideals with P prime and i=1 Ii ⊂ P (respec(2) Let I1 tively i Ii = P ), then P ⊃ Ii (respectively P = Ii ) for some i. (3) ( Prime
n avoidance) Let P1 , . . . , Pn , I ⊂ A be ideals with Pi prime and I ⊂ i=1 Pi , then I ⊂ Pi for some i. Proof. For (1) let J = f1 , . . . , fn and x ∈ I such that x ∈ P . By assumption, we have xfi ∈ P for all i. Now P is prime and, therefore, fi ∈ P for all i. This implies that J ⊂ P . Ii ⊂ P and, therefore, using To prove (2) assume that Ii ⊂ P . Then (1), Ik ⊂ P for some k. If, additionally, Ii = P , then P = Ik . To prove (3) we use induction on n. The case n = 1 is trivial. Assume (3) is true for n − 1 prime ideals. If I ⊂ j=i Pj for some i, then I ⊂ Pk for some k.
We may assume now that I ⊂ j=i Pj for all i = 1, . . . , n and choose x1 , . . . , xn ∈ I such
that xi ∈ j=i Pj . This implies especially that xi ∈ Pi because xi ∈ I ⊂ Pj .
Now consider the element x1 + x2 · . . . · xn ∈ I. Since I ⊂ Pj , there exists a k such that x1 + x2 · . . . · xn ∈ Pk . If k = 1 then, since x1 ∈ P1 , we obtain x2 · . . . · xn ∈ P1 . This implies that
x ∈ P1 for some > 1 which is a contradiction to the choice of x ∈ j= Pj . If k > 1 then, since x2 · . . . · xn ∈ P
k , we obtain x1 ∈ Pk which is again a contradiction to the choice of x1 ∈ j=1 Pj . Many of the concepts introduced so far in this section can be treated effectively using Singular. We define a quotient ring and test equality and the zerodivisor property in the quotient ring.
1.3 Ideals and Quotient Rings
25
SINGULAR Example 1.3.13 (computation in quotient rings). (1) Define a quotient ring: ring R = 32003,(x,y,z),dp; ideal I = x2+y2-z5, z-x-y2; qring Q = groebner(I); //defines the quotient ring Q = R/I Q; //-> // characteristic : 32003 //-> // number of vars : 3 //-> // block 1 : ordering dp //-> // : names x y z //-> // block 2 : ordering C //-> // quotient ring from ideal //-> _[1]=y2+x-z //-> _[2]=z5-x2+x-z (2) Equality test in quotient rings: Equality test in quotient rings is difficult. The test f==g checks only formal equality of polynomials, it does not work correctly in quotient rings. Instead, we have to compute a normal form of the difference f − g. Why and how this works, will be explained in Section 1.6 on standard bases. poly f = z2+y2; poly g = z2+2x-2z-3z5+3x2+6y2; reduce(f-g,std(0)); //normal form, result is 0 iff f=g in Q //-> 0 The same can be tested without going to the quotient ring. setring R; poly f = z2+y2; poly g = z2+2x-2z-3z5+3x2+6y2; reduce(f-g,groebner(I)); //result is 0 iff f-g is in I //-> 0 (3) Zerodivisor test in quotient rings: setring Q; ideal q = quotient(0,f);//this defines q = <0>: q = reduce(q,std(0)); //normal form of ideal q in Q size(q); //the number of non-zero generators //-> 0 //hence, f is a non-zerodivisor in Q Testing primality of a principal ideal f in a polynomial ring is easily achieved by using factorize(f);. For an arbitrary ideal this is much more involved. One can use primdecGTZ or primdecSY from primdec.lib, as will be explained in Chapter 4.
26
1. Rings, Ideals and Standard Bases
(4) Computing the inverse in quotient rings: If I ⊂ K[x] = K[x1 , . . . , xn ] is a maximal ideal, then the quotient ring K[x]/I is a field. To be able to compute effectively in the field K[x]/I we need, in addition to the ring operations, the inverse of a non–zero element. The following example shows that we can effectively compute in all fields of finite type over a prime field. If the polynomial f is invertible, then the command lift(f,1)[1,1] gives the inverse (lift checks whether 1 ∈ f and then expresses 1 as a multiple of f ): ring R=(0,x),(y,z),dp; ideal I=-z5+y2+(x2),-y2+z+(-x); I=std(I); qring Q=I; We shall now compute the inverse of z in Q = R/I. poly p=lift(z,1)[1,1]; p; //->1/(x2-x)*z4-1/(x2-x) We make a test for p being the inverse of z. reduce(p*z,std(0)); //->1 The ideal I is a maximal ideal if and only if R/I is a field. We shall now prove that, in our example, I is a maximal ideal. ring R1=(0,x),(z,y),lp; ideal I=imap(R,I); I=std(I); I; //-> I[1]=y10+(5x)*y8+(10x2)*y6+(10x3)*y4+(5x4-1)*y2+(x5-x2) //-> I[2]=z-y2+(-x) Since Q(x)[z, y]/z − y 2 − x ∼ = Q(x)[y], we see that R/I ∼ = Q(x)[y]/y 10 + 5xy 8 + 10x2 y 6 + 10x3 y 4 + (5x4 − 1)y 2 + x5 − x2 . factorize(I[1]); //-> [1]: //-> _[1]=1 //-> _[2]=y10+(5x)*y8+(10x2)*y6+(10x3)*y4+(5x4-1)*y2 //-> +(x5-x2) //-> [2]: //-> 1,1
1.3 Ideals and Quotient Rings
27
The polynomial is irreducible and, therefore, R/I is a field and I a maximal ideal. Definition 1.3.14. Let A be a ring and I, J ⊂ A ideals. (1) The ideal quotient of I by J is defined as I : J := a ∈ A aJ ⊂ I . The saturation of I with respect to J is I : J ∞ = a ∈ A ∃ n such that aJ n ⊂ I . √ (2) The radical of I, denoted by I or rad(I) is the ideal √ I = a ∈ A ∃ d ∈ N such that ad ∈ I , which √ is an ideal containing I. I is called reduced or a radical ideal if I = I. (3) a ∈ A is called nilpotent if an = 0 for some n ∈ N; the minimal n is called index of nilpotency. The set of nilpotent elements of A is equal to 0 and called the nilradical of A. (4) The ring A itself is called reduced if it has no nilpotent elements except 0, that is, if 0 = 0. For any ring, the quotient ring Ared = A/ 0 is called the reduction of A or the reduced ring associated to A. The ideal quotient I : J is an ideal in A which is very useful. In Singular the command quotient(I,J); computes generators of this ideal. In particular, 0 : J = AnnA (J) is the annihilator of J and, hence, 0 : f = 0 if and only if f is a non– zerodivisor of A. It is clear that Ared is reduced and that A = Ared if and only if A is reduced. Any integral domain is reduced. Computing the radical is already quite involved (cf. Chapter 4). The radical membership problem is, however, much easier (cf. Section 1.8.6). SINGULAR Example 1.3.15 (computing with radicals). (1) Compute the radical of an ideal: ring R = 0,(x,y,z),dp; poly p = z4+2z2+1; LIB "primdec.lib";
//loads library for radical
28
1. Rings, Ideals and Standard Bases
radical(p); //-> _[1]=z2+1
//squarefree part of p
ideal I = xyz, x2, y4+y5; radical(I); //-> _[1]=x //-> _[2]=y2+y
//a more complicated ideal
//we see that I is not reduced
(2) Compute the index of nilpotency in a quotient ring: Since y 2 + y is contained in the radical of I, some power of y 2 + y must be contained in I. We compute the minimal power k so that (y 2 + y)k is contained in I by using the normal form as in Example 1.3.13. This is the same as saying that y 2 + y is nilpotent in the quotient ring R/I and then k is the index of nilpotency of y 2 + y in R/I. ideal Is = groebner(I); int k; while (reduce((y2+y)^k,Is) != 0 ) {k++;} k; //-> 4 //minimal power (index of nilpotency) is 4
Exercises 1.3.1. Let A be a ring and f = lowing statements:
α |α|≥0 aα x
∈ A[x1 , . . . , xn ]. Prove the fol-
(1) f is nilpotent if and only if aα is nilpotent for all α. (Hint: choose a monomial ordering and argue by induction on the number of summands.) In particular: A[x1 , . . . , xn ] is reduced if and only if A is reduced. (2) f is a unit in A[x1 , . . . , xn ] if and only if a0,...,0 is a unit in A and aα are nilpotent for α = 0. (Hint: Remember the geometric series for 1/(1 − g) and use (1).) In particular: (A[x1 , . . . , xn ])∗ = A∗ if and only if A is reduced. (3) f is a zerodivisor in A[x1 , . . . , xn ] if and only if there exists some a = 0 in A such that af = 0. Give two proofs: one by induction on n, the other by using a monomial ordering. (Hint: choose a monomial ordering and g ∈ A[x1 , . . . , xn ] with minimal number of terms so that f · g = 0, consider the biggest term and conclude that g must be a monomial.) (4) A[x1 , . . . , xn ] is an integral domain if and only if deg(f g) = deg(f ) + deg(g) for all f, g ∈ A[x1 , . . . , xn ]. In particular: A[x1 , . . . , xn ] is an integral domain if and only if A is an integral domain.
1.3 Ideals and Quotient Rings
29
1.3.2. Let ϕ : A → B be a ring homomorphism, I an ideal in A and J an ideal in B. Show that: (1) ϕ−1 (J) ⊂ I is an ideal. (2) ϕ(I) is a subring of B, not necessarily with 1, but, in general, not an ideal. (3) If ϕ is surjective then ϕ(I) is an ideal in B. 1.3.3. Prove the following statements: (1) Z and the polynomial ring K[x] in one variable over a field are principal ideal domains [use division with remainder]. (2) Let A be any ring, then A[x1 , . . . , xn ], n > 1, is not a principal ideal domain. 1.3.4. Let A be a ring. A non–unit f ∈ A is called irreducible if f = f1 f2 , f1 , f2 ∈ A, implies that f1 or f2 is a unit. f is called a prime element if f is a prime ideal. Prove Exercise 1.1.5 with K[x] replaced by any principal ideal domain A. Moreover, prove that the conditions (1) – (3) of Exercise 1.1.5 are equivalent to (4) The ideal f is a prime ideal. (5) The ideal f is a maximal ideal. 1.3.5. Let R be a principal ideal domain. Use Exercise 1.3.4 to prove that every non–unit f ∈ R can be written in a unique way as a product of finitely many prime elements. Unique means here modulo permutation and multiplication with a unit. 1.3.6. The quotient ring of a principal ideal ring is a principal ideal ring. Show, by an example, that the quotient ring of an integral domain (respectively a reduced ring) need not be an integral domain. 1.3.7. (1) If A, B are principal ideal rings, then, also A ⊕ B. (2) A ⊕ B is never an integral domain, unless A or B are trivial. (3) How many ideals has K ⊕ F if K and F are fields? 1.3.8. Prove the following statements: (1) Let n > 1, then Z/nZ is reduced if and only if n is a product of pairwise different primes. (2) Let K be a field, and let f ∈ K[x1 , . . . , xn ] be a polynomial of degree ≥ 1. Then K[x1 , . . . , xn ]/f is reduced (respectively an integral domain) if and only if f is a product of pairwise different irreducible polynomials (respectively irreducible). 1.3.9. Prove Proposition 1.3.6. 1.3.10. Prove Lemma 1.3.8. 1.3.11. Let A be a Noetherian ring, and let I ⊂ A be an ideal. Prove that A/I is Noetherian.
30
1. Rings, Ideals and Standard Bases
1.3.12. Let A be a Noetherian ring, and let ϕ : A → A be a surjective ring homomorphism. Prove that ϕ is injective. 1.3.13. (Chinese remainder s theorem) Let A be a ring, and let I1 , . . . , Is be ideals in A. Assume that j=1 Ij = 0 and Ij + Ik = A for j = k. Prove that the canonical map A −→
s
A/Ij ,
a −→ (a + I1 , . . . , a + Is ) ,
j=1
is an isomorphism of rings3 1.3.14. Let K be a field and A a K–algebra. Then A is called an Artinian K–algebra if dimK (A) < ∞. Prove the following statements: (1) An Artinian K–algebra is Noetherian. (2) A is an Artinian K–algebra if and only if each descending chain of ideals I1 ⊃ I2 ⊃ I3 ⊃ . . . ⊃ Ik ⊃ . . . becomes stationary (that is, there exists some j0 such that Ij = Ij0 for all j ≥ j0 ). 4 1.3.15. Show that Q[x]/x2 + 1 is a field and compute in this field the quotient (x3 + x2 + x)/(x3 + x2 + 1), first by hand and then by using Singular as in Example 1.3.13. Alternatively use the method of Example 1.1.8 (in characteristic 0), defining a minpoly. 1.3.16. Let f = x3 + y 3 + z 3 + 3xyz, and let I be the ideal in Q[x, y, z], respectively F3 [x, y, z], generated by f and its partial derivatives. Moreover, let R := Q[x, y, z]/I and S := F3 [x, y, z]/I. (1) Is xyz a zerodivisor in R, respectively in S ? (2) Compute the index of nilpotency of x + y + z in R, respectively S. (Hint: type ?diff; or ?jacob; to see how to create the ideal I.)
1.4 Local Rings and Localization Localization of a ring means enlarging the ring by allowing denominators, similar to the passage from Z to Q. The name, however, comes from the geometric interpretation. For example, localizing K[x1 , . . . , xn ] at x1 , . . . , xn 3
If A = Z the theorem can be reformulated as follows: Let a1 , . . . , as ∈ Z such s ai . Then for given x1 , . . . , xs ∈ Z
that gcd (ai , aj ) = 1 for i = j and a =
i=1
4
the congruences x ≡ xi mod ai , 1 ≤ i ≤ s have a solution which is uniquely determined modulo a. The procedure chineseRem of the library crypto.lib computes this solution. This is the usual way to define an Artinian ring.
1.4 Local Rings and Localization
31
means considering rational functions f /g where f and g are polynomials with g(0) = 0. Of course, any polynomial f = f /1 is of this form but, as g may have zeros arbitrary close to 0, f /g is defined only locally, in an arbitrary small neighbourhood of 0 (cf. Appendix A.8). Definition 1.4.1. A ring A is called local if it has exactly one maximal ideal m. A/m is called the residue field of A. Rings with finitely many maximal ideals are called semi–local . We denote local rings also by (A, m) or (A, m, K) where K = A/m. Fields are local rings. A polynomial ring K[x1 , . . . , xn ] with n ≥ 1 over a field K is, however, never local. To see this, consider for any (a1 , . . . , an ) ∈ K n the ideal ma := x1 − a1 , . . . , xn − an . Since ϕ : K[x1 , . . . , xn ] → K[x1 , . . . , xn ], ϕ(xi ) := xi − ai , is an isomorphism sending m0 = x1 , . . . , xn to ma , it follows that K[x1 , . . . , xn ]/ma ∼ = K is a field, hence ma is a maximal ideal. Since K has at least two elements, K n has at least two different points and, hence, K[x1 , . . . , xn ] has at least as many maximal ideals as K n points (those of type ma ). If K is algebraically closed, then the ideals ma , a ∈ K n are all maximal ideals of K[x1 , . . . , xn ] (this is one form of Hilbert’s Nullstellensatz). A typical local ring is the formal power series ring K[[x1 , . . . , xn ]] with maximal ideal m = x1 , . . . , xn , that is, all power series without constant term. That this ring is local follows easily from Lemma 1.4.3. We shall treat power series rings in Chapter 6. Other examples are localizations of polynomial rings at prime ideals, cf. Example 1.4.6. Theorem 1.4.2. Every ring A = 0 contains at least one maximal ideal. If I A is an ideal, then there exists a maximal ideal m ⊂ A such that I ⊂ m. Proof. The first statement follows from the second with I = 0. If I is not maximal there exists an f1 ∈ A such that I I1 := I, f1 A. If I1 is not maximal there is an f2 such that I1 I2 = I1 , f2 A. Continuing in this manner, we obtain a sequence of strictly increasing ideals I I1 I2 . . . which must become stationary, say Im = In for m ≥ n if A is Noetherian by Proposition 1.3.6.
Thus, In is maximal and contains I. In general, if A is not Noetherian, n≥1 In is an ideal containing I, and the result follows from Zorn’s lemma.5 Lemma 1.4.3. Let A be a ring. (1) A is a local ring if and only if the set of non–units is an ideal (which is then the maximal ideal). (2) Let m ⊂ A be a maximal ideal such that every element of the form 1 + a, a ∈ m is a unit. Then A is local. 5
Zorn’s Lemma says: let S be a non–empty system of sets such that for each chain I1 ⊂ I2 ⊂ . . . ⊂ In ⊂ . . . in S, the union of the chain elements belong to S. Then any element of S is contained in a maximal element (w.r.t. inclusion) of S. This “lemma” is actually an axiom, equivalent to the axiom of choice.
32
1. Rings, Ideals and Standard Bases
Proof. (1) is obvious. To see (2) let u ∈ Am. Since m is maximal m, u = A and, hence, 1 = uv + a for some v ∈ A, a ∈ m. By assumption uv = 1 − a is a unit. Hence, u is a unit and m is the set of non–units. The claim follows from (1). Localization generalizes the construction of the quotient field: if A is an integral domain, then the set a Quot(A) := Q(A) := a, b ∈ A, b = 0 , b together with the operations ab + a b a a + = , b b bb
a a aa · = b b bb
is a field, the quotient field or field of fractions of A. Here a/b denotes the class of (a, b) under the equivalence relation (a, b) ∼ (a , b ) :⇐⇒ ab = a b . The map A → Q(A), a → a/1 is an injective ring homomorphism and we identify A with its image. Since a/b = 0 if and only if a = 0, every element a/b = 0 has an inverse b/a and, therefore, Q(A) is a field. The denominators in Q(A) are the elements of the set S = A {0} and S satisfies (1) 1 ∈ S, (2) a ∈ S, b ∈ S =⇒ ab ∈ S. This notion can be generalized as follows. Definition 1.4.4. Let A be a ring. (1) A subset S ⊂ A is called multiplicative or multiplicatively closed if conditions (1) and (2) above hold. (2) Let S ⊂ A be multiplicatively closed. We define the localization or the ring of fractions S −1 A of A with respect to S as follows: a a ∈ A, b ∈ S S −1 A := b where a/b denotes the equivalence class of (a, b) ∈ A × S with respect to the following equivalence relation: (a, b) ∼ (a , b ) :⇐⇒ ∃ s ∈ S such that s(ab − a b) = 0 . Moreover, on S −1 A we define an addition and multiplication by the same formulas as for the quotient field above.
1.4 Local Rings and Localization
33
The following proposition is left as an exercise. Proposition 1.4.5. (1) The operations + and · on S −1 A are well–defined (independent of the chosen representatives) and make S −1 A a ring (commutative and with 1 = 1/1). (2) The map j : A → S −1 A, a → a/1 is a ring homomorphism satisfying a) j(s) is a unit in S −1 A if s ∈ S, b) j(a) = 0 if and only if as = 0 for some s ∈ S, c) j is injective if and only if S consists of non–zerodivisors, d) j is bijective if and only if S consists of units. (3) S −1 A = 0 if and only if 0 ∈ S. (4) If S1 ⊂ S2 are multiplicatively closed in A and consist of non–zerodivisors, then S1−1 A ⊂ S2−1 A. (5) Every ideal in S −1 A is generated by the image of an ideal in A under the map j. Moreover, the prime ideals in S −1 A are in one–to–one correspondence with the prime ideals in A which do not meet S. Examples 1.4.6. (1) A P is multiplicatively closed for any prime ideal P ⊂ A. The localization of A with respect to A P is denoted by AP and a a, b ∈ A, b ∈ P AP = b is called the localization of A at the prime ideal P . The set a a ∈ P, b ∈ P P AP = b is clearly an ideal in AP . Any element a/b ∈ AP P AP satisfies a ∈ P , hence, b/a ∈ AP and, therefore, a/b is a unit. This shows that AP is a local ring with maximal ideal P AP by Lemma 1.4.3. In particular, if m ⊂ A is a maximal ideal then Am is local with maximal ideal mAm . (2) For any f ∈ A, the set S := {f n | n ≥ 0} is multiplicatively closed (with f 0 = 1). We use the special notation a a ∈ A, n ≥ 0 , Af := S −1 A = fn not to be confused with Af , if f ⊂ A is a prime ideal. (3) The set S of all non–zerodivisors of A is multiplicatively closed. For this S, S −1 A =: Q(A) =: Quot(A) is called the total ring of fractions or the total quotient ring of A. If A is an integral domain, this is just the quotient field of A.
34
1. Rings, Ideals and Standard Bases
Two special but important cases are the following: if K[x1 , . . . , xn ] is the polynomial ring over a field, then the quotient field is denoted by K(x1 , . . . , xn ), K(x1 , . . . , xn ) := Q(K[x1 , . . . , xn ]) , which is also called the function field in n variables; the xi are then also called parameters. For computing with parameters cf. Singular-Example 1.1.8. The localization of K[x] = K[x1 , . . . , xn ] with respect to the maximal ideal x = x1 , . . . , xn is f f, g ∈ K[x], g(0) = 0 . K[x]x = g It is an important fact that we can compute in this ring without explicit denominators, just by defining a suitable monomial ordering on K[x] (cf. Section 1.5). More generally, we can compute in K[x]ma , ma = x1 − a1 , . . . xn − an , for any a = (a1 , . . . , an ) ∈ K n , by translating our polynomial data to K[x]x via the ring map xi → xi + ai . Proposition 1.4.7. Let ϕ : A → B be a ring homomorphism, S ⊂ A multiplicatively closed, and j : A → S −1 A the canonical ring homomorphism a → a/1. (1) Assume (i) ϕ(s) is a unit in B for all s ∈ S. Then there exists a unique ring homomorphism ψ : S −1 A → B such that the following diagram commutes: /B AE EE y< y EE yy E yy j EE " yy ψ S −1 A ϕ
(2) Assume moreover (ii) ϕ(a) = 0 implies sa = 0 for some s ∈ S, (iii) every element of B is of the form ϕ(a)ϕ(s)−1 . Then ψ is an isomorphism. Property (1) is called the universal property of localization. Proof. (1) Since ϕ(a) = ψ(a/1) for a ∈ A, we obtain, for any a/s ∈ S −1 A, that ψ(a/s) = ψ(a/1) · ψ(1/s) = ψ(a/1)ψ(s/1)−1 = ϕ(a)ϕ(s)−1 . In particular, ψ is unique if it exists. Now define ψ(a/s) := ϕ(a)ϕ(s)−1 and check that ψ is well–defined and a ring homomorphism. (2) (ii) implies that ψ is injective and (iii) that ψ is surjective. Lemma 1.4.8. Let S ⊂ A be multiplicatively closed and j : A → S −1 A the canonical ring homomorphism a → a/1.
1.4 Local Rings and Localization
35
(1) If J ⊂ S −1 A is an ideal and I = j −1 (J) then IS −1 A = J. In particular, if f1 , . . . , fk generate I over A then f1 , . . . , fk generate J over S −1 A. (2) If A is Noetherian, then S −1 A is Noetherian. Proof. (1) If f /s ∈ J then f /1 = s · f /s ∈ J, hence f ∈ I = j −1 (J) and, therefore, f /s = f · 1/s ∈ IS −1 A. The other inclusion is clear. Statement (2) follows directly from (1). To define the local ring K[x]x = K[x1 , . . . , xn ]x1 ,...,xn in Singular, we have to choose a local ordering such as ds, Ds, ls or a weighted local ordering. This is explained in detail in the next section. We shall now show the difference between local and global rings by some examples. Note that objects defined in the local ring K[x]x contain geometric information (usually only) about a Zariski neighbourhood of 0 ∈ K n (cf. A.2, page 454), while objects in K[x] contain geometric information which is valid in the whole affine space K n. Consider the ideal I = y(x − 1), z(x − 1) ⊂ Q[x, y, z] and consider the common zero–set of all elements of I, V (I) = {(x, y, z) ∈ C3 | f (x, y, z) = 0 ∀ f ∈ I} = {(x, y, z) ∈ C3 | y(x − 1) = z(x − 1) = 0} . The real picture of V (I) is displayed in Figure 1.1.
• 0
• 1
x
Fig. 1.1. The real zero–set of y(x − 1), z(x − 1).
Although we treat dimension theory later, it should be intuitively clear from the picture that the (local) dimension of V (I) is 1 at the point (0, 0, 0) and 2 at the point (1, 0, 0). We compute the global dimension of V (I) (which is the maximum of the dimensions at each point) and then the dimension of V (I) in the points (0, 0, 0) and (1, 0, 0). As we shall see in Section 3.3, we always have to compute a standard basis of the ideal with respect to the given ordering first and then apply the command dim.
36
1. Rings, Ideals and Standard Bases
SINGULAR Example 1.4.9 (global versus local rings). (1) Compute the dimension of V (I), that is, compute dim(I), the Krull dimension of S/I, S = Q[x, y, z] (cf. Chapter 3, Section 3.3). ring S = 0,(x,y,z),dp; ideal I = y*(x-1), z*(x-1); ideal J = std(I); //compute a standard basis J of I in S J; //J = //-> J[1]=xz-z //-> J[2]=xy-y dim(J); //the (global) dimension of V(I) is 2 //-> 2 reduce(y,J);
//y is not in I //(result is 0 iff y is in I)
//-> y (2) Compute the dimension of V (I) at 0 = (0, 0, 0), that is, compute dim(I), the Krull dimension of R/IR, R = Q[x, y, z]x,y,z . ring R = 0,(x,y,z),ds; ideal I = fetch(S,I);//fetch I from S to basering ideal J = std(I); //compute a standard basis J of I in R J; //-> J[1]=y //J = since x-1 is a unit in R //-> J[2]=z dim(J); //-> 1 //(local) dimension of V(I) at 0 is 1 reduce(y,J); //-> 0 //now y is in IR = JR (3) Compute the dimension of V (I) at (1, 0, 0), that is, compute dim(I1 ), the Krull dimension of R/I1 R in R = Q[x, y, z]x,y,z where I1 is the translation of I to (1, 0, 0). map trans = S, x+1,y,z;
ideal I1 = trans(I); I1; //-> I1[1]=xy //-> I1[2]=xz dim(std(I1)); //-> 2
//replace x by x+1 and leave //y,z fixed, i.e., translate //(0,0,0) to (1,0,0)
//dimension of V(I) at (1,0,0) is 2
(4) Compute the (global) dimension of V (I) after translation.
1.4 Local Rings and Localization
setring S; map trans = S, x+1,y,z; ideal I1 = trans(I); I1; //-> I1[1]=xy //-> I1[2]=xz dim(std(I1)); //-> 2
37
//go back to global ring S //translate I, as in (3)
//(global) dimension of translated //variety has not changed
kill S,R; The above computation illustrates what is intuitively clear from the picture in Figure 1.1: the dimension of the local rings varies. Dimension theory is treated in detail in Chapter 3, Section 3.3. For this example, it is enough to have an intuitive feeling for the dimension as it is visualized in the real picture of V (I).
Exercises 1.4.1. Prove Proposition 1.4.5. 1.4.2. Let A be a ring, I ⊂ A an ideal and f ∈ A. Prove that IAf ∩ A is the saturation of I with respect to f , that is, equal to I : f ∞ = {g ∈ A | ∃ n such that gf n ∈ I}. 1.4.3. Let (A, m) be a local K–algebra, K a field, and I ⊂ A an ideal such that dimK (A/I) < ∞. Show that mn ⊂ I for some n. 1.4.4. Let A be a ring and J(A) the intersection of all maximal ideals of A, which is called the Jacobson radical of A. Prove that for all x ∈ J(A), 1 + x is a unit in A. 1.4.5. Let S and T be two multiplicatively closed sets in the ring A. Show that ST is multiplicatively closed and that (ST )−1 (A) and T −1 (S −1 A) are isomorphic, if T denotes also the image of T in S −1 A. In particular, if S ⊂ T then T −1 A ∼ = T −1 (S −1 A). Hence, for Q ⊂ P two ∼ prime ideals we obtain AQ = (AP )QAP . 1.4.6. Let S ⊂ A be the set of non–zerodivisors. Show the following statements about the total ring of fractions Quot(A) = S −1 A: (1) S is the biggest multiplicatively closed subset of A such that A → S −1 A is injective. (2) Each element of Quot(A) is either a unit or a zerodivisor. (3) A ring A, such that each non–unit is a zerodivisor, is equal to its total ring of fractions, that is, A → Quot(A) is bijective.
38
1. Rings, Ideals and Standard Bases
1.4.7. (1) Consider the two rings A = C[x, y]/x2 − y 3 and B = C[x, y]/xy and the multiplicative sets: • S the set of non–zerodivisors of A, respectively of B, and • T := A x, yA , respectively T := B x, yB . Determine the localizations of A and B with respect to T and S. (2) Are any two of the six rings A, B, S −1 A, S −1 B, T −1 A, T −1 B isomorphic? 1.4.8. Let A be a ring and B = A/(P 1 ∩ · · · ∩ Pr ) with Pi ⊂ A prime ider als. Show that the rings Quot(B) and i=1 Quot(A/Pi ) are isomorphic. In particular, Quot(B) is a direct sum of fields. (Hint: use Exercise 1.3.13.) 1.4.9. Let A be a unique factorization domain (that is, A is a domain and every non–unit of A can be written as a product of irreducible elements such that the factors are uniquely determined up to multiplication with units) and S ⊂ A multiplicatively closed. Show that S −1 A is a unique factorization domain. (Hint: enlarge, if necessary, S to a multiplicative system S such that (1) S −1 A = S %−1 A and
(2) if s ∈ S and s = s1 s2 then s1 , s2 ∈ S.) 1.4.10. Let A be an integral domain. Then, for any prime ideal P ⊂ A, we consider the localization AP as a subring of the quotient field Quot(A) and, hence, we can consider their intersection. Show that A= AP = Am . P ∈Spec A
m∈Max A
1.4.11. Let I = I1 I2 I3 ⊂ Q[x, y, z] be the product of the ideals I1 = z − x2 , I2 = y, z and I3 = x. Compute, as in Singular Example 1.4.9, the dimension of V (I) at the points (0, 0, 0), (0, 0, 1), (1, 0, 0) and (1, 1, 1). Draw a real picture of V (I) and interpret your results geometrically.
1.5 Rings Associated to Monomial Orderings In this section we show that non–global monomial orderings lead to new rings which are localizations of the polynomial ring. This fact has far–reaching computational consequences. For example, choosing a local ordering, we can, basically, do the same calculations in the localization of a polynomial ring as with a global ordering in the polynomial ring itself. In particular, we can effectively compute in K[x1 , . . . , xn ]x1 ,...,xk for k ≤ n (by Lemma 1.5.2 (3) and Example 1.5.3).
1.5 Rings Associated to Monomial Orderings
39
Let > be a monomial ordering on the set of monomials Mon(x1 , . . . , xn ) = {xα | α ∈ Nn }, and K[x] = K[x1 , . . . , xn ] the polynomial ring in n variables over a field K. Then the leading monomial function LM has the following properties for polynomials f, g ∈ K[x] \ {0}: (1) LM(gf ) = LM(g) LM(f ). (2) LM(g + f ) ≤ max{LM(g), LM(f )} with equality if and only if the leading terms of f and g do not cancel. In particular, it follows that S> := {u ∈ K[x] {0} | LM(u) = 1} is a multiplicatively closed set. Definition 1.5.1. For any monomial ordering > on Mon(x1 , . . . , xn ), we define f −1 K[x]> := S> K[x] = f, u ∈ K[x], LM(u) = 1 , u the localization of K[x] with respect to S> and call K[x]> the ring associated to K[x] and >. Note that S> = K ∗ if and only if > is global and S> = K[x] x1 , . . . , xn if and only if > is local. Lemma 1.5.2. Let K be a field, K[x] = K[x1 , . . . , xn ], and let > be a monomial ordering on Mon(x1 , . . . , xn ). Then (1) K[x] ⊂ K[x]> ⊂ K[x]x . (2) The set of units in K[x]> is given by v (K[x]> )∗ = u, v ∈ K[x], LM(v) = LM(u) = 1 , u and satisfies (K[x]> )∗ ∩ K[x] = S> . (3) K[x] = K[x]> if and only if > is a global ordering and K[x]> = K[x]x if and only if > is a local ordering. (4) K[x]> is a Noetherian ring. (5) K[x]> is factorial. We shall see later (Corollary 7.4.6) that the inclusions of Lemma 1.5.2 (1) are flat ring morphisms. Proof. (1) The first inclusion is clear by Proposition 1.4.5 (2), the second follows from Proposition 1.4.5 (4) since LM(u) = 1 implies u ∈ x. (2) If f /u is a unit in K[x]> , there is a h/v such that (f /u) · (h/v) = 1. Hence, f h = uv and LM(f ) LM(h) = 1, which implies LM(f ) = 1.
40
1. Rings, Ideals and Standard Bases
(3) By Proposition 1.4.5 (2), K[x] = K[x]> if and only if S> consists of units of K[x], that is if and only if S> ⊂ K ∗ , which is equivalent to > being global. The second equality follows since K[x] x consists of units in K[x]> if and only if every polynomial with non–zero constant term belongs to S> which is equivalent to > being local. (4) Follows from Lemma 1.4.8. (5) Since K[x] is factorial, this follows from Exercise 1.4.9. Examples 1.5.3. We describe some familiar and some less familiar rings, associated to a polynomial ring and a monomial ordering. (1) Let K[x, y] = K[x1 , . . . , xn , y1 , . . . , ym ] and consider the product ordering > = (>1 , >2 ) on Mon(x1 , . . . , xn , y1 , . . . , ym ), where >1 is global on Mon(x1 , . . . , xn ) and >2 is local on Mon(y1 , . . . , ym ). Then xα y γ > 1 > y β for all α, β = 0, all γ and hence S> = K ∗ + y · K[y]. It follows that K[x, y]> = (K[y]y )[x] , which equals K[y]y ⊗K K[x] (cf. Section 2.7 for the tensor product). (2) Now let >1 be local and >2 global, > = (>1 , >2 ), then xα y γ < 1 < y β for all α, β = 0, all γ and hence S> = K ∗ + xK[x, y]. We obtain strict inclusions (K[x]x )[y] K[x, y]> K[x, y]x , since 1/(1 + xy) is in the second but not in the first and 1/y is in the third but not in the second ring. (3) If >1 is global, >2 arbitrary and > = (>1 , >2 ) then S> consists of elements u ∈ K[y] satisfying LM>2 (u) = 1. Hence, K[x, y]> = (K[y]>2 )[x] (cf. Exercise 2.7.12). This ordering has the following elimination property for x1 , . . . , xn : f ∈ K[x, y], LM(f ) ∈ K[y] ⇒ f ∈ K[y] . (4) Let > be a local ordering on Mon(x1 , . . . , xn ) and K(y) the quotient field of K[y] = K[y1 , . . . , ym ]. It is not difficult to see that K(y)[x]> = K[x, y]x (Exercise 1.5.6). Hence, we can effectively compute in the localization K[x1 , . . . , xn ]P , where P is a prime ideal generated by a subset of the variables.
1.5 Rings Associated to Monomial Orderings
41
Definition 1.5.4. A monomial ordering > on K[x1 , . . . , xn ] having the elimination property for x1 , . . . , xs (cf. Example 1.5.3 (3)) is called an elimination ordering for x1 , . . . , xs . An elimination ordering need not be a product ordering but must satisfy xi > 1 for i = 1, . . . , s (since, if xi < 1 then LM(1 + xi ) = 1 but 1 + xi ∈ K[xs+1 , . . . , xn ]), that is, an elimination ordering for x1 , . . . , xs must be global on Mon(x1 , . . . , xs ). Since the lexicographical ordering is the product of the degree orderings on Mon(xi ) for i = 1, . . . , n, it is an elimination ordering for x1 , . . . , xj , for j = 1, . . . , n. (Cf. Section 1.8.2 for applications of elimination orderings.) We now extend the leading data to K[x]> . Definition 1.5.5. Let > be any monomial ordering: (1) For f ∈ K[x]> choose u ∈ K[x] such that LT(u) = 1 and uf ∈ K[x]. We define LM(f ) := LM(uf ), LC(f ) := LC(uf ), LT(f ) := LT(uf ), LE(f ) := LE(uf ), and tail(f ) = f − LT(f ). (2) For any subset G ⊂ K[x]> define the ideal L> (G) := L(G) := LM(g) | g ∈ G {0}K[x] . L(G) ⊂ K[x] is called the leading ideal of G. Remark 1.5.6. (1) The definitions in 1.5.5 (1) are independent of the choice of u. (2) Since K[x]> ⊂ K[x]x ⊂ K[[x]], where K[[x]] denotes the formal power series ring (cf. Section 6.1), we may consider f ∈ K[x]> as a formal power series. It follows easily that LM(f ), respectively LT(f ), corresponds to a unique monomial, respectively term, in the power series expansion of f . Hence tail(f ) is the power series of f with the leading term deleted. (3) Note that if I is an ideal, then L(I) is the ideal generated by all leading monomials of all elements of I and not only by the leading monomials of a given set of generators of I. Example 1.5.7. (1) Consider Q[x] with a local ordering (in one variable all local, respectively global, orderings coincide). For f = 3x/(1 + x) + x we have LM(f ) = x, LC(f ) = 4, LT(f ) = 4x, LE(f ) = 1 and tail(f ) = −3x2 /(1 + x).
42
1. Rings, Ideals and Standard Bases
(2) Let G = {f, g} with f = xy 2 + xy, g = x2 y + x2 − y ∈ Q[x, y] and monomial ordering dp. If I = f, g then L(G) L(I), since L(G) = xy 2 , x2 y, but xf − yg = y 2 . Thus, y 2 ∈ L(I), but y 2 ∈ L(G). Ring maps between rings associated to a monomial ordering are almost as easy as ring maps between polynomial rings. Lemma 1.5.8. Let ψ : K → L be a morphism of fields and >1 , >2 , monomial orderings on Mon(x1 , . . . , xn ) and on Mon(y1 , . . . , ym ). Let f1 , . . . , fn ∈ L[y1 , . . . , ym ]>2 and assume that, for all h ∈ S>1 , h(f1 , . . . , fn ) ∈ S>2 . Then there exists a unique ring map ϕ : K[x1 , . . . , xn ]>1 → L[y1 , . . . , ym ]>2 satisfying ϕ(xi ) = fi for i = 1, . . . , n, and ϕ(a) = ψ(a) for a ∈ K. Proof. By Lemma 1.1.6, there is a unique ring map ϕ
: K[x] → L[y]>2 with
= ψ(a), a ∈ K. The assumption says that ϕ(u)
is a unit ϕ(x
i ) = fi and ϕ(a) in L[y]>2 for each u ∈ S>1 . Hence, the result follows from the universal property of localization (Proposition 1.4.7). In particular, if >1 is global, there is no condition on the fi and any elements f1 , . . . , fn ∈ K[y1 , . . . , ym ]> define a unique map K[x1 , . . . , xn ] −→ K[y1 , . . . , ym ]> ,
xi −→ fi ,
for any monomial ordering > on Mon(y1 , . . . , ym ). Remark 1.5.9. With the notations of Lemma 1.5.8, the condition “h ∈ S>1 implies h(f1 , . . . , fn ) ∈ S>2 ” cannot be replaced by “1 >2 LM(fi ) for those i where 1 >1 xi ”. Consider the following >2 , be example: let >1, respectively defined on K[x, y] by the matrix −21 10 , respectively −11 02 . Then x <1 y and x <2 y but xy + 1 ∈ S<1 and xy + 1 ∈ S>2 . SINGULAR Example 1.5.10 (realization of rings). We show how to create the rings of Examples 1.5.3. Note that Singular sorts the monomials with respect to the monomial ordering, the greatest being first. Hence, the position of 1 in the output shows which monomials are greater, respectively smaller, than 1. int n,m=2,3; ring A1 = 0,(x(1..n),y(1..m)),(dp(n),ds(m)); poly f = x(1)*x(2)^2+1+y(1)^10+x(1)*y(2)^5+y(3); f; //-> x(1)*x(2)^2+x(1)*y(2)^5+1+y(3)+y(1)^10 1>y(1)^10;
//the monomial 1 is greater than y(1)^10
1.5 Rings Associated to Monomial Orderings
43
//-> 1 ring A2 = 0,(x(1..n),y(1..m)),(ds(n),dp(m)); fetch(A1,f); //-> y(1)^10+y(3)+1+x(1)*y(2)^5+x(1)*x(2)^2 x(1)*y(2)^5<1; //-> 1 ring A3 = 0,(x(1..n),y(1..m)),(dp(n),ds(2),dp(m-2)); fetch(A1,f); //-> x(1)*x(2)^2+x(1)*y(2)^5+y(3)+1+y(1)^10
Exercises 1.5.1. Prove Remark 1.5.6. 1.5.2. Give one possible realization of the following rings within Singular: (1) (2) (3) (4) (5) (6) (7) (8) (9) (10)
Q[x, y, z], F5 [x, y, z], Q[x, y, z]/x5 + y 3 + z 2 , Q(i)[x, y], i2 = −1, F27 [x1 , . . . , x10 ]x1 ,...,x10 , F32003 [x, y, z]x,y,z /x5 + y 3 + z 2 , xy, Q(t)[x, y, z], Q[t]/(t3 + t2 + 1) [x, y, z]x,y,z , (Q[t]t )[x, y, z], F2 (a, b, c)[x, y, z]x,y,z .
(Hint: see the Singular Manual for how to define a quotient ring modulo some ideal.) 1.5.3. What are the units in the rings of Exercise 1.5.2? 1.5.4. Write a Singular procedure, having as input a polynomial f and returning 1 if f is a unit in the basering and 0 otherwise. (Hint: type ?procedures;.) Test the procedure by creating, for each ring of Exercise 1.5.2, two polynomials, one a unit, the other not. 1.5.5. Write a Singular procedure, having as input a polynomial f and an integer n, which returns the power series expansion of the inverse of f up to terms of degree n if f is a unit in the basering and 0 if f is not a unit. (Hint: remember the geometric series.)
44
1. Rings, Ideals and Standard Bases
1.5.6. (1) Let > be a local ordering on Mon(x1 , . . . , xn ). Show that K[x1 , . . . , xn , y1 , . . . , ym ]x1 ,...,xn = K(y1 , . . . , ym )[x1 , . . . , xn ]> . (2) Implement the ring Q[x, y, z]x,y inside Singular.
1.6 Normal Forms and Standard Bases In this section we define standard bases, respectively Gr¨obner bases, of an ideal I ⊂ K[x]> as a set of polynomials of I such that their leading monomials generate the leading ideal L(I). The next section gives an algorithm to compute standard bases. For global orderings this is Buchberger’s algorithm, which is a generalization of the Gaussian elimination algorithm and the Euclidean algorithm. For local orderings it is Mora’s tangent cone algorithm, which itself is a variant of Buchberger’s algorithm. The general case is a variation of Mora’s algorithm, which is due to the authors and implemented in Singular since 1990. The leading ideal L(I) contains a lot of information about the ideal I, which often can be computed purely combinatorially from L(I), because the leading ideal is generated by monomials. Standard bases have turned out to be the fundamental tool for computations with ideals and modules. The idea of standard bases is already contained in the work of Gordan [93]. Later, monomial orderings were used by Macaulay [157] and Gr¨ obner [117] to study Hilbert functions of graded ideals, and, more generally, to find bases of zero– dimensional factor rings. The notion of a standard basis was introduced later, independently, by Hironaka [123], Grauert [98] (for special local orderings) and Buchberger [32] (for global orderings). In the following, special emphasis is made to axiomatically characterize normal forms, respectively weak normal forms, which play an important role in the standard basis algorithm. They generalize division with remainder to the case of ideals, respectively finite sets of polynomials. In the case of a global ordering, for any polynomial f and any ideal I, there is a unique normal form NF(f | I) of f with respect to I, such that no monomial of NF(f | I) is in the leading ideal L(I). This can be used to decide, for instance, whether f is in the ideal I (if the normal form is 0). In the general case, the above property turns out to be too strong. Hence, the requirements for a normal form have to be weakened. For instance, for the decision whether a polynomial is in an ideal or not, only the leading term of a normal form NF(f | I) is important. Thus, for this purpose, it is enough to require that NF(f | I) is either 0 or has a leading term, which is not in L(I). After weakening the requirements, there is no more uniqueness statement for the normal form. Our intention is to keep the definition of a normal form as general as possible. Moreover, our presentation separates the normal form algorithm from a general standard basis algorithm and shows that different versions of standard basis algorithms are due to different normal forms.
1.6 Normal Forms and Standard Bases
45
The axiomatic definition of a normal form as presented in this section has been introduced in [111, 112], although its properties have already commonly been used before. It seems to be the minimal requirement in order to carry through standard basis theory in the present context. Let > be a fixed monomial ordering and let, in this section, R = K[x1 , . . . , xn ]> be the localization of K[x] = K[x1 , . . . , xn ] with respect to >. Recall that −1 R = S> K[x] with S> = {u ∈ K[x] {0} | LM(u) = 1}, and that R = K[x] if > is global and R = K[x]x if > is local. In any case, R may be considered as a subring of the ring K[[x]] of formal power series (cf. Section 6.1). Definition 1.6.1. Let I ⊂ R be an ideal. (1) A finite set G ⊂ R is called a standard basis of I if G ⊂ I, and L(I) = L(G) . That is, G is a standard basis, if the leading monomials of the elements of G generate the leading ideal of I, or, in other words, if for any f ∈ I {0} there exists a g ∈ G satisfying LM(g) | LM(f ). (2) If > is global, a standard basis is also called a Gr¨ obner basis. (3) If we just say that G is a standard basis, we mean that G is a standard basis of the ideal GR generated by G. Let > be any monomial ordering on Mon(x1 , . . . , xn ). Then each non–zero ideal I ⊂ K[x]> has a standard basis. To see this, choose a finite set of generators m1 , . . . , ms of L(I) ⊂ K[x], which exists, since K[x] is Noetherian (Theorem 1.3.5). By definition of the leading ideal, these generators are leading monomials of suitable elements g1 , . . . , gs ∈ I. By construction, the set {g1 , . . . , gs } is a standard basis for I. Definition 1.6.2. Let G ⊂ R be any subset. (1) G is called interreduced if 0 ∈ G and if LM(g) LM(f ) for any two elements f = g in G. An interreduced standard basis is also called minimal . (2) f ∈ R is called (completely) reduced with respect to G if no monomial of the power series expansion of f is contained in L(G). (3) G is called (completely) reduced if G is interreduced and if, for any g ∈ G, LC(g) = 1 and tail(g) is completely reduced with respect to G. Remark 1.6.3. (1) If > is a global ordering, then any finite set G can be transformed into an interreduced set: for any g ∈ G such that there exists an f ∈ G{g} with LM(f ) | LM(g) replace g by g − mf , where m is a term with LT(g) = m LT(f ). The result is called the (inter)reduction of G; it generates the same ideal as G.
46
1. Rings, Ideals and Standard Bases
(2) Every standard basis G can be transformed into an interreduced one by just deleting elements of G: delete zeros and then, successively, any g such that LM(g) is divisible by LM(f ) for some f ∈ G {g}. The result is again a standard basis. Thus, G is interreduced if and only if G is minimal (that is, we cannot delete any element of G without violating the property of being a standard basis). (3) Let G ⊂ R be an interreduced set and g ∈ G. If tail(g) is not reduced with respect to G, the power series expansion of tail(g) has a monomial which is either divisible by L(g) or by L(f ) for some f ∈ G {g}. If > is global, then no monomial of tail(g) is divisible by L(g) since > refines the natural partial ordering on Nn , that is, tail(g) is reduced with respect to {g}. For local or mixed orderings, however, it is possible to reduce tail(g) with g and we actually have to do this. (4) It follows that a Gr¨ obner basis G ⊂ K[x], which consists of monic polynomials, is (completely) reduced if for any f = g ∈ G, LM(g) does not divide any monomial of f . We shall see later that reduced Gr¨obner bases can always be computed6 (cf. the remark after Algorithm 1.6.10), and are unique (Exercise 1.6.1), but reduced standard bases are, in general, not computable (in a finite number of steps). The following two definitions are crucial for our treatment of standard bases. Definition 1.6.4. Let G denote the set of all finite lists G ⊂ R. NF : R × G → R, (f, G) → NF(f | G) , is called a normal form on R if, for all G ∈ G, (0) NF(0 | G) = 0 , and, for all f ∈ R and G ∈ G, (1) NF(f | G) = 0 =⇒ LM NF(f | G) ∈ L(G). (2) If G = {g1 , . . . , gs }, then f − NF(f |G) (or, by abuse of notation, f ) has a standard representation with respect to NF(− | G), that is, f − NF(f | G) =
s
a i g i , ai ∈ R , s ≥ 0 ,
i=1 s satisfying LM(Σi=1 ai gi ) ≥ LM(ai gi ) for all i such that ai gi = 0. NF is called a reduced normal form, if, moreover, NF(f | G) is reduced with respect to G. 6
The Singular command std can be forced to compute reduced Gr¨ obner bases G (up to normalization) using option(redSB). To normalize G, one may use the Singular command simplify(G,1).
1.6 Normal Forms and Standard Bases
47
Definition 1.6.5. (1) A map NF : R × G → R, as in Definition 1.6.4, is called a weak normal form on R if it satisfies (0),(1) of 1.6.4 and, instead of (2), (2’) for all f ∈ R and G ∈ G there exists a unit u ∈ R∗ such that uf has a standard representation with respect to NF(− | G). (2) A weak normal form NF is called polynomial if, whenever f ∈ K[x] and G ⊂ K[x], there exists a unit u ∈ R∗ ∩ K[x] such that uf has a standard representation with ai ∈ K[x]. Remark 1.6.6. (1) The notion of weak normal forms is only interesting for non–global orderings since for global orderings we have R = K[x] and, hence, R∗ = K ∗ . Even in general, if a weak normal form NF exists, then, theoretically, there exists also a normal form NF (f, G) −→
1 | G) NF(f | G) =: NF(f u
for an appropriate choice of u ∈ R∗ (depending on f and G). However, we are really interested in polynomial normal forms, and for non–global orderings 1/u is, in general, not a polynomial but a power series. Note that R∗ ∩ K[x] = S> . (2) Consider f = y, g = (y − x)(1 − y), and G = {g} in R = K[x, y]x,y with local ordering ls. Assume h := NF(f | G) ∈ K[x, y] is a polynomial normal form of f with respect to G. Since f ∈ GR = y − xR , we have h = 0, hence, LM(h) ∈ L(G) = y. Moreover h − y = h − f ∈ y − xR , which implies LM(h) < 1. Therefore, we obtain h = xh for some h (because of the chosen ordering ls). However, y − xh ∈ (y − x)(1 − y)K[x,y] (substitute (0, 1) for (x, y)) and, therefore no polynomial normal form of (f, G) exists. On the other hand, setting u = (1 − y) and h = x(1 − y) then uy − h = (y − x)(1 − y) and, hence, h is a polynomial weak normal form. (3) For applications (weak) normal forms are most useful if G is a standard basis of GR . We shall demonstrate this with a first application in Lemma 1.6.7. (4) f = i ai gi being a standard representation means that no cancellation of leading terms > LM(f ) between the ai gi can occur and that LM(f ) = LM(ai gi ) for at least one i. (5) We do not distinguish strictly between lists and (ordered) sets. Since, in the definition of normal form, we allow repetitions of elements in G we need lists, that is, sequences of elements, instead of sets. We assume a given set G to be ordered (somehow) when we apply NF(− | G).
48
1. Rings, Ideals and Standard Bases
(6) The existence of a normal form resp. a polynomial weak normal form with respect to G ⊂ K[x] which we prove in Algorithm 1.6.10 resp. Algorithm 1.7.6 says: For any f ∈ R there exist polynomials u, a1 , . . . , as ∈ K[x] such that uf =
s
ai gi + h, LM(u) = 1,
i=1
satisfying: (1) If h = 0 then LM(h) is not divisible by LM(gi ), i = 1, . . . , s, (2) LM( si=1 ai gi ) ≥ LM(ai gi ) for all i with ai gi = 0 (and hence equality holds for at least one i). Moreover, if > is global then the unit u can be chosen as 1. Thus the existence of a (weak) normal form is a division theorem where f (resp. uf ) is divided by G = {g1 , . . . , gs } with main part si=1 ai gi and remainder h = NF(f |G). The Singular command reduce or NF resp. division returns the remainder h resp. h together with the ai and the unit u. Lemma 1.6.7. Let I ⊂ R be an ideal, G ⊂ I a standard basis of I and NF(− | G) a weak normal form on R with respect to G. (1) (2) (3) (4)
For any f ∈ R we have f ∈ I if and only if NF(f | G) = 0. If J ⊂ R is an ideal with I ⊂ J, then L(I) = L(J) implies I = J. I = GR , that is, the standard basis G generates I as R–ideal. If NF(− | G) is a reduced normal form, then it is unique. 7
Proof. (1) If NF(f | G) = 0 then uf ∈ I and, hence, f ∈ I. If NF(f | G) = 0, then LM NF(f | G) ∈ L(G) = L(I), hence NF(f | G) ∈ I, which implies f ∈ I, since GR ⊂ I. To prove (2), let f ∈ J and assume that NF(f | G) = 0. Then LM NF(f | G) ∈ L(G) = L(I) = L(J), contradicting NF(f | G) ∈ J. Hence, f ∈ I by (1). (3) follows from (2), since L(I) = L(G) ⊂ L(GR ) ⊂ L(I), in particular, G is also a standard basis of GR . Finally, to prove (4), let f ∈ R and assume that h, h are two reduced normal forms of f with respect to G. Then no monomial of the power series expansion of h or h is divisible by any monomial of L(G) and, moreover, h − h = (f − h ) − (f − h) ∈ GR = I. If h − h = 0, then LM(h − h ) ∈ L(I) = L(G), a contradiction, since LM(h − h ) is a monomial of either h or h . Remark 1.6.8. The above properties are well–known for Gr¨ obner bases with R = K[x]. For local or mixed orderings it is quite important to work rigorously with R instead of K[x]. We give an example showing that none of the 7
In the case of a global ordering, we shall see below that such a reduced normal form exists. Then we also write NF(− | I) for NF(− | G), G any standard basis of I, and call it the normal form with respect to I.
1.6 Normal Forms and Standard Bases
49
above properties (1) – (3) holds for K[x], if they make sense, that is, if the input data are polynomial. Let f1 := x10 − x9 y 2 , f2 := y 8 − x2 y 7 , f3 := x10 y 7 , and consider the (local) ordering ds on K[x, y]. Then R = K[x, y]x,y , (1 − xy)f3 = y 7 f1 + x9 yf2 , and we set I := f1 , f2 R = f1 , f2 , f3 R , I := f1 , f2 K[x,y] , J := f1 , f2 , f3 K[x,y] , and G := {f1 , f2 }. Then G is a reduced standard basis of I (since we must multiply f1 at least with y 8 and f2 with x10 to produce new monomials, but L(G) ⊃ x, y17 ). If NF(− | G) is any weak normal form on R, then NF(f3 | G) = 0, since f3 ∈ I. Hence, we have in this case (1) NF(f3 | G) = 0, but f3 ∈ I , (2) I ⊂ J , L(I ) = L(J ), but I = J , (3) G ⊂ J , but GK[x] = J . Note that J is even x, y–primary (for a definition cf. Chapter 4). We concentrate first on well–orderings, Gr¨obner bases and Buchberger’s algorithm. To describe Buchberger’s normal form algorithm, we need the notion of an s–polynomial, due to Buchberger. Definition 1.6.9. Let f, g ∈ R {0} with LM(f ) = xα and LM(g) = xβ , respectively. Set γ := lcm(α, β) := max(α1 , β1 ), . . . , max(αn , βn ) and let lcm(xα , xβ ) := xγ be the least common multiple of xα and xβ . We define the s–polynomial (spoly, for short) of f and g to be spoly(f, g) := xγ−α f −
LC(f ) γ−β ·x g. LC(g)
If LM(g) divides LM(f ), say LM(g) = xβ , LM(f ) = xα , then the s–polynomial is particularly simple, spoly(f, g) = f −
LC(f ) α−β ·x g, LC(g)
and LM spoly(f, g) < LM(f ). For the normal form algorithm, the s–polynomial will only be used in the second form, while for the standard basis algorithm we need it in the general form above. In order to be able to use the same expression in both algorithms, we prefer the above definition of the s–polynomial and not the symmetric form LC(g)xγ−α f − LC(f )xγ−β g. Both are, of course, equivalent, since we work over a field K. However, in connection with pseudo standard bases (Exercise 2.3.6) we have to use the symmetric form.
50
1. Rings, Ideals and Standard Bases
Algorithm 1.6.10 (NFBuchberger(f | G)). Assume that > is a global monomial ordering. Input:
f ∈ K[x], G ∈ G
Output: h ∈ K[x], a normal form of f with respect to G. • h := f ; • while (h = 0 and Gh := {g ∈ G | LM(g) divides LM(h)} = ∅) choose any g ∈ Gh ; h := spoly(h, g); • return h; Note that each specific choice of “any” can give a different normal form function. Proof. The algorithm terminates, since in the i–th step of the while loop we create (setting h0 := f ) an s–polynomial hi = hi−1 − mi gi ,
LM(hi−1 ) > LM(hi ) ,
where mi is a term such that LT(mi gi ) = LT(hi−1 ), and gi ∈ G (allowing repetitions). Since > is a well–ordering, {LM(hi )} has a minimum, which is reached at some step m. We obtain h 1 = f − m1 g 1 h 2 = h 1 − m2 g 2 = f − m1 g 1 − m2 g 2 .. . m hm = f − mi g i , i=1
satisfying LM(f ) = LM(m1 g1 ) > LM(mi gi ) > LM(hm ). This shows that h := hm is a normal form with respect to G. Moreover, if h = 0, then Gh = ∅ and, hence, LM(h) ∈ L(G) if h = 0. This proves correctness, independent of the specific choice of “any” in the while loop. It is easy to extend NFBuchberger to a reduced normal form. Either we do tail–reduction during NFBuchberger, that is, we set h := spoly(h, g);
h := LT(h) + NFBuchberger(tail h) | G ; in the while loop, or do tail–reduction after applying NFBuchberger, as in Algorithm 1.6.11. Indeed, the argument holds for any normal form with respect to a global ordering.
1.6 Normal Forms and Standard Bases
51
Algorithm 1.6.11 (redNFBuchberger(f | G)). Assume that > is a global monomial ordering. Input: f ∈ K[x], G ∈ G Output: h ∈ K[x], a reduced normal form of f with respect to G • h := 0, g := f ; • while (g = 0) g := NFBuchberger (g | G); if (g = 0) h := h + LT(g); g := tail(g); • return h/ LC(h); Since tail(g) has strictly smaller leading term than g, the algorithm terminates, since > is a well–ordering. Correctness follows from the correctness of NFBuchberger. Example 1.6.12. Let > be the ordering dp on Mon(x, y, z), f = x3 + y 2 + 2z 2 + x + y + 1 ,
G = {x, y} .
NFBuchberger proceeds as follows: LM(f ) = x3 , Gf = {x}, h1 = spoly(f, x) = y 2 + 2z 2 + x + y + 1, LM(h1 ) = y 2 , Gh1 = {y}, h2 = spoly(h1 , y) = 2z 2 + x + y + 1, Gh2 = ∅. Hence, NFBuchberger(f | G) = 2z 2 + x + y + 1. For the reduced normal form in Algorithm 1.6.11 we obtain: g0 = NFBuchberger(f | G) = 2z 2 + x + y + 1, LT(g0 ) = 2z 2 , h1 = 2z 2 , g1 = tail(g0 ) = x + y + 1, g2 = NFBuchberger(g1 | G) = 1, LT(g2 ) = 1, h2 = 2z 2 + 1, g3 = tail(g2 ) = 0. Hence, RedNFBuchberger(f | G) = z 2 + 1/2. SINGULAR Example 1.6.13 (normal form). Note that NF(f | G) may depend on the sorting of the elements of G. The function reduce computes a normal form. ring A poly f poly f1 poly f2 ideal G
= = = = =
0,(x,y,z),dp; //a global ordering x2yz+xy2z+y2z+z3+xy; xy+y2-1; xy; f1,f2;
52
1. Rings, Ideals and Standard Bases
ideal S = std(G); S; //-> S[1]=xy //-> S[2]=y2-1
//a standard basis of
reduce(f,G); //** G is no standardbasis //-> y2z+z3 //NF w.r.t. a non-standard basis G=f2,f1; reduce(f,G); //** G is no standardbasis //-> y2z+z3-y2+xz+1 //NF for a different numbering in G reduce(f,S,1); //-> z3+xy+z
//NFBuchberger
reduce(f,S); //-> z3+z
//redNFBuchberger
Remark 1.6.14. There exists also the notion of a standard basis over a ring. Namely, let R be Noetherian and R[x] = R[x1 , . . . , xn ]. The leading data of f ∈ R[x1 , . . . , xn ] {0} with respect to a monomial ordering > on Mon(x1 , . . . , xn ) are defined as in Definition 1.2.2. If I ⊂ R[x] is an ideal and G ⊂ I a finite set, then G is a standard basis of I if LT(f ) | f ∈ I = LT(g) | g ∈ G . Note that we used leading terms and not leading monomials (which is, of course, equivalent if R is a field). The normal form algorithm over rings is more complicated than over fields. For example, if > is a global ordering, the algorithm NFBuchberger has to be modified to h := f ; while (h = 0 and Gh = {g1 , . . . , gs } = ∅ and LT(h) ∈ LT(g) | g ∈ Gh ) choose ci ∈ R {0} and monomials mi with mi LM(gi ) = LM(h) such that s LT(h) = c1 m1 LT(g1 ) + · · · + cs ms LT(gs ); h := h − i=1 ci mi gi ; return h; The determination of the ci requires the solving of linear equations over R and not just a divisibility test for monomials as for s–polynomials. With this normal form, standard bases can be computed as in the next section. For details see [1], [90], [129]. In practice, however, this notion is not frequently used so far and there seems to be no publicly available system having this implemented. A weaker concept are the comprehensive Gr¨ obner bases of Weispfenning [232], which
1.6 Normal Forms and Standard Bases
53
are Gr¨ obner bases depending on parameters and which specialize to a Gr¨ obner basis for all possible fixed values of the parameters. For a simple criterion, when the specialization of a standard basis is again a standard basis, see Exercises 2.3.7, 2.3.8, where we introduce pseudo standard bases.
Exercises Let > be any monomial ordering and R = K[x1 , . . . , xn ]> . 1.6.1. Let I ⊂ R be an ideal. Show that if I has a reduced standard basis, then it is unique. 1.6.2. Let > be a local or mixed ordering. Prove that Algorithm 1.6.11 computes, theoretically, (possibly in infinitely many steps) for f ∈ R and G ⊂ R a reduced normal form. Hence, it can be used to compute, for local degree orderings, a normal form which is completely reduced up to a finite, but arbitrarily high order. 1.6.3. Show by an example, with f and G consisting of polynomials and > not global, that a completely reduced normal form of f with respect to G does not exist in R. (Note that Exercise 1.6.2 only says that it exists as formal power series.) 1.6.4. Apply NFBuchberger to (f, G, >) without using Singular: (1) f = 1, G = {x − 1} and ordering lp, respectively ls. (2) f = x4 + y 4 + z 4 + xyz, G = {∂f /∂x, ∂f /∂y, ∂f /∂z} and ordering dp. 1.6.5. Give a direct argument that the set G in Exercise 1.6.4 (2) is a standard basis with respect to dp. 1.6.6. Write a Singular procedure, having two polynomials f, g as input and returning spoly(f, g) as output. 1.6.7. Write your own Singular procedure, having a polynomial f and an ideal I as input and NFBuchberger (f | I) as output by always choosing the first element from Gh . (Note that an ideal is given by a list of polynomials.) 1.6.8. Implement, as Singular procedures, the two ways described in the text to compute a reduced normal form. (The first method is a good exercise in recursive programming.) Check your procedures with the Singular Example 1.6.13. 1.6.9. Let R = K[t1 , . . . , tn ], K a field. Write a Singular procedure which computes the normal form NFBuchberger over the ring R, as explained in Remark 1.6.14. (Hint: use the Singular command lift.)
54
1. Rings, Ideals and Standard Bases
1.7 The Standard Basis Algorithm Let > be a fixed monomial ordering and let, in this section, R = K[x1 , . . . , xn ]> be the localization of K[x], x = (x1 , . . . , xn ), with respect to >. Recall that −1 R = S> K[x] with S> = {u ∈ K[x] {0} | LM(u) = 1}, and that R = K[x] if > is global and R = K[x]x if > is local. In any case, R may be considered as a subring of the ring K[[x]] of formal power series. The idea of many standard basis algorithms may be formalized as follows: Algorithm 1.7.1 (Standard(G,NF)). Let > be any monomial ordering, and R := K[x1 , . . . , xn ]> . Input: G ∈ G, NF an algorithm returning a weak normal form. Output: S ∈ G such that S is a standard basis of I = GR ⊂ R • S := G; • P := {(f, g) | f, g ∈ S, f = g}, the pair–set; • while (P = ∅) choose (f, g) ∈ P ; P := P {(f, g)}; h := NF spoly(f, g) | S ; if (h = 0) P := P ∪ {(h, f ) | f ∈ S}; S := S ∪ {h}; • return S; To see termination of Standard, note that if h = 0 then LM(h) ∈ L(S) by property (i) of NF. Hence, we obtain a strictly increasing sequence of monomial ideals L(S) of K[x], which becomes stationaryas K[x] is Noetherian. That is, after finitely many steps, we always have NF spoly(f, g) | S = 0 for (f, g) ∈ P , and, again after finitely many steps, the pair-set P will become empty. Correctness follows from applying Buchberger’s fundamental standard basis criterion below. Remark 1.7.2. If NF is a reduced normal form and if G is reduced, then S, as returned by Standard(G,NF), is a reduced standard basis if we delete elements whose leading monomials are divisible by a leading monomial of another element in S. If G is not reduced, we may apply a reduced normal form afterwards to (f, S {f }) for all f ∈ S in order to obtain a reduced standard basis. Theorem 1.7.3 (Buchberger’s criterion). Let I ⊂ R be an ideal and G = {g1 , . . . , gs } ⊂ I. Let NF(− | G) be a weak normal form on R with respect to G. Then the following are equivalent: 8 8
Usually, the implication (4) ⇒ (1) is called Buchberger’s criterion. But with our concept of (weak) normal forms, we need, indeed, the implication (5) ⇒ (1) to prove the correctness of the standard basis algorithm.
1.7 The Standard Basis Algorithm
(1) (2) (3) (4) (5)
55
G is a standard basis of I. NF(f | G) = 0 for all f ∈ I. Each f ∈ I has a standard representation with respect to NF(− | G). G generates I and NF spoly(gi , gj ) | G = 0 for i, j = 1, . . . , s. G generates I and NF spoly(gi , gj ) | Gij = 0 for a suitable subset Gij ⊂ G and i, j = 1, . . . , s.
Proof. The implication (1) ⇒ (2) follows from Lemma 1.6.7, (2) ⇒ (3) is trivial. To see (3) ⇒ (4), note that h := NF spoly(gi , gj ) | G ∈ I and, hence, either h = 0 or LM(h) ∈ L(G) by (3), a contradiction to property (i) of NF. The fact that G generates I follows immediately from (3). (4) ⇒ (5) is trivial. Finally, the implication (5) ⇒ (1) is the important Buchberger criterion which allows the checking and construction of standard bases in finitely many steps. Our proof uses syzygies and is, therefore, postponed to the next chapter. Example 1.7.4. Let > be the ordering dp on Mon(x, y), NF=NFBuchberger and G = {x2 + y, xy + x}. Then we obtain as initialization S = {x2 + y, xy + x} P = {(x2 + y, xy + x)}. The while–loop gives, in the first turn, P =∅ h = NF(−x2 + y 2 | S) = y 2 + y P = {(y 2 + y, x2 + y), (y 2 + y, xy + x)} S = {x2 + y, xy + x, y 2 + y}. In the second turn P = {(y 2 + y, xy + x)} h = NF(−x2 y + y 3 | S) = 0. In the third turn P =∅ h = NF(0 | S) = 0. The algorithm terminates and S = {x2 + y, xy + x, y 2 + y} is a standard basis. We present now a general normal form algorithm, which works for any monomial ordering. The basic idea is due to Mora [176], but our algorithm is more general, with a different notion of ecart. It has been implemented in Singular since 1990, the first publication appeared in [97], [111]. Before turning to the details, let us first analyze Buchberger’s algorithm in the case of a non–global ordering. We may assume that in K[x, y] we have x1 , . . . , xn < 1, y1 , . . . , ym > 1 (m ≥ 0). Look at the sequence mi = ci xαi y βi , i ≥ 1, of terms constructed in the algorithm NFBuchberger. If degx (mi ) is bounded, then, since > induces a well–ordering on K[y], the algorithm stops after finitely many steps. On the other hand, if the degree of mi in x is unbounded, then, for each αi βj fixed factor x , there can only be finitely many cofactors y and, hence, i≥1 mi converges in the x–adic topology (cf. Definition 6.1.6), that is,
56
1. Rings, Ideals and Standard Bases
i≥1 mi ∈ K[y][[x]]. If G = {g1 , . . . , gs } we may gather the factors mj of any gi , obtaining thus in NFBuchberger an expression
h=f−
s
ai g i ,
h, ai ∈ K[y][[x]] ,
i=1
which holds in K[y][[x]]. However, this process does not stop. The standard example is in one variable x, with x < 1, f := x and G := {g = x − x2 }. Using NFBuchberger we obtain ∞ xi (x − x2 ) = 0 x− i=0
i 1/(1 − x) in K[[x]]. However, the in K[[x]], which is true, since ∞ i=0 x = ∞ i algorithm constructs a power series i=0 x having infinitely many terms and not the finite expression 1/(1 − x). In order to avoid infinite power series, we have to allow a wider class of elements for the reduction in order to create a standard expression of the form s ai gi + NF(f | G) , uf = i=1
where u is a unit in R, and u, ai and NF(f | G) are polynomials in the case when the input data f and G = {g1 , . . . , gs } are polynomials. In the previous example we arrive at an expression (1 − x)x = x − x2 ∞ instead of x = ( i=0 xi )(x − x2 ). Definition 1.7.5. For f ∈ K[x] {0} we define the ecart of f as ecart(f ) := deg f − deg LM(f ) . Note that, for a homogeneous polynomial f , we have ecart(f ) = 0. If w = (w1 , . . . , wn ) is any tuple of positive real numbers, we can define the weighted ecart by ecartw (f ) := w–deg(f ) − w–deg LM(f ) . In the following normal form algorithm NFMora, we may always take ecartw instead of ecart, the algorithm works as well. It was noted in [94] that, for certain examples, the algorithm can become much faster for a good choice of w. Another description of ecart(f ) turns out to be quite useful. Let f h denote the homogenization of f with respect to a new variable t (such that all monomials of f are of the same degree, cf. Exercise 1.7.4). Define on Mon(t, x1 , . . . , xn ) an ordering >h by tp xα >h tq xβ if p + |α| > q + |β| or if p + |α| = q + |β| and xα > xβ . Equivalently, >h is given by the matrix
1.7 The Standard Basis Algorithm ⎛ ⎜ ⎜ ⎝
57
⎞
1 1 ... 1 ⎟ 0. ⎟ . . A ⎠ 0
where A is a matrix defining the ordering on K[x]. This defines a well– ordering on Mon(t, x). For f ∈ K[x] we have LM>h (f h ) = tecart(f ) LM> (f ) , in particular, ecart(f ) = degt LM>h (f h ). Algorithm 1.7.6 (NFMora(f | G)). Let > be any monomial ordering. Input: f ∈ K[x], G a finite list in K[x] Output: h ∈ K[x] a polynomial weak normal form of f with respect to G. • h := f ; • T := G; • while(h = 0 and Th := {g ∈ T | LM(g) | LM(h)} = ∅) choose g ∈ Th with ecart(g) minimal; if (ecart(g) > ecart(h)) T := T ∪ {h}; h := spoly(h, g); • return h; Example 1.7.7. Let > be the ordering ds on Mon(x, y, z), f = x2 + y 2 + z 3 + x4 + y 5 , G = {x, y}. Then NFMora (f | G) = z 3 + x4 + y 5 . If the input is homogeneous, then the ecart is always 0 and NFMora is equal to NFBuchberger. If > is a well–ordering, then LM(g) | LM(h) implies that LM(g) ≤ LM(h), hence, even if h is added to T during the algorithm, it cannot be used in further reductions. Thus, NFMora is the same as NFBuchberger, but with a special selection strategy for the elements from G. Proof of Algorithm 1.7.6. Termination is most easily seen by using homogenization: start with h := f h and T := Gh = {g h | g ∈ G}. The while loop looks as follows (see Exercise 1.7.9): • while (h = 0 and Th := {g ∈ T | LM(g) divides tα LM(h) for some α} = ∅) choose g ∈ Th with α ≥ 0 minimal; if (α > 0) T := T ∪ {h}; h := spoly(tα h, g); h := (h|t=1 )h ; • return h|t=1 ;
58
1. Rings, Ideals and Standard Bases
Since R is Noetherian, there exists some positive integer N such that L(Tν ) becomes stable for ν ≥ N , where Tν denotes the set T after the ν–th turn of the while loop. The next h, therefore, satisfies LM(h) ∈ L(TN ) = L(T ), whence, LM(g) divides LM(h) for some g ∈ T and α = 0. That is, Tν itself becomes stable for ν ≥ N and the algorithm continues with fixed T . Then it terminates, since > is a well–ordering on K[t, x]. To see correctness, consider the ν–th turn in the while loop of Algorithm 1.7.6. There we create (with h0 := f ) hν := spoly(hν−1 , gν ) for some gν ∈ Tν−1 such that LM(gν ) | LM(hν−1 ). Hence, there exists some term mν ∈ K[x], LT(mν gν ) = LT(hν−1 ), such that hν = hν−1 − mν gν ,
LM(hν−1 ) = LM(mν gν ) > LM(hν ) ,
Now for gν we have two possibilities: (1) gν = gi ∈ G = {g1 , . . . , gs } for some i, or (2) gν ∈ T G ⊂ {h0 , h1 , . . . , hν−2 }. Suppose, by induction, that in the first ν − 1 steps (ν ≥ 1) we have constructed standard representations uj f =
s
(j)
(j)
ai g i + h j , u j ∈ S > , ai
∈ K[x] ,
i=1 (0)
0 ≤ j ≤ ν − 1, starting with u0 := 1, ai := 0. Consider this standard representation for j = ν − 1. In case (1), we replace hν−1 on the right–hand side by hν + mν gi , hence, obtaining uν f =
s
(ν)
ai g i + h ν
i=1 (ν)
with uν := uν−1 and some ai ∈ K[x]. In case (2), we have to substitute hν−1 by s (j) ai g i − u j f h ν + mν h j = h ν − mν i=1
with j < ν − 1. Hence, we obtain an expression (uν−1 − mν uj )f =
s
(ν)
ai g i + h ν ,
(ν)
ai ∈ K[x] .
i=1
Since LM(mν ) · LM(hj ) = LM(mν hj ) = LM(hν−1 ) < LM(hj ), we obtain that LM(mν ) < 1 and, hence, uν = uν−1 − mν uj ∈ S> .
1.7 The Standard Basis Algorithm
59
It is clear that, with a little extra storage, the algorithm does also return u ∈ S> . Moreover, with quite a bit of bookkeeping one obtains the ai . Now, the standard basis algorithm for arbitrary monomial orderings formally looks as follows: Algorithm 1.7.8 (StandardBasis(G)). Let > be any monomial ordering, R = K[x]> . Input: G = {g1 , . . . , gs } ⊂ K[x] Output: S = {h1 , . . . , ht } ⊂ K[x] such that S is a standard basis of the ideal GR ⊂ R. • S := Standard(G,NFMora); • return S; The following corollary shows that the property of being a standard basis depends only on the ordering of finitely many monomials. This property is used in our study of flatness and standard bases (Section 7.5). Corollary 1.7.9 (finite determinacy of standard bases). Let I ⊂ K[x] be an ideal and G ⊂ K[x] be a standard basis of I with respect to an arbitrary monomial ordering >. Then there exists a finite set F ⊂ Mon(x) with the following properties: Let >1 be any monomial ordering on Mon(x) coinciding with > on F , then (1) LM> (g) = LM>1 (g) for all g ∈ G, (2) G is a standard basis of I with respect to >1 . Proof. We apply Theorem 1.7.3 with NF = NFMora. Let G = {g1 , . . . , gs }, and let F be the set of all monomials occurring in all polynomials process of spoly(gi , gj ) to 0 in NFMora. during the reduction Then NF spoly(gi , gj ) | G = 0 also with respect to >1 , and the result follows, using Theorem 1.7.3 (4). SINGULAR Example 1.7.10 (standard bases). The same generators for an ideal give different standard bases with respect to different orderings: ring A = 0,(x,y),dp; //global ordering: degrevlex ideal I = x10+x9y2,y8-x2y7; ideal J = std(I); J; //-> J[1]=x2y7-y8 J[2]=x9y2+x10 J[3]=x12y+xy11 //-> J[4]=x13-xy12 J[5]=y14+xy12 J[6]=xy13+y12 ring A1 = 0,(x,y),lp; ideal I = fetch(A,I);
//global ordering: lex
60
1. Rings, Ideals and Standard Bases
ideal J = std(I); J; //-> J[1]=y15-y12 J[2]=xy12+y14 J[3]=x2y7-y8 J[4]=x10+x9y2 ring B = 0,(x,y),ds; //local ordering: local degrevlex ideal I = fetch(A,I); ideal J = std(I); J; //-> J[1]=y8-x2y7 J[2]=x10+x9y2 ring B1 = 0,(x,y),ls; //local ordering: negative lex ideal I = fetch(A,I); ideal J = std(I); J; //-> J[1]=y8-x2y7 J[2]=x9y2+x10 J[3]=x13 intmat O[3][3]=1,1,1,0,-1,-1,0,0,-1; ring C = 0,(t,x,y),M(O); //global ordering: matrix O ideal I = homog(imap(A,I),t); //gives a standard basis for //local degrevlex ideal J = std(I); //cf. Exercise 1.7.5 J = subst(J,t,1); J; //-> J[1]=-x2y7+y8 J[2]=x9y2+x10 J[3]=x12y7+x9y10 //already J[1],J[2] is a //standard basis We finish this section with the so–called highest corner, a notion which is computationally extremely useful for 0–dimensional ideals in local rings. Moreover, the highest corner is tightly connected with the determinacy of an isolated hypersurface singularity (cf. A.9). Definition 1.7.11. Let > be a monomial ordering on Mon(x1 , . . . , xn ) and let I ⊂ K[x1 , . . . , xn ]> be an ideal. A monomial m ∈ Mon(x1 , . . . , xn ) is called the highest corner of I (with respect to >), denoted by HC(I), if (1) m ∈ L(I); (2) m ∈ Mon(x1 , . . . , xn ), m < m =⇒ m ∈ L(I). Note that for a global ordering the highest corner is 1 if I is a proper ideal (and does not exist if 1 ∈ I). Since, by definition HC(I) = HC L(I) , it can be computed combinatorially from a standard basis of I. Singular has a built–in function highcorner which returns, for a given set of generators f1 , . . . , fk of I, the highest corner of the ideal LM(f1 ), . . . , LM(fk ), respectively 0, if the highest corner does not exist.
1.7 The Standard Basis Algorithm
61
SINGULAR Example 1.7.12 (highest corner). ring A = 0,(x,y),ds; ideal I = y4+x5,x3y3; highcorner(I); //-> // ** I is not a standard basis //-> 0 //no highest corner for std(I); //-> _[1]=y4+x5 _[2]=x3y3 highcorner(std(I)); //-> x7y2
_[3]=x8
The highest corner of I is x7 y 2 , as can be seen from Figure 1.2. y L(y 4 + x5 , x3 y 3 )
6
4 •
• •- x 8 Fig. 1.2. L(y 4 + x5 , x3 y 3 ) is generated by the monomials y 4 , x3 y 3 , x8 (marked by a •). The highest corner is x7 y 2 (marked by a ).
Lemma 1.7.13. Let > be a monomial ordering on Mon(x1 , . . . , xn ) and I ⊂ K[x1 , . . . , xn ]> be an ideal. Let m be a monomial such that m < m implies m ∈ L(I). Let f ∈ K[x1 , . . . , xn ] such that LM(f ) < m. Then f ∈ I. Proof. Let r = NFMora (f | G), G a standard basis for I. If r = 0, then LM(r) < LM(f ) < m and, therefore, LM(r) ∈ I which is a contradiction to the properties of the normal form. Lemma 1.7.14. Let > be a monomial ordering on Mon(x1 , . . . , xn ) and denote by z1 , . . . , zr the variables < 1 from {x1 , . . . , xn } and by y1 , . . . , ys the variables > 1 (0 ≤ r, s, r + s = n). Assume that the restriction of > to Mon(z1 , . . . , zr ) is a weighted degree ordering. The following are equivalent for an ideal I ⊂ K[x1 , . . . , xn ]> : (1) HC(I) exists, (2) z1 , . . . , zr N ⊂ L(I) for some N ≥ 0, (3) z1 , . . . , zr M ⊂ I for some M ≥ 0. Moreover, HC(I) ∈ Mon(z1 , . . . , zr ) if it exists.
62
1. Rings, Ideals and Standard Bases
Proof. To see that (1) implies (2), let m := HC(I). If m = 1, then 1 ∈ I and z1 , . . . , zr ∈ L(I) by definition of the highest corner. If m = 1 and if we write m = xi m for some monomial m then xi < 1 (otherwise, m < m, which would imply m ∈ L(I), hence, m ∈ L(I), a contradiction), and it follows that m ∈ Mon(z1 , . . . , zr ). Since > is a weighted degree ordering on Mon(z1 , . . . , zr ), the definition of the highest corner implies (2). Conversely, if z1 , . . . , zr N ⊂ L(I) then there are only finitely many monomials in Mon(z1 , . . . , zr ) which are not in L(I). This finite set has a minimum m. If m = z α y β < m then z α < m which implies z α ∈ L(I) and, hence, m ∈ L(I). The implication (3) ⇒ (2) being trivial, it remains only to show that (2) implies (3). Let M ≥ N . Since ziM ∈ L(I), we have ziM + hi ∈ I for some hi with LM(hi ) = z α y β < ziM , in particular, z α < ziM . Let m := HC(I), which exists by the equivalence of (2) and (1) proven before, and enlarge M , if necessary, such that ziM ≤ m. Then z α < m implies z α ∈ L(I) and, hence, LM(hi ) ∈ L(I). Now we apply Lemma 1.7.13 and obtain hi ∈ I. Therefore, ziM ∈ I for i = 1, . . . , r, and (3) follows. Remark 1.7.15. As a direct consequence, for a local weighted degree ordering, we have HC(I) exists ⇐⇒ dimK (K[x1 , . . . , xn ]> /I) < ∞ ⇐⇒ dimK K[x1 , . . . , xn ]/L(I) < ∞ . Indeed, we show in Section 7.5 that, for any monomial ordering, dimK (K[x1 , . . . , xn ]> /I) = dimK K[x1 , . . . , xn ]/L(I) . (see also Corollary 5.3.14). Remark 1.7.16. The implications (2) ⇔ (3) ⇒ (1) in Lemma 1.7.14 hold without any assumption on the ordering >. This is a consequence of Lemma 1.2.11. The implication (1) ⇒ (2) is wrong in general: let > be the negative lexicographical ordering ls and I = xy, x2 , then HC(I) = x. Lemma 1.7.17. Let > be a weighted degree ordering on Mon(x1 , . . . , xn ). Moreover, let f1 , . . . , fk be a set of generators of the ideal I ⊂ K[x1 , . . . , xn ]> such that J := LM(f1 ), . . . , LM(fk ) has a highest corner m := HC(J), and let f ∈ K[x1 , . . . , xn ]> . Then the following holds: (1) HC(I) exists, and, moreover, HC(I) ≥ HC(J) and HC(I) = HC(J) if f1 , . . . , fk is a standard basis of I. (2) If LM(f ) < HC(J) then f ∈ I. (3) For a fixed monomial m < HC(J) set M = {i | LM(fi ) ≤ m } and define fi , if i ∈ M ˆ fi := fi + ai · m , if i ∈ M
1.7 The Standard Basis Algorithm
63
where ai ∈ K is arbitrary. Then I = fˆ1 , . . . , fˆk . Proof. (1) Since J ⊂ L(I) and J = L(I) if f1 , . . . , fk is a standard basis, the claim follows from Lemma 1.7.14. (2) LM(f ) < m implies LM(f ) ∈ L(J) ⊂ L(I). The assertion is a consequence of Lemma 1.7.13. (3) Since m < m, m ∈ I by (2) and, therefore, I = fˆ1 , . . . , fˆk , m . We have to show m ∈ I = fˆ1 , . . . , fˆk . Since LM(fi ) = LM(fˆi ) for all i, we can apply (2) to I instead of I with the same J and m and, therefore, m ∈ I. The lemma shows that we can delete from fi all terms a · m , a ∈ K, with m < min{m, LM(fi )}, still keeping a set of generators of I. This is used in Singular during standard basis computations in local orderings to keep the polynomials sparse and to have early termination if, in the reduction process, the leading monomial becomes smaller than the highest corner.
Exercises 1.7.1. Prove the Product Criterion: let f, g ∈ K[x1 , . . . , xn ] be polynomials such that lcm LM(f ), LM(g) = LM(f ) · LM(g), then NF spoly(f, g) | {f, g} = 0 . (Hint: It is sufficient to prove the statement for NF = NFMora. Assume that LC(f ) = LC(g) = 1 and claim that spoly(f, g) = − tail(g)f + tail(f )g. Moreover, assume that, after some steps in NFMora, u · spoly(f, g) (u a unit) is reduced to hf + kg. If LT(hf ) + LT(kg) = 0 then LT(h) = m · LM(g) and LT(k) = −m LM(f ) for a suitable term m, and (u − m) spoly(f, g) is reduced to tail(h)f + tail(k)g. If LT(hf ) + LT(kg) = 0 then assume LM(hf + kg) = LM(hf ), and hf + kg reduces to tail(h)f + kg.) 1.7.2. Let I := x3 y 2 + x4 , x2 y 3 + y 4 ⊂ K[x, y] (resp. I := x3 + y 2 , y 4 + x). Compute (without using Singular) a standard basis of I with respect to the degree lexicographical ordering (respectively lexicographical ordering). 1.7.3. Which of the following orderings are elimination orderings: lp, ls, (lp(n),ls(m)), (ls(n),lp(m)), (a(1,...,1,0,...0),dp)? Compute a standard basis of the ideal x − t2 , y − t3 , z − t4 for all those orderings. 1.7.4. For an arbitrary polynomial g ∈ K[x1 , . . . , xn ] of degree d, let x1 xn g h (x0 , x1 , . . . , xn ) := xd0 g ,..., ∈ K[x0 , . . . , xn ] x0 x0 be the homogenization of g (with respect to x0 ). For an ideal I ⊂ K[x1 , . . . , xn ] let I h := f h | f ∈ I ⊂ K[x0 , . . . , xn ].
64
1. Rings, Ideals and Standard Bases
Let > be a global degree ordering, and let {f1 , . . . , fm } be a Gr¨ obner basis of I. Prove that h I h = f1h , . . . , fm . 1.7.5. For w = (w1 , . . . , wn ) ∈ Zn , wi = 0 for i = 1, . . . , n, and a polynomial g ∈ K[x1 , . . . , xn ] with w–deg(g) = d, let x1 xn ∈ K[x0 , . . . , xn ] , . . . , g h (x0 , x1 , . . . , xn ) := xd0 g 1 n xw xw 0 0 be the (weighted) homogenization of g (with respect to x0 ). For an ideal I ⊂ K[x1 , . . . , xn ] let I h := f h | f ∈ I ⊂ K[x0 , . . . , xn ]. Let > be a weighted degree ordering with weight vector w, and let {f1 , . . . , fm } be a Gr¨ obner basis of I. Prove that h I h K[x, t]>h = f1h , . . . , fm K[x, t]>h ,
where >h denotes the monomial ordering on Mon(x0 , . . . , xn ) defined by the matrix ⎛ ⎞ ⎜ ⎜ ⎝
1 w1 . . . wm ⎟ 0. ⎟ . ⎠ . A 0
with A ∈ GL(n, R) a matrix defining > on Mon(x1 , . . . , xn ). 1.7.6. Let A ∈ GL(n, Q) be a matrix defining, on Mon(x1 , . . . , xn ), the ordering > and let I = f1 , . . . , fm ⊂ K[x1 , . . . , xn ] be an ideal. Consider the ordering >h on Mon(t, x1 , . . . , xn ) defined by the matrix ⎛ ⎜ ⎜ ⎝
⎞ 1 1 ... 1 ⎟ 0. ⎟ . . A ⎠ 0
(cf. the remark after Definition 1.7.5) and let {G1 , . . . , Gs } be a homogeneous h standard basis of f1h , . . . , fm , fih , the homogenization of fi with respect to t. Prove that {G1 |t=1 , . . . , Gs |t=1 } is a standard basis for I. 1.7.7. Let I = f1 , . . . , fm ⊂ K[x1 , . . . , xn ] be an ideal, and consider on Mon(t, x1 , . . . , xn ) the ordering dp (respectively Dp). Let {G1 , . . . , Gs } be a h standard basis of f1h , . . . , fm , fih , the homogenization of fi with respect to t. Prove that {G1 |t=1 , . . . , Gs |t=1 } is a standard basis for I with respect to the ordering ls on Mon(xn , xn−1 , . . . , x1 ) (respectively Ds on Mon(x1 , . . . , xn )). 1.7.8. Let I = f1 , . . . , fm ⊂ K[x1 , . . . , xn ] be an ideal, and consider on Mon(x1 , . . . , xn , t) the ordering dp. Let {G1 , . . . , Gs } be a standard basis h of f1h , . . . , fm , fih the homogenization of fi with respect to t. Prove that {G1 |t=1 , . . . , Gs |t=1 } is a standard basis for I with respect to the ordering dp on Mon(x1 , . . . , xn ). 1.7.9. Prove that the while loops in Algorithm 1.7.6 and at the beginning of its proof give the same result.
1.7 The Standard Basis Algorithm
65
1.7.10. Check (by hand) whether the following polynomials f are contained in the respective ideals I: (1) f = xy 3 − z 2 + y 5 − z 3 , I = −x3 + y, x2 y − z in Q[x, y, z], (2) f = x3 z − 2y 2 , I = yz − y, xy + 2z 2 , y − z in Q[x, y, z], (3) f and I as in (2) but in Q[x, y, z]x,y,z . 1.7.11. Verify your computation in 1.7.10 by using Singular. 1.7.12. Compute a standard basis of (1) x3 , x2 y − y 3 with respect to ls and lp. (2) x3 + xy, x2 y − y 3 with respect to ds and dp. 1.7.13. Determine all solutions in C2 of the system of polynomial equations xy − x − 2y + 2 = 0 ,
x2 + xy − 2x = 0 .
(Hint: compute first a lexicographical Gr¨ obner basis of the two polynomials.) 1.7.14. Use Singular to determine all points in C3 lying on the variety V given by: (1) V = V (xz − y, xy + 2z 2 , y − z), (2) V = V (x2 + y 2 + z 2 − 1, y 2 − z, x2 + y 2 ). 1.7.15. Consider f (x, y) := x2 − y 3 − 32 y 2 . (1) Compute all critical points of f (that is, points where ∂f /∂x and ∂f /∂y vanish). (2) Which of the critical points are local minima, maxima, saddle points? (3) Do the same for g(x, y) = f (x, y) · (y − 1). 1.7.16. Let K be a field, let m ⊂ K[x1 , . . . , xn ] be a maximal ideal, and let L := K[x1 , . . . , xn ]/m. Moreover, let I = f1 , . . . , fm ⊂ L[y1 , . . . , ys ] be an ideal, and let J := F1 , . . . , Fm ⊂ K[x1 , . . . , xn , y1 , . . . , ys ] be generated by representatives Fi of the fi , i = 1, . . . , m. Finally, let {H1 , . . . , Ht } be a standard basis of J with respect to a block ordering >= (>1 , >2 ) on Mon(y1 , . . . , ys , x1 , . . . , xn ) with >1 , >2 global. (1) Prove that {H1 mod m, . . . , Ht mod m} is a standard basis of I with respect to >1 . (2) Write a Singular procedure to compute a minimal standard basis in L[y1 , . . . , ys ] (where K is one of the base fields of Singular) such that the leading coefficients are 1. 1.7.17. Let I ⊂ K[x1 , . . . , xn ] be an ideal and > a monomial ordering. Then there exists a weight vector w = (w1 , . . . , wn ) ∈ Zn , with wi > 0 if xi > 1 and wi < 0 if xi < 1, such that the weighted degree lexicographical ordering defined by w and the given ordering > yield the same leading ideal L(I). (Hint: use Lemma 1.2.11.)
66
1. Rings, Ideals and Standard Bases
1.7.18. (1) Let I ⊂ K[x1 , . . . , xn ]> be an ideal, and let > denote the negative lexicographical ordering ls. Moreover, let xα , α = (α1 , . . . , αn ) denote the highest corner of I. Show that, for i = 1, . . . , n, 1 αi−1 p αi = max p xα 1 · . . . · xi−1 xi ∈ L(I) . (2) Compute the highest corner of I = x2 + x2 y, y 3 + xy 3 , z 3 − xz 2 with respect to the orderings ls and ds. (This can be done by hand; you may check your results by using the Singular function highcorner.) 1.7.19. Let K be a field, x one variable and > the well–ordering on K[x]. (1) Prove that the standard basis algorithm is the Euclidean algorithm. (2) Use Singular to compute for f = (x3 + 5)2 (x − 2)(x2 + x + 2)4 and g = (x3 + 5)(x2 − 3)(x2 + x + 2) the gcd(f, g). Try std(ideal(f,g)) and gcd(f,g). 1.7.20. Let K be a field, x = (x1 , . . . , xn ) and > the lexicographical ordering on K[x]. (1) Prove that the standard basis algorithm is the Gaussian elimination algorithm if it is applied to linear polynomials. (2) Use Singular to solve the following linear system of equations: 22x + 77y + z = 3 x + y + z = 77 x − y − z = −11 . With option(redSB) the complete reduction of the standard basis can be forced. Try both possibilities. 1.7.21. Prove that the equivalence of (2) and (3) in Lemma 1.7.14 holds for any monomial ordering. 1.7.22. Let > be an arbitrary monomial ordering on Mon(x1 , . . . , xn ), and let I ⊂ K[x] be an ideal. Let G ⊂ K[x] be a standard basis of I with respect to >. Assume, moreover that dimK (K[x]/L(I)) < ∞. Prove that there exists a standard basis G ⊃ G such that RedNFBuchberger(− | G ) terminates. (Hint: Denote by z = (z1 , . . . , zr ) the variables < 1. Use Exercise 1.7.21 to choose M such that zM ⊂ I. Enlarge G by adding all monomials in z of degree M .) 1.7.23. Let > be an arbitrary monomial ordering on Mon(x1 , . . . , xn ), and let I ⊂ K[x]> be an ideal. Denote by z = (z1 , . . . , zr ) the variables < 1, and assume that zm ⊂ I for some positive integer m. Prove that the canonical injection K[x]/(I ∩ K[x]) → K[x]> /I is an isomorphism. 1.7.24. Use Remark 1.6.14 and Exercise 1.6.9 for writing a Singular procedure which computes standard bases over a polynomial ring K[t1 , . . . , ts ], K a field.
1.8 Operations on Ideals and Their Computation
67
1.8 Operations on Ideals and Their Computation The methods developed so far already allow some interesting applications to basic ideal operations. In general, we assume we have given a finite set of ideals, each is given by a finite set of polynomial generators. We want to either affirmatively answer a specific question about the ideals or to compute a specific operation on these ideals, that is, compute a finite set of generators for the result of the operation. 1.8.1 Ideal Membership Let K[x] = K[x1 , . . . , xn ] be the polynomial ring over a field K, >0 an arbitrary monomial ordering and R = K[x]>0 the ring associated to K[x] and >0 . Recall that K[x] ⊂ R ⊂ K[x]x , and that R = K[x]x if and only if >0 is local (cf. Section 1.5). Let NF denote a weak normal form and redNF a reduced normal form (cf. Section 1.6). We do not need any further assumptions about NF, respectively redNF, however, we may think of NFBuchberger (1.6.10), respectively redNFBuchberger (1.6.11), if >0 is global, and NFMora (1.7.6) in the general case. These are also the normal forms implemented in Singular. Problem: Given f, f1 , . . . , fk ∈ K[x], and let I = f1 , . . . , fk R . We wish to decide whether f ∈ I, or not. Solution: We choose any monomial ordering > such that K[x]> = R and compute a standard basis G = {g1 , . . . , gs } of I with respect to >. If NF is any weak normal form, then f ∈ I if and only if NF(f | G) = 0. Correctness follows from Lemma 1.6.7. Since the result is independent of the chosen NF, we should use, for reasons of efficiency, a non–reduced normal form. If >0 is global, we usually choose dp and, if >0 is local, then ls or ds are preferred. SINGULAR Example 1.8.1 (ideal membership). (1) Check inclusion of a polynomial in an ideal ring A = 0,(x,y),dp; ideal I = x10+x9y2,y8-x2y7; ideal J = std(I); poly f = x2y7+y14; reduce(f,J,1); //3rd parameter 1 avoids tail reduction //-> -xy12+x2y7 //f is not in I f = xy13+y12; reduce(f,J,1); //-> 0 //f is in I
68
1. Rings, Ideals and Standard Bases
(2) Check inclusion and equality of ideals. ideal K = f,x2y7+y14; reduce(K,J,1); //normal form for each generator of K //-> _[1]=0
_[2]=-xy12+x2y7
K=f,y14+xy12; size(reduce(K,J,1));
//K is not in I
//result is 0 iff K is in I
//-> 0 Now assume that f ∈ I = f1 , . . . , fk R . Then there exist u ∈ K[x] ∩ R∗ , a1 , . . . , ak ∈ K[x] such that uf = a1 f1 + · · · + ak fk .
(*)
If {f1 , . . . , fk } is a standard basis of I, then, in principle, the normal form algorithm NFMora provides u and the ai . However, it is also possible to express f as a linear combination of arbitrary given generators f1 , . . . , fk , by using the lift or division command. How this can be done is explained in Chapter 2, Section 2.8.1. If the ordering is global, then we can choose u = 1 in the above expression (*). This is illustrated in the following example. SINGULAR Example 1.8.2 (linear combination of ideal members). We exemplify the Singular commands lift and division: ring A = 0,(x,y),dp; ideal I = x10+x9y2,y8-x2y7; poly f = xy13+y12; matrix M=lift(I,f); //f=M[1,1]*I[1]+...+M[r,1]*I[r] M; //-> M[1,1]=y7 //-> M[2,1]=x7y2+x8+x5y3+x6y+x3y4+x4y2+xy5+x2y3+y4 Hence, f can be expressed as a linear combination of I[1] and I[2] using M : f-M[1,1]*I[1]-M[2,1]*I[2]; //test //-> 0 In a local ring we can, in general, only express uf as a polynomial linear combination of the generators of I if f ∈ I: ring R = 0,(x,y,z),ds; poly f = yx2+yx; ideal I = x-x2,y+x;
1.8 Operations on Ideals and Their Computation
69
list L = division(f,I); //division with remainder L; //-> [1]: [2]: [3]: //-> _[1,1]=y-y2 _[1]=0 _[1,1]=1+y //-> _[2,1]=2xy matrix(f)*L[3] - matrix(I)*L[1] - matrix(L[2]); //-> _[1,1]=0
//test
Hence (1 + y)f = (x − x2 )(y − y 2 ) + (y + x)(2xy), the remainder being 0. 1.8.2 Intersection with Subrings (Elimination of variables) This is one of the most important applications of Gr¨ obner bases. The problem may be formulated as follows (we restrict ourselves for the moment to the case of the polynomial ring): Problem: Given f1 , . . . , fk ∈ K[x] = K[x1 , . . . , xn ], I = f1 , . . . , fk K[x] , we should like to find generators of the ideal I = I ∩ K[xs+1 , . . . , xn ],
s < n.
Elements of the ideal I are said to be obtained from f1 , . . . , fk by eliminating x1 , . . . , xs . In order to treat this problem, we need a global elimination ordering for x1 , . . . , xs . We can use the lexicographical ordering lp which is an elimination ordering (Definition 1.5.4) for each s, but lp is, in almost all cases, the most expensive choice. A good choice is, usually, (dp(s),dp(n-s)), the product ordering of two degrevlex orderings. But there is another way to construct an elimination ordering which is often quite fast. Let > be an arbitrary ordering and let a1 , . . . , as be positive integers. Define >a by xα >a xβ :⇐⇒ a1 α1 + · · · + as αs > a1 β1 + · · · + as βs or a1 α1 + · · · + as αs = a1 β1 + · · · + as βs and xα > xβ . Then >a is an elimination ordering and a = (a1 , . . . , as ) is called an extra weight vector . If > is an arbitrary elimination ordering for x1 , . . . , xs , then K[x1 , . . . , xn ]> = (K[xs+1 , . . . , xn ]> )[x1 , . . . , xs ] , since the units in K[x]> do not involve x1 , . . . , xs (we denote, by > , the ordering on Mon(xs+1 , . . . , xn ) induced by >). Hence, f ∈ K[xs+1 , . . . , xn ]> for any f ∈ K[x1 , . . . , xn ]> such that LM(f ) ∈ K[xs+1 , . . . , xn ]. The following lemma is the basis for solving the elimination problem.
70
1. Rings, Ideals and Standard Bases
Lemma 1.8.3. Let > be an elimination ordering for x1 , . . . , xs on the set of monomials Mon(x1 , . . . , xn ), and let I ⊂ K[x1 , . . . , xn ]> be an ideal. If S = {g1 , . . . , gk } is a standard basis of I, then S := {g ∈ S | LM(g) ∈ K[xs+1 , . . . , xn ]} is a standard basis of I := I ∩ K[xs+1 , . . . , xn ]> . In particular, S generates the ideal I . Proof. Given f ∈ I ⊂ I there exists gi ∈ S such that LM(gi ) divides LM(f ), since S is a standard basis of I. Since f ∈ K[xs+1 , . . . , xn ]> , we have LM(f ) ∈ K[xs+1 , . . . , xn ] and, hence, gi ∈ S by the above remark. Finally, since S ⊂ I , S is a standard basis of I . The general elimination problem can be posed, for any ring associated to a monomial ordering, as follows. Recall that the ordering on the variable to be eliminated must be global. Problem: Given polynomials f1 , . . . , fk ∈ K[x1 , . . . , xn ], let I := f1 , . . . , fk R with R := (K[xs+1 , . . . , xn ]> )[x1 , . . . , xs ] for some monomial ordering > on Mon(xs+1 , . . . , xn ). Find generators for the ideal I := I ∩ K[xs+1 , . . . , xn ]> . Solution: Choose an elimination ordering for x1 , . . . , xs on Mon(x1 , . . . , xn ), which induces the given ordering > on Mon(xs+1 , . . . , xn ), and compute a standard basis S = {g1 , . . . , gk } of I. By Lemma 1.8.3, those gi , for which LM(gi ) does not involve x1 , . . . , xs , generate I (even more, they are a standard basis of I ). A good choice of an ordering on Mon(x1 , . . . , xn ) may be (dp(s),>), but instead of > we may choose any ordering > on Mon(xs+1 , . . . , xn ) such that K[xs+1 , . . . , xn ]> = K[xs+1 , . . . , xn ]> . For any global ordering > on Mon(xs+1 , . . . , xn ), we have, thus, a solution to the elimination problem in the polynomial ring, as stated at the beginning of this section. SINGULAR Example 1.8.4 (elimination of variables). ring A =0,(t,x,y,z),dp; ideal I=t2+x2+y2+z2,t2+2x2-xy-z2,t+y3-z3; eliminate(I,t); //-> _[1]=x2-xy-y2-2z2
_[2]=y6-2y3z3+z6+2x2-xy-z2
Alternatively choose a product ordering: ring A1=0,(t,x,y,z),(dp(1),dp(3)); ideal I=imap(A,I); ideal J=std(I); J; //-> J[1]=x2-xy-y2-2z2 J[2]=y6-2y3z3+z6+2x2-xy-z2 //-> J[3]=t+y3-z3
1.8 Operations on Ideals and Their Computation
71
We can also choose the extra weight vector a = (1, 0, 0, 0) to obtain an elimination ordering: ring A2=0,(t,x,y,z),(a(1),dp); ideal I=imap(A,I); ideal J=std(I); J; //-> J[1]=x2-xy-y2-2z2 J[2]=y6-2y3z3+z6+2x2-xy-z2 //-> J[3]=t+y3-z3 By Lemma 1.8.3, the elements of J which do not involve t (here J[1] and J[2]), are a standard basis of I ∩ K[x, y, z]. 1.8.3 Zariski Closure of the Image Here we study the geometric counterpart of elimination. The reader who is not familiar with the geometrical background should read Section A.1 first. In this section we assume K to be algebraically closed. Suppose ϕ : K[x] = K[x1 , . . . , xn ] → K[t] = K[t1 , . . . , tm ] is a ring map given by f1 , . . . , fn ∈ K[t] such that ϕ(xi ) = fi . Let I = g1 , . . . , gk ⊂ K[t] and J = h1 , . . . , hl ⊂ K[x] be ideals such that ϕ(J) ⊂ I. Then ϕ induces a ring map ϕ¯ : K[x]/J → K[t]/I and, hence, we obtain a commutative diagram of morphism of affine schemes (cf. Section A.1) X := V (I) _ Am
f =ϕ ¯#
ϕ#
/ V (J) =: Y _ / An .
We cannot compute the image f (X), since it is, in general, not closed. However, we can compute the (Zariski) closure f (X). Problem: The problem is to find polynomials p1 , . . . , pr ∈ K[x] such that f (X) = V (p1 , . . . , pr ) ⊂ An . Solution: Define the ideal N = g1 (t), . . . , gk (t), x1 − f1 (t), . . . , xn − fn (t)K[t,x] and eliminate t1 , . . . , tm from N , that is, compute generators p1 , . . . , pr ∈ K[x] of N ∩ K[x]. Then V (p1 , . . . , pr ) = f (X). Hence, we can proceed as in Section 1.8.2. We choose a global ordering which is an elimination ordering for t1 , . . . , tm on Mon(t1 , . . . , tm , x1 , . . . , xn ), compute a Gr¨ obner basis G of N and select those elements p1 , . . . , pr from G which do not depend on t. Correctness follows from Lemma A.3.10.
72
1. Rings, Ideals and Standard Bases
Since K is algebraically closed (with f = (f1 , . . . , fn ) : K m → K n ), Lemma A.2.18 implies f (X) = {x ∈ K n | ∃ t ∈ K m such that f (t) = x} . The following example shows that the question whether f (X) is closed or not may depend on the field. Example 1.8.5. Consider the ring map ϕ : K[x] → K[x, y]/x2 + y 2 − 1 given by ϕ(x) := x, and the induced morphism X := V (x2 + y 2 − 1) _ A2
f =ϕ ¯#
ϕ#
/ V (0)
/ A1 .
It is easy to see that, if K is algebraically closed, then f is surjective, and hence, f (X) is closed. However, if K = R, then f (X) is a segment but the Zariski closure of the segment is the whole line. Now we treat the problem of computing the closure of the image of a map between spectra of local rings. More generally, let >1 , respectively >2 , be monomial orderings on Mon(x1 , . . . , xn ), respectively Mon(t1 , . . . , tm ), and let ϕ : K[x]>1 → K[t]>2 be a ring map defined by ϕ(xi ) = fi (t) ∈ K[t] (cf. Lemma 1.5.8). Let I ⊂ K[t] and J ⊂ K[x] be ideals as above, satisfying ϕ(J) ⊂ I, and ϕ¯ : K[x]>1 /J → K[t]>2 /I the induced map. Problem: We want to compute equations for f (X) ⊂ Y for the map f = ϕ¯# : X = Spec(K[t]>2 /I) −→ Y = Spec(K[x]>1 /J) . We claim that the following algorithm solves the problem: Solution: Choose any ordering > on Mon(t1 , . . . , tm , x1 , . . . , xn ) which is an elimination ordering for t1 , . . . , tm and satisfies K[x]> ⊂ K[x]>1 where > is the ordering on Mon(x1 , . . . , xn ) induced by >.9 Compute a standard basis G of the ideal N := I, J, x1 − f1 (t), . . . , xn − fn (t) as above with respect to this ordering. Select those elements p1 , . . . , pr from G which do not depend on t. Then f (X) = V (p1 , . . . , pr K[x]>1 ). 9
We could choose, for example, > to be dp(m), dp(n) or > to be dp(m), >1 .
1.8 Operations on Ideals and Their Computation
73
The only problem in seeing correctness results from the fact that we only assume K[x]> ⊂ K[x]>1 but no other relation between > and >1 , >2 . The graph construction from Appendix A.2, applied to the localized rings, shows that f (X) is the zero–set of the ideal N · (K[t]>2 ⊗K K[x]>1 ) ∩ K[x]>1 . Now the above algorithm computes polynomial generators of the intersection (N · K[t, x]> ) ∩ K[x]> . We have K[t, x]> = K[t] ⊗ K[x]> , K[x]> ⊂ K[x]>1 and an inclusion of rings K[t, x] ⊂ R1 := K[t, x]> ⊂ R2 := K[t]>2 ⊗ K[x]>1 ⊂ R3 := K[t, x](>2 ,>1 ) , where (>2 , >1 ) is the product ordering on Mon(t1 , . . . , tm , x1 , . . . , xn ). Moreover, by Lemma 1.4.8 (1), we have (N · R3 ) ∩ K[t, x] = N , hence, (N · Ri ) ∩ K[t, x] = N for i = 1, 2 and, therefore, (N · R1 ) ∩ K[x] = N ∩ K[x] = (N · R2 ) ∩ K[x] . Again, by Lemma 1.4.8 (1), (N · R2 ) ∩ K[x]>1 = (N · R2 ∩ K[x]) · K[x]>1 and (N · R1 ) ∩ K[x]> = (N · R1 ∩ K[x]) · K[x]> . Altogether, we have (N · R2 ) ∩ K[x]>1 = (N · R1 ∩ K[x]) · K[x]>1 = (N · R1 ) ∩ K[x]> · K[x]>1 , where the left–hand side defines f (X) and generators for the right–hand side are computed. Thus, we have many choices for orderings on Mon(x1 , . . . , xn ) for computing f (X) ⊂ Y . In particular, we can always choose a global ordering. SINGULAR Example 1.8.6 (Zariski closure of the image). Compute an implicit equation for the surface defined parametrically by the map f : A2 → A3 , (u, v) → (uv, uv 2 , u2 ). ring A =0,(u,v,x,y,z),dp; ideal I=x-uv,y-uv2,z-u2; ideal J=eliminate(I,uv); J; //-> J[1]=x4-y2z //defines the closure of f(X) Note that the image does not contain the y–axis, however, the closure of the image contains the y–axis. This surface is called the Whitney umbrella.
74
1. Rings, Ideals and Standard Bases
Fig. 1.3. Whitney Umbrella.
1.8.4 Solvability of Polynomial Equations Problem: Given f1 , . . . , fk ∈ K[x1 , . . . , xn ], we want to assure whether the system of polynomial equations f1 (x) = · · · = fk (x) = 0 n
has a solution in K , where K is the algebraic closure of K. Let I = f1 , . . . , fk K[x] , then the question is whether the algebraic set n V (I) ⊂ K is empty or not. Solution: By Hilbert’s Nullstellensatz, V (I) = ∅ if and only if 1 ∈ I. We compute a Gr¨ obner basis G of I with respect to any global ordering on Mon(x1 , . . . , xn ) and normalize it (that is, divide every g ∈ G by LC(g)). Since 1 ∈ I if and only if 1 ∈ L(I), we have V (I) = ∅ if and only if 1 is an element of a normalized Gr¨obner basis of I. Of course, we can avoid normalizing, which is expensive in rings with parameters. Since 1 ∈ I if and only if G contains a non–zero constant polynomial, we have only to look for an element of degree 0 in G. 1.8.5 Solving Polynomial Equations A fundamental task with countless applications is to solve a system of polynomial equations, f1 (x) = 0, . . . , fk (x) = 0, fi ∈ K[x] = K[x1 , . . . , xn ]. However, what is actually meant by “solving” very much depends on the context. For instance, it could mean to determine one (respectively some, respectively all) points of the solution set V (f1 , . . . , fk ), either considered as a subset of n K n or of K , where K is the algebraic closure of K (for notations cf. Section A.1). Here, we consider only the case where the ideal I = f1 , . . . , fk K[x] is 0– dimensional, that is, where f1 = · · · = fk = 0 has only finitely many solutions n in K .
1.8 Operations on Ideals and Their Computation
75
From an algebraic point of view, a primary decomposition I = ri=1 Qi √ of I with Pi = Qi ⊂ K[x1 , . . . , xn ] a maximal ideal, could be considered as a solution (cf. Chapter 4). At least, it provides a decomposition V (I) = V (P1 ) ∪ · · · ∪ V (Pr ) and if p = (p1 , . . . , pn ) ∈ K n is a solution, then Pj = x1 − p1 , . . . , xn − pn for some j and we can, indeed, recover the coordinates n of p from a primary decomposition of I. Moreover, for solutions p ∈ K which n are not in K the primary decomposition provides irreducible polynomials
of K such that p has coordinates in K
(cf. Chapter defining a field extension K 4). Besides the fact that primary decomposition is very expensive, the answer would be unsatisfactory from a practical point of view. Indeed, if K = R or C, most people would probably interpret solving as finding approximate numerical coordinates of one (respectively some, respectively all) point(s) of V (I). And this means that, at some point, we need a numerical root finder. Numerical solving of equations (even transcendental or (partial) differential equations) is a highly developed discipline in mathematics which is very successful in applications to real life problems. However, there are inherent problems which often make it difficult, or even impossible, either to find a solution or to ensure that a detected solution is (approximately) correct. Particular problems are, for example, to find all solutions or to guarantee stability and convergence of algorithms in the presence of singularities. In this context symbolic methods can be useful in preparing the system by finding another set of generators for I (hence, having the same solutions) which is better suited for numerical computations. Here we describe only how lexicographical Gr¨obner bases can be used to reduce the problem of multivariate solving to univariate solving. Problem: Given f1 , . . . , fk ∈ K[x1 , . . . , xn ], K = R or C, which we assume to have only finitely many solutions p1 , . . . , pr ∈ Cn . We wish to find coordinates of all pi in decimal format up to a given number of digits. We are also interested in locating multiple solutions. Solution: Compute a lexicographical Gr¨ obner basis G = {g1 , . . . , gs } of I for x1 > x2 > · · · > xn . Then we have (cf. Exercise 1.8.6) s ≥ n and, after renumbering G, there are elements g1 , . . . , gn ∈ G such that g1 = g1 (xn ), g2 = g2 (xn−1 , xn ), .. .
LM(g1 ) = xnnn , nn−1 LM(g2 ) = xn−1 ,
gn = gn (x1 , . . . , xn ), LM(gn ) = xn1 1 . Now use any numerical univariate solver (for example Laguerre’s method) to find all complex solutions of g1 (xn ) = 0 up to the required number of digits. Substitute these in g2 and for each substitution solve g2 in xn−1 , as before. Continue in this way up to gn . Thus, we computed all coordinates of all solutions of g1 = · · · = gn = 0. Finally, we have to discard those solutions for which one of the remaining polynomials gn+1 , . . . , gs does not vanish.
76
1. Rings, Ideals and Standard Bases
We should like to mention that this is not the best possible method. In particular, the last step, that is, discarding non–solutions, may lead to numerical problems. A better method is to use triangular sets, either in the spirit of Lazard [148] or M¨ oller [170] (cf. [102] for experimental results and a comparison to resultant based methods). Triangular sets are implemented in the Singular library triang.lib. SINGULAR Example 1.8.7 (solving equations). ring A=0,(x,y,z),lp; ideal I=x2+y+z-1, x+y2+z-1, x+y+z2-1; ideal J=groebner(I); //the lexicographical Groebner basis J; //-> J[1]=z6-4z4+4z3-z2 J[2]=2yz2+z4-z2 //-> J[3]=y2-y-z2+z J[4]=x+y+z2-1 We use the multivariate solver based on triangular sets, due to M¨oller and Hillebrand [170], [123], and the univariate Laguerre–solver. LIB"solve.lib"; list s1=solve(I,6); //-> // name of new current ring: AC s1; //-> [1]: [2]: [3]: [4]: [5]: //-> [1]: [1]: [1]: [1]: [1]: //-> 0.414214 0 -2.414214 1 0 //-> [2]: [2]: [2]: [2]: [2]: //-> 0.414214 0 -2.414214 0 1 //-> [3]: [3]: [3]: [3]: [3]: //-> 0.414214 1 -2.414214 0 0 If we want to compute the zeros with multiplicities then we use 1 as a third parameter for the solve command: setring A; list s2=solve(I,6,1); s2; //-> [1]: [2]: //-> [1]: [1]: //-> [1]: [1]: //-> [1]: [1]: //-> -2.414214 0 //-> [2]: [2]: //-> -2.414214 1 //-> [3]: [3]:
1.8 Operations on Ideals and Their Computation
//-> //-> //-> //-> //-> //-> //-> //-> //-> //-> //-> //-> //-> //-> //-> //-> //->
-2.414214 [2]: [1]: 0.414214 [2]: 0.414214 [3]: 0.414214 [2]: 1
77
0 [2]: [1]: 1 [2]: 0 [3]: 0 [3]: [1]: 0 [2]: 0 [3]: 1 [2]: 2
The output has to be interpreted as follows: there are two zeros of multiplicity 1 and three zeros ((0, 1, 0), (1, 0, 0), (0, 0, 1)) of multiplicity 2. Note that a possible way to check whether a system of polynomial equations f1 = · · · = fk = 0 has finitely many solutions in K, is to compute a Gr¨ obner basis G of I = f1 , . . . , fk with respect to any ordering (usually dp is the fastest). Then V (I) is finite if and only if dim(G)=0 or, equivalently, lead(G) contains xni i for i = 1, . . . , n and some ni (and then the number of solutions is ≤ n1 · . . . · nn ). The number of solutions, counting multiplicities, n in K is equal to vdim(G)= dimK K[x]/I (cf. Exercises 1.8.6 to 1.8.8). 1.8.6 Radical Membership Problem: Let f1 , . . . , fk ∈ K[x]> , > a monomial ordering on Mon(x1 , . . . , xn ) and I = f1 , . . . , fk K[x]> . Given some f ∈ K[x]> we want to decide whether √ f ∈ I. The following lemma, which is sometimes called Rabinowich’s trick, is the basis for solving this problem. 10 Lemma 1.8.8. Let A be a ring, I ⊂ A an ideal and f ∈ A. Then √ f ∈ I ⇐⇒ 1 ∈ I˜ := I, 1 − tf A[t] where t is an additional new variable. Proof. If f m ∈ I then tm f m ∈ I˜ and, hence, 1 = tm f m + (1 − tm f m ) = tm f m + (1 − tf )(1 + tf + · · · + tm−1 f m−1 ) ∈ I˜ . 10
We can even compute the full radical a much harder computation.
√
I as is shown in Section 4.5, but this is
78
1. Rings, Ideals and Standard Bases
˜ Without loss of generality, we may assume that f is Conversely, let 1 ∈ I. √ not nilpotent since, otherwise, f is clearly in I. di By assumption, there are f1 , . . . , fk ∈ I and ai (t) = j=0 aij tj ∈ A[t], i = 0, . . . , k such that 1=
k
ai (t)fi + a0 (t)(1 − tf ) .
i=1
Since f is not nilpotent we can replace t by 1/f and obtain 1 1= ai aij f −j fi fi = f i i,j in the localization Af , see 1.4. Multiplying with f m , for m sufficiently Sectionm−j m large, we obtain f = i,j (aij f )fi ∈ I (even in A, not only in Af ). √ Solution: By Lemma 1.8.8, we have f ∈ I if and only if 1 ∈ J := f1 , . . . , fk , 1 − tf (K[x]> )[t] , where t is a new variable. To solve the problem, we choose on Mon(t, x1 , . . . , xn ) an elimination ordering for t inducing > on Mon(x1 , . . . , xn ) such that K[x]> = K[x]> (for √ example, take (lp(1),>)) and compute a standard basis G of J. Then f ∈ I if and only if G contains an element g with LM(g) = 1. SINGULAR Example 1.8.9 (radical membership). ring A =0,(x,y,z),dp; ideal I=x5,xy3,y7,z3+xyz; poly f =x+y+z; ring B =0,(t,x,y,z),dp; //need t for radical test ideal I=imap(A,I); poly f =imap(A,f); I=I,1-t*f; std(I); //-> _[1]=1 //f is in the radical LIB"primdec.lib"; //just to see, we compute the radical setring A; radical(I); //-> _[1]=z _[2]=y _[3]=x
1.8 Operations on Ideals and Their Computation
79
1.8.7 Intersection of Ideals Problem: Given f1 , . . . , fk , h1 , . . . , hr ∈ K[x] and > a monomial ordering. Let I1 = f1 , . . . , fk K[x]> and I2 = h1 , . . . , hr K[x]> . We wish to find generators for I1 ∩ I2 . Consider the ideal J := tf1 , . . . , tfk , (1 − t)h1 , . . . , (1 − t)hr (K[x]> )[t]. Lemma 1.8.10. With the above notations, I1 ∩ I2 = J ∩ K[x]> . Proof. Let f ∈ J ∩ K[x]> , then f (x) = t ·
k
ai (t, x)fi (x) + (1 − t)
i=1
r
bj (t, x)hj (x) .
j=1
k Since the polynomial f is independent of t, we have f = i=1 ai (1, x)fi ∈ I1 and f = rj=1 bj (0, x)hj ∈ I2 , hence f ∈ I1 ∩ I2 . Conversely, if f ∈ I1 ∩ I2 , then f = tf + (1 − t)f ∈ J ∩ K[x]> . Solution: We choose an elimination ordering for t on Mon(t, x1 , . . . , xn ) inducing > on Mon(x1 , . . . , xn ) such that K[x]> = K[x]> (for example, take (lp(1),>)). Then we compute a standard basis of J and get generators for J ∩ K[x]> as in Section 1.8.2 A different solution, using syzygies, is described in Chapter 2, Section 2.8.3. SINGULAR Example 1.8.11 (intersection of ideals). ring A=0,(x,y,z),dp; ideal I1=x,y; ideal I2=y2,z; intersect(I1,I2); //-> _[1]=y2 _[2]=yz
//the built-in SINGULAR command _[3]=xz
ring B=0,(t,x,y,z),dp; //the way described above ideal I1=imap(A,I1); ideal I2=imap(A,I2); ideal J=t*I1+(1-t)*I2; eliminate(J,t); //-> _[1]=yz _[2]=xz _[3]=y2 1.8.8 Quotient of Ideals Problem: Let I1 and I2 ⊂ K[x]> be as in Section 1.8.7. We want to compute I1 : I2 = {g ∈ K[x]> | gI2 ⊂ I1 } . r Since, obviously, I1 : h1 , . . . , hr = i=1 (I1 : hi ), we can compute I1 : hi for each i and then apply Singular Example 1.8.11. The next lemma shows a way to compute I1 : hi .
80
1. Rings, Ideals and Standard Bases
Lemma 1.8.12. Let I ⊂ K[x]> be an ideal, and let h ∈ K[x]> , h = 0. Moreover, let I ∩ h = g1 · h, . . . , gs · h. Then I : h = g1 , . . . , gs K[x]> . Proof. Any set of generators of I ∩ h is of the form {g1 h, . . . , gs h}. Therefore, hg1 , . . . , gs ⊂ I, hence g 1 , . . . , gs ⊂ I : h. Conversely, if g ∈ I : h, then hg ∈ I ∩ h and hg = h · i ai gi for some ai . Since K[x]> has no zerodivisors and h = 0, we have g = i ai gi which proves the claim. Solution 1 : We can compute I1 : I2 by computing, for i = 1, . . . , r, I1 ∩ hi according to Section 1.8.7, divide the generators by hi getting I1 : hi and compute the intersection i (I1 : hi ), according to Section 1.8.7. Instead of computing i (I1 : hi ), we can define h := h1 + t1 h2 + · · · + tr−1 hr ∈ K[t1 , . . . , tr−1 , x1 , . . . , xn ] and obtain
! " I1 : I2 = I1 (K[x]> )[t] : h ∩ K[x]> .
This holds, since g(x) ∈ I1 : h if and only if k ai (x, t)fi (x) g(x) h1 (x) + t1 h2 (x) + · · · + tr−1 hr (x) = i=1
for some ai ∈ (K[x]> )[t], which is equivalent to g(x)hj (x) ∈ f1 , . . . , fk K[x]> for all j (set ti := 0 for all i, and then tj := 1 and ti = 0 for i = j). Solution 2 : Define h as above. We can compute I1 : h by Lemma 1.8.12 and then I1 : I2 by eliminating t1 , . . . , tr−1 from I1 : h according to Section 1.8.2. The same procedure works with h := h1 + th2 + t2 h3 + · · · + tr−1 hr ∈ (K[x]> )[t] with just one new variable t (Exercise 1.8.2). SINGULAR Example 1.8.13 (quotient of ideals). ring A=0,(x,y,z),dp; ideal I1=x,y; ideal I2=y2,z; quotient(I1,I2); //-> _[1]=y _[2]=x
//the built-in SINGULAR command
Now let us proceed as described in Lemma 1.8.12: ideal J1=intersect(I1,ideal(I2[1])); ideal J2=intersect(I1,ideal(I2[2])); J1; //-> J1[1]=y2 J1/I2[1]=1 implies I1:I2[1]=A.
1.8 Operations on Ideals and Their Computation
J2; //-> J2[1]=yz
81
J2[2]=xz
J2/I2[2]=<x,y> implies I1:I2[2]=<x,y> and all together we obtain I1:I2=<x,y>: ideal K1=J1[1]/I2[1]; ideal K2=J2[1]/I2[2],J2[2]/I2[2]; intersect(K1,K2); //-> _[1]=y _[2]=x 1.8.9 Saturation Let I1 , I2 ⊂ K[x]> be as in Section 1.8.7. We consider the quotient of I1 by powers of I2 I1 = I1 : I20 ⊂ I1 : I21 ⊂ I1 : I22 ⊂ I1 : I23 ⊂ . . . ⊂ K[x]> . Since K[x]> is Noetherian, there exists an s such that I1 : I2s = I1 : I2s+i for all i ≥ 0. Such an s satisfies
I1 : I2i = I1 : I2s , I1 : I2∞ := i≥0
and I1 : I2s is called the saturation of I1 with respect to I2 . The minimal such s is called the saturation exponent . If I1 is radical, then the saturation exponent is 1. Problem: Given ideals I1 , I2 ⊂ K[x]> , we want to compute generators for I1 : I2∞ and the saturation exponent. Solution: Set I (0) = I1 and compute successively I (j+1) = I (j) : I2 , j ≥ 0, by any of the methods of Section 1.8.8. In each step check whether I (j+1) ⊂ I (j) , by using Section 1.8.1. If s is the first j when this happens, then I (s) = I1 : I2∞ and s is the saturation exponent. Correctness follows from I (j) = I1 : I2j , which is a consequence of Lemma 1.8.14 (1). The above method is usually much faster than computing I1 : I2j , since I2j can become quite large. To provide a geometric interpretation of ideal–quotient and saturation, we state the following: Lemma 1.8.14. Let A be a ring and I1 , I2 , I3 ideals in A. (1) a) (I1 ∩ I2 ) : I3 = (I1 : I3 ) ∩ (I2 : I3 ), in particular I1 : I3 = (I1 ∩ I2 ) : I3 if I3 ⊂ I2 , b) (I1 : I2 ) : I3 = I1 : (I2 · I3 ). prime and I2 ⊂ I1 , then I1 : I2j = I1 for j ≥ 1. (2) If I1 is r (3) If I1 = i=1 Ji with Ji prime, then I1 : I2∞ = I1 : I2 = I2 ⊂Ji Ji .
82
1. Rings, Ideals and Standard Bases
Proof. (1) is an easy exercise. (2) I1 ⊂ I1 : I2j is clear. Let gI2j ∈ I1 . Since I2 ⊂ I1 and I1 is radical, j I2 ⊂ I1 and we can find an h ∈ I2j such that h ∈ I1 and gh ∈ I1 . Since I1 is prime, we have g ∈ I1 . (3) follows from (1) and (2) since I2s ⊂ Ji if and only if I2 ⊂ Ji : r s s s Ji : I2 = (Ji : I2 ) ∩ Ji : I2 = Ji . j=1
I2s ⊂Ji
I2s ⊂Ji
I2s ⊂Ji
We shall see in Chapter 3 that in a Noetherian ring each radical ideal I1 has a prime decomposition I1 = ri=1 Ji with Ji prime. For the geometric interpretation of the ideal quotient and the saturation, we use the notations of Appendix A.2, respectively A.3. We have V (I1 ) =
r
V (Ji ) .
i=1
Moreover, we have I2 ⊂ Ji if and only if V (Ji ) is a closed subscheme of V (I2 ). Hence, the variety defined by I1 : I2 is # V (I1 : I2 ) = V (Ji ) . V (Ji )⊂V (I2 )
In other words, if I1 is a radical ideal, then V (I1 : I2 ) is the Zariski closure of V (I1 ) V (I2 ). Note that V (0 : I) = supp(I) := {P ∈ Spec(A) | P ⊃ AnnA (I)}, due to Lemma 2.1.41 below. More generally, for finitely generated ideals I1 , I2 , V (I1 : I2 ) = supp (I2 + I1 )/I1 ⊂ Spec(A/I1 ) . Here is another example, where we do not know a priori whether we are dealing with a radical ideal or not: given an ideal I ⊂ K[x1 , . . . , xn ] and some point a = (a1 , . . . , an ) ∈ V (I) such that V := V (I) {a} ⊂ An is Zariski closed. We wish to know equations for V , that is, some ideal I such that V = V (I ). At the moment, we only know that there exist such ideal I and an ideal J ⊂ K[x] satisfying I = I ∩ J and V (J) = {a}, but we neither know I nor J. Now, since V (J) = {a}, some power of the maximal ideal ma = x1 − a1 , . . . , xn − an is contained in J (see Lemma A.2.3). Now, since I ⊂ ma , it is not difficult to show that I : ma = I , using the existence of a primary decomposition (Theorem 4.1.4) and Exercise 4.1.3. Hence, again ∞ using Exercise 4.1.3, we can conclude that I : m∞ a = I : ma = I , that is, V (I) {a} = V (I : m∞ a ). In general, however, a geometric interpretation of I1 : I2 is more difficult and requires a careful study of the primary decompositions of I1 and I2 . I1 : I2 ,
1.8 Operations on Ideals and Their Computation
83
or even I1 : I2∞ , may not kill a whole component of V (I1 ), it may just reduce part of the structure. For example, if I1 = xy 2 , y 3 , I2 = x, y, then I1 : I2 = I1 : I2∞ = xy 2 , y 3 : x, y = y 2 , hence, V (I1 : I2 ) is set-theoretically the same as V (I1 ) (namely, the x–axis), just with a slightly reduced structure (indicated in Figure 1.4 by the small arrow pointing in y–direction).
V (I1 )
V (I1 : I2 )
Fig. 1.4. Symbolic pictures of V (xy 2 , y 3 ) and V (xy 2 , y 3 : x, y).
Saturation is an important tool in computational projective geometry, cf. Appendix A.5, in particular, Lemma A.5.2 and the subsequent discussion. SINGULAR Example 1.8.15 (saturation). ring A =0,(x,y,z),dp; ideal I1=x5z3,xyz,yz4; ideal I2=z; LIB"elim.lib"; sat(I1,I2); //-> [1]: //-> _[1]=y //-> _[2]=x5 //-> [2]: //-> 4
//the SINGULAR procedure //the result
//the saturation exponent
ideal J=quotient(I1,I2); //the way described above int k; while(size(reduce(J,std(I1)))!=0) { k++; I1=J; J=quotient(I1,I2); } J; //-> J[1]=y J[2]=x5 k; //-> 4 //we needed to take the quotient 4 times
84
1. Rings, Ideals and Standard Bases
1.8.10 Kernel of a Ring Map Let ϕ : R1 := (K[x]>1 )/I → (K[y]>2 )/J =: R2 be a ring map defined by polynomials ϕ(xi ) = fi ∈ K[y] = K[y1 , . . . , ym ] for i = 1, . . . , n (and assume that the monomial orderings satisfy 1 >2 LM(fi ) if 1 >1 xi , cf. Lemma 1.5.8). Define J0 := J ∩ K[y], and I0 := I ∩ K[x]. Then ϕ is induced by ϕ˜ : K[x]/I0 → K[y]/J0 ,
xi → fi ,
and we have a commutative diagram K[x]/I0 _ R1
ϕ ˜
/ K[y]/J0 _ / R2 .
ϕ
Problem: Let I, J and ϕ be as above. Compute generators for Ker(ϕ). Solution: Assume that J0 = g1 , . . . , gs K[y] and I0 = h1 , . . . , ht K[x] .11 Set H := h1 , . . . , ht , g1 , . . . , gs , x1 − f1 , . . . , xn − fn ⊂ K[x, y], and compute H := H ∩ K[x] by eliminating y1 , . . . , ym from H (cf. Section 1.8.2). Then H generates Ker(ϕ) by the following lemma. Lemma 1.8.16. With the above notations, Ker(ϕ) = Ker(ϕ)R ˜ 1 and Ker(ϕ) ˜ = I0 + g1 , . . . , gs , x1 − f1 , . . . , xn − fn K[x,y] ∩ K[x] mod I0 . In particular, if >1 is global, then Ker(ϕ) = Ker(ϕ). ˜ Proof. Obviously Ker(ϕ)R ˜ 1 ⊂ Ker(ϕ). On the other hand, let h ∈ Ker(ϕ), where h = (h1 /h2 ) + I for some h1 ∈ K[x], h2 ∈ S>1 , then h1 + I0 ∈ Ker(ϕ). ˜ We conclude that Ker(ϕ) = Ker(ϕ)R ˜ 1. Now let h ∈ K[x] satisfy ϕ(h ˜ + I0 ) = 0, in other words, there exist polynomials a1 , . . . , as ∈ K[y] such that h(f1 , . . . , fn ) +
s
aj g j = 0 .
j=1
Applying Taylor’s formula to the polynomial h(x), we obtain 11
Let > be any monomial ordering on K[x], let f1 , . . . , fm ∈ K[x], and let I be the ideal generated by f1 , . . . , fm in K[x]> . Then, for global orderings we have f1 , . . . , fm K[x] = I0 but, if > is non–global, the inclusion f1 , . . . , fm K[x] ⊂ I0 := I ∩ K[x] may be strict. To compute I0 in this case, one may proceed as follows: compute a primary decomposition Q1 ∩ . . . ∩ Qs of f1 , . . . , fm K[x] (see Chapter 4). Assume that Qi K[x]> K[x]> iff 1 ≤ i ≤ t. Then I0 = Q1 ∩ . . . ∩ Qt .
1.8 Operations on Ideals and Their Computation
h(x) = h(f1 , . . . , fn ) +
85
n ∂h (f1 , . . . , fn ) · xi − fi + . . . . ∂xi i=1
This implies that, for suitable bi ∈ K[x, y], h(x) +
n
s bi (x, y) · xi − fi (y) + aj (y)gj (y) = 0 .
i=1
j=1
This implies that h ∈ g1 , . . . , gs , x1 − f1 (y), . . . , xn − fn (y)K[x,y] ∩ K[x]. Conversely, let h ∈ I0 +g1 , . . . , gs , x1 −f1 (y), . . . , xn −fn (y)K[x,y] ∩K[x], h = h1 +
s
ai g i +
i=1
n
bi (xi − fi ), h1 ∈ I0 .
i=1
Substituting xi by fi we obtain h(f1 , . . . , fn ) = h1 (f1 , . . . , fn ) +
s
ai (f1 , . . . , fn , y)gi .
i=1
But h1 (f1 , . . . , fn ) ∈ J0 and g1 , . . . , gs ∈ J0 , hence, h(f1 , . . . , fn ) ∈ J0 , which proves the claim. Remark 1.8.17. Given a ring map ϕ˜ : A → B, and J ⊂ B an ideal, then ϕ˜ induces a ring map ϕ : A → B/J and Ker(ϕ) = ϕ˜−1 (J). Hence, the same method for computing the kernel can be used to compute preimages of ideals. Since Ker(ϕ) = ϕ−1 (0), to compute kernels or preimages is equivalent. Singular has the built–in command preimage. SINGULAR Example 1.8.18 (kernel of a ring map). ring A=0,(x,y,z),dp; ring B=0,(a,b),dp; map phi=A,a2,ab,b2; ideal zero; setring A; preimage(B,phi,zero); //-> _[1]=y2-xz
//compute the preimage of 0 //the built-in SINGULAR command
ring C=0,(x,y,z,a,b), dp; //the method described above ideal H=x-a2, y-ab, z-b2; eliminate(H,ab); //-> _[1]=y2-xz
86
1. Rings, Ideals and Standard Bases
1.8.11 Algebraic Dependence and Subalgebra Membership Recall that a sequence of polynomials f1 , . . . , fk ∈ K[x1 , . . . , xn ] is called algebraically dependent if there exists a polynomial g ∈ K[y1 , . . . , yk ] {0} satisfying g(f1 , . . . , fk ) = 0. This is equivalent to Ker(ϕ) = 0, where ϕ : K[y1 , . . . , yk ] → K[x1 , . . . , xn ] is defined by ϕ(yi ) = fi . Ker(ϕ) can be computed according to Section 1.8.10, and any g ∈ Ker(ϕ) {0} defines an algebraic relation between the f1 , . . . , fk . In particular, f1 , . . . , fk are algebraically independent if and only if Ker(ϕ) = 0 and this problem was solved in Section 1.8.10. Related, but slightly different is the subalgebra–membership problem. Problem: Given f ∈ K[x1 , . . . , xn ], we may ask whether f is an element of the subalgebra K[f1 , . . . , fk ] ⊂ K[x1 , . . . , xn ] = K[x]. Solution 1: Define ψ : K[y0 , . . . , yk ] → K[x], y0 → f , yi → fi , compute Ker(ψ) according to Section 1.8.10 and check whether Ker(ψ) contains an element of the form y0 − g(y1 , . . . , yk ). That is, we define an elimination ordering for x1 , . . . , xn on Mon(x1 , . . . , xn , y0 , . . . , yk ) with y0 greater than y1 , . . . , yk (for example, (dp(n), dp(1), dp(k))) and compute a standard basis G of y0 − f, y1 − f1 , . . . yk − fk . Then G contains an element with leading monomial y0 if and only if f ∈ K[f1 , . . . , fk ]. Solution 2: Compute a standard basis of y1 − f1 , . . . , yk − fk for an elimination ordering for x1 , . . . , xn on Mon(x1 , . . . , xn , y1 , . . . , yk ) and check whether the normal form of f with respect to this standard basis does not involve any xi . This is the case if and only if f ∈ K[f1 , . . . , fk ] and the normal form expresses f as a polynomial in f1 , . . . , fk . We omit the proofs for these statements (cf. Exercise 1.8.10). Note that f ∈ K[f1 , . . . , fk ] implies a relation h(f, f1 , . . . , fk ) = 0 with h(y0 , y1 , . . . , yk ) = y0 − g(y1 , . . . , yn ), hence f, f1 , . . . , fk are algebraically dependent (the converse does not need to be true). Note further that the map ϕ : K[y1 , . . . , yk ] → K[x1 , . . . , xn ], yi → fi (x) is surjective if and only if xi ∈ K[f1 , . . . , fk ] for all i. Hence, Solution 1 or Solution 2 can be used to check whether a given ring map is surjective. SINGULAR Example 1.8.19 (algebraic dependence). ring A=0,(x,y),dp; poly f=x4-y4; poly f1=x2+y2; poly f2=x2-y2; LIB"algebra.lib"; algDependent(ideal(f,f1,f2))[1];//a SINGULAR procedure //-> 1 ring B=0,(u,v,w),dp;
//the method described above
1.8 Operations on Ideals and Their Computation
setring A; ideal zero; map phi=B,f,f1,f2; setring B; preimage(A,phi,zero); //-> _[1]=vw-u
87
//the kernel of phi //f=f1*f2 and hence f,f1,f2 //are algebraically dependent
SINGULAR Example 1.8.20 (subalgebra membership). ring A=0,(x,y),dp; poly f,f1,f2=x4-y4,x2+y2,x2-y2; LIB"algebra.lib"; inSubring(f,ideal(f1,f2));//a SINGULAR procedure //-> [1]: //-> 1 //means f is contained in K[f1,f2] //-> [2]: //-> y(1)*y(2)-y(0) //means f1*f2-f=0 Another Singular procedure which also tests subalgebra membership is algebra_containment. Now let us proceed as explained in the text: ring B = 0,(x,y,u,v,w),(dp(2),dp(1),dp(2)); //solution 1 ideal H=u-imap(A,f),v-imap(A,f1),w-imap(A,f2); std(H); //-> _[1]=u-vw _[2]=2y2-v+w _[3]=x2-y2-w Since u appears as a leading monomial, f ∈ K[f1 , f2 ]. Moreover, the existence of u − vw in H implies f = f1 f2 . ring C=0,(x,y,v,w),(dp(2),dp(2)); //solution 2 ideal H=v-imap(A,f1), w-imap(A,f2); poly f=imap(A,f); reduce(f,std(H)); //-> vw //again we find f=f1*f2
Exercises 1.8.1. Let I1 , I2 be two ideals in K[x]> with I2 = h1 , . . . , hr , hi ∈ K[x]. Define h := h1 + th2 + t2 h3 + · · · + tr−1 hr ∈ K[x, t]. Prove that I1 : I2 = (I1 : h) ∩ K[x]> . 1.8.2. Let I := x2 + 2y 2 − 3, x2 + xy + y 2 − 3 ⊂ Q[x, y]. Compute the intersections I ∩ Q[x] and I ∩ Q[y].
88
1. Rings, Ideals and Standard Bases
1.8.3. Let ϕ : Q2 → Q4 be the map defined by (s, t) → (s4 , s3 t, st3 , t4 ). Compute the Zariski closure of the image, ϕ(Q2 ), and decide whether ϕ(Q2 ) coincides with its closure or not. 1.8.4. Compute all complex solutions of the system x2 + 2y 2 − 2 = 0 x2 + xy + y 2 − 2 = 0 . 1.8.5. Check whether the polynomial x2 + 5x is in the radical of the ideal I = x2 + y 3 , y 7 + x3 y 5 K[x,y] , respectively of the ideal IK[x, y]x,y . 1.8.6. Let > be any monomial ordering on Mon(x1 , . . . , xn ), let I ⊂ K[x]> be an ideal, and let G be a standard basis of I with respect to >. Show that the following are equivalent: (1) dimK (K[x]> /I) < ∞, (2) for each i = 1, . . . , n there exists an ni ≥ 0 such that xni i is a leading monomial of an element of G. (Hint: Use Exercise 1.7.22) 1.8.7. Let K[x] be the polynomial ring in one variable, and let f ∈ K[x] decompose into linear factors, f = (x − a1 )n1 · . . . · (x − ar )nr for pairwise different ai ∈ K. Show that SK[x]/f ∼ = K[x]/x − a1 n1 ⊕ · · · ⊕ K[x]/x − ar nr and conclude that dimK K[x]/f = n1 + · · · + nr . 1.8.8. Let I = f1 , . . . , fk ⊂ K[x1 , . . . , xn ] be an ideal. Use a lexicographical Gr¨ obner basis of I to show that dimK (K[x]/I) < ∞ if and only if the system n of equations f1 = . . . = fk = 0 has only finitely many solutions in K , where K denotes the algebraic closure of K. (Hint: use induction on n, the previous exercises and Appendix A.) 1.8.9. Prove statement (1) of Lemma 1.8.14. 1.8.10. Prove that Solutions 1 and 2 to the subalgebra–membership problem in Section 1.8.11 are correct. 1.8.11. Use Singular to check whether the line defined by x + y = 3 (respectively x + y = 500) and the circle defined by x2 + y 2 = 2 intersect. 1.8.12. Compute the kernel of the ring map Q[x, y, z] → Q[t]/t12 defined by x → t5 , y → t7 + t8 , z → t11 . 1.8.13. Show that the ring Q[s4 , s3 t, st3 , t4 ] is isomorphic to Q[x1 , x2 , x3 , x4 ]/I with I = x2 x3 −
x1 x4 , x33
− x2 x24 , x32 − x21 x3 , x1 x23 − x22 x4 .
1.8.14. Create a homogeneous polynomial p of degree 3 in three variables with random coefficients and use the lift command to express p as a linear combination of the partial derivatives of p.
1.9 Non–Commutative G–Algebras
89
1.9 Non–Commutative G–Algebras Singular contains a kernel extension (sometimes called Plural), providing Gr¨ obner bases algorithms and implementations of Gr¨obner bases for ideals and modules in non–commutative G-algebras and, more generally, GR– algebras with respect to global monomial orderings. In this section we give a short introduction to the basic definitions and some of the non–commutative features of Singular. For simplicity we restrict ourselves mainly to ideals, the case of modules being an immediate generalization. In non–commutative algebras we have three kinds of ideals, namely left, right and two–sided ideals12 . Given a finite set F = {f1 , . . . , fk } from an k algebra A, we denote by A F = { i=1 ai fi |ai ∈ A} the left ideal, by F A = k { i=1 fi ai |ai ∈ A} the right ideal and by A F A = { i,j ai fj bi |ai , bi ∈ A} a two–sided ideal13 , generated by F . The same notation will be used for monoid ideals in the commutative monoid Nn . Let Tn = Kx1 , . . . , xn be the free associative K–algebra, generated by αm 1 α2 {x1 , . . . , xn } over K. A K–basis of T consists of words xα i1 xi2 . . . xim , where 1 ≤ i1 , i2 , . . . , im ≤ n with m ≥ 0 and αi ≥ 0. The elements of the form αm 1 α2 xα i1 xi2 . . . xim , with ordered indices 1 ≤ i1 < i2 < . . . < im ≤ n, are often called standard words and form a subset of the set of all words. The subvector space of Tn generated by the standard words is called vectorspace of standard polynomials. Every finitely presented associative K–algebra A is isomorphic to Tn /I for some n and some two–sided ideal I ⊂ Tn . If I is given by a finite set of two–sided generators I1 , . . . , Ik 14 we say that A is generated by {x1 , . . . , xn } subject to the relations {I1 , . . . , Ik }. We use the notation A = Kx1 , . . . , xn | I1 = 0, . . . , Ik = 0. A K–algebra A is said to have a Poincar´e–Birkhoff–Witt (shortly, PBW ) αn 1 α2 | αk ≥ 0} is a K-basis basis, if the set of standard words {xα 1 x2 . . . xn of A. It is clear, that the commutative polynomial ring K[x1 , . . . , xn ] has a PBW basis and that the free associative K–algebra Kx1 , . . . , xn does not have one. However, many important non–commutative algebras have a PBW basis. Definition 1.9.1. Let cij ∈ K \ {0} and dij ∈ Tn , 1 ≤ i < j ≤ n, be standard polynomials. Consider the algebra A = Kx1 , . . . , xn | xj xi = cij · xi xj + dij , 1 ≤ i < j ≤ n. 12
13 14
I ⊂ A is called a left–sided (resp. right–sided resp. two–sided ) ideal if I is a subset which is closed under addition and under multiplication by elements from A from the left (resp. from the right, resp. from both sides). Here is a difference to the commutative case. In the sum different terms ai , fj bi with the same fj are necessary. This means that I is the set of linear combinations of the form i,j ai Ij bi with a i , bi ∈ Tn .
90
1. Rings, Ideals and Standard Bases
A is called a G–algebra, if the following two conditions hold: (1) there exists a monomial well–ordering < on Nn such that15 ∀i < j
LM(dij ) < xi xj .
(2) For all 1 ≤ i < j < k ≤ n, the polynomial cik cjk · dij xk − xk dij + cjk · xj dik − cij · dik xj + djk xi − cij cik · xi djk reduces to 0 with respect to the relations of A. The matrices (cij ) and (dij ) are called structural matrices. G–algebras, first introduced under this name by J. Apel in [3], were studied in [178]. They are also called algebras of solvable type [132], [135], [154] and PBW algebras [38]. Proposition 1.9.2. Let A be a G–algebra. Then αn 1 α2 (1) A has a PBW basis {xα 1 x2 . . . xn | αi ≥ 0}, (2) A is left and right Noetherian, (3) A is an integral domain.
The proof of this proposition and a list of further important properties of G–algebras can be found e.g. in [152],[153]. Examples of G–algebras include: • Weyl algebras [51] and their various generalizations [154], • quasi–commutative polynomial rings (for example, the quantum plane yx = q · xy and the anti–commutative rings with relations xj xi = −xi xj ), • universal enveloping algebras of finite dimensional Lie algebras [60], • some iterated Ore extensions [132], • many quantum groups [38] and nonstandard quantum deformations, • many important operator algebras [44], [154], et cetera, (cf. the Singular libraries ncalg.lib, nctools.lib and qmatrix.lib). In the following example we set up several algebras with Singular. According to Definition 1.9.1, we have to define two (strictly upper triangular) n × n matrices c and d. The initialization command ncalgebra(C,D), executed in a commutative ring, turns the ring into a non–commutative G– algebra or returns an error message. An error message is returned, if the condition LM(dij ) < xi xj , for all 1 ≤ i < j ≤ n, is not satisfied by the ordering in the given commutative ring. 15
The notion of leading monomial, LM(f ), for a standard polynomial f is defined as in the commutative case (cf. Definition 1.9.5).
1.9 Non–Commutative G–Algebras
91
SINGULAR Example 1.9.3 (enveloping algebra). Consider the universal enveloping algebra U (sl2 ) over the field K of characteristic 0. It is defined as Ke, f, h | f e = ef − h, he = eh + 2e, hf = f h − 2f . Thus, c12 = c13 = c23 = 1 and d12 = −h, d13 = 2e, d23 = −2f . The explicit definition of U (sl2 ) in Singular is as follows: ring r = 0,(e,f,h),dp; matrix C[3][3]; C[1,2] = 1; C[1,3] = 1; C[2,3] = 1; matrix D[3][3]; D[1,2] = -h; D[1,3] = 2e; D[2,3] = -2f; ncalgebra(C,D); Since the nonzero entries of the matrix C are all equal, we can execute ncalgebra(1,D); and obtain the same result. Examining the properties of the ring r, we see that in addition to the data usually displayed for commutative polynomial rings, the non–commutative relations between variables are also displayed. r; //-> //-> //-> //-> //-> //-> //-> //-> //->
characteristic : 0 number of vars : 3 block 1 : ordering dp : names e f h block 2 : ordering C noncommutative relations: fe=ef-h he=eh+2e hf=fh-2f
The non–commutative multiplication between polynomials is carried out, as soon as the symbol * is used. fe; // "commutative" syntax, not correct //-> ef f*e; // correct non-commutative syntax //-> ef-h SINGULAR Example 1.9.4 (quantum deformation of U (so3 )). Consider the algebra Uq (so3 ), which is a non–standard (quantum) deformation of the algebra U (so3 ). The quantum parameter q is invertible. It is considered to be either a free parameter (that is, we work over the transcendental field extension K(q)) or a primitive root of unity (then we work over the simple algebraic field extension K[q]/μ(q), where μ(q) is the corresponding minimal polynomial). Computation in both cases is possible in Singular.
92
1. Rings, Ideals and Standard Bases
The algebra Uq (so3 ) is defined as Kx, y, z | yx = q · xy −
1 √ 1 √ qz, zx = · xz + √ y, zy = q · yz − qx. q q
√ Hence, we have c12 = q, c13 = 1q , c23 = q and d12 = − qz, d13 = √ d23 = − qx. √ Let us consider q as a free parameter and, moreover, set Q := q.
√1 y, q
ring s = (0,Q),(x,y,z),dp; matrix C[3][3]; C[1,2] = Q2; C[1,3] = 1/Q2; C[2,3] = Q2; matrix D[3][3]; D[1,2] = -Q*z; D[1,3] = 1/Q*y; D[2,3] = -Q*x; ncalgebra(C,D); We obtain the following relations in the non–commutative ring s: //-> //-> //-> //->
noncommutative relations: yx=(Q2)*xy+(-Q)*z zx=1/(Q2)*xz+1/(Q)*y zy=(Q2)*yz+(-Q)*x
Many important algebras are predefined in numerous procedures of the libraries ncalg.lib, nctools.lib and qmatrix.lib, distributed with Singular. In the library ncalg.lib, there are procedures defining the universal enveloping algebras U (sln ), U (gln ), U (som ), U (spm ), U (g2 ), U (f4 ), U (e6 ), U (e7 ), U (e8 ). Moreover, there are procedures for the quantized enveloping algebras Uq (sl2 ), Uq (sl3 ) and the non–standard quantum deformation Uq (so3 ). Weyl, Heisenberg, exterior algebras, as well as finite dimensional algebras (given via multiplication table between generators) are implemented in the library nctools.lib. The ring of quantum matrices Oq (Mn ) can be set with the procedure quantMat from qmatrix.lib. This procedure can be used for defining the algebras Oq (GLn ) and Oq (SLn ) as factor algebras of Oq (Mn ). Having defined some interesting non–commutative algebras we start with describing Gr¨obner bases for left ideals. Let A = Kx1 , . . . , xn | xj xi = cij xi xj + dij , 1 ≤ i < j ≤ n be a G–algebra over a field K. Since A has a PBW basis, we call an element αn 1 α2 xα = xα 1 x2 . . . xn of this basis, i.e. a standard word, a monomial in A,
1.9 Non–Commutative G–Algebras
93
and denote the set of monomials from A by Mon(A). Note that, although A is a quotient algebra of Tn the set Mon(A) coincides with Monn defined in Definition 1.1.3. A term in A is an element of A of the form cxα with c ∈ K and xα a monomial. Definition 1.9.5. Let A be a G–algebra in n variables. (1) A total ordering < on Mon(A) is called a a (global) monomial ordering on A, if it is a global monomial ordering on Monn in the sense of Definition 1.2.2, that is, if the following conditions hold: • < is a well–ordering, • ∀α, β, γ ∈ Nn such that xα < xβ , we have xα+γ < xβ+γ . (2) Since Mon(A) is a K–basis of A, any f ∈ A \ {0} can be written uniquely as f = cα xα + g with cα ∈ K \ {0}, xα a monomial, and xβ < xα for any nonzero term cβ xβ of g. We define LM(f ) LC(f ) LE(f )
= = =
xα cα α
∈ Mon(A), ∈ K \ {0}, ∈ Nn ,
the leading monomial of f , the leading coefficient of f , the leading exponent of f .
(3) We say that xα divides the monomial xβ , if αi ≤ βi ∀i = 1 . . . n and denote it by xα |xβ . Example 1.9.6. Consider two exponent vectors α = (1, 1) and β = (1, 2) from N2 . Let A be a G–algebra in the variables x = {x1 , x2 } = {y, ∂}, and let m1 = xα = y∂ and m2 = xβ = y∂ 2 , hence m1 | m2 . However, the left division of m2 by m1 gives various answers in different algebras. For example, in the commutative polynomial ring R = K[y, ∂], we have m2 = ∂m1 , whereas in the first quantized Weyl algebra Aq = K(q)y, ∂ | ∂y = q 2 x∂ + 1, we obtain m2 = q −2 · ∂ · m1 − q −2 ∂. Definition 1.9.7. Let S be any subset of a G–algebra A. • We define L(S) ⊆ Nn to be the monoid ideal (with respect to addition) in Nn , generated by the leading exponents of the elements of S, that is L(S) =
Nn α
| ∃s ∈ S LE(s) = α.
We call L(S) a monoid ideal of leading exponents. By Dixon’s Lemma (Lemma 1.2.6), L(S) is finitely generated, i.e. there exist α1 , . . ., αm ∈ Nn , such that L(S) = Nn α1 , . . . , αm . • The span of leading monomials of S is defined to be the K–vector space spanned by the set {xα | α ∈ L(S)} ⊆ Mon(A). We denote it by L(S) := α K {x | α ∈ L(S)} ⊆ A. Definition 1.9.8. Let < be a monomial ordering on the G–algebra A, I ⊂ A a left ideal and G ⊂ I a finite subset. G is called a left Gr¨ obner basis of I if for any f ∈ I \ {0} there exists g ∈ G satisfying LM(g) | LM(f ).
94
1. Rings, Ideals and Standard Bases
Remark 1.9.9. In commutative rings, one usually defines Gr¨ obner basis via leading ideals (cf. Definition 1.6.1). In general, it is impossible to adapt this definition in the context of G–algebras. One of the reasons is that for S ⊂ A, L(S) is just a K–vector subspace of A and is not, in general, an ideal. Let us define L (S) = A {LM(f ) | f ∈ S} to be the left leading ideal of a finite set S. Recall, that for a commutative algebra A, a finite set S is a Gr¨ obner basis of an ideal I, if S ⊂ I and L (S) = L (A S) = L (I). Consider the Weyl algebra A = Kx, ∂|∂x = x∂ + 1, the set S = {x∂ + 1, x} and I = A S. I is a proper left ideal and {x} is a reduced left Gr¨obner basis of I. Hence, the K–vector spaces L(I) and L({x}) are equal, but L (I) = A {x∂, x} = A = L ({x}) = A x. Proposition 1.9.10. Let < be a monomial ordering on the G–algebra A, I ⊂ A a left ideal and G ⊂ I a finite subset. Then the following conditions are equivalent: • G is a left Gr¨ obner basis of I, • L(G) = L(I) as K–vector spaces, • L(G) = L(I) as monoid ideals in Nn . Let us now introduce the notion of a normal form or divison with remainder in the non–commutative setting. Definition 1.9.11. Denote by G the set of all finite ordered subsets of the G–algebra A. A map NF : A × G → A, (f, G) → NF(f |G), is called a (left) normal form on A if: (1) For (i) (ii) (iii) (2) Let
all f ∈ A, G ∈ G NF(0 | G) = 0, NF(f | G) = 0 ⇒ LM NF(f | G) ∈ L(G), f − NF(f | G) ∈ A G. G = {g1 , . . . , gs } ∈ G and f ∈ A. Then f − NF(f | G) =
s
ai gi , ai ∈ A, s ≥ 0,
i=1 s is either 0 or LM(Σi=1 ai gi ) ≥ LM(ai gi ) for all i such that ai gi = 0. We say that f − NF(f |G) (or, by abuse of notation, f ) has a (left) standard representation with respect to G.
Lemma 1.9.12. Let I ⊂ A be a left ideal, G ⊂ I a left Gr¨ obner basis of I and NF(· | G) a left normal form on A with respect to G. (1) For any f ∈ A, we have f ∈ I ⇐⇒ NF(f | G) = 0. (2) If J ⊂ A is a left ideal with I ⊂ J, then L(I) = L(J) implies I = J. In particular, G generates I as a left ideal. (3) If NF(· | G) is a reduced left normal form, then it is unique.
1.9 Non–Commutative G–Algebras
95
Definition 1.9.13. Let f, g ∈ A \ {0} with LM(f ) = xα and LM(g) = xβ . Set γ := lcm(α, β) and define the (left) s–polynomial of f and g to be LeftSpoly(f, g) := xγ−α f −
LC(xγ−α f ) γ−β x g. LC(xγ−β g)
Remark 1.9.14. (1) It is easy to see that LM(LeftSpoly(f, g)) < LM(f · g) holds. If LM(g) | LM(f ), say LM(g) = xβ and LM(f ) = xα , then the s–polynomial is especially simple: LeftSpoly(f, g) = f −
LC(f ) xα−β g, LC(xα−β g)
and LM LeftSpoly(f, g) < LM(f ) holds. (2) Let A be a G–algebra, where all the relations are of the form {xj xi = xi xj +dij }. Then, there is an easier formula for the s–polynomial, namely LeftSpoly(f, g) := xγ−α f −
LC(f ) γ−β x g, LC(g)
which looks exactly like the formula in the Definition 1.6.9. As before, we assume that A is a G–algebra and < is a fixed global monomial ordering on A. Algorithm 1.9.15. LeftNF(f | G) Input: f ∈ A, G ∈ G; Output: h ∈ A, a left normal form of f with respect to G. • h := f ; • while ((h = 0) and (Gh := {g ∈ G : LM(g) | LM(h)} = ∅)) choose any g ∈ Gh ; h := LeftSpoly(h, g); • return h; ¨ bnerBasis(G) Algorithm 1.9.16. LeftGro Input: G ∈ G; Output: S ∈ G, a left Gr¨ obner basis of the left submodule I = A G ⊂ A. • S := G; • P := {(f, g) | f, g ∈ S} ⊂ S × S; • while ( P = ∅ ) choose (f, g) ∈ P ; P := P \ {(f, g)}; h := LeftNF LeftSpoly(f, g) | S ;
96
1. Rings, Ideals and Standard Bases
if ( h = 0 ) P := P ∪ {(h, f ) | f ∈ S}; S := S ∪ {h}; return S; As one can see, with the chosen setup, we are able to keep the form of the algorithms exactly as in the commutative case. However, since we use left s– polynomials, left normal forms, and compute left Gr¨ obner bases respectively, the proofs are somewhat different. Theorem 1.9.17 (Left Buchberger’s Criterion). Let I ⊂ A be a left ideal and G = {g1 , . . . , gs }, gi ∈ I. Let LeftNF(· | G) be a left normal form on A with respect to G. Then the following are equivalent: (1) (2) (3) (4)
G is a left Gr¨ obner basis of I, LeftNF(f | G) = 0 for all f ∈ I, each f ∈ representation with respect to G, I has a left standard LeftNF LeftSpoly(gi , gj )|G = 0 for 1 ≤ i, j ≤ s.
The practical computation of Gr¨ obner bases in non–commutative algebras can be extremely time and space consuming already for small examples, much more than in the commutative case. It is therefore important to know which criteria for discarding useless pairs continue to hold. We point out, that the generalization of the chain criterion (Lemma 2.5.10) holds in ¨ bnerBasis algorithm over G–algebras with no restrictions, the LeftGro whereas the product criterion (Exercise 1.7.1) does not hold in general. However, for some cases it is possible to use a weaker statement. Lemma 1.9.18 (Generalized Product Criterion). Let A be a G–algebra, such that ∀1 ≤ i < j ≤ n, cij = 1. That is, the relations of A are of the form {xj xi = xi xj + dij }. Let f, g ∈ A. Suppose that LM(f ) and LM(g) have no common factor, then LeftNF(LeftSpoly(f, g)|{f, g}) = f g − gf . Example 1.9.19. Let A = U (sl2 ) over the field Q , that is A = Qe, f, h | f e = ef − h, he = eh + 2e, hf = f h − 2f . Let I ⊂ A be the left ideal obner basis of I with respect to generated by {e2 , f }. We compute a left Gr¨ the dp ordering. Let p1 := e2 , p2 := f , then S = {p1 , p2 } and P = {(p1 , p2 )}. Since p1 , p2 do not have common factors, we apply the generalized product criterion and obtain • spoly(p1 , p2 ) → e2 f − f e2 = 2eh + 2e. It is not reducible by the elements of S, so p3 := eh + e, S := {p1 , p2 , p3 } and P := {(p1 , p3 ), (p2 , p3 )}. • spoly(p1 , p3 ) = hp1 − ep3 = 3e2 = 3p1 , hence NF(spoly(p1 , p3 ) | S) = 0. • spoly(p2 , p3 ) → p3 p2 − p2 p3 = 2ef − h2 − h =: g. NF(g | S) = g − 2ep2 = −(h2 + h), so p4 := h2 + h, S := {p1 , p2 , p3 , p4 } and P := {(p1 , p4 ), (p2 , p4 ), (p3 , p4 )}.
1.9 Non–Commutative G–Algebras
97
• spoly(p1 , p4 ) → p1 p4 − p4 p1 = −8e2 h − 20e2 =: g, then NF(g | S) = g + 8ep3 + 12p1 = 0. • spoly(p2 , p4 ) = p2 p4 − p4 p2 = 4f h − 2f =: g, then NF(g | S) = g − 4hp2 − 6p2 = 0. • spoly(p3 , p4 ) = hp3 − ep4 = 2(eh + e) = 2p3 , so NF(spoly(p3 , p4 ) | S) = 0. S = {p1 , p2 , p3 , p4 } and P = ∅. Hence, after reordering the elements in an ascending way, we conclude that S = {f, h2 + h, eh + h, e2 } is a left Gr¨obner basis of I. SINGULAR Example 1.9.20 (Left Gr¨ obner basis). Let us compute the above example with Singular. The command std computes a left Gr¨ obner basis of its argument of type ideal or module. LIB "ncalg.lib"; // load the library with the definition of U((sl_2) def A = makeUsl(2); // set up U(sl_2) setring A; option(redSB); option(redTail); // we wish to compute reduced bases ideal I = e2,f; ideal LI = std(I); LI; //-> LI[1]=f //-> LI[2]=h2+h //-> LI[3]=eh+e //-> LI[4]=e2 Above, we have sketched the left Gr¨ obner basis theory. By replacing every left–sided with a right–sided action in the statements and proofs, one obtains a right Gr¨ obner basis theory. However, it is not necessary to rewrite the algorithms, since we can compute with right ideals by using left Gr¨ obner bases in opposite algebras. Let A be an associative algebra over K. The opposite algebra Aopp is defined by taking the underlying vector-space of A and introducing a new ”opposite” multiplication on it, by setting f ∗ g := g · f . Then, Aopp is an associative K–algebra, and (Aopp )opp = A. Lemma 1.9.21. Let A be a G–algebra, then Aopp is a G–algebra too. There is one–to–one correspondence between left (right) ideals of A and right (left) ideals of Aopp . Thus, in order to compute a right Gr¨ obner basis of a left ideal I in A, we have to create the opposite algebra Aopp of A, compute the right ideal I opp corresponding to I. Then, we compute a left Gr¨obner basis of I opp and “oppose” the result back to A. This can be achieved by the following procedure:
98
1. Rings, Ideals and Standard Bases
proc rightStd(ideal I) { def A = basering; def Aopp = opposite(A); setring Aopp; ideal Iopp = oppose(A,I); ideal Jopp = std(Iopp); setring A; ideal J = oppose(Aopp,Jopp); return(J); } The same principle applies to computation of right normal forms, right syzygies etc. The corresponding procedures rightStd, rightNF, rightSyz, rightModulo are implemented in the library nctools.lib. SINGULAR Example 1.9.22 (Right Gr¨ obner basis). LIB "ncalg.lib"; def A = makeUsl(2); setring A; option(redSB); option(redTail); // we wish to compute reduced bases ideal I = e2,f; ideal LI = std(I); print(matrix(LI)); // a compact form of an ideal //-> f,h2+h,eh+e,e2 ideal RI = rightStd(I); print(matrix(RI)); //-> f,h2-h,eh+e,e2 As we can see, in this case the left and right bases differ only by one generator. A two–sided Gr¨ obner basis of an ideal I is a finite set of generators F = obner basis of I. In particular, {f1 , . . . , fs }, such that F is a left and a right Gr¨ if F is a two–sided Gr¨ obner basis of I, we have A F = F A = A F A = I. We use a special algorithm for computing two–sided Gr¨obner bases which is described in detail in [152] and which is behind the command twostd. Let us continue with the example before. SINGULAR Example 1.9.23 (Two–sided Gr¨ obner basis). ideal I = e2,f; ideal LI = std(I); print(matrix(LI)); // a compact form of an ideal //-> f,h2+h,eh+e,e2
1.9 Non–Commutative G–Algebras
99
ideal TI = twostd(I); print(matrix(TI)); //-> h,f,e Two–sided Gr¨obner bases are essential for computations ain factor– algebras. Let A be a G–algebra and T ⊂ A be a nonzero two–sided ideal, then there is a factor–algebra A/T which we call a GR–algebra. The data type qring in the non–commutative case corresponds to GR–algebras. The ideal T must be given as a two–sided Gr¨obner basis. SINGULAR Example 1.9.24 (Computations in factor algebras). LIB "ncalg.lib"; def A = makeUsl2(); setring A; ideal T = 4*e*f+h^2-2*h; // central element in U(sl_2) T = twostd(T); T; //-> T[1]=4ef+h2-2h qring Q = twostd(T); ideal I = e2,f; ideal LI = std(I); LI; //-> LI[1]=h //-> LI[2]=f //-> LI[3]=e As we can see, the left Gr¨obner basis of {e2 , f } is very different, if we pass from U (sl2 ) to the factor algebra U (sl2 )/4ef + h2 − 2h. Many of the Singular functions are available both for G–algebras and for GR–algebras. Among them are the functions for computing left syzygy modules (syz), left transformation matrices between bases (lift), left free resolutions (nres, mres) and many others. 1.9.1 Centralizers and Centers In many applications we need natural subalgebras of a non–commutative G– algebra A, like the centralizer of a finite set S ⊂ A, defined to be CA (S) := {f ∈ A | f s = sf ∀s ∈ S}, and the center of A, Z(A) := CA (A) = {f ∈ A | f a = af ∀a ∈ A}. As one can easily see, K ⊆ Z(A) ⊂ CA (S) for any finite subset S of A. The computation of centers and centralizers is implemented in the library central.lib (cf. [172]). For a general G–algebra we do not have any information on the number of generators of the center and of their degree. Hence, both procedures centralizer and center need extra arguments. Namely, one sets an upper bound for the degree and, optionally, a
100
1. Rings, Ideals and Standard Bases
bound for the number of elements to be computed. Note, that although both procedures return data of the type ideal, the data consists of generators of a subalgebra. SINGULAR Example 1.9.25 (Center and centralizer). LIB "ncalg.lib"; LIB "central.lib"; def A0 = makeUsl2(); // U(sl_2) over the rationals setring A0; // compute the centralizer of f^2 up to degree 6 ideal C = centralizer(f^2,6); C; // -> C[1]=f // -> C[2]=4ef+h2-2h ideal Z = center(5); Z; // -> Z[1]=4ef+h2-2h def A5 = makeUsl2(5); // U(sl_2) over Z/5Z setring A5; ideal Z = center(5); Z; // -> Z[1]=ef-h2+2h // -> Z[2]=h5-h // -> Z[3]=f5 // -> Z[4]=e5 As we can see, the centralizers depend heavily on the ground field K of a given G–algebra. Let us demonstrate the computations for GR–algebras. We continue with the example above. Since the element 4ef + h2 − 2h is central in U (sl2 ) for any K, it generates a principal two–sided ideal. // we are in the algebra A5 ideal T = twostd(4ef+h2-2h); T; // -> T[1]=ef-h2+2h qring Q = T; // compute the centralizer of f^2 up to degree 6 ideal C = centralizer(f^2,6); C; // -> C[1]=f // -> C[2]=eh3-2eh2-eh+2e // -> C[3]=h5-h // -> C[4]=e5 // -> C[5]=e4h2-2e4h 1.9.2 Left Ideal Membership In order to test whether a given polynomial lies in the given left ideal, we have to compute, according to Lemma 1.9.12, a left Gr¨obner basis of the ideal and then the left normal form of the polynomial with respect to the latter basis.
1.9 Non–Commutative G–Algebras
101
This method is also used for “canonizing” representatives of polynomials in factor algebras. Let us continue with Example 1.9.25. The procedure bracket(a, b) returns ab − ba. Let us check, that C[2] and C[5] lie in the centralizer of f 2 in the algebra U (sl2 )/4ef + h2 − 2h. For this, we use the left ideal membership approach by invoking NF(b,std(0)) or, alternatively, reduce(b,std(0)) for a polynomial b. Recall, that, in a factor ring std(0) stands for the two–sided Gr¨ obner basis of the ideal defining the factor ring, which has been constructed as qring Q in the Singular example 1.9.25. poly b = bracket(C[2],f^2); b; // -> -2ef2h2+2fh4-ef2h-fh3-2ef2+2fh2+fh+f NF(b,std(0)); // -> 0 b = bracket(C[5],f^2); b; // -> 2e4f2h-2e3fh3-e4f2-2e2h4-2e3fh-e2h3-2e2h2-e2h reduce(b,std(0)); // -> 0 1.9.3 Intersection with Subalgebras (Elimination of Variables) Let A be a G–algebra generated by {x1 , . . . , xn } with structural matrices (cij ) and (dij ). For a fixed r, 1 ≤ r < n, consider the subalgebra Ar , generated by the {xr+1 , . . . , xn }. We say, that Ar is an essential subalgebra (or admissible for elimination), if ∀ i, j such that r + 1 ≤ i < j ≤ n, the polynomials dij involve only the variables xr+1 , . . . , xn . Example 1.9.26 (Essential and non–essential subalgebras). Consider A = U (sl2 ) (see Singular Example 1.9.3). {f, h} generate an essential subalgebra (recall the relations he = eh + 2e and hf = f h − 2f ). However, the subalgebra generated by {e, f } is not essential, since f e = ef − h and hence, h is the third generator of this subalgebra. That is, the set {e, f, h} generates the same algebra over K as the set {e, f }, namely the whole A. As a consequence, we cannot ”eliminate” h from any ideal of A, since this would require the intersection with the subalgebra generated by {e, f }, which is A, and hence this would not change anything. The notion of elimination of variables in the context of non–commutative algebras means the intersection of an ideal with an essential subalgebra. Recall, that an ordering
102
1. Rings, Ideals and Standard Bases
Lemma 1.9.27. Let A be a G–algebra, generated by {x1 , . . . , xn } and I ⊂ A an ideal. Suppose, that the following conditions are satisfied for a fixed r, 1 ≤ r < n: • the set {xr+1 , . . . , xn } generates an essential subalgebra Ar , • there exists an admissible elimination ordering 16 J[1]=a3-32a2+192a Hence, U(sl2 )⊗K K[a] 4ef + h2 − 2h − a ∩ K[a] = a(a − 8)(a − 24). From Example 1.9.26 we know, that {e, f } does not generate an essential subalgebra. Let us see what happens if we try to intersect it with this subalgebra (i.e. “eliminate” h). eliminate(I,h); //-> ? no elimination possible: subalgebra is not admissible //-> ? error occurred in line 13: ‘eliminate(I,h);’ 16
that is, satisfying the ordering condition in Definition 1.9.1 and having the elimination property for x1 , . . . , xr .
1.9 Non–Commutative G–Algebras
103
Since a commutes with e, f and h we can eliminate a, that is intersect I with the subalgebra U (sl2 ) ⊂ U (sl2 ) ⊗K K[a]. Moreover, we can intersect I with the subalgebra K[h] ⊂ U (sl2 ) ⊗K K[a], being achieved by eliminating e, f and a. eliminate(I,e*f*a); //-> _[1]=h3-4h SINGULAR Example 1.9.29 (No elimination ordering exists). Let A = Kp, q | qp = pq+q 2 be a G–algebra for a fixed ordering <. In particular q 2 < pq and hence q < p holds. An elimination ordering for q requires that q > p holds, which is a contradiction to the ordering condition for the G– algebra A. ring s = 0,(p,q),dp; ncalgebra(1,q^2); // setting the relation qp = pq + q^2 ideal I = p+q, p2+q2; eliminate(I,q); //-> Bad ordering at 1,2 //-> ? no elimination possible: ordering condition violated //-> ? error occurred in STDIN line 4: ‘eliminate(I,q);’ The first line of the error message says, that the ordering condition is violated for the relation between the 1st and 2nd variable. However, we can intersect the ideal with the subalgebra K[q]. eliminate(I,p); //-> _[1]=q2 1.9.4 Kernel of a Left Module Homomorphism Let A be a GR–algebra. Consider a left A–module homomorphism φ:
Am /U −→ An /V
ei −→ Φi ,
Φ ∈ M at(n × m, A),
where U ⊂ Am and V ⊂ An . The kernel of a homomorphism φ can be computed with the procedure modulo (compare Singular Example 2.1.26). SINGULAR Example 1.9.30 (Kernel of module homomorphism). Let A = U (sl2 )/I, where the two–sided ideal I is generated by {e2 , f 2 , h2 − 1}. Let us study the endomorphisms τ : A → A. LIB "ncalg.lib"; def A0 = makeUsl2(); setring A0; option(redSB); option(redTail); ideal I = e2,f2,h2-1; I = twostd(I); print(matrix(I)); // ideal in a compact form //-> h2-1,fh-f,eh+e,f2,2ef-h-1,e2
104
1. Rings, Ideals and Standard Bases
From the two–sided Gr¨obner basis of I, we can read off that A is 4– dimensional over K with basis {1, e, f, h}. qring A = I; // we move to a GR--algebra A ideal Ke = modulo(e,0); Ke = std(Ke+std(0)); // normalize Ke w.r.t. the factor ideal Ke; //-> Ke[1]=h-1 // the kernel of e //-> Ke[2]=e ideal Kh = modulo(h-1,0); Kh = std(Kh+std(0)); Kh; // the kernel of h-1 //-> Kh[1]=h+1 //-> Kh[2]=f Computing with more endomorphisms, we get the following information on their kernels. For non–zero k ∈ K, ker(τ : 1 → e + k) = ker(τ : 1 → f + k) = 0. For k 2 = 1, ker(τ : 1 → h + k) = 0. ker(τ : 1 → e) = ker(τ : 1 → h + 1) = A e, h − 1. ker(τ : 1 → f ) = ker(τ : 1 → h − 1) = A f, h + 1. 1.9.5 Left Syzygy Modules Let A be an associative algebra and An the canonical free module of rank n over A. A left (resp. right ) syzygy of elements f1 , . . . , fm from An is an m m m–tuple (a1 , . . . , am ), ai ∈ A such that i=1 ai fi = 0 (resp. i=1 fi ai = 0). It can be shown, that the set of all left (resp. right) syzygies forms a left (resp. right) A–module. We can view the elements fi ∈ An as columns of a matrix F ∈ M at(n × m, A). It is convenient to view a single left syzygy, which is an element of Am , as a column in a matrix. If the left syzygy module is generated by s elements, it can be represented by a matrix S ∈ M at(m × s, A) and then S T · F T = 0 holds where S T and F T denote the transposed matrices. Similar remarks apply to right syzygies. The command syz computes the first (left) syzygy module of a given set of elements. The higher syzygy modules are defined as successive syzygies of syzygies etc. SINGULAR Example 1.9.31 (Syzygies). Consider the algebra Uq (so3 ) (Example 1.9.30), specializing the quantum parameter Q at the primitive 6th root of unity. The corresponding minimal polynomial for the algebraic field extension is Q2 − Q + 1. LIB "ncalg.lib"; def R = makeQso3(3);
1.9 Non–Commutative G–Algebras
105
setring R; option(redSB); option(redTail); // for reduced output ideal K = x+y+z,y+z,z; module S = syz(K); // the (left) syzygy module of K print(S); //-> (Q-1), (-Q+1)*z, (Q-1)*y, //-> (Q)*z+(-Q+1),(Q-1)*z+(Q),(Q)*x+(-Q+1)*y, //-> y+(-Q)*z, x+(-Q), (-Q)*x-1 The columns of the above matrix generate the (left) syzygy module of K. Let us check the property (S T · F T = 0) of a syzygy matrix from above. ideal tst = ideal(transpose(S)*transpose(K)); print(matrix(tst)); //-> 0,0,0 It is easy to see, that the (left) Gr¨ obner basis of the ideal K is {x, y, z}. Let us compute the first syzygy module of this set of generators. K = x,y,z; S = syz(K); print(S); //-> (Q-1),0, 0, //-> (Q)*z,-z2-1, (Q)*yz+(-Q)*x, //-> y, (-Q)*yz+(Q)*x,y2+1 There are quadratic terms in the generators. It is important to mention, that the command syz does not return a left Gr¨obner basis of the first syzygy module. However, one can force it to return a Gr¨obner basis by setting the option returnSB as follows option(returnSB); S = syz(K); print(S); //-> (Q-1),(-Q+1)*y,-z, //-> (Q)*z,(-Q)*x, (-Q+1), //-> y, 1, (-Q)*x The latter generators of the syzygy module are linear.
1.9.6 Left Free Resolutions Computing syzygy modules of a module M iteratively, we get a free left resolution (cf. Definition 2.4.10) of M . If M is a finitely presented A–module, where A is a G–algebra in n variables, we know that this process stops at most after n steps.
106
1. Rings, Ideals and Standard Bases
The commands nres and mres compute free left resolutions and the command minres minimizes a given resolution also in the non–commutative setting. SINGULAR Example 1.9.32 (Resolution with nres and minres). In the algebra A = U (sl2 ) we consider the ideal I, generated by {e2 , f }. Its left Gr¨ obner basis has been computed in example 1.9.19 and Singular example 1.9.20. Now we want to compute a left free resolution of the latter set of generators. LIB "ncalg.lib"; def A = makeUsl2(); setring A; option(redSB); option(redTail); ideal I = e2,f; ideal J = groebner(I); resolution F = nres(J,0); F; //-> 1 4 4 1 //-> A <-- A <-- A <-- A //-> 0 1 2 3 //-> resolution not minimized yet print(matrix(F[1])); // F[1] is the left map //-> f,h2+h,eh+e,e2 print(matrix(F[2])); // F[2] is the middle map //-> 0, h2+5h+6,eh+3e,e2, //-> 0, -f, -1, 0, //-> e, 0, -f, -2, //-> -h+3,0, 0, -f print(matrix(F[3])); // F[3] is the right map //-> f2, //-> -e, //-> ef, //-> -fh+f With the help of minres, we can minimize a given resolution. resolution MF = minres(F); print(matrix(MF[1])); //-> f,e2 print(matrix(MF[2])); //-> e3, e2f2-6efh-6ef+6h2+18h+12, //-> -ef-2h+6,-f3 print(matrix(MF[3])); //-> f2, //-> -e Applying mres produces the same result as the two commands nres and minres together.
1.9 Non–Commutative G–Algebras
107
1.9.7 Betti Numbers in Graded GR–algebras A graded G–algebra in n variables is characterized by the following property: ∀ 1 ≤ i < j ≤ n the polynomials xi xj + dij are weighted homogeneous. A graded GR–algebra is a factor algebra of a G–algebra modulo a two–sided ideal T , whose two–sided Gr¨obner basis consists of weighted homogeneous polynomials. The Betti numbers (see Definition 2.4.10) of graded objects in graded GR–algebras can be computed with the procedure betti. SINGULAR Example 1.9.33 (Betti numbers). ring r = 0,(x,d,q),dp; matrix D[3][3]; D[1,2]=q^2; ncalgebra(1,D); ideal I = x,d,q; option(redSB); option(redTail); resolution R = mres(I,0); R; //-> 1 3 3 1 //-> r <-- r <-- r <-- r //-> 0 1 2 3 print(betti(R),"betti"); //-> 0 1 2 3 //-> -----------------------------//-> 0: 1 3 3 1 //-> -----------------------------//-> total: 1 3 3 1 1.9.8 Gel’fand–Kirillov Dimension The standard Singular command dim computes the Krull dimension of a module or an ideal. In the non–commutative case, the Gel’fand–Kirillov dimension GKdim [180] plays a similar important role as the Krull dimension in the commutative case. Note, that for an ideal I in the polynomial ring K[x] = K[x1 , . . . , xn ], the Krull dimension dim(I) and the Gel’fand–Kirillov dimension GKdim(I) of K[x]/I coincide. The algorithm for computing the Gel’fand–Kirillov (or, shortly, GK) dimension [38, 154] uses Gr¨ obner bases. It is implemented in the library gkdim.lib. SINGULAR Example 1.9.34 (Gel’fand–Kirillov Dimension). In this example we compute the Gel’fand–Kirillov dimensions of some modules which appeared in the examples 1.9.3, 1.9.22, 1.9.28, and 1.9.30 before.
108
1. Rings, Ideals and Standard Bases
LIB "gkdim.lib"; LIB "ncalg.lib"; def A = makeUsl(2); // set up U(sl_2) setring A; ideal I = e2,f; ideal LI = std(I); GKdim(LI); //-> 0 ideal TI = twostd(I); GKdim(TI); //-> 0 ideal Z = 4*e*f + h^2 - 4*h; Z = std(Z); GKdim(Z); //-> 2 ring B = 0,(a),dp; def C = A + B; setring C; ideal I = e^3, f^3, h^3-4*h, 4*e*f+h^2-2*h - a; I = std(I); GKdim(I); //-> 0 ideal J = eliminate(I,e*f*h); GKdim(J); //-> 3 setring A; resolution F = nres(LI,0); // we computed it before GKdim(F[1]); // this is LI itself //-> 0 GKdim(F[2]); //-> 3 GKdim(F[3]); //-> 3
2. Modules
Module theory may, perhaps, best be characterized as linear algebra over a ring. While classical commutative algebra was basically ideal theory, modules are in the centre of modern commutative algebra as a unifying approach. Formally, the notion of a module over a ring is the analogue of the notion of a vector space over a field, in the sense that a module is defined by the same axioms, except that we allow ring elements as scalars and not just field elements. Just as vector spaces appear naturally as the solution sets of systems of linear equations over a field, modules appear as solution sets of such systems over a ring. However, contrary to vector spaces, not every module has a basis and this makes linear algebra over a ring much richer than linear algebra over a field. This chapter contains the basic definitions and constructions in connection with modules with some emphasis on syzygies and free resolutions. Modules over special rings, such as graded rings and principal ideal domains, are treated in a special section. Again, every construction is accompanied by concrete computational examples.
2.1 Modules, Submodules and Homomorphisms This section contains the most elementary definitions and properties of modules. As far as the theory is completely analogous to that of vector spaces, we leave the verification of such results as exercises, with a few exceptions, in order to give some examples on how to proceed. Definition 2.1.1. Let A be a ring. A set M , together with two operations + : M × M → M (addition) and · : A × M → M (scalar multiplication) is called A–module if (1) (M, +) is an abelian group. (2) (a + b) · m = a · m + b · m a · (m + n) = a · m + a · n (ab) · m = a · (b · m) 1·m =m for all a, b ∈ A and m, n ∈ M .
110
2. Modules
Example 2.1.2. (1) Let A be a ring, then A is an A–module with the ring operation. (2) If A = K is a field, then A–modules are just K–vector spaces. (3) Every abelian group is a Z–module with scalar multiplication n · x := $x + ·%& · · + x' . n times
(4) Let I ⊂ A be an ideal, then I and A/I are A–modules with the obvious addition and scalar multiplication. (5) Let A be a ring and An = {(x1 , . . . , xn ) | xi ∈ A} the n–fold Cartesian product of A, then An is, in a canonical way, an A–module (with the component–wise addition and scalar multiplication). (6) Let K be a field and A = K[x] the polynomial ring in one variable x. An A–module M can be considered as a K–vector space M together with a linear map ϕ : M → M defined by ϕ(m) := x · m for all m ∈ M . On the other hand, given a K–vector space M and a linear map ϕ : M → M , then we can give M the structure of a K[x]–module defining x·m := ϕ(m) for all m ∈ M . (7) Let ϕ : A → B be a ring map, and set a · b := ϕ(a) · b for a ∈ A and b ∈ B. This defines an A–module structure on B. The ring B together with this structure is called an A–algebra. Definition 2.1.3. (1) Let M, N be A–modules. A map ϕ : M → N is called A–module homomorphism (or simply homomorphism) if, for all a ∈ A and m, n ∈ M , a) ϕ(am) = aϕ(m), b) ϕ(m + n) = ϕ(m) + ϕ(n). We also say that ϕ is A–linear or just linear . If N = M , then ϕ is called an endomorphism. (2) The set of all A–module homomorphisms from M to N is denoted by HomA (M, N ). (3) A bijective A–module homomorphism is called isomorphism (the inverse is automatically a homomorphism, Exercise 2.1.12). (4) M is called isomorphic to N , denoted by M ∼ = N , if there exists an isomorphism M → N . (5) If ϕ : A → B and ψ : A → C are two ring maps then a ring map α : B → C is called an A–algebra map or a homomorphism of A–algebras if it is an A–module homomorphism, that is, if α ◦ ϕ = ψ. Lemma 2.1.4. Define two operations on HomA (M, N ) by (ϕ + ψ)(m) := ϕ(m) + ψ(m) , (aϕ)(m) := a · ϕ(m) . Then HomA (M, N ) is an A–module.
2.1 Modules, Submodules and Homomorphisms
111
The proof is left as Exercise 2.1.1. The module M ∗ := HomA (M, A) is called the dual module of M . Lemma 2.1.5. Let M, N, L be A–modules and ϕ : M → N be an A–module homomorphism. Define φ : HomA (N, L) → HomA (M, L) by φ(λ) := λ ◦ ϕ and ψ : HomA (L, M ) → HomA (L, N ) by ψ(λ) := ϕ ◦ λ. Then φ and ψ are A–module homomorphisms. Proof. This is just a formal verification of the definition. To give an example, we show that φ is an A–module homomorphism. The proof for ψ is similar and left to the reader. Let λ, μ ∈ HomA (N, L), a ∈ A and m ∈ M arbitrary. Then φ(aλ) (m) = (aλ) ◦ ϕ (m) = (aλ) ϕ(m) = a · λ ϕ(m) = a · (λ ◦ ϕ) (m) = aφ(λ) (m) , φ(λ + μ) (m) = (λ + μ) ◦ ϕ (m) = (λ + μ) ϕ(m) = λ ϕ(m) + μ ϕ(m) = (λ ◦ ϕ)(m) + (μ ◦ ϕ)(m) = φ(λ) + φ(μ) (m) . Since m is arbitrary, we have φ(aλ) = a · φ(λ) and φ(λ + μ) = φ(λ) + φ(μ). Let us first consider a homomorphism ϕ : An → Am . If {e1 , . . . , en } denotes the canonical basis of An (that is, ei = (0, . . . , 1, . . . , 0), 1 at place i), then any x ∈ An is a unique linear combination x = x1 e1 + · · · + xn en , xi ∈ A. Hence, ϕ(ei ) has a unique representation as ϕ(ei ) =
n
Mji ej ,
i = 1, . . . , n .
j=1
By linearity of ϕ we obtain, if we write x as a column vector, ⎛ ⎞ ⎛ ⎞ M11 . . . M1n x1 ⎜ .. ⎟ ⎜ . .. ⎠ · ⎝ ... ⎟ ϕ(x) = ⎝ . ⎠ = M ·x Mm1 . . . Mmn
xn
where M = (Mij ) is an m × n–matrix with entries in A. That is, ϕ is given by a matrix M ∈ Mat(m × n, A) and any such M defines a homomorphism An → Am . We identify these homomorphisms with matrices. This is all as for vector spaces over a field. In particular, the addition and scalar multiplication of homomorphisms correspond to addition and scalar multiplication of matrices. The composition of linear maps corresponds to matrix multiplication.
112
2. Modules
SINGULAR Example 2.1.6 (matrix operations). A matrix in Singular is a matrix with polynomial entries, hence they can be defined only when a basering is active. This applies also to matrices with numbers as entries (compare Singular Examples 1.1.8 and 1.1.9). A matrix is filled with entries from left to right, row by row, spaces are allowed. ring A = 0,(x,y,z),dp; matrix M[2][3] = 1, x+y, z2, //2x3 matrix x, 0, xyz; matrix N[3][3] = 1,2,3,4,5,6,7,8,9; //3x3 matrix M; //-> //-> //-> //-> //-> //->
//lists all entries of M M[1,1] = 1 M[1,2]=x+y M[1,3]=z2 M[2,1]=x M[2,2]=0 M[2,3]=xyz
print(N); //-> 1,2,3, //-> 4,5,6, //-> 7,8,9
//displays N as usual //if the entries are small
print(M+M); //-> 2, 2x+2y,2z2, //-> 2x,0, 2xyz
//addition of matrices
print(x*N); //-> x, 2x,3x, //-> 4x,5x,6x, //-> 7x,8x,9x
//scalar multiplication
print(M*N); //multiplication of matrices //-> 7z2+4x+4y+1,8z2+5x+5y+2,9z2+6x+6y+3, //-> 7xyz+x, 8xyz+2x, 9xyz+3x M[2,3]; //-> xyz M[2,3]=37; print(M); //-> 1,x+y,z2, //-> x,0, 37
//access to single entry //change single entry
Further matrix operations are contained in the library matrix.lib. There is a procedure pmat in inout.lib which formats matrices similarly to print,
2.1 Modules, Submodules and Homomorphisms
113
but allows additional parameters, for example to show only the first terms of each entry for big matrices. LIB "matrix.lib"; LIB "inout.lib"; print(power(N,3)); //-> 468, 576, 684, //-> 1062,1305,1548 //-> 1656,2034,2412
//exponentiation of matrices
pmat(power((x+y+z)*N,3),15);//show first 15 terms of entries //-> 468x3+1404x2y+1 576x3+1728x2y+1 684x3+2052x2y+2 //-> 1062x3+3186x2y+ 1305x3+3915x2y+ 1548x3+4644x2y+ //-> 1656x3+4968x2y+ 2034x3+6102x2y+ 2412x3+7236x2y+ matrix K = concat(M,N); //concatenation print(K); //-> 1,x+y,z2,1,2,3, //-> x,0, 37,4,5,6, //-> 0,0, 0, 7,8,9 ideal(M); //-> _[1]=1 //-> _[2]=x+y //-> _[3]=z2 //-> _[4]=x //-> _[5]=0 //-> _[6]=37
//converts matrix to ideal //same as ‘flatten’ from matrix.lib
print(unitmat(5)); //-> 1,0,0,0,0, //-> 0,1,0,0,0, //-> 0,0,1,0,0, //-> 0,0,0,1,0, //-> 0,0,0,0,1,
//5x5 unit matrix
Besides matrices, there are integer matrices which do not need a ring. These are mainly used for bookkeeping or storing integer results. The operations are the same as for matrices. intmat I[2][3]=1,2,3,4,5,6; I; //-> 1,2,3, //-> 4,5,6 We construct now the matrices corresponding to the linear maps of Lemma 2.1.5.
114
2. Modules
SINGULAR Example 2.1.7 (maps induced by Hom). Let ϕ : An → Am be the linear map defined by the m × n–matrix M = (Mij ) with entries in A, ϕ(x) = M · x. We want to compute the induced map ϕ∗ : Hom(Am , As ) → Hom(An , As ) . To do so, we identify Hom(An , As ) = Asn and Hom(Am , As ) = Ams , using Exercise 2.1.14. hs } denote the canonical bases Let {e1 , . . . , en }, {f1 , . . . , fm }, {h1 , . . . , m of An , Am , As , respectively. Then ϕ(ei ) = j=1 Mji fj . Moreover, if {σij }, {κij } are the bases of Hom(Am , As ), respectively Hom(An , As ), defined by σij (f ) = δj hi ,1 respectively κij (e ) = δj hi , then m m ϕ∗ (σij )(ek ) = σij ◦ ϕ(ek ) = σij M k f = M k δj hi =1
= Mjk hi =
n
Mj δ k hi =
=1
=1 n
Mj κi (ek ) .
=1
n This implies ϕ∗ (σab ) = c=1 Mbc κac . To obtain the sn × sm–matrix R defining ϕ∗ , we order the basis elements σij and κij as follows {σ11 , σ12 , . . . , σ1m , σ21 , σ22 , . . . . . . , σs1 , σs2 , . . . , σsm } , {κ11 , κ12 , . . . , κ1n , κ21 , κ22 , . . . . . . , κs1 , κs2 , . . . , κsn } , and set, for a, d = 1, . . . , s, b = 1, . . . , m, c = 1, . . . , n, i := (d − 1)n + c,
Then Rij =
j := (a − 1)m + b .
0, Mbc
d = a, d = a.
We program this in a short procedure: given a matrix M , defining a homomorphism An → Am , and an integer s, the procedure kontraHom returns a matrix defining R : Hom(Am , As ) → Hom(An , As ). proc kontraHom(matrix M,int s) { int n,m=ncols(M),nrows(M); int a,b,c; matrix R[s*n][s*m]; for(b=1;b<=m;b++) { for(a=1;a<=s;a++) { 1
Here δj is the Kronecker symbol (δj = 0 if j = and δjj = 1).
2.1 Modules, Submodules and Homomorphisms
115
for(c=1;c<=n;c++) { R[(a-1)*n+c,(a-1)*m+b]=M[b,c]; } } } return(R); } Let us try an example. ring A=0,(x,y,z),dp; matrix M[3][3]=1,2,3, 4,5,6, 7,8,9; print(kontraHom(M,2)); //-> 1,4,7,0,0,0, //-> 2,5,8,0,0,0, //-> 3,6,9,0,0,0, //-> 0,0,0,1,4,7, //-> 0,0,0,2,5,8, //-> 0,0,0,3,6,9 This procedure is contained as kontrahom in homolog.lib. Note that for s = 1, the dual map, that is, the transposed matrix, is computed. Similarly, we can compute the map ϕ∗ : Hom(As , An ) → Hom(As , Am ). If {σij } and {κij } are defined as before as bases of Hom(As , An ), respectively s m Hom(A , A ), then one checks that ϕ∗ (σab ) = m c=1 Mca κcb . We obtain the following procedure: given M : An → Am and s, kohom returns R : Hom(As , An ) → Hom(As , Am ). proc kohom(matrix M,int s) { int n,m=ncols(M),nrows(M); int a,b,c; matrix R[s*m][s*n]; for(b=1;b<=s;b++) { for(a=1;a<=m;a++) { for(c=1;c<=n;c++) { R[(a-1)*s+b,(c-1)*s+b]=M[a,c];
116
2. Modules
} } } return(R); } As an example use the matrix defined above. print(kohom(M,2)); //-> 1,0,2,0,3,0, //-> 0,1,0,2,0,3, //-> 4,0,5,0,6,0, //-> 0,4,0,5,0,6, //-> 7,0,8,0,9,0, //-> 0,7,0,8,0,9 This procedure is contained as kohom in homolog.lib. Definition 2.1.8. Let M be an A–module. A non–empty subset N ⊂ M is called a submodule of M if, for all m, n ∈ N and a ∈ A, (1) m + n ∈ N , (2) a · m ∈ N . Note that every submodule of an A–module is itself an A–module. Remark 2.1.9. Every element of An is represented as ⎛ ⎞ x1 ⎜ .. ⎟ x = x1 e1 + · · · + xn en = ⎝ . ⎠ , xi ∈ A , xn that is, as a linear combination in terms of the canonical basis or as a (column, respectively row) vector. Both representations are used in Singular. An element of An is called a vector . SINGULAR Example 2.1.10 (submodules of An ). We shall explain how to declare submodules of An in Singular, where A is any ring of Singular. In the same way as ideals I ⊂ A are given by elements of A as generators, submodules are given by vectors in An as generators. The canonical basis elements ei of An are denoted by gen(i) in Singular. ring A=0,(x,y,z),dp; module M=[xy-1,z2+3,xyz],[y4,x3,z2]; M; //-> M[1]=xyz*gen(3)+xy*gen(1)+z2*gen(2)+3*gen(2)-gen(1) //-> M[2]=y4*gen(1)+x3*gen(2)+z2*gen(3)
2.1 Modules, Submodules and Homomorphisms
117
M is the submodule of Q[x, y, z]3 generated by the two (column) vectors (xy − 1, z 2 + 3, xyz) and (y 4 , x3 , z 2 ). The output is given as linear combination of the canonical basis. Singular understands both formats as input. ideal I=x2+y2+z2; qring Q=std(I); module M=fetch(A,M);
//create quotient ring mod I //map M from A to Q
Here we consider M as a submodule in (Q[x, y, z]/x2 + y 2 + z 2 )3 . Definition 2.1.11. Let ϕ : M → N be an A–module homomorphism. The kernel of ϕ, Ker(ϕ) is defined by Ker(ϕ) := {m ∈ M | ϕ(m) = 0}. The image of ϕ, Im(ϕ), is defined by Im(ϕ) := {ϕ(m) | m ∈ M }. Lemma 2.1.12. Ker(ϕ) and Im(ϕ) are submodules of M , respectively N . The easy proof is left as Exercise 2.1.6. SINGULAR Example 2.1.13 (kernel and image of a module homomorphism). ring A=0,(x,y,z),(c,dp); matrix M[2][3]=x,xy,z,x2,xyz,yz; print(M); //->x, xy, z, //->x2,xyz,yz To compute the kernel of a module homomorphism means to solve a system of linear equations over a ring. The syz command, which is based on Gr¨ obner basis computations is, hence, a generalization of Gaussian elimination from fields to rings (see Section 2.5). module Ker=syz(M); Ker; //-> Ker[1]=[y2z-yz2,xz-yz,-x2y+xyz] For the image, there is nothing to compute. The column vectors of M generate the image. module Im=M[1],M[2],M[3]; Im; //-> Im[1]=[x,x2] //-> Im[2]=[xy,xyz] //-> Im[3]=[z,yz]
118
2. Modules
Definition 2.1.14. (1) Let M be an A–module and N ⊂ M be a submodule. We define the quotient module or factor module M/N by M/N := {m + N | m ∈ M } . That is, M/N is the set of equivalence classes of elements of M , where m, n ∈ M are equivalent if m − n ∈ N . An equivalence class is denoted by m + N or by [m]. Each element in the class m + N is called a representative of the class. (2) Let ϕ : M → N be an A–module homomorphism, then Coker(ϕ) := N/ Im(ϕ) is called the cokernel of ϕ. Lemma 2.1.15. With the canonical operations, by choosing representatives, (m + N ) + (n + N ) := (m + n) + N ,
a · (m + N ) := am + N
the set M/N is an A–module. N , the equivalence class of 0 ∈ M is the 0– element in M/N . The map π : M → M/N , π(m) := m + N is a surjective A–module homomorphism. The proof is left as Exercise 2.1.7. We just show that the addition is well– defined (independent of the chosen representatives). If (m + N ) and (n + N ) are other representatives, then m − m , n − n ∈ N . Hence, (m + n) − (m + n ) = (m − m ) + (n − n ) ∈ N , which shows that (m + n) + N = (m + n ) + N . Proposition 2.1.16. Let ϕ : M → N be an A–module homomorphism, then Im(ϕ) ∼ = M/ Ker(ϕ) . Proof. Define a map λ : M/ Ker(ϕ) → Im(ϕ) by λ(m + Ker ϕ) := ϕ(m). It is easy to see that λ is well–defined, that is, does not depend on the choice of the representative m. λ is surjective by definition. To see that λ is injective, let λ m + Ker(ϕ) = 0. That is, ϕ(m) = 0, and, hence, m ∈ Ker(ϕ). But then m + Ker(ϕ) = Ker(ϕ) which is the 0–element in M/ Ker(ϕ). One can also easily check that λ is an A–module homomorphism. Corollary 2.1.17. Let L ⊃ M ⊃ N be A–modules, then (L/N )/(M/N ) ∼ = L/M . Proof. The inclusion N ⊂ M induces a homomorphism π : L/N → L/M of A–modules. Obviously, π is surjective and Ker(π) = M/N . Therefore, the corollary is a consequence of Proposition 2.1.16.
2.1 Modules, Submodules and Homomorphisms
119
Definition 2.1.18. (1) Let M be an A–module and Mi ⊂ M be submodules, i ∈ I. We define the sum of the Mi by Mi := mi mi ∈ Mi , mi = 0 only for finitely many i . i∈I
i∈I
(2) Let J ⊂ A be an ideal and M an A–module. We define JM by JM := ai mi I finite, ai ∈ J, mi ∈ M . i∈I
n (3) An A–module M is called finitely generated if M = i=1 A · mi for suitable m1 , . . . , mn ∈ M . We then write M = m1 , . . . , mn , and m1 , . . . , mn are called generators of M . A module generated by one element is called a cyclic module. (4) Let M be an A–module. The torsion submodule Tors(M ) is defined by Tors(M ) := {m ∈ M | ∃ a non–zerodivisor a ∈ A with am = 0} . A module M is called torsion free if Tors(M ) = 0. M itself is called a torsion module if Tors(M ) = M . (5) Let N, P ⊂ M be submodules, then the quotient N : P is defined by N : P := N :A P := {a ∈ A | aP ⊂ N } . In particular, the annihilator of P is Ann(P ) := AnnA (P ) := 0 : P = {a ∈ A | aP = 0} . Note that the module quotient is a generalization of the ideal quotient. (6) There is still another quotient. Let I ⊂ A be an ideal, then the quotient of P by I in M is P :M I := {m ∈ M | I · m ⊂ P } . (7) Let Mi , i ∈ I, be A–modules. The direct sum i∈I Mi is defined by Mi = {(mi )i∈I | mi ∈ Mi , mi = 0 for only finitely many i} . i∈I
The direct product
i∈I
(
Mi is defined by
Mi = {(mi )i∈I | mi ∈ Mi } .
i∈I
Note that for a finite index set I = {1, . . . , n} the direct sum and the direct product coincide and are denoted as M1 ⊕ · · · ⊕ Mn .
120
2. Modules
(8) Let M be an A–module. M is called free if M ∼ = i∈I A. The cardinality of the index set I is called the rank of M . A subset S ⊂ M is called a basis of M if every m ∈ M can be written in a unique way as a finite linear combination m = a1 m1 + · · · + an mn with mi ∈ S and ai ∈ A, for some n (depending on m). If A is a field the modules are vector spaces and every module is free. In general, this is not true. The Z–module Z/2 is not free. More generally, a module M with Tors(M ) = 0 cannot be free (Exercise 2.1.9). Lemma 2.1.19. The sum of submodules of an A–module, the product of an ideal with an A–module, the direct sum and the direct product of A–modules are again A–modules. The module quotient of two submodules of an A–module is an ideal in A. The quotient of a submodule by an ideal is a submodule of M . The torsion module Tors(M ) is a submodule of M . The proof is left as Exercise 2.1.8. SINGULAR Example 2.1.20 (sum, intersection, module quotient). The sum of two modules is generated by the union of the generators, the “+” lets Singular simplify the union by deleting 0’s and identical generators. ring A=0,(x,y,z),(c,dp);//the ordering (c,..) has the effect module M=[xy,xz],[x,x]; //that the vectors are internally module N=[y2,z2],[x,x]; //represented component-wise. M+N; //-> _[1]=[xy,xz] //the output is, as the internal //-> _[2]=[y2,z2] //representation, component-wise //-> _[3]=[x,x] intersect and quotient require standard basis computations. intersect(M,N); //-> _[1]=[x,x] //-> _[2]=[xy2,xz2]
//intersection, see Section 2.8.3
quotient(M,N); //-> _[1]=x
//M:N, see Section 2.8.4
quotient(N,M); //-> _[1]=y+z qring Q=std(x5); module M=fetch(A,M); module Null; M; //-> M[1]=[xy,xz] //-> M[2]=[x,x]
//quotient ring Q[x,y,z]/<x5> //map M from A to Q //creates zero-module
2.1 Modules, Submodules and Homomorphisms
Null; //-> Null[1]=0
//the zero-module
quotient(Null,M); //-> _[1]=x4
//the annihilator of M
121
Proposition 2.1.21. Let M be an A-module and N1 , N2 ⊂ M submodules, then (N1 + N2 )/N1 ∼ = N2 /N1 ∩ N2 . Proof. The inclusion N2 ⊂ N1 + N2 induces an A-module homomorphism π : N2 → (N1 + N2 )/N1 . Obviously π is surjective and Ker(π) = N1 ∩ N2 . Now we can use Proposition 2.1.16. Lemma 2.1.22. Let M be an A–module. M is finitely generated if and only if M ∼ = An /L for a suitable n ∈ N and a suitable submodule L ⊂ An . Equivalently, there exists a surjective homomorphism ϕ : An M . the A–module homomorProof. Assume that M = x1 , . . . , xn and consider n phism ϕ : An → M defined by ϕ(a1 , . . . , an ) = i=1 ai xi . ϕ is surjective because x1 , . . . , xn generate M . Let L := Ker(ϕ) then Proposition 2.1.16 implies that M ∼ = An /L. Now assume M ∼ = An /L for some submodule L ⊂ An . Let {e1 , . . . , en } be a basis of An , then the preimages of x1 := e1 + L, . . . , xn := en + L generate M. ∼ An /L for some submodule Let M be a finitely generated A–module and M = n L ⊂ A . If L is also finitely generated, then L ∼ = Am /N for a suitable subm module N ⊂ A and we have homomorphisms Am Am /N ∼ = L ⊂ An n A /L ∼ = M . Therefore, M is isomorphic to the cokernel of a homomorphism ϕ : Am → An , the composition An → Am /N ∼ = L ⊂ An . Fixing bases in Am n and A , ϕ is given by an n × m–matrix, which we also denote by ϕ. Definition 2.1.23. Let M be an A–module. M is called of finite presentation if there exists an n × m–matrix ϕ such that M is isomorphic to the ϕ → An . ϕ is called a presentation matrix of M . We cokernel of the map Am − ϕ write Am − → An → M → 0 to denote a presentation of M . Constructive module theory is concerned with modules of finite presentation, that is, with modules which can be given as the cokernel of some matrix. All operations with modules are then represented by operations with the corresponding presentation matrices. We shall see below (Proposition 2.1.29) that every finitely generated module over a Noetherian ring is finitely presented. As polynomial rings and localizations thereof are Noetherian (Lemma 1.4.8), every finitely generated module over these rings is of finite presentation. We shall see how we can actually compute with finitely generated modules over the rings K[x1 , . . . , xn ]> (for any monomial ordering >, cf. Chapter 1),
122
2. Modules
or, more generally, over quotient rings A of those. To start with, we must know how to represent a module within Singular. Since any finitely generated module over K[x]> has a presentation matrix with polynomial entries, and, as we know how to define polynomial matrices, we can define arbitrary finitely generated A–modules in Singular by giving a polynomial presentation matrix. In fact, for arbitrary modules, there is no other way, we have to know a presentation matrix. However, submodules of An (which is a special class, since they are, for example, torsion free, see Exercise 2.1.8) can be given just by a set of generators, that is, by m vectors of An . Given the generators, we can compute the presentation matrix by using the syz command, which is based on Gr¨obner bases (Section 2.5). Giving m vectors in An is, up to numbering, the same as giving an n × m–matrix over A. Since we can only give ordered lists of generators, this is indeed the same. Thus, defining a matrix or a module in Singular can be interpreted in two ways: either as the presentation matrix of the factor module of An or as the submodule of An generated by the columns of the matrix. SINGULAR Example 2.1.24 (submodules, presentation of a module). Singular distinguishes between modules and matrices. For matrices see Example 2.1.6. A module is always given by generators, either with brackets, or as a linear combination of the canonical generators gen(1),. . . ,gen(n) of An , where only the non–zero coefficients have to be given. The last (sparse) representation is internally used. Matrices, however, are represented internally non–sparse, therefore, it is recommended to use modules instead of matrices for large input. Singular assumes a module to be a submodule of An if, for some generator, gen(n) has a non–zero coefficient, and if, for each generator, the coefficients of gen(i) are zero for i > n. ring A = 0,(x,y,z),dp; module N = [xy,0,yz],[0,xz,z2]; //submodule of A^3, N; //2 generators //-> N[1]=xy*gen(1)+yz*gen(3) //output in sparse format //-> N[2]=xz*gen(2)+z2*gen(3) LIB "inout.lib"; //library for formatting output show(N); //shows the generators as vectors //-> // module, 2 generator(s) //-> [xy,0,yz] //-> [0,xz,z2] print(N); //-> xy,0,
//the corresponding matrix
2.1 Modules, Submodules and Homomorphisms
123
//-> 0,xz, //-> yz,z2 Modules may be added and multiplied with a polynomial or an ideal. Not that addition of modules means, as for ideals, the sum of modules, which is quite different from the sum of matrices. show(N+x*N); //-> [xy,0,yz] //-> [0,xz,z2] //-> [x2y,0,xyz] //-> [0,x2z,xz2] There are type conversions from matrix to module, and from module to matrix: module(matrix) creates a module with generators the columns of the matrix, matrix(module) creates a matrix with columns the generators of the module. module(matrix(module)) restores the original module and matrix(module(matrix)) restores the original matrix. module M = [xy,yz],[xz,z2]; //submodule of A^2 matrix MM = M; //automatic type conversion, MM; // same as matrix MM=matrix(M); //-> MM[1,1]=xy //-> MM[1,2]=xz //-> MM[2,1]=yz //-> MM[2,2]=z2 The operations on modules are operations as submodules. However, as explained above, M (or, better, matrix(M)) can be considered as the presentation matrix ! xy xz " yz z 2
A2 −−−−−−→ A2 of the module A2 /M . On the other hand, if M is considered as a submodule of A2 , then we can compute a presentation as module K = syz(M); show(K); //-> K[1]=[-z,y] !
−z y
//computes the kernel of M
"
This means that A −−−−→ A2 → M → 0 is a presentation of M . Lemma 2.1.25. Let M, N be two A–modules with presentations ϕ
π
ψ
κ
Am − → An − → M → 0 and Ar − → As − → N → 0.
124
2. Modules
(1) Let λ : M → N be an A–module homomorphism, then there exist A– module homomorphisms α : Am → Ar and β : An → As such that the following diagram commutes: Am
ϕ
α
Ar
/ An
π
/M
κ
/N
β
ψ
/ As
/0
(2.1)
λ
/0
that is, β ◦ ϕ = ψ ◦ α and λ ◦ π = κ ◦ β. (2) Let β : An → As be an A–module homomorphism such that β Im(ϕ) ⊂ Im(ψ). Then there exist A–module homomorphisms α : Am → Ar and λ : M → N such that the corresponding diagram (as in (2.1)) commutes. s such that Proof. (1) Let {e1 , . . . , en } be a basis of An and choose n xi ∈ A n κ(xi ) = λ ◦ π(ei ), i = 1, . . . , n. We define β ( i=1 ai ei ) = i=1 ai xi . Obviously, β is an A–module homomorphism and λ ◦ π = κ ◦ β. Let {f1 , . . . , fm } be a basis of Am . Then κ ◦ β ◦ ϕ(fi ) = λ ◦ π ◦ ϕ(fi ) = 0. Therefore, there exist yi ∈ Ar such that ψ(yi ) = β ◦ ϕ(fi ). We define n n α ( i=1 bi fi ) = i=1 bi yi . Again α is an A–module homomorphism and ψ ◦ α = β ◦ ϕ. (2) Define λ(m) = κ ◦ β(f ), for some f ∈ An with π(f ) = m. This definition does not depend on the choice of f , because Ker(π) = Im(ϕ) and β Im(ϕ) ⊂ Im(ψ) = Ker(κ). Obviously, λ is an A–module homomorphism satisfying λ ◦ π = κ ◦ β. We can define α as in (1).
SINGULAR Example 2.1.26 (computation of Hom). With the notations of Lemma 2.1.25 we obtain the following commutative diagram: Hom(M, N )
/ Hom(An , N ) O Hom(An , As ) O j
Hom(An , Ar )
ϕ∗ N
/ Hom(Am , N ) O
ϕ∗
/ Hom(Am , As ) O i
/ Hom(Am , Ar ) ,
the maps being defined as in Lemma 2.1.5. In particular, ϕ∗N (σ) = σ ◦ ϕ, ϕ∗ (σ) = σ ◦ ϕ, i(σ) = ψ ◦ σ, and j(σ) = ψ ◦ σ. Lemma 2.1.25 and Proposition 2.4.3 below imply that ) Hom(M, N ) = Ker(ϕ∗N ) ∼ = ϕ∗−1 Im(i) Im(j) .
2.1 Modules, Submodules and Homomorphisms
125
Using the Singular built–in command modulo, which is explained below, we have (identifying, as before, Hom(An , As ) = Asn and Hom(Am , As ) = Ams ) ϕ∗ D := ϕ∗−1 Im(i) = Ker Ans −−→ Ams / Im(i) = modulo (ϕ∗ , i) , which is given by a ns × k–matrix with entries in A, and we can compute Hom(M, N ) as ) ) D ϕ∗−1 Im(i) / Im(j) = Ak Ker Ak −→ Ans / Im(j) = Ak modulo (D, j) . Finally, we obtain the following procedure with F = ϕ∗ , B = i, C = j. proc Hom(matrix M, matrix N) { matrix F = kontraHom(M,nrows(N)); matrix B = kohom(N,ncols(M)); matrix C = kohom(N,nrows(M)); matrix D = modulo(F,B); matrix E = modulo(D,C); return(E); } Here is an example. ring A=0,(x,y,z),dp; matrix M[3][3]=1,2,3, 4,5,6, 7,8,9; matrix N[2][2]=x,y, z,0; print(Hom(M,N)); //-> 0,0,0,0,y,x, //-> 0,0,0,0,0,z, //-> 1,0,0,0,0,0, //-> 0,1,0,0,0,0, //-> 0,0,1,0,0,0, //-> 0,0,0,1,0,0
//a 6x6 matrix
We explain the modulo command: let the matrices M ∈ Mat(m × n, A), respectively N ∈ Mat(m × s, A), represent linear maps An
M
/ Am O N
As .
126
2. Modules
M Then modulo(M, N ) = Ker An −→ Am / Im(N ) , where M is the map induced by M ; more precisely, modulo(M, N ) returns a set of vectors in An which generate Ker(M ) 2 . Hence, matrix(modulo(M,N)) is a presentation matrix for the quotient (Im(M ) + Im(N ))/ Im(N ). The computation is explained in Singular Example 2.8.9. Definition 2.1.27. Let M be an A–module. Then M is called Noetherian if every submodule N ⊂ M is finitely generated. Note that, in particular, a ring A is a Noetherian A–module if and only if it is a Noetherian ring (cf. Definition 1.3.4). Lemma 2.1.28. (1) Submodules and quotient modules of Noetherian modules are Noetherian. (2) Let N ⊂ M be A–modules, then M is Noetherian if and only if N and M/N are Noetherian. (3) Let M be an A–module, then the following properties are equivalent: a) M is Noetherian. b) Every ascending chain of submodules M1 ⊂ M2 ⊂ . . . ⊂ Mk ⊂ . . . becomes stationary. c) Every non–empty set of submodules of M has a maximal element (with regard to inclusion). The proof is left as Exercise 2.1.9 (compare Proposition 1.3.6). The following proposition relates Noetherian and finitely generated modules. Proposition 2.1.29. Let A be a Noetherian ring and M be a finitely generated A–module, then M is a Noetherian A–module. Proof. Using Lemma 2.1.22 and Lemma 2.1.28 we may assume that M = An and prove the statement using induction on n. For n = 1 the statement follows by assumption. Let n ≥ 2 and consider the projection π : An → An−1 , (a1 , . . . , an ) → (a1 , . . . , an−1 ). Clearly, Ker(π) = {(0, . . . , 0, a) | a ∈ A} ∼ = A, and An−1 = An / Ker(π). Hence, the result follows from Lemma 2.1.28 (2) and the induction hypothesis. Lemma 2.1.30 (Nakayama). Let A be a ring and I ⊂ A an ideal which is contained in the Jacobson radical of A. Let M be a finitely generated A– module and N ⊂ M a submodule such that M = IM + N . Then M = N . In particular, if M = IM , then M = 0. 2
Using automatic type conversion, we can apply the modulo–command to modules as well as to matrices.
2.1 Modules, Submodules and Homomorphisms
127
Proof. By passing to the quotient module it is enough to prove the lemma in the case N = 0. Assume M = 0 and let m1 , . . . , mn be a minimal system of generators a1 , . . . , an ∈ I such of M . Since mn ∈ M = IM , we can choose a that mn = ni=1 ai mi . This implies (1 − an )mn = n−1 i=1 i mi . By Exercise 1.4.4, (1 − an ) is a unit in A, and, therefore, m1 , . . . , mn−1 generate M , which is a contradiction to the minimality of the chosen system of generators. Corollary 2.1.31. Let (A, m) be a local ring and M a finitely generated A– module. Let m1 , . . . , mn ∈ M such that their classes form a system of generators for the A/m–vector space M/mM . Then m1 , . . . , mn generate M . Proof. Let N := i Ami and consider the canonical map N → M → M/mM . This map is surjective, which implies N + mM = M . Thus, the corollary is a consequence of Lemma 2.1.30. Remark 2.1.32. With the assumptions of Corollary 2.1.31, {m1 , . . . , mn } is a minimal system of generators of M if and only if their classes form a basis of M/mM , and then n is the dimension of the A/m–vector space M/mM . Definition 2.1.33. Let (A, m) be a local ring and M an A–module. A preϕ → An → M → 0 of M is called a minimal presentation if sentation Am − n = dimA/m (M/mM ). Note that n = dimA/m (M/mM ) if and only if ϕ(Am ) ⊂ mAn , that is, the entries of the presentation matrix are in m (Exercise 2.1.17). How can we make a presentation ϕ of a module M minimal if it is not? If an entry ϕij of ϕ is a unit, we can perform elementary row and column operations to produce a matrix ϕ˜ which has, except at position (i, j), only zeros in row i and column j. Elementary row, respectively column, operations mean that we multiply ϕ from the left, respectively right, with an invertible matrix. Hence Coker(ϕ) ∼ ˜ that is, ϕ˜ is a presentation matrix of a = Coker(ϕ), module isomorphic to M . But from ϕ˜ we can delete the ith row and the jth column without changing the cokernel. Doing this, successively, with every entry which is a unit, we obtain a minimal presentation of (a module isomorphic to) M . Note that this is nothing else but a Gauß reduction with a pivot element being a unit. If A is a field, then every element = 0 is a unit and we can carry out a complete Gauß reduction. The Singular command prune produces a minimal presentation matrix. SINGULAR Example 2.1.34 (minimal presentations, prune). ring A=0,(x,y,z),ds; //local ring with max. ideal <x,y,z> module M=[0,xy-1,xy+1],[y,xz,xz]; print(M); //-> 0, y,
128
2. Modules
//-> -1+xy,xz, //-> 1+xy, xz
//we have units in the first column
print(prune(M)); //-> -y+xy2, //-> -2xz Let A = Q[x, y, z]x,y,z and N = A3 /M , where M denotes the submodule of A3 generated by the vectors (0, xy − 1, xy + 1), (y, xz, xz). Then
0 y xy−1 xz xy+1 xz
A2 −−−−−−−−→ A3 −→ N −→ 0 is a presentation. We computed, using the command prune, a minimal presentation of N : " ! y−xy 2 2xz
A −−−−−−→ A2 −→ N −→ 0 . ring B=0,(x,y,z),dp; //non-local ring module M=[0,xy-1,xy+1],[y,xz,xz]; //no units as entries print(prune(M)); //-> 0, y, //-> xy-1,xz, //-> xy+1,xz M=[0,1,xy+1],[y,xz,xz]; print(M); //-> 0, y, //-> 1, xz, //-> xy+1,xz print(prune(M)); //-> y, //-> -x2yz Corollary 2.1.35 (Krull’s intersection theorem). Let A be a Noetherian ring, I ⊂ A an ideal contained in the Jacobson radical and M a finitely generated A–module. Then k∈N I k M = 0. Proof. Let N := k I k M . N is a finitely generated A-module, since it is a submodule of the finitely generated module M over the Noetherian ring A. By Nakayama’s Lemma it is sufficient to show that IN = N . Let M := {L ⊂ M submodule | L ∩ N = IN } . Since A is Noetherian, the set M has a maximal element which we call L. It remains to prove that I k M ⊂ L for some k, because this implies
2.1 Modules, Submodules and Homomorphisms
129
N = I k M ∩ N ⊂ L ∩ N = IN. Since I is finitely generated, it suffices to prove that for any x ∈ I there is some positive integer a such that xa M ⊂ L. Let x ∈ I and consider the chain of ideals L :M x ⊂ L :M x2 ⊂ · · · . This chain stabilizes because A is Noetherian. Choose a with L :M xa = L :M xa+1 . We claim that xa M ⊂ L. By the maximality of L it is enough to prove that (L + xa M ) ∩ N ⊂ IN (note that, obviously, IN ⊂ (L + xa M ) ∩ N ). Let m ∈ (L + xa M ) ∩ N , m = n + xa s, with n ∈ L, s ∈ M . Now xm − xn = xa+1 s ∈ IN + L = L, which implies s ∈ L :M xa+1 = L :M xa . Therefore, xa s ∈ L and, consequently, m ∈ L. This implies m ∈ L ∩ N = IN . Definition 2.1.36. Let A be a ring, S ⊂ A be a multiplicatively closed subset and M be an A–module. (1) We define the localization of M with respect to S, S −1 M , as follows: m S −1 M := m ∈ M, s ∈ S s where m/s denotes the equivalence class of (m, s) ∈ M × S with respect to the following equivalence relation: (m, s) ∼ (m , s ) :⇐⇒ ∃ s ∈ S, such that s (s m − sm ) = 0 . Moreover, on S −1 M we define an addition and multiplication with ring elements by the same formulæ as for the quotient field (see before Definition 1.4.4). We shall also use the notation MS instead of S −1 M . If S = {1, f, f 2 , . . .} then we write Mf instead of S −1 M . If S = A P , P a prime ideal, we write MP instead of S −1 M . (2) Let ϕ : M → N be an A–module homomorphism, then we define the induced S −1 A–module homomorphism, ϕS : MS −→ NS ,
ϕ(m) m −→ . s s
Note that the latter is, indeed, a well–defined S −1 A–module homomorphism (Exercise 2.1.19). Proposition 2.1.37. Let A be a ring, S ⊂ A be a multiplicatively closed subset, M, N be A–modules and ϕ : M → N be an A–module homomorphism. Then (1) Ker(ϕS ) = Ker(ϕ)S . (2) Im(ϕS ) = Im(ϕ)S . (3) Coker(ϕS ) = Coker(ϕ)S . In particular, localization with respect to S is an exact functor . That is, if 0 → M → M → M → 0 is an exact sequence of A–modules, then 0 → MS → MS → MS → 0 is an exact sequence of AS –modules (cf. Definition 2.4.1).
130
2. Modules
Proof. (1) follows, since ϕS (m/s) = 0 if and only if there exists some s ∈ S such that s ϕ(m) = 0, that is, s m ∈ Ker(ϕ). (2) is clear by definition of ϕS . Finally, using Exercise 2.1.20, we have Coker(ϕS ) = NS / Im(ϕS ) = NS / Im(ϕ)S = N/ Im(ϕ) S , which implies (3). Proposition 2.1.38. Let A be a ring, M be an A–module. The following conditions are equivalent: (1) M = 0. (2) MP = 0 for all prime ideals P . (3) Mm = 0 for all maximal ideals in m. Proof. The only non–trivial part is to prove (3) ⇒ (1). Let m ∈ M and assume Ann(m) ⊂ m for some maximal ideal m. Then m/1 = 0 in Mm contradicting the assumption Mm = 0. This implies that the annihilator of every element m ∈ M is A, that is, M = 0, since 1 ∈ A. Corollary 2.1.39. Let A be ring, M, N A–modules, and ϕ : M → N an A– module homomorphism. Then ϕ is injective (respectively surjective) if and only if ϕm is injective (respectively surjective) for all maximal ideals m.3 Proof. The corollary is an immediate consequence of Proposition 2.1.37 and Proposition 2.1.38. Definition 2.1.40. Let A be a ring and M an A–module. The support of M , supp(M ), is defined by supp(M ) := {P ⊂ A prime ideal | MP = 0} . Lemma 2.1.41. Let A be a ring and M a finitely generated A–module. Then supp(M ) = {P ⊂ A prime ideal | P ⊃ Ann(M )} =: V Ann(M ) . Proof. Assume that Ann(M ) ⊂ P , then there exists some s ∈ Ann(M ) satisfying s ∈ P . Let m ∈ M , then sm = 0. This implies m/1 = sm/s = 0 in MP and, therefore, MP = 0. On the other hand, if MP = 0, then AP = Ann(MP ) = Ann(M ) P (Exercise 2.1.24) implies that Ann(M ) ⊂ P . For flatness properties of S −1 M see Exercise 7.3.1. 3
This means that injectivity (respectively surjectivity) is a local property.
2.1 Modules, Submodules and Homomorphisms
131
Exercises 2.1.1. Prove Lemma 2.1.4. 2.1.2. Let ϕ : M → N be a bijective module homomorphism. Show that ϕ−1 is a homomorphism. 2.1.3. Let A be a ring and M an A–module. Prove that HomA (A, M ) ∼ =M and give an example which shows that, in general, HomA (M, A) ∼ M. = 2.1.4. Prove that isomorphisms between A–modules define an equivalence relation on the set of all A–modules. 2.1.5. Complete the proof of Lemma 2.1.5. 2.1.6. Prove Lemma 2.1.12. 2.1.7. Prove Lemma 2.1.15. 2.1.8. Prove Lemma 2.1.19. 2.1.9. Prove Lemma 2.1.28. 2.1.10. Let A be a ring, M an A–module and I ⊂ A an ideal. Prove that M/IM has a canonical A/I–module structure. 2.1.11. Let A be a ring and ϕ : An → As an isomorphism of free A–modules. Prove that n = s. 2.1.12. Let A be a ring and M an A–module. Prove that M is, in a natural way, an A/ Ann(M )–module. 2.1.13. Let A be a ring and M an A–module. Prove that Tors(M ) is a submodule of M . 2.1.14. Let A be a ring, and let M = ni=1 Mi , N be A–modules. Prove that n n HomA (M, N ) ∼ = i=1 HomA (Mi , N ), HomA (N, M ) ∼ = i=1 HomA (N, Mi ). In particular, Hom(An , Am ) ∼ = Am·n . 2.1.15. Let K be a field and M a K[x]–module which is finite dimensional as K–vector space. Prove that M is a torsion module. 2.1.16. Let A be an integral domain and I ⊂ A be an ideal. Prove that I is a free A–module if and only if I can be generated by one element. 2.1.17. Let (A, m) be a local ring and M an A–module with presentation ϕ Am − → An → M → 0. Prove that this presentation is minimal if and only if m ϕ(A ) ⊂ mAn . 2.1.18. Let (A, m) be a local ring and Am ∼ = As ⊕ N for a suitable A–module m−s ∼ . N . Prove that N = A 2.1.19. Prove (with the notations of Definition 2.1.36) that S −1 M is an S −1 A–module. Prove that ϕS is well–defined and an S −1 A–module homomorphism.
132
2. Modules
2.1.20. Let A be a ring, S ⊂ A be a multiplicatively closed subset and M, N be A–modules with N ⊂ M . Prove that (M/N )S ∼ = MS /NS . 2.1.21. Prove that a module homomorphism is injective if and only if its kernel is zero. 2.1.22. Let A be a ring and P1 , . . . , Pm prime ideals. Let 0 = M be a finitely generated A–module such that MPj = 0 for all j. Prove that there exists x ∈ M such that x ∈ Pj MPj for all j. 2.1.23. Let A be a ring, M an A–module and N, L submodules of M . Prove that N = L if and only if NP = LP for all prime ideals P . 2.1.24. Let A be a ring, S ⊂ A be a multiplicatively closed subset and M a finitely generated A–module. Prove that Ann(S −1 M ) = S −1 Ann(M ). 2.1.25. Compute the kernel and image of the following homomorphism: xy xz yz M A3 −→ A2 with A = Q[x, y, z] and M = x−1 y−1 z−1 . 2.1.26. presentation of the A–module M with M = *! Compute " ! a0 minimal "+ 1 3 yz−1 xy−1 , A / and A = Q[x, y, z]x,y,z . xz
xy
2.1.27. Compute the support of the module of Exercise 2.1.26.
2.2 Graded Rings and Modules Definition 2.2.1. Agraded ring A is a ring together with a direct sum decomposition A = ν≥0 Aν , where the Aν are abelian groups satisfying Aν Aμ ⊂ Aν+μ for all ν, μ ≥ 0. A graded K–algebra, K a field, is a K–algebra which is a graded ring such that Aν is a K–vector space for all ν ≥ 0, and A0 = K. The Aν are called homogeneous components and the elements of Aν are called homogeneous elements of degree ν. Remark 2.2.2. Let A = ν≥0 Aν be a graded ring, then A0 is a subring of A. This follows since 1 · 1 = 1, hence 1 ∈ A0 . For a K–algebra A, this implies already K ⊂ A0 , but to be a graded K–algebra we require even K = A0 . Example 2.2.3. (1) Let K be a field and A = K[x1 , . . . , xn ]. Moreover, let w = (w1 , . . . , wn ) space genbe a vector of positive integers, and let Ad be the K–vector erated by all monomials xα with w–deg(xα ) = d. Then A = ν≥0 Aν is a graded K–algebra. Namely, A0 = K, and for each i we have xi ∈ Awi . The elements of Ad are called quasihomogeneous or weighted homogeneous polynomials of (weighted ) degree d with respect to the weights w1 , . . . , wn . If w1 = · · · = wn = 1 we obtain the usual notion of homogeneous polynomials.
2.2 Graded Rings and Modules
133
(2) Let A be any ring, then A0 := A and Aν := 0 for ν > 0 defines a (trivial) structure of a graded ring for A. (3) Let A be a Noetherian K–algebra, I ⊂ A be an ideal, then GrI (A) := I ν /I ν+1 ν≥0
is a graded K–algebra in a natural way. If(A, m) is a local ring, then all homogeneous components of Grm (A) = ν≥0 mν /mν+1 are finite dimensional vector spaces over A/m. Definition 2.2.4. Let A = ν≥0 Aν be a graded ring. An A–module M , together with a direct sum decomposition M = μ∈Z Mμ into abelian groups is called a graded A–module if Aν Mμ ⊂ Mν+μ for all ν ≥ 0, μ ∈ Z. The elements from Mν are called homogeneous of degree ν. If m = ν mν , mν ∈ Mν then mν is called the homogeneous part of degree ν of m. Example 2.2.5. Let A = ν≥0 Aν be a graded K–algebra and consider the m free module Am = i=1 Aei , ei = (0, . . . , 1, . . . , 0) with 1 at the i–th place. let Mν be the A0 –module generLet ν1 , . . . , νm ∈ Z, define deg(ei ) := νi , and ated by all f ei with f ∈ Aν−νi , then Am = ν∈Z Mν is a graded A–module. Definition 2.2.6. Let M = ν∈Z Mν be a graded A–module and define M (d) := ν∈Z M (d)ν with M (d)ν := Mν+d . Then M (d) is a graded A– module, especially A(d) is a graded A–module. M (d) is called the d–th twist or the d–th shift of M . Lemma 2.2.7. Let M = ν∈Z Mν be a graded A–module and N ⊂ M a submodule. The following conditions are equivalent: (1) N is graded with the induced grading, that is, N = ν∈Z (Mν ∩ N ). (2) N is generated by homogeneous elements. (3) Let m = mν , mν ∈ Mν . Then m ∈ N if and only if mν ∈ N for all ν. The proof is easy and left as Exercise 2.2.1. Definition 2.2.8. A submodule N ⊂ M , satisfying the equivalent conditions of Lemma 2.2.7, is called a graded (or homogeneous) submodule. A graded submodule of a graded ring is called a graded ideal or homogeneous ideal . Remark 2.2.9. Let A = ν≥0 Aν be a graded ring, and let I ⊂ A be a homogeneous ideal. A/I has an induced structure as graded Then the quotient ring: A/I = ν≥0 (Aν + I)/I ∼ = ν≥0 Aν /(I ∩ Aν ). Definition 2.2.10. Let A = ν≥0 Aν be a graded ring and M = ν∈Z Mν , N = ν∈Z Nν be graded A–modules. A homomorphism ϕ : M → N is called homogeneous (or graded ) of degree d if ϕ(Mν ) ⊂ Nν+d for all ν. If ϕ is homogeneous of degree zero we call ϕ just homogeneous.
134
2. Modules
Example 2.2.11. Let M be a graded A–module and f ∈ Ad then the multiplication with f defines a graded homomorphism M → M of degree d. It also defines a graded homomorphism M → M (d) of degree 0. Lemma 2.2.12. Let A be a graded ring and M, N be graded A–modules. Let ϕ : M → N be a homogeneous A–module homomorphism, then Ker(ϕ), Coker(ϕ) and Im(ϕ) are graded A–modules with the induced grading. Proof. Let M = i∈Z Mi and N = i∈Z Ni , and define Ki := Ker(ϕ) ∩ Mi . k Then, clearly, i∈Z Ki ⊂ Ker(ϕ). Moreover, let m = i=1 mi , mi ∈ Mi and assume that ϕ(m) = 0. Then ϕ(m) = i ϕ(mi ) = 0, with ϕ(m i ) ∈ Ni . This implies ϕ(mi ) = 0, that is, mi ∈ Ki and, therefore, Ker(ϕ) = i∈Z Ki . The other statements can be proved similarly. Example 2.2.13. Let A be a graded ring, M = ν∈Z Mν a graded A–module and N ⊂ M a homogeneous submodule. Let Nν := N ∩ Mν , then the quotient M/N has an induced structure as graded A–module: (Mν + N )/N ∼ Mν /Nν . M/N = = ν∈Z
ν∈Z
Lemma 2.2.14. Let A = ν≥0 Aν be a Noetherian graded K–algebra and M = ν∈Z Mν be a finitely generated A–module. Then (1) there exist m ∈ Z such that Mν = 0 for ν < m; (2) dimK Mν < ∞ for all ν. Proof. (1) is obvious because M is finitely generated and a graded A–module. To prove (2) it is enough to prove that Mν is a finitely generated A0 –module for all ν. By assumption M is finitely generated and we may choose finitely many homogeneous elements m1 , . . . , mk to generate M . Assume that mi ∈ Mei for i = 1, . . . , k, then i An−ei · mi = Mn (with the convention Aν = 0 for ν < 0). This implies that Mn is a finitely generated A0 –module because the Aν are finitely generated A0 –modules. SINGULAR Example 2.2.15 (graded rings and modules). We give examples here on how to work with graded rings and modules. First we consider the ideal y 3 − z 2 , x3 − z in A = Q[x, y, z]. This ideal is homogeneous if we consider Q[x, y, z] as a graded ring with weights w1 = 1, w2 = 2, w3 = 3. Note that it is not homogeneous in Q[x, y, z] with the usual graduation. ring A=0,(x,y,z),dp; ideal I=y3-z2,x3-z; qhweight(I); //-> 1,2,3
2.2 Graded Rings and Modules
135
The Singular command homog(I) checks whether I is homogeneous with respect to the weights given to the variables of the basering (if no weights are assigned explicitly, all weights are assumed to be 1). homog(I); //-> 0 ring B=0,(x,y,z),wp(1,2,3); ideal I=fetch(A,I); homog(I); //-> 1 Next we consider B = Q[x, y, z]*! as a graded " ring +with weights w1 = 1, w2 = 2, 3 y 3 −z 2 , x1 . Then M is a homogeneous w3 = 3, and a B–module M = x3 −z 2 2 submodule of B if we consider B as graded B–module with deg (1, 0) =0 and deg (0, 1) = 3. This can be seen as follows: module M=[y3-z2,x3-z],[x3,1]; homog(M); //-> 1 M is homogeneous. Singular defines internally a corresponding attribute. attrib(M,"isHomog"); //-> 0,3
//asks for attributed weights
The degree of (1,0) is 0 and the degree of (0,1) is 3. The grading for M being homogeneous is not uniquely determined. We can also use deg (1, 0) = 4 and degree (0, 1) = 7. intvec v=4,7; attrib(M,"isHomog",v); attrib(M,"isHomog"); //-> 4,7
//sets externally an attribute, //without changing the module
Exercises 2.2.1. Prove Lemma 2.2.7. 2.2.2. Prove the remaining statements of Lemma 2.2.12. 2.2.3. Let A be a graded ring and M a graded A–module. Show that the annihilator AnnA (M ) is a homogeneous ideal. ideals in a graded ring. Show that I1 + I2 , 2.2.4. Let I1 , I2 be homogeneous √ I1 · I2 , I1 ∩ I2 , I1 : I2 and I1 are homogeneous.
136
2. Modules
2.2.5. Let A be a graded ring. A homogeneous ideal I ⊂ A is prime if and only if for any two homogeneous elements f, g ∈ A, f · g ∈ I implies