andreas steenpass workshop on computational commutative...
TRANSCRIPT
![Page 1: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/1.jpg)
Singular Tutorial
Andreas Steenpass
TU Kaiserslautern
Workshop on Computational Commutative AlgebraIPM, Tehran, IranJuly 2-7, 2011
![Page 2: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/2.jpg)
Table of Contents
1 Getting started with Singular by examples
Andreas Steenpass Singular Tutorial
![Page 3: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/3.jpg)
Table of Contents
1 Getting started with Singular by examples
2 Basic concepts of the mathematical background
Andreas Steenpass Singular Tutorial
![Page 4: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/4.jpg)
Table of Contents
1 Getting started with Singular by examples
2 Basic concepts of the mathematical background
3 Singular as a Software: Ressources and the Singular Community
Andreas Steenpass Singular Tutorial
![Page 5: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/5.jpg)
Table of Contents
1 Getting started with Singular by examples
2 Basic concepts of the mathematical background
3 Singular as a Software: Ressources and the Singular Community
4 Challenges in Computer Algebra
Andreas Steenpass Singular Tutorial
![Page 6: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/6.jpg)
Table of Contents
1 Getting started with Singular by examples
2 Basic concepts of the mathematical background
3 Singular as a Software: Ressources and the Singular Community
4 Challenges in Computer Algebra
5 Singular’s modstd.lib
Andreas Steenpass Singular Tutorial
![Page 7: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/7.jpg)
Table of Contents
1 Getting started with Singular by examples
2 Basic concepts of the mathematical background
3 Singular as a Software: Ressources and the Singular Community
4 Challenges in Computer Algebra
5 Singular’s modstd.lib
6 Schreyer’s Algorithm for Syzygies
Andreas Steenpass Singular Tutorial
![Page 8: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/8.jpg)
Table of Contents
1 Getting started with Singular by examples
2 Basic concepts of the mathematical background
3 Singular as a Software: Ressources and the Singular Community
4 Challenges in Computer Algebra
5 Singular’s modstd.lib
6 Schreyer’s Algorithm for Syzygies
7 Sudoku
Andreas Steenpass Singular Tutorial
![Page 9: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/9.jpg)
Table of Contents
1 Getting started with Singular by examples
2 Basic concepts of the mathematical background
3 Singular as a Software: Ressources and the Singular Community
4 Challenges in Computer Algebra
5 Singular’s modstd.lib
6 Schreyer’s Algorithm for Syzygies
7 Sudoku
8 Primary Decomposition with Singular
Andreas Steenpass Singular Tutorial
![Page 10: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/10.jpg)
Table of Contents
1 Getting started with Singular by examples
2 Basic concepts of the mathematical background
3 Singular as a Software: Ressources and the Singular Community
4 Challenges in Computer Algebra
5 Singular’s modstd.lib
6 Schreyer’s Algorithm for Syzygies
7 Sudoku
8 Primary Decomposition with Singular
Andreas Steenpass Singular Tutorial
![Page 11: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/11.jpg)
A first Singular session
Let’s assume that you have installed Singular successfully andthat you can start a Singular session:
SINGULAR / Development
A Computer Algebra System for Polynomial Computations / version 3-1-3
0<
by: W. Decker, G.-M. Greuel, G. Pfister, H. Schoenemann \ March 2011
FB Mathematik der Universitaet, D-67653 Kaiserslautern \
// ** executing /home/steenpas/Singular/trunk/Singular/LIB/.singularrc
>
Andreas Steenpass Singular Tutorial
![Page 12: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/12.jpg)
Rings and Ideals
Almost all Singular functions are ring-dependend, so first of all,Singular needs to know which ring you want to compute in.For Q[x , y , z ] with the lexicographic ordering, simply type
> ring R = 0, (x,y,z), lp;
Andreas Steenpass Singular Tutorial
![Page 13: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/13.jpg)
Rings and Ideals
Almost all Singular functions are ring-dependend, so first of all,Singular needs to know which ring you want to compute in.For Q[x , y , z ] with the lexicographic ordering, simply type
> ring R = 0, (x,y,z), lp;
An ideal in Singular is given by its generators, so for〈x + y + z − 1, x2 + y2 + z2− 1, x3 + y3 + z3− 1〉 ⊂ Q[x , y , z ]we type
> ideal I = x+y+z-1, x2+y2+z2-1, x3+y3+z3-1;
Andreas Steenpass Singular Tutorial
![Page 14: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/14.jpg)
The groebner command
Now compute a Groebner basis of this ideal:
> groebner(I);
_[1]=z3-z2
_[2]=y2+yz-y+z2-z
_[3]=x+y+z-1
Andreas Steenpass Singular Tutorial
![Page 15: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/15.jpg)
The groebner command
Now compute a Groebner basis of this ideal:
> groebner(I);
_[1]=z3-z2
_[2]=y2+yz-y+z2-z
_[3]=x+y+z-1
In the first equation of the new system, the variables x and y areeliminated. In the second equation, x is eliminated. As aconsequence, the solutions can, now, be directly read off:
(1, 0, 0), (0, 1, 0), (0, 0, 1).
Andreas Steenpass Singular Tutorial
![Page 16: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/16.jpg)
The groebner command
Now compute a Groebner basis of this ideal:
> groebner(I);
_[1]=z3-z2
_[2]=y2+yz-y+z2-z
_[3]=x+y+z-1
In the first equation of the new system, the variables x and y areeliminated. In the second equation, x is eliminated. As aconsequence, the solutions can, now, be directly read off:
(1, 0, 0), (0, 1, 0), (0, 0, 1).
Note: Groebner bases computations can produce unexpectedlylarge output!
Andreas Steenpass Singular Tutorial
![Page 17: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/17.jpg)
intersect
Many other computations in modern computer algebra rely onGroebner bases and their several generalisations. An example isintersect:
> ring R = 0, (x,y,z), dp;
> ideal I1 = x, y;
> ideal I2 = y2, z;
> intersect(I1, I2);
_[1]=yz
_[2]=xz
_[3]=y2
Andreas Steenpass Singular Tutorial
![Page 18: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/18.jpg)
factorize
Other algorithms such as factorization do not depend on Groebnerbases. We use Singular to factorize a polynomial in Q[x , y , z ].The second entry of the output indicates the multiplicities of thefactors:
> ring R = 0, (x,y,z), dp;
> poly f = x5y4-x4y5+2x3y6-2x2y7+xy8-y9+x8z-2x6y2z-7x4y4z-4x2y6z
. +2x3y4z2-2x2y5z2+2xy6z2-2y7z2+2x6z3-6x4y2z3-8x2y4z3+xy4z4-y5z4
. +x4z5-4x2y2z5;
> factorize(f);
[1]:
_[1]=1
_[2]=xy4-y5+x4z-4x2y2z
_[3]=x2+y2+z2
[2]:
1,1,2
Andreas Steenpass Singular Tutorial
![Page 19: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/19.jpg)
factorize
Other algorithms such as factorization do not depend on Groebnerbases. We use Singular to factorize a polynomial in Q[x , y , z ].The second entry of the output indicates the multiplicities of thefactors:
> ring R = 0, (x,y,z), dp;
> poly f = x5y4-x4y5+2x3y6-2x2y7+xy8-y9+x8z-2x6y2z-7x4y4z-4x2y6z
. +2x3y4z2-2x2y5z2+2xy6z2-2y7z2+2x6z3-6x4y2z3-8x2y4z3+xy4z4-y5z4
. +x4z5-4x2y2z5;
> factorize(f);
[1]:
_[1]=1
_[2]=xy4-y5+x4z-4x2y2z
_[3]=x2+y2+z2
[2]:
1,1,2
Note: factorize does not even depend on the monomial ordering.
Andreas Steenpass Singular Tutorial
![Page 20: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/20.jpg)
Ideal Membership
Given an ideal I and a polynomial f , Groebner (or more general:standard) bases can be used to decide wether or not it f iscontained in I .
Andreas Steenpass Singular Tutorial
![Page 21: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/21.jpg)
Ideal Membership
Given an ideal I and a polynomial f , Groebner (or more general:standard) bases can be used to decide wether or not it f iscontained in I .In terms of Singular code, the following holds:The polynomial f is contained in I if and only if NF(f, std(I));
evaluates to 0.
Andreas Steenpass Singular Tutorial
![Page 22: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/22.jpg)
Ideal Membership
Given an ideal I and a polynomial f , Groebner (or more general:standard) bases can be used to decide wether or not it f iscontained in I .In terms of Singular code, the following holds:The polynomial f is contained in I if and only if NF(f, std(I));
evaluates to 0.
> ring R = 0, (x, y), dp;
> ideal I = x10+x9y2, y8-x2y7;
> ideal J = std(I);
> poly f = x2y7+y14;
> poly g = xy13+y12;
> NF(f, J);
-xy12+y8 // f is not in I
> NF(g, J);
0 // g is in I
Andreas Steenpass Singular Tutorial
![Page 23: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/23.jpg)
Table of Contents
1 Getting started with Singular by examples
2 Basic concepts of the mathematical background
3 Singular as a Software: Ressources and the Singular Community
4 Challenges in Computer Algebra
5 Singular’s modstd.lib
6 Schreyer’s Algorithm for Syzygies
7 Sudoku
8 Primary Decomposition with Singular
Andreas Steenpass Singular Tutorial
![Page 24: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/24.jpg)
Groebner Bases
What is a Groebner Basis?
Andreas Steenpass Singular Tutorial
![Page 25: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/25.jpg)
Groebner Bases
What is a Groebner Basis?
Use monomial orders on K [x1, . . . , xn] which are well-orders.
Andreas Steenpass Singular Tutorial
![Page 26: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/26.jpg)
Groebner Bases
What is a Groebner Basis?
Use monomial orders on K [x1, . . . , xn] which are well-orders.For instance:
xα >lp xβ ⇐⇒ the first nonzero entry of α− β is positive
(lexicographic order).
Andreas Steenpass Singular Tutorial
![Page 27: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/27.jpg)
Groebner Bases
What is a Groebner Basis?
Use monomial orders on K [x1, . . . , xn] which are well-orders.For instance:
xα >lp xβ ⇐⇒ the first nonzero entry of α− β is positive
(lexicographic order). Or:
xα >dp xβ ⇐⇒ deg xα > deg xβ, or (deg xα = deg xβ and thelast nonzero entry of α− β ∈ Zn is negative).
(degree reverse lexicographic order).
Andreas Steenpass Singular Tutorial
![Page 28: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/28.jpg)
Groebner Bases
Given a monomial order on K [x1, . . . , xn], the terms of everypolynomial f ∈ K [x1, . . . , xn] are sorted accordingly.
Andreas Steenpass Singular Tutorial
![Page 29: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/29.jpg)
Groebner Bases
Given a monomial order on K [x1, . . . , xn], the terms of everypolynomial f ∈ K [x1, . . . , xn] are sorted accordingly. For instance:
f = xz + y2 + yz (lp)
orf = y2 + xz + yz . (dp)
We can, then, speak of the leading term L(f ).
Andreas Steenpass Singular Tutorial
![Page 30: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/30.jpg)
Groebner Bases
Given a monomial order on K [x1, . . . , xn], the terms of everypolynomial f ∈ K [x1, . . . , xn] are sorted accordingly. For instance:
f = xz + y2 + yz (lp)
orf = y2 + xz + yz . (dp)
We can, then, speak of the leading term L(f ).
Given an ideal
I = 〈f1, . . . , fr 〉 =
{
r∑
i=1
gi fi | gi ∈ K [x1, . . . , xn]
}
,
we have the leading ideal
L(I ) :=⟨
L(f )∣
∣ f ∈ I⟩
.
Andreas Steenpass Singular Tutorial
![Page 31: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/31.jpg)
Groebner Bases
A set g1, . . . , gs ∈ I of polynomials is called a Groebner basisfor I if the leading terms L(gi ) generate L(I ).
Andreas Steenpass Singular Tutorial
![Page 32: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/32.jpg)
Groebner Bases
A set g1, . . . , gs ∈ I of polynomials is called a Groebner basisfor I if the leading terms L(gi ) generate L(I ).
The use made of Groebner bases relies on the following two”facts”:
Andreas Steenpass Singular Tutorial
![Page 33: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/33.jpg)
Groebner Bases
A set g1, . . . , gs ∈ I of polynomials is called a Groebner basisfor I if the leading terms L(gi ) generate L(I ).
The use made of Groebner bases relies on the following two”facts”:
L(I ) carries plenty of information on I .
Andreas Steenpass Singular Tutorial
![Page 34: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/34.jpg)
Groebner Bases
A set g1, . . . , gs ∈ I of polynomials is called a Groebner basisfor I if the leading terms L(gi ) generate L(I ).
The use made of Groebner bases relies on the following two”facts”:
L(I ) carries plenty of information on I .
Information on I is typically obtained by purely combinatorialmeans.
Andreas Steenpass Singular Tutorial
![Page 35: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/35.jpg)
Groebner Bases
A set g1, . . . , gs ∈ I of polynomials is called a Groebner basisfor I if the leading terms L(gi ) generate L(I ).
The use made of Groebner bases relies on the following two”facts”:
L(I ) carries plenty of information on I .
Information on I is typically obtained by purely combinatorialmeans.
For instance, due to a classical result of Macaulay, the monomialsnot contained in L(I ) define a K -basis of the quotient ringK [x1, . . . , xn]/I .
Andreas Steenpass Singular Tutorial
![Page 36: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/36.jpg)
Buchberger’s criterion
Definition
Let f , g ∈ K [x1, . . . , xn] be polynomials and let lcm be the leastcommon multiple of their leading monomials LM(f ) and LM(g).We define the s-polynomial of f and g to be
spoly(f , g) :=lcm
LM(f )· f −
LC(f )
LC(g)·
lcm
LM(g)· g .
Andreas Steenpass Singular Tutorial
![Page 37: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/37.jpg)
Buchberger’s criterion
Definition
Let f , g ∈ K [x1, . . . , xn] be polynomials and let lcm be the leastcommon multiple of their leading monomials LM(f ) and LM(g).We define the s-polynomial of f and g to be
spoly(f , g) :=lcm
LM(f )· f −
LC(f )
LC(g)·
lcm
LM(g)· g .
Theorem (Buchberger)
F := (f1, . . . , fm) ⊂ K [x1, . . . , xn] \ {0} is a Groebner basis of theideal I := 〈f1, . . . , fm〉 iff all s-polynomials spoly(fi , fj) reduce to 0w. r. t. F .
Andreas Steenpass Singular Tutorial
![Page 38: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/38.jpg)
Buchberger’s criterion
Definition
Let f , g ∈ K [x1, . . . , xn] be polynomials and let lcm be the leastcommon multiple of their leading monomials LM(f ) and LM(g).We define the s-polynomial of f and g to be
spoly(f , g) :=lcm
LM(f )· f −
LC(f )
LC(g)·
lcm
LM(g)· g .
Theorem (Buchberger)
F := (f1, . . . , fm) ⊂ K [x1, . . . , xn] \ {0} is a Groebner basis of theideal I := 〈f1, . . . , fm〉 iff all s-polynomials spoly(fi , fj) reduce to 0w. r. t. F . (i. e. their remainder is 0 when divided by F .)
Andreas Steenpass Singular Tutorial
![Page 39: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/39.jpg)
Buchberger’s algorithm
Based on Buchberger’s criterion, there is an rather obviousalgorithm to compute Groebner bases:
Andreas Steenpass Singular Tutorial
![Page 40: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/40.jpg)
Buchberger’s algorithm
Based on Buchberger’s criterion, there is an rather obviousalgorithm to compute Groebner bases:
Algorithm
Input: A set F := (f1, . . . , fm) ⊂ K [x1, . . . , xn] \ {0} of polys.
Andreas Steenpass Singular Tutorial
![Page 41: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/41.jpg)
Buchberger’s algorithm
Based on Buchberger’s criterion, there is an rather obviousalgorithm to compute Groebner bases:
Algorithm
Input: A set F := (f1, . . . , fm) ⊂ K [x1, . . . , xn] \ {0} of polys.Output: A Groebner basis G = (f1, . . . , fm, fm+1, . . . , fr ) of theideal I := 〈f1, . . . , fm〉.
Andreas Steenpass Singular Tutorial
![Page 42: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/42.jpg)
Buchberger’s algorithm
Based on Buchberger’s criterion, there is an rather obviousalgorithm to compute Groebner bases:
Algorithm
Input: A set F := (f1, . . . , fm) ⊂ K [x1, . . . , xn] \ {0} of polys.Output: A Groebner basis G = (f1, . . . , fm, fm+1, . . . , fr ) of theideal I := 〈f1, . . . , fm〉.
1 Compute all s-polynomials spoly(fi , fj) for fi , fj ∈ F .
Andreas Steenpass Singular Tutorial
![Page 43: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/43.jpg)
Buchberger’s algorithm
Based on Buchberger’s criterion, there is an rather obviousalgorithm to compute Groebner bases:
Algorithm
Input: A set F := (f1, . . . , fm) ⊂ K [x1, . . . , xn] \ {0} of polys.Output: A Groebner basis G = (f1, . . . , fm, fm+1, . . . , fr ) of theideal I := 〈f1, . . . , fm〉.
1 Compute all s-polynomials spoly(fi , fj) for fi , fj ∈ F .
2 Compute the remainders of these s-polys when divided by F .
Andreas Steenpass Singular Tutorial
![Page 44: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/44.jpg)
Buchberger’s algorithm
Based on Buchberger’s criterion, there is an rather obviousalgorithm to compute Groebner bases:
Algorithm
Input: A set F := (f1, . . . , fm) ⊂ K [x1, . . . , xn] \ {0} of polys.Output: A Groebner basis G = (f1, . . . , fm, fm+1, . . . , fr ) of theideal I := 〈f1, . . . , fm〉.
1 Compute all s-polynomials spoly(fi , fj) for fi , fj ∈ F .
2 Compute the remainders of these s-polys when divided by F .
3 If there are non-zero remainders, setF := F ∪ {non-zero remainders} and continue with step 1.
Andreas Steenpass Singular Tutorial
![Page 45: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/45.jpg)
Buchberger’s algorithm
Based on Buchberger’s criterion, there is an rather obviousalgorithm to compute Groebner bases:
Algorithm
Input: A set F := (f1, . . . , fm) ⊂ K [x1, . . . , xn] \ {0} of polys.Output: A Groebner basis G = (f1, . . . , fm, fm+1, . . . , fr ) of theideal I := 〈f1, . . . , fm〉.
1 Compute all s-polynomials spoly(fi , fj) for fi , fj ∈ F .
2 Compute the remainders of these s-polys when divided by F .
3 If there are non-zero remainders, setF := F ∪ {non-zero remainders} and continue with step 1.
4 If all the s-polynomials reduce to zero, set G := F .
Andreas Steenpass Singular Tutorial
![Page 46: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/46.jpg)
Buchberger’s algorithm
Based on Buchberger’s criterion, there is an rather obviousalgorithm to compute Groebner bases:
Algorithm
Input: A set F := (f1, . . . , fm) ⊂ K [x1, . . . , xn] \ {0} of polys.Output: A Groebner basis G = (f1, . . . , fm, fm+1, . . . , fr ) of theideal I := 〈f1, . . . , fm〉.
1 Compute all s-polynomials spoly(fi , fj) for fi , fj ∈ F .
2 Compute the remainders of these s-polys when divided by F .
3 If there are non-zero remainders, setF := F ∪ {non-zero remainders} and continue with step 1.
4 If all the s-polynomials reduce to zero, set G := F .
This process stops due to K [x1, . . . , xn] being Noetherian.
Andreas Steenpass Singular Tutorial
![Page 47: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/47.jpg)
Normal forms
When dividing a polynomial f by a set of polynomials F as above,the remainder is in general not uniquely determined.
Andreas Steenpass Singular Tutorial
![Page 48: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/48.jpg)
Normal forms
When dividing a polynomial f by a set of polynomials F as above,the remainder is in general not uniquely determined.Groebner bases can help us to overcome this issue:
Proposition
Let I ⊂ K [x1, . . . , xn] be an ideal and letF = (f1, . . . , fm) ⊂ K [x1, . . . , xn] be a Groebner basis of I . Thenfor any polynomial f ∈ K [x1, . . . , xn], division by F yields auniquely determined remainder r ∈ K [x1, . . . , xn] with f − r ∈ I .
Andreas Steenpass Singular Tutorial
![Page 49: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/49.jpg)
Normal Forms
Definition
Let R := K [x1, . . . , xn] and let G be the set of all finite sets G ⊂ R .
Andreas Steenpass Singular Tutorial
![Page 50: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/50.jpg)
Normal Forms
Definition
Let R := K [x1, . . . , xn] and let G be the set of all finite sets G ⊂ R .
NF : R × G → R , (f ,G ) 7→ NF(f |G ) ,
is called a normal form on R if, for all f ∈ R and all G ∈ G,
Andreas Steenpass Singular Tutorial
![Page 51: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/51.jpg)
Normal Forms
Definition
Let R := K [x1, . . . , xn] and let G be the set of all finite sets G ⊂ R .
NF : R × G → R , (f ,G ) 7→ NF(f |G ) ,
is called a normal form on R if, for all f ∈ R and all G ∈ G,
1 NF(0|G ) = 0,
Andreas Steenpass Singular Tutorial
![Page 52: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/52.jpg)
Normal Forms
Definition
Let R := K [x1, . . . , xn] and let G be the set of all finite sets G ⊂ R .
NF : R × G → R , (f ,G ) 7→ NF(f |G ) ,
is called a normal form on R if, for all f ∈ R and all G ∈ G,
1 NF(0|G ) = 0,
2 NF(f |G ) 6= 0 ⇒ LM(NF(f |G )) /∈ L(G ).
Andreas Steenpass Singular Tutorial
![Page 53: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/53.jpg)
Normal Forms
Definition
Let R := K [x1, . . . , xn] and let G be the set of all finite sets G ⊂ R .
NF : R × G → R , (f ,G ) 7→ NF(f |G ) ,
is called a normal form on R if, for all f ∈ R and all G ∈ G,
1 NF(0|G ) = 0,
2 NF(f |G ) 6= 0 ⇒ LM(NF(f |G )) /∈ L(G ).
3 If G = {g1, . . . , gs}, then f − NF(f |G ) has a standardrepresentation with respect to G , that is,
f − NF(f |G ) =
s∑
i=1
aigi , ai ∈ R , s ≥ 0 ,
Andreas Steenpass Singular Tutorial
![Page 54: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/54.jpg)
Normal Forms
Definition
Let R := K [x1, . . . , xn] and let G be the set of all finite sets G ⊂ R .
NF : R × G → R , (f ,G ) 7→ NF(f |G ) ,
is called a normal form on R if, for all f ∈ R and all G ∈ G,
1 NF(0|G ) = 0,
2 NF(f |G ) 6= 0 ⇒ LM(NF(f |G )) /∈ L(G ).
3 If G = {g1, . . . , gs}, then f − NF(f |G ) has a standardrepresentation with respect to G , that is,
f − NF(f |G ) =
s∑
i=1
aigi , ai ∈ R , s ≥ 0 ,
satisfying LM(∑s
i=1 aigi ) ≥ LM(aigi ) for all i with aigi 6= 0.Andreas Steenpass Singular Tutorial
![Page 55: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/55.jpg)
Normal Forms
Thus in the above definition, the remainder r is a normal form of fon R .
Andreas Steenpass Singular Tutorial
![Page 56: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/56.jpg)
Normal Forms
Thus in the above definition, the remainder r is a normal form of fon R .Note, however, that in general there do exist several normal formson R .
Andreas Steenpass Singular Tutorial
![Page 57: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/57.jpg)
Normal Forms
Thus in the above definition, the remainder r is a normal form of fon R .Note, however, that in general there do exist several normal formson R .
Corollary
It follows directly from the definition that for any Groebner basis Git holds
f ∈ 〈G 〉 ⇔ NF(f |G ) = 0.
Andreas Steenpass Singular Tutorial
![Page 58: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/58.jpg)
Normal Forms
Thus in the above definition, the remainder r is a normal form of fon R .Note, however, that in general there do exist several normal formson R .
Corollary
It follows directly from the definition that for any Groebner basis Git holds
f ∈ 〈G 〉 ⇔ NF(f |G ) = 0.
We have thus solved the ideal membership problem.
Andreas Steenpass Singular Tutorial
![Page 59: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/59.jpg)
Table of Contents
1 Getting started with Singular by examples
2 Basic concepts of the mathematical background
3 Singular as a Software: Ressources and the Singular Community
4 Challenges in Computer Algebra
5 Singular’s modstd.lib
6 Schreyer’s Algorithm for Syzygies
7 Sudoku
8 Primary Decomposition with Singular
Andreas Steenpass Singular Tutorial
![Page 60: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/60.jpg)
Singular: Basic Facts
Singular is a computer algebra system for polynomialcomputations, with special emphasis on commutative andnon-commutative algebra, algebraic geometry, and singularitytheory.
Andreas Steenpass Singular Tutorial
![Page 61: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/61.jpg)
Singular: Basic Facts
Singular is a computer algebra system for polynomialcomputations, with special emphasis on commutative andnon-commutative algebra, algebraic geometry, and singularitytheory.It is free and open-source under the GNU General Public Licence.
Andreas Steenpass Singular Tutorial
![Page 62: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/62.jpg)
Singular: Basic Facts
Singular is a computer algebra system for polynomialcomputations, with special emphasis on commutative andnon-commutative algebra, algebraic geometry, and singularitytheory.It is free and open-source under the GNU General Public Licence.
Singular consists of
a kernel, written in C/C++, and containing the corealgorithms,
Andreas Steenpass Singular Tutorial
![Page 63: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/63.jpg)
Singular: Basic Facts
Singular is a computer algebra system for polynomialcomputations, with special emphasis on commutative andnon-commutative algebra, algebraic geometry, and singularitytheory.It is free and open-source under the GNU General Public Licence.
Singular consists of
a kernel, written in C/C++, and containing the corealgorithms,
libraries, written in Singular’s programming language withC-like syntax,
Andreas Steenpass Singular Tutorial
![Page 64: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/64.jpg)
Singular: Basic Facts
Singular is a computer algebra system for polynomialcomputations, with special emphasis on commutative andnon-commutative algebra, algebraic geometry, and singularitytheory.It is free and open-source under the GNU General Public Licence.
Singular consists of
a kernel, written in C/C++, and containing the corealgorithms,
libraries, written in Singular’s programming language withC-like syntax, which have greatly augmented the kernelfunctionality, and which make Singular user-extendible,
Andreas Steenpass Singular Tutorial
![Page 65: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/65.jpg)
Singular: Basic Facts
Singular is a computer algebra system for polynomialcomputations, with special emphasis on commutative andnon-commutative algebra, algebraic geometry, and singularitytheory.It is free and open-source under the GNU General Public Licence.
Singular consists of
a kernel, written in C/C++, and containing the corealgorithms,
libraries, written in Singular’s programming language withC-like syntax, which have greatly augmented the kernelfunctionality, and which make Singular user-extendible,
a comprehensive online manual and help function.
Andreas Steenpass Singular Tutorial
![Page 66: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/66.jpg)
Singular: Capabilities
Singular’s main computational objects are ideals and modulesover a large number of baserings. These include
polynomial rings over various ground fields and a few rings(including the integers),
Andreas Steenpass Singular Tutorial
![Page 67: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/67.jpg)
Singular: Capabilities
Singular’s main computational objects are ideals and modulesover a large number of baserings. These include
polynomial rings over various ground fields and a few rings(including the integers),
localizations of the above,
Andreas Steenpass Singular Tutorial
![Page 68: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/68.jpg)
Singular: Capabilities
Singular’s main computational objects are ideals and modulesover a large number of baserings. These include
polynomial rings over various ground fields and a few rings(including the integers),
localizations of the above,
a very general class of non-commutative algebras (includingthe exterior algebra and the Weyl algebra),
Andreas Steenpass Singular Tutorial
![Page 69: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/69.jpg)
Singular: Capabilities
Singular’s main computational objects are ideals and modulesover a large number of baserings. These include
polynomial rings over various ground fields and a few rings(including the integers),
localizations of the above,
a very general class of non-commutative algebras (includingthe exterior algebra and the Weyl algebra),
quotient rings of the above.
Andreas Steenpass Singular Tutorial
![Page 70: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/70.jpg)
Singular Developer Teams
Andreas Steenpass Singular Tutorial
![Page 71: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/71.jpg)
Table of Contents
1 Getting started with Singular by examples
2 Basic concepts of the mathematical background
3 Singular as a Software: Ressources and the Singular Community
4 Challenges in Computer Algebra
5 Singular’s modstd.lib
6 Schreyer’s Algorithm for Syzygies
7 Sudoku
8 Primary Decomposition with Singular
Andreas Steenpass Singular Tutorial
![Page 72: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/72.jpg)
Computer Algebra
Computer algebra systems such as CoCoA or Singular can be,and in fact they are, used quite successfully for theoreticalmathematical research.
Andreas Steenpass Singular Tutorial
![Page 73: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/73.jpg)
Computer Algebra
Computer algebra systems such as CoCoA or Singular can be,and in fact they are, used quite successfully for theoreticalmathematical research.There are also a lot of other scientific disciplines which make useof computational algebra such as e.g. phylogenetics, computerchip design, or cryptography.
Andreas Steenpass Singular Tutorial
![Page 74: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/74.jpg)
Computer Algebra
Computer algebra systems such as CoCoA or Singular can be,and in fact they are, used quite successfully for theoreticalmathematical research.There are also a lot of other scientific disciplines which make useof computational algebra such as e.g. phylogenetics, computerchip design, or cryptography.The computational problems which arise from these areas can bequite challenging; some of them even could not yet be solved byany software on any computer.
Andreas Steenpass Singular Tutorial
![Page 75: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/75.jpg)
Computer Algebra
What is needed to tackle these challenges are not (only) morepowerful computers and more involved implementations of thesame algorithms, but new, more advanced (mathematical)algorithms. This makes computer algebra a branch of mathematicsitself.
Andreas Steenpass Singular Tutorial
![Page 76: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/76.jpg)
Computer Algebra
What is needed to tackle these challenges are not (only) morepowerful computers and more involved implementations of thesame algorithms, but new, more advanced (mathematical)algorithms. This makes computer algebra a branch of mathematicsitself.E.g., in order to make use of computer clusters or modernprocessors which typically contain of several cores, we have todesign parallel algorithms. In the important case of Groebnerbases, this is not at all a trivial task because parallelimplementations of Buchberger’s algorithm are quite inefficient.
Andreas Steenpass Singular Tutorial
![Page 77: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/77.jpg)
Computer Algebra
What is needed to tackle these challenges are not (only) morepowerful computers and more involved implementations of thesame algorithms, but new, more advanced (mathematical)algorithms. This makes computer algebra a branch of mathematicsitself.E.g., in order to make use of computer clusters or modernprocessors which typically contain of several cores, we have todesign parallel algorithms. In the important case of Groebnerbases, this is not at all a trivial task because parallelimplementations of Buchberger’s algorithm are quite inefficient.One possible way to overcome this problem is to use modulartechniques. If we want to compute a Groebner basis incharacteristic 0, we can compute it modulo several primes first andthen lift the result via chinese remaindering.
Andreas Steenpass Singular Tutorial
![Page 78: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/78.jpg)
Table of Contents
1 Getting started with Singular by examples
2 Basic concepts of the mathematical background
3 Singular as a Software: Ressources and the Singular Community
4 Challenges in Computer Algebra
5 Singular’s modstd.lib
6 Schreyer’s Algorithm for Syzygies
7 Sudoku
8 Primary Decomposition with Singular
Andreas Steenpass Singular Tutorial
![Page 79: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/79.jpg)
Modular Standard Bases
Idea of modStd to compute a standard basis G of an ideal I :
1 compute standard bases Gp modulo several primes p
Andreas Steenpass Singular Tutorial
![Page 80: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/80.jpg)
Modular Standard Bases
Idea of modStd to compute a standard basis G of an ideal I :
1 compute standard bases Gp modulo several primes p
2 delete unlucky primes:delete p if LM(Ip) 6= LM(Iq) for most primes q 6= p
Andreas Steenpass Singular Tutorial
![Page 81: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/81.jpg)
Modular Standard Bases
Idea of modStd to compute a standard basis G of an ideal I :
1 compute standard bases Gp modulo several primes p
2 delete unlucky primes:delete p if LM(Ip) 6= LM(Iq) for most primes q 6= p
3 lift the result via Chinese remainder algorithm and Fareyrational map: obtain G
Andreas Steenpass Singular Tutorial
![Page 82: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/82.jpg)
Modular Standard Bases
Idea of modStd to compute a standard basis G of an ideal I :
1 compute standard bases Gp modulo several primes p
2 delete unlucky primes:delete p if LM(Ip) 6= LM(Iq) for most primes q 6= p
3 lift the result via Chinese remainder algorithm and Fareyrational map: obtain G
4 pTestSB:test if (G mod p) is a s.b. of Ip for a new random prime p
Andreas Steenpass Singular Tutorial
![Page 83: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/83.jpg)
Modular Standard Bases
Idea of modStd to compute a standard basis G of an ideal I :
1 compute standard bases Gp modulo several primes p
2 delete unlucky primes:delete p if LM(Ip) 6= LM(Iq) for most primes q 6= p
3 lift the result via Chinese remainder algorithm and Fareyrational map: obtain G
4 pTestSB:test if (G mod p) is a s.b. of Ip for a new random prime p
5 final verification tests:G is a standard basis of 〈G 〉 and I ⊆ 〈G 〉
Andreas Steenpass Singular Tutorial
![Page 84: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/84.jpg)
Modular Standard Bases
Idea of modStd to compute a standard basis G of an ideal I :
1 compute standard bases Gp modulo several primes p
2 delete unlucky primes:delete p if LM(Ip) 6= LM(Iq) for most primes q 6= p
3 lift the result via Chinese remainder algorithm and Fareyrational map: obtain G
4 pTestSB:test if (G mod p) is a s.b. of Ip for a new random prime p
5 final verification tests:G is a standard basis of 〈G 〉 and I ⊆ 〈G 〉
6 reiterate with further new primes if verification fails
Andreas Steenpass Singular Tutorial
![Page 85: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/85.jpg)
Modular Standard Bases
Verification is the hardest part of the algorithm.Singular’s method for this task is due to the following result.
Andreas Steenpass Singular Tutorial
![Page 86: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/86.jpg)
Modular Standard Bases
Verification is the hardest part of the algorithm.Singular’s method for this task is due to the following result.
Theorem (Arnold (homogeneous)/ Idrees, Pfister, Steidel (generalfor global & local orderings))
Let G ⊆ Q[X ] be a set of polynomials such that
Andreas Steenpass Singular Tutorial
![Page 87: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/87.jpg)
Modular Standard Bases
Verification is the hardest part of the algorithm.Singular’s method for this task is due to the following result.
Theorem (Arnold (homogeneous)/ Idrees, Pfister, Steidel (generalfor global & local orderings))
Let G ⊆ Q[X ] be a set of polynomials such that
LM(G ) = LM(Gp) where Gp is a standard basis of Ip for someprime number p,
Andreas Steenpass Singular Tutorial
![Page 88: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/88.jpg)
Modular Standard Bases
Verification is the hardest part of the algorithm.Singular’s method for this task is due to the following result.
Theorem (Arnold (homogeneous)/ Idrees, Pfister, Steidel (generalfor global & local orderings))
Let G ⊆ Q[X ] be a set of polynomials such that
LM(G ) = LM(Gp) where Gp is a standard basis of Ip for someprime number p,
G is a standard basis of 〈G 〉,
Andreas Steenpass Singular Tutorial
![Page 89: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/89.jpg)
Modular Standard Bases
Verification is the hardest part of the algorithm.Singular’s method for this task is due to the following result.
Theorem (Arnold (homogeneous)/ Idrees, Pfister, Steidel (generalfor global & local orderings))
Let G ⊆ Q[X ] be a set of polynomials such that
LM(G ) = LM(Gp) where Gp is a standard basis of Ip for someprime number p,
G is a standard basis of 〈G 〉,
I ⊆ 〈G 〉.
Andreas Steenpass Singular Tutorial
![Page 90: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/90.jpg)
Modular Standard Bases
Verification is the hardest part of the algorithm.Singular’s method for this task is due to the following result.
Theorem (Arnold (homogeneous)/ Idrees, Pfister, Steidel (generalfor global & local orderings))
Let G ⊆ Q[X ] be a set of polynomials such that
LM(G ) = LM(Gp) where Gp is a standard basis of Ip for someprime number p,
G is a standard basis of 〈G 〉,
I ⊆ 〈G 〉.
Then I = 〈G 〉.
Andreas Steenpass Singular Tutorial
![Page 91: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/91.jpg)
Modular Standard Bases and Parallel Computing
Remark
The algorithm modStd can be parallelized in the following way:
Andreas Steenpass Singular Tutorial
![Page 92: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/92.jpg)
Modular Standard Bases and Parallel Computing
Remark
The algorithm modStd can be parallelized in the following way:
1 Compute the standard bases Gp in parallel.
Andreas Steenpass Singular Tutorial
![Page 93: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/93.jpg)
Modular Standard Bases and Parallel Computing
Remark
The algorithm modStd can be parallelized in the following way:
1 Compute the standard bases Gp in parallel.
2 Parallelize the final verification tests:
Andreas Steenpass Singular Tutorial
![Page 94: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/94.jpg)
Modular Standard Bases and Parallel Computing
Remark
The algorithm modStd can be parallelized in the following way:
1 Compute the standard bases Gp in parallel.
2 Parallelize the final verification tests:
Check if I ⊆ 〈G〉 by checking if f ∈ 〈G〉 for each generator.
Andreas Steenpass Singular Tutorial
![Page 95: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/95.jpg)
Modular Standard Bases and Parallel Computing
Remark
The algorithm modStd can be parallelized in the following way:
1 Compute the standard bases Gp in parallel.
2 Parallelize the final verification tests:
Check if I ⊆ 〈G〉 by checking if f ∈ 〈G〉 for each generator.
Check if G is a standard basis of 〈G〉 by checking if everys–polynomial not excluded by well-known criteria, vanishes byreduction w.r.t. G .
Andreas Steenpass Singular Tutorial
![Page 96: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/96.jpg)
Modular Standard Bases and Parallel Computing
Example std modStd modStd∗4 modStd∗9
cyclic8 - 8271 4120 2927
Paris.ilias13 37734 1159 676 580
homog.cyclic7 3343 3436 886 408
- 6 3 3
Table: Total running times (in sec) for computing a standard basis ofexamples chosen from The SymbolicData Project (H.-G. Grabe) via std,modStd and its parallelized variant modStd∗n for n = 4, 9.
Andreas Steenpass Singular Tutorial
![Page 97: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/97.jpg)
Modular Standard Bases and Parallel Computing
Example std modStd modStd∗4 modStd∗9
cyclic8 - 8271 4120 2927
Paris.ilias13 37734 1159 676 580
homog.cyclic7 3343 3436 886 408
- 6 3 3
Table: Total running times (in sec) for computing a standard basis ofexamples chosen from The SymbolicData Project (H.-G. Grabe) via std,modStd and its parallelized variant modStd∗n for n = 4, 9.
Ref.: N. Idrees, G. Pfister, S. Steidel: Parallelization of ModularAlgorithms. Journal of Symbolic Computation 46, 672-684 (2011).
Andreas Steenpass Singular Tutorial
![Page 98: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/98.jpg)
Table of Contents
1 Getting started with Singular by examples
2 Basic concepts of the mathematical background
3 Singular as a Software: Ressources and the Singular Community
4 Challenges in Computer Algebra
5 Singular’s modstd.lib
6 Schreyer’s Algorithm for Syzygies
7 Sudoku
8 Primary Decomposition with Singular
Andreas Steenpass Singular Tutorial
![Page 99: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/99.jpg)
Syzygies: Known Facts and Definitions
Given any ring R and elements f1, . . . , fr of an R-module M, asyzygy on f1, . . . , fr is a relation
g1f1 + · · ·+ gr fr = 0 ∈ M,
with g1, . . . , gr ∈ R . We think of such a relation as a columnvector (g1, . . . , gr )
t ∈ R r :
Andreas Steenpass Singular Tutorial
![Page 100: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/100.jpg)
Syzygies: Known Facts and Definitions
Given any ring R and elements f1, . . . , fr of an R-module M, asyzygy on f1, . . . , fr is a relation
g1f1 + · · ·+ gr fr = 0 ∈ M,
with g1, . . . , gr ∈ R . We think of such a relation as a columnvector (g1, . . . , gr )
t ∈ R r :
Definition. Let R be a ring, let M be an R-module, and letf1, . . . , fr ∈ M. A syzygy on f1, . . . , fr is an element of the kernelof the homomorphism
φ : R r → M, ǫi 7→ fi ,
where {ǫ1, . . . , ǫr} is the canonical basis of R r . We call ker φ the(first) syzygy module of f1, . . . , fr , written
Syz(f1, . . . , fr ) = ker φ.
Andreas Steenpass Singular Tutorial
![Page 101: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/101.jpg)
Syzygies: Known Facts and Definitions
If Syz(f1, . . . , fr ) is finitely generated, we regard the elements of agiven finite set of generators for it as the columns of a matrixwhich we call a syzygy matrix of f1, . . . , fr .
Andreas Steenpass Singular Tutorial
![Page 102: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/102.jpg)
Syzygies: Known Facts and Definitions
If Syz(f1, . . . , fr ) is finitely generated, we regard the elements of agiven finite set of generators for it as the columns of a matrixwhich we call a syzygy matrix of f1, . . . , fr .
Note that if R is Noetherian, then every submodule of a finitelygenerated R-module is finitely generated again.
Andreas Steenpass Singular Tutorial
![Page 103: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/103.jpg)
Syzygies: Known Facts and Definitions
If Syz(f1, . . . , fr ) is finitely generated, we regard the elements of agiven finite set of generators for it as the columns of a matrixwhich we call a syzygy matrix of f1, . . . , fr .
Note that if R is Noetherian, then every submodule of a finitelygenerated R-module is finitely generated again.
Problem. Determine a syzygy matrix of x , y , z ∈ K [x , y , z ].
Andreas Steenpass Singular Tutorial
![Page 104: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/104.jpg)
Syzygies: Known Facts and Definitions
If Syz(f1, . . . , fr ) is finitely generated, we regard the elements of agiven finite set of generators for it as the columns of a matrixwhich we call a syzygy matrix of f1, . . . , fr .
Note that if R is Noetherian, then every submodule of a finitelygenerated R-module is finitely generated again.
Problem. Determine a syzygy matrix of x , y , z ∈ K [x , y , z ].
To handle syzygies over polynomial rings, one has to extend theconcept of Grobner bases to free modules. In what follows, letR = K [x1, . . . , xn], and let F be we the free R-module F = R s
with its canonical basis e1, . . . , es .
Andreas Steenpass Singular Tutorial
![Page 105: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/105.jpg)
Syzygies: Known Facts and Definitions
Definition. A monomial in F is a monomial in R times a basisvector of F , that is, an element of the form xαei .
Andreas Steenpass Singular Tutorial
![Page 106: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/106.jpg)
Syzygies: Known Facts and Definitions
Definition. A monomial in F is a monomial in R times a basisvector of F , that is, an element of the form xαei . A term in F is amonomial in F times a scalar, that is, an element of type axαei ,where a ∈ K .
Andreas Steenpass Singular Tutorial
![Page 107: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/107.jpg)
Syzygies: Known Facts and Definitions
Definition. A monomial in F is a monomial in R times a basisvector of F , that is, an element of the form xαei . A term in F is amonomial in F times a scalar, that is, an element of type axαei ,where a ∈ K . A submodule of F which is generated by monomialsis called a monomial submodule.
Andreas Steenpass Singular Tutorial
![Page 108: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/108.jpg)
Syzygies: Known Facts and Definitions
Definition. A monomial in F is a monomial in R times a basisvector of F , that is, an element of the form xαei . A term in F is amonomial in F times a scalar, that is, an element of type axαei ,where a ∈ K . A submodule of F which is generated by monomialsis called a monomial submodule. A monomial order on F maybe defined in the same way as a monomial ordering on R . That is,it is a total order > on the set of monomials in F satisfying
xαei > xβej =⇒ xγxαei > xγxβej for each γ ∈ Nn.
Andreas Steenpass Singular Tutorial
![Page 109: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/109.jpg)
Syzygies: Known Facts and Definitions
Definition. A monomial in F is a monomial in R times a basisvector of F , that is, an element of the form xαei . A term in F is amonomial in F times a scalar, that is, an element of type axαei ,where a ∈ K . A submodule of F which is generated by monomialsis called a monomial submodule. A monomial order on F maybe defined in the same way as a monomial ordering on R . That is,it is a total order > on the set of monomials in F satisfying
xαei > xβej =⇒ xγxαei > xγxβej for each γ ∈ Nn.
We require in addition that
xαei > xβei ⇐⇒ xαej > xβej ,
for all i , j = 1, . . . , s.
Andreas Steenpass Singular Tutorial
![Page 110: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/110.jpg)
Syzygies: Known Facts and Definitions
Definition. A monomial in F is a monomial in R times a basisvector of F , that is, an element of the form xαei . A term in F is amonomial in F times a scalar, that is, an element of type axαei ,where a ∈ K . A submodule of F which is generated by monomialsis called a monomial submodule. A monomial order on F maybe defined in the same way as a monomial ordering on R . That is,it is a total order > on the set of monomials in F satisfying
xαei > xβej =⇒ xγxαei > xγxβej for each γ ∈ Nn.
We require in addition that
xαei > xβei ⇐⇒ xαej > xβej ,
for all i , j = 1, . . . , s. In this way, each monomial ordering on Finduces a unique monomial ordering on R and notions like globaland local carry over to monomial orderings on free modules.
Andreas Steenpass Singular Tutorial
![Page 111: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/111.jpg)
Syzygies: Known Facts and Definitions
Finally, given a monomial order on F , we define the leading term,the leading coefficient, the leading monomial, and the tail of anelement of F in the same way as for a polynomial in R .
Andreas Steenpass Singular Tutorial
![Page 112: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/112.jpg)
Syzygies: Known Facts and Definitions
Finally, given a monomial order on F , we define the leading term,the leading coefficient, the leading monomial, and the tail of anelement of F in the same way as for a polynomial in R .
With this basic notation, the whole concept of Grobner basesincluding its fundamental algorithms extend.
Andreas Steenpass Singular Tutorial
![Page 113: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/113.jpg)
Computing Syzygies
Suppose now that G = {g1, , . . . , gt} is a Grobner Basis for anideal of R (in a similar way, what we will do works for submodulesof a free R-module F ).
Andreas Steenpass Singular Tutorial
![Page 114: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/114.jpg)
Computing Syzygies
Suppose now that G = {g1, , . . . , gt} is a Grobner Basis for anideal of R (in a similar way, what we will do works for submodulesof a free R-module F ). Then, if we have standard expressions
spoly(gi , gj )− NF(spoly(gi , gj ) | G ) =t
∑
i=1
aigi , ai ∈ R ,
all remainders NF(spoly(gi , gj ) | G ) are zero by Buchberger’scriterion.
Andreas Steenpass Singular Tutorial
![Page 115: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/115.jpg)
Computing Syzygies
Suppose now that G = {g1, , . . . , gt} is a Grobner Basis for anideal of R (in a similar way, what we will do works for submodulesof a free R-module F ). Then, if we have standard expressions
spoly(gi , gj )− NF(spoly(gi , gj ) | G ) =t
∑
i=1
aigi , ai ∈ R ,
all remainders NF(spoly(gi , gj ) | G ) are zero by Buchberger’scriterion. We, thus, get syzygies G (ij) on g1, . . . , gt .
Andreas Steenpass Singular Tutorial
![Page 116: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/116.jpg)
Computing Syzygies
Suppose now that G = {g1, , . . . , gt} is a Grobner Basis for anideal of R (in a similar way, what we will do works for submodulesof a free R-module F ). Then, if we have standard expressions
spoly(gi , gj )− NF(spoly(gi , gj ) | G ) =t
∑
i=1
aigi , ai ∈ R ,
all remainders NF(spoly(gi , gj ) | G ) are zero by Buchberger’scriterion. We, thus, get syzygies G (ij) on g1, . . . , gt . It turns out,that these syzygies generate all the syzygies on g1, , . . . , gt .
Andreas Steenpass Singular Tutorial
![Page 117: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/117.jpg)
Computing Syzygies
Suppose now that G = {g1, , . . . , gt} is a Grobner Basis for anideal of R (in a similar way, what we will do works for submodulesof a free R-module F ). Then, if we have standard expressions
spoly(gi , gj )− NF(spoly(gi , gj ) | G ) =t
∑
i=1
aigi , ai ∈ R ,
all remainders NF(spoly(gi , gj ) | G ) are zero by Buchberger’scriterion. We, thus, get syzygies G (ij) on g1, . . . , gt . It turns out,that these syzygies generate all the syzygies on g1, , . . . , gt .
In fact, we can say more.
Andreas Steenpass Singular Tutorial
![Page 118: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/118.jpg)
Syzygies: Schreyer ordering
In the situation above, starting from a global monomial orderingon the free R-module F , consider the free R-module F0 = R t withits canonical basis ǫ1, . . . , ǫt .
Andreas Steenpass Singular Tutorial
![Page 119: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/119.jpg)
Syzygies: Schreyer ordering
In the situation above, starting from a global monomial orderingon the free R-module F , consider the free R-module F0 = R t withits canonical basis ǫ1, . . . , ǫt . On F0, consider the inducedmonomial ordering defined as
xαǫi >0 xβǫj :⇐⇒ xαLM(fi) > xβLM(fj), or
(
xαLM(fi ) = xβLM(fj) and i > j)
.
Then >0 is a global monomial ordering on F0.
Andreas Steenpass Singular Tutorial
![Page 120: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/120.jpg)
Syzygies: Schreyer ordering
In the situation above, starting from a global monomial orderingon the free R-module F , consider the free R-module F0 = R t withits canonical basis ǫ1, . . . , ǫt . On F0, consider the inducedmonomial ordering defined as
xαǫi >0 xβǫj :⇐⇒ xαLM(fi) > xβLM(fj), or
(
xαLM(fi ) = xβLM(fj) and i > j)
.
Then >0 is a global monomial ordering on F0.
The syzygies G (ij) and the induced monomial ordering are the keyingredients in Schreyer’s proof of Buchberger’s criterion. Thisproof also yields the following result:
Andreas Steenpass Singular Tutorial
![Page 121: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/121.jpg)
Syzygies: Schreyer’s Algorithm
Theorem (Schreyer). Let g1, . . . , gt ∈ F \ {0} form a Grobnerbasis with respect to a global monomial ordering >. The syzygiesG (ij)∈ F0 arising from Buchberger’s criterion form a Grobner basisfor the syzygies on g1, . . . , gt with respect to the inducedmonomial ordering on F0. In particular, the G (ij) generate allsyzygies on g1, . . . , gt .
Andreas Steenpass Singular Tutorial
![Page 122: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/122.jpg)
Syzygies: Schreyer’s Algorithm
Theorem (Schreyer). Let g1, . . . , gt ∈ F \ {0} form a Grobnerbasis with respect to a global monomial ordering >. The syzygiesG (ij)∈ F0 arising from Buchberger’s criterion form a Grobner basisfor the syzygies on g1, . . . , gt with respect to the inducedmonomial ordering on F0. In particular, the G (ij) generate allsyzygies on g1, . . . , gt .
If we start from an arbitrary set of generators f1, . . . , fr andcompute a Grobner basis f1, . . . , fr , fr+1, . . . , ft using Buchberger’salgorithm, the syzygies G (ij) either arise from a division withremainder zero or from a division leading to a new Grobner basiselement.
Andreas Steenpass Singular Tutorial
![Page 123: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/123.jpg)
Syzygies: Schreyer’s Algorithm
Theorem (Schreyer). Let g1, . . . , gt ∈ F \ {0} form a Grobnerbasis with respect to a global monomial ordering >. The syzygiesG (ij)∈ F0 arising from Buchberger’s criterion form a Grobner basisfor the syzygies on g1, . . . , gt with respect to the inducedmonomial ordering on F0. In particular, the G (ij) generate allsyzygies on g1, . . . , gt .
If we start from an arbitrary set of generators f1, . . . , fr andcompute a Grobner basis f1, . . . , fr , fr+1, . . . , ft using Buchberger’salgorithm, the syzygies G (ij) either arise from a division withremainder zero or from a division leading to a new Grobner basiselement.
From the G (ij), the syzygies on the original generators are obtainedby means of linear algebra.
Andreas Steenpass Singular Tutorial
![Page 124: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/124.jpg)
Syzygies: Example
Example.
> ring R = 0, (x,y,z), dp;
> ideal I = x,y,z;
> print(syz(I));
0, -y,-z,
-z,x, 0,
y, 0, x
By iterating the process of computing syzygies, starting from afinitely generated R-module M, we get a free resolution of M:
0 Moo F0ϕ0
oo F1ϕ1
oo . . .oo Fi−1oo Fi
ϕioo Fi+1
ϕi+1oo . . .oo
Andreas Steenpass Singular Tutorial
![Page 125: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/125.jpg)
Syzygies: Example
We continue with our example:
> resolution FI = res(I, 0);
> print(FI);
[1]:
_[1]=z
_[2]=y
_[3]=x
[2]:
_[1]=-y*gen(1)+z*gen(2)
_[2]=-x*gen(1)+z*gen(3)
_[3]=-x*gen(2)+y*gen(3)
[3]:
_[1]=x*gen(1)-y*gen(2)+z*gen(3)
Andreas Steenpass Singular Tutorial
![Page 126: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/126.jpg)
Syzygies: Example
> print(FI[2]);
-y,-x,0,
z, 0, -x,
0, z, y
> print(FI[3]);
x,
-y,
z
Andreas Steenpass Singular Tutorial
![Page 127: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/127.jpg)
Ideal Intersections via Syzygies
Syzygies can also be used to compute ideal intersections and idealquotients.
Andreas Steenpass Singular Tutorial
![Page 128: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/128.jpg)
Ideal Intersections via Syzygies
Syzygies can also be used to compute ideal intersections and idealquotients.
Given ideals I = 〈f1, . . . , fr 〉 and J = 〈g1, . . . , gs〉 of K [x1, . . . , xn],compute the syzygies on the columns of the matrix
(
1 f1 . . . fr 0 . . . 01 0 . . . 0 g1 . . . gs
)
.
The entries of the first row of the resulting syzygy matrix generateI ∩ J.
Andreas Steenpass Singular Tutorial
![Page 129: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/129.jpg)
Quotient Ideals Syzygies
In the same way, we get generators for I : J from the matrix
g1 f1 . . . fr 0 . . . . . . 0g2 0 . . . 0 f1 . . . fr 0 . . . 0...
. . .
gs 0 . . . . . . 0 f1 . . . fr
.
Andreas Steenpass Singular Tutorial
![Page 130: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/130.jpg)
Table of Contents
1 Getting started with Singular by examples
2 Basic concepts of the mathematical background
3 Singular as a Software: Ressources and the Singular Community
4 Challenges in Computer Algebra
5 Singular’s modstd.lib
6 Schreyer’s Algorithm for Syzygies
7 Sudoku
8 Primary Decomposition with Singular
Andreas Steenpass Singular Tutorial
![Page 131: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/131.jpg)
Sudoku
5 86 2 5
6 4 77 9 65 2 6 1
3 6 43 7 4
1 5 86 1
Andreas Steenpass Singular Tutorial
![Page 132: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/132.jpg)
Sudoku
To solve Sudokos, we proceed as follows:
Andreas Steenpass Singular Tutorial
![Page 133: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/133.jpg)
Sudoku
To solve Sudokos, we proceed as follows:
Associate to the places in a Sudoku the variables x1, . . . , x81and to each variable xi the polynomial Fi (xi) =
∏9j=1(xi − j).
Andreas Steenpass Singular Tutorial
![Page 134: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/134.jpg)
Sudoku
To solve Sudokos, we proceed as follows:
Associate to the places in a Sudoku the variables x1, . . . , x81and to each variable xi the polynomial Fi (xi) =
∏9j=1(xi − j).
Let E = {(i , j) | i < j and (i , j) corresponds to a placein the same row, column or 3× 3− box}.
Andreas Steenpass Singular Tutorial
![Page 135: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/135.jpg)
Sudoku
To solve Sudokos, we proceed as follows:
Associate to the places in a Sudoku the variables x1, . . . , x81and to each variable xi the polynomial Fi (xi) =
∏9j=1(xi − j).
Let E = {(i , j) | i < j and (i , j) corresponds to a placein the same row, column or 3× 3− box}.
For (i , j) ∈ E , let Gi ,j =Fi−Fj
xi−xj.
Andreas Steenpass Singular Tutorial
![Page 136: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/136.jpg)
Sudoku
To solve Sudokos, we proceed as follows:
Associate to the places in a Sudoku the variables x1, . . . , x81and to each variable xi the polynomial Fi (xi) =
∏9j=1(xi − j).
Let E = {(i , j) | i < j and (i , j) corresponds to a placein the same row, column or 3× 3− box}.
For (i , j) ∈ E , let Gi ,j =Fi−Fj
xi−xj.
Let I ⊂ Q[x1, . . . , x81] be the ideal generated by the 891polynomials {Gi ,j}(i ,j)∈E and {Fi}i=1,...,9.
Andreas Steenpass Singular Tutorial
![Page 137: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/137.jpg)
Sudoku
To solve Sudokos, we proceed as follows:
Associate to the places in a Sudoku the variables x1, . . . , x81and to each variable xi the polynomial Fi (xi) =
∏9j=1(xi − j).
Let E = {(i , j) | i < j and (i , j) corresponds to a placein the same row, column or 3× 3− box}.
For (i , j) ∈ E , let Gi ,j =Fi−Fj
xi−xj.
Let I ⊂ Q[x1, . . . , x81] be the ideal generated by the 891polynomials {Gi ,j}(i ,j)∈E and {Fi}i=1,...,9.
Then a = (a1, . . . , a81) ∈ V (I ) iff ai ∈ {1, . . . , 9} and ai 6= ajfor (i , j) ∈ E .
Andreas Steenpass Singular Tutorial
![Page 138: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/138.jpg)
Sudoku
A well posed Sudoku has a unique solution.
Andreas Steenpass Singular Tutorial
![Page 139: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/139.jpg)
Sudoku
A well posed Sudoku has a unique solution.
Let L ⊂ {1, . . . , 81} be the set of pre-assigned places, and let{ai}i∈L be the corresponding numbers of an explicit Sudoku S.
Andreas Steenpass Singular Tutorial
![Page 140: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/140.jpg)
Sudoku
A well posed Sudoku has a unique solution.
Let L ⊂ {1, . . . , 81} be the set of pre-assigned places, and let{ai}i∈L be the corresponding numbers of an explicit Sudoku S.
Then IS = I + 〈{xi − ai}i∈L〉 is the ideal associated to theSudoku S.
Andreas Steenpass Singular Tutorial
![Page 141: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/141.jpg)
Sudoku
A well posed Sudoku has a unique solution.
Let L ⊂ {1, . . . , 81} be the set of pre-assigned places, and let{ai}i∈L be the corresponding numbers of an explicit Sudoku S.
Then IS = I + 〈{xi − ai}i∈L〉 is the ideal associated to theSudoku S.
The reduced Grobner basis of IS with respect to thelexicographical ordering has the shape x1 − a1, . . . , x81 − a81,and (a1, . . . , a81) is the solution of the Sudoku.
Andreas Steenpass Singular Tutorial
![Page 142: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/142.jpg)
Table of Contents
1 Getting started with Singular by examples
2 Basic concepts of the mathematical background
3 Singular as a Software: Ressources and the Singular Community
4 Challenges in Computer Algebra
5 Singular’s modstd.lib
6 Schreyer’s Algorithm for Syzygies
7 Sudoku
8 Primary Decomposition with Singular
Andreas Steenpass Singular Tutorial
![Page 143: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/143.jpg)
Primary Decomposition
Definition. A proper ideal Q of a ring R is said to be primary iff , g ∈ R, fg ∈ Q and f 6∈ Q implies g ∈ rad Q. In this case,P = rad Q is a prime ideal, and Q is also said to be a P-primaryideal. Given any ideal I of R , a primary decomposition of I is anexpression of I as an intersection of finitely many primary ideals.
Andreas Steenpass Singular Tutorial
![Page 144: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/144.jpg)
Primary Decomposition
Definition. A proper ideal Q of a ring R is said to be primary iff , g ∈ R, fg ∈ Q and f 6∈ Q implies g ∈ rad Q. In this case,P = rad Q is a prime ideal, and Q is also said to be a P-primaryideal. Given any ideal I of R , a primary decomposition of I is anexpression of I as an intersection of finitely many primary ideals.
Now suppose that R is Noetherian. Then every proper ideal I of Rhas a primary decomposition. We can always achieve that such adecomposition I =
⋂ri=1Qi is minimal. That is, the prime ideals
Pi = rad Qi are all distinct and none of the Qi can be left out. Inthis case, the Pi are uniquely determined by I and are referred toas the associated primes of I . If Pi is minimal among P1, . . . ,Pr
with respect to inclusion, it is called a minimal associated primeof I .
Andreas Steenpass Singular Tutorial
![Page 145: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/145.jpg)
Primary Decomposition
The minimal associated primes of I are precisely the minimal primeideals containing I . Their intersection is equal to rad I . Everyprimary ideal occuring in a minimal primary decomposition of I iscalled a primary component of I . The component is said to beisolated if its radical is a minimal associated prime of I .Otherwise, it is said to be embedded. The isolated componentsare uniquely determined by I , the others are far from being unique.
Andreas Steenpass Singular Tutorial
![Page 146: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/146.jpg)
Primary Decomposition
The minimal associated primes of I are precisely the minimal primeideals containing I . Their intersection is equal to rad I . Everyprimary ideal occuring in a minimal primary decomposition of I iscalled a primary component of I . The component is said to beisolated if its radical is a minimal associated prime of I .Otherwise, it is said to be embedded. The isolated componentsare uniquely determined by I , the others are far from being unique.
From the definitions, it is clear that there is a number of differenttasks coming with primary decomposition.
Andreas Steenpass Singular Tutorial
![Page 147: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/147.jpg)
Primary Decomposition
The minimal associated primes of I are precisely the minimal primeideals containing I . Their intersection is equal to rad I . Everyprimary ideal occuring in a minimal primary decomposition of I iscalled a primary component of I . The component is said to beisolated if its radical is a minimal associated prime of I .Otherwise, it is said to be embedded. The isolated componentsare uniquely determined by I , the others are far from being unique.
From the definitions, it is clear that there is a number of differenttasks coming with primary decomposition. These range fromcomputing radicals via computing the minimal associated primes tocomputing a full primary decomposition.
Andreas Steenpass Singular Tutorial
![Page 148: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/148.jpg)
Primary Decomposition
The minimal associated primes of I are precisely the minimal primeideals containing I . Their intersection is equal to rad I . Everyprimary ideal occuring in a minimal primary decomposition of I iscalled a primary component of I . The component is said to beisolated if its radical is a minimal associated prime of I .Otherwise, it is said to be embedded. The isolated componentsare uniquely determined by I , the others are far from being unique.
From the definitions, it is clear that there is a number of differenttasks coming with primary decomposition. These range fromcomputing radicals via computing the minimal associated primes tocomputing a full primary decomposition. A variety ofcorresponding algorithms is implemented in the Singular libraryprimdec.lib.
Andreas Steenpass Singular Tutorial
![Page 149: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/149.jpg)
Primary Decomposition
The minimal associated primes of I are precisely the minimal primeideals containing I . Their intersection is equal to rad I . Everyprimary ideal occuring in a minimal primary decomposition of I iscalled a primary component of I . The component is said to beisolated if its radical is a minimal associated prime of I .Otherwise, it is said to be embedded. The isolated componentsare uniquely determined by I , the others are far from being unique.
From the definitions, it is clear that there is a number of differenttasks coming with primary decomposition. These range fromcomputing radicals via computing the minimal associated primes tocomputing a full primary decomposition. A variety ofcorresponding algorithms is implemented in the Singular libraryprimdec.lib. The two main algorithms for computing a fullprimary decomposition are primdecSY and primdecGTZ.
Andreas Steenpass Singular Tutorial
![Page 150: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/150.jpg)
Primary Decomposition
The starting point of the GTZ-algorithm is the following simpleobservation:
Andreas Steenpass Singular Tutorial
![Page 151: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/151.jpg)
Primary Decomposition
The starting point of the GTZ-algorithm is the following simpleobservation:
Lemma (Splitting Tool). If I ⊂ K [x1, . . . , xn] is an ideal, ifh ∈ K [x1, . . . , xn] is a polynomial, and if m ≥ 1 is an integer suchthat I : 〈h〉∞ = I : 〈h〉m, then
I =(
I : 〈h〉m)
∩ 〈I , hm〉 .
Andreas Steenpass Singular Tutorial
![Page 152: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/152.jpg)
Primary Decomposition
The starting point of the GTZ-algorithm is the following simpleobservation:
Lemma (Splitting Tool). If I ⊂ K [x1, . . . , xn] is an ideal, ifh ∈ K [x1, . . . , xn] is a polynomial, and if m ≥ 1 is an integer suchthat I : 〈h〉∞ = I : 〈h〉m, then
I =(
I : 〈h〉m)
∩ 〈I , hm〉 .
The key result on which the algorithm is based specifies whichpolynomials h are considered:
Andreas Steenpass Singular Tutorial
![Page 153: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/153.jpg)
Primary Decomposition
Proposition Let I ( K [x] = K [x1, . . . , xn] be a proper ideal, andlet u ⊂ x be a subset of maximal cardinality such thatI ∩ K [u] = {0}. Then:
The ideal I K (u)[x\u] ⊂ K (u)[x\u] is zero-dimensional.
Let > = (>x\u , >u) be a global product ordering on K [x],and let G be a Grobner basis for I with respect to >. Then Gis a Grobner basis for I K (u)[x\u] with respect to themonomial ordering obtained by restricting > to the monomialsin K [x\u]. Further, if h ∈ K [u] is the least common multipleof the leading coefficients of the elements of G (regarded aspolynomials in K (u)[x\u]), then
I K (u)[x\u] ∩ K [x] = I : 〈h〉∞ .
Andreas Steenpass Singular Tutorial
![Page 154: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/154.jpg)
Primary Decomposition
All primary components of the ideal I K (u)[x\u] ∩ K [x] havethe same dimension, namely dim I . Further, ifI K (u)[x\u] = Q1 ∩ . . . ∩ Qr is the minimal primarydecomposition, then
I K (u)[x\u] ∩ K [x] = (Q1 ∩ K [x]) ∩ . . . ∩ (Qr ∩ K [x])
is the minimal primary decomposition, too.
Andreas Steenpass Singular Tutorial
![Page 155: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/155.jpg)
Primary Decomposition
All primary components of the ideal I K (u)[x\u] ∩ K [x] havethe same dimension, namely dim I . Further, ifI K (u)[x\u] = Q1 ∩ . . . ∩ Qr is the minimal primarydecomposition, then
I K (u)[x\u] ∩ K [x] = (Q1 ∩ K [x]) ∩ . . . ∩ (Qr ∩ K [x])
is the minimal primary decomposition, too.
Note that if > is a global monomial ordering on K [x], then everysubset u ⊂ x of maximal cardinality satisfyingLM>(I ) ∩ K [u] = {0} is also a subset of maximal cardinality suchthat I ∩ K [u] = {0}.
Andreas Steenpass Singular Tutorial
![Page 156: Andreas Steenpass Workshop on Computational Commutative ...math.ipm.ac.ir/conferences/2011/cca2011/SlidesShow-Steenpass.pdf · > NF(g, J); 0 // g is in I Andreas Steenpass Singular](https://reader034.vdocument.in/reader034/viewer/2022050511/5f9ba5dc00115d02ab4bc431/html5/thumbnails/156.jpg)
Primary Decomposition
By recursion, the proposition allows us to reduce the general caseof primary decomposition to the zero-dimensional case. In turn, ifI ⊂ K [x] is a zero-dimensional ideal “in general position” (withrespect to the lexicographic order satisfying x1 > · · · > xn), and ifhn is a generator for I ∩ K [xn], the minimal primary decompositionof I is obtained by factorizing hn. In characteristic zero, thecondition that I is in general position can be achieved by means ofa generic linear coordinate transformation
Andreas Steenpass Singular Tutorial