# methods for normal forms and remainder -- normal form of ring elements and matrices

## Synopsis

• Usage:
f % I
• Inputs:
• f, or
• I, , an ideal, or
• Outputs:
• , the normal form of f modulo the ideal I. The result is obtained by reducing each entry of f modulo I.

To reduce f with respect to I, a (partial) Gröbner basis of I is computed, unless it has already been done, or unless I is .

 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

## Synopsis

• Usage:
f % M
• Inputs:
• f, or
• M, or
• Outputs:
• , the normal form of the matrix f modulo the image of M, if M is a matrix with the same target as f, or modulo M if M is a submodule of the target of f. The result is obtained by reducing each column of f modulo M.
 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} | 0 0 a de ce bd bc 0 0 0 0 | {-8} | 0 b 0 df cf 0 0 ad ac 0 0 | {-8} | c 0 0 -ef 0 -bf 0 -ae 0 ab 0 | {-8} | d 0 0 0 ef 0 bf 0 ae 0 ab | {-8} | 0 e 0 0 0 -df -cf 0 0 ad -ac | {-8} | 0 0 f 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 implies 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 = 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