Synopsis
-
- Inputs:
- Outputs:
- the normal form of f with respect to a Groebner basis of I
The result has the same type as
f. The normal form of a matrix is a matrix of the same shape whose columns have been reduced to normal form by the Groebner basis of
I.
To reduce
f with respect to
I, a (partial) Groebner basis of
I is computed, unless it has already been done, or unless
I is a
MonomialIdeal.
i1 : R = ZZ/1277[x,y];
|
i2 : I = ideal(x^3 - 2*x*y, x^2*y - 2*y^2 + x);
o2 : Ideal of R
|
i3 : (x^3 - 2*x) % I
o3 = -2x
o3 : R
|
i4 : (x^3) % I
o4 = 0
o4 : R
|
i5 : S = ZZ[x,y];
|
i6 : 144*x^2*y^2 % (7*x*y-2)
2 2
o6 = - 3x y + 12
o6 : S
|
If
I is a matrix between free modules, then a Groebner basis of
I is a Groebner basis of the submodule generated by the columns of the matrix.
i7 : S = QQ[a..f]
o7 = S
o7 : PolynomialRing
|
i8 : J = ideal(a*b*c-d*e*f,a*b*d-c*e*f, a*c*e-b*d*f)
o8 = ideal (a*b*c - d*e*f, a*b*d - c*e*f, a*c*e - b*d*f)
o8 : Ideal of S
|
i9 : C = res J
1 3 6 6 2
o9 = S <-- S <-- S <-- S <-- S <-- 0
0 1 2 3 4 5
o9 : ChainComplex
|
i10 : F = syz transpose C.dd_4
o10 = {-8} | a 0 0 de ce bd bc 0 0 0 0 |
{-8} | 0 b 0 df cf 0 0 ad ac 0 0 |
{-8} | 0 0 c -ef 0 -bf 0 -ae 0 ab 0 |
{-8} | 0 0 d 0 ef 0 bf 0 ae 0 ab |
{-8} | 0 e 0 0 0 -df -cf 0 0 ad -ac |
{-8} | f 0 0 0 0 0 0 -de -ce bd -bc |
6 11
o10 : Matrix S <--- S
|
i11 : G = transpose C.dd_3
o11 = {-8} | bd -ce de a 0 0 |
{-8} | -ac -cf df 0 -b 0 |
{-8} | -bf -ab -ef 0 0 -c |
{-8} | -ae -ef -ab 0 0 -d |
{-8} | -df -ad ac 0 -e 0 |
{-8} | ce -bd bc f 0 0 |
6 6
o11 : Matrix S <--- S
|
Since
C is a complex, we know that the image of
G is contained in the image of
F.
i12 : G % F
o12 = 0
6 6
o12 : Matrix S <--- S
|
i13 : F % G
o13 = {-8} | 0 0 0 de ce bd bc 0 bd -ce de |
{-8} | 0 0 0 df cf 0 0 ad 0 -cf df |
{-8} | 0 0 0 -ef 0 -bf 0 -ae -bf 0 -ef |
{-8} | 0 0 0 0 ef 0 bf 0 0 -ef 0 |
{-8} | 0 0 0 0 0 -df -cf 0 -df 0 0 |
{-8} | 0 0 0 0 0 0 0 -de 0 0 0 |
6 11
o13 : Matrix S <--- S
|
The inclusion is strict since
F % G != 0 shows that the image of
F is not contained in the image of
G.
Normal forms work over quotient rings too.
i14 : A = QQ[x,y,z]/(x^3-y^2-3)
o14 = A
o14 : QuotientRing
|
i15 : I = ideal(x^4, y^4)
2 4
o15 = ideal (x*y + 3x, y )
o15 : Ideal of A
|
i16 : J = ideal(x^3*y^2, x^2*y^3)
4 2 2 3
o16 = ideal (y + 3y , x y )
o16 : Ideal of A
|
i17 : (gens J) % I
o17 = 0
1 2
o17 : Matrix A <--- A
|
Here is an example involving rational functions.
i18 : kk = toField(frac(ZZ[a,b]))
o18 = kk
o18 : FractionField
|
i19 : B = kk[x,y,z]
o19 = B
o19 : PolynomialRing
|
i20 : I = ideal(a*x^2-b*x-y-1, 1/b*y^2-z-1)
2 1 2
o20 = ideal (a*x - b*x - y - 1, -*y - z - 1)
b
o20 : Ideal of B
|
i21 : gens gb I
o21 = | y2-bz-b x2-b/ax-1/ay-1/a |
1 2
o21 : Matrix B <--- B
|
i22 : x^2*y^2 % I
2 2
b b b b b b
o22 = --*x*z + -*y*z + --*x + -*y + -*z + -
a a a a a a
o22 : B
|