-- -*- M2-comint -*- {* hash: -743212642 *} i1 : R = ZZ/10007[a,b]; i2 : f = (2*a+3)^4 + 5 4 3 2 o2 = 16a + 96a + 216a + 216a + 86 o2 : R i3 : g = (2*a+b+1)^3 3 2 2 3 2 2 o3 = 8a + 12a b + 6a*b + b + 12a + 12a*b + 3b + 6a + 3b + 1 o3 : R i4 : size f, size g o4 = (5, 10) o4 : Sequence i5 : degree f o5 = {4} o5 : List i6 : degree g o6 = {3} o6 : List i7 : terms g 3 2 2 3 2 2 o7 = {8a , 12a b, 6a*b , b , 12a , 12a*b, 3b , 6a, 3b, 1} o7 : List i8 : select(terms g, i -> degree i == {2}) 2 2 o8 = {12a , 12a*b, 3b } o8 : List i9 : sum oo 2 2 o9 = 12a + 12a*b + 3b o9 : R i10 : part(0,g) o10 = 1 o10 : R i11 : part(1,g) o11 = 6a + 3b o11 : R i12 : part(2,g) 2 2 o12 = 12a + 12a*b + 3b o12 : R i13 : part(3,g) 3 2 2 3 o13 = 8a + 12a b + 6a*b + b o13 : R i14 : toString f o14 = 16*a^4+96*a^3+216*a^2+216*a+86 i15 : toString g o15 = 8*a^3+12*a^2*b+6*a*b^2+b^3+12*a^2+12*a*b+3*b^2+6*a+3*b+1 i16 : quot = f//g o16 = 2a - 3b + 9 o16 : R i17 : rem = f%g 2 2 3 4 2 2 2 2 o17 = 24a b + 16a*b + 3b - 96a b - 24a*b + 96a - 96a*b - 18b + 160a - ----------------------------------------------------------------------- 24b + 77 o17 : R i18 : f == quot * g + rem o18 = true i19 : homogenize(f,b) 4 3 2 2 3 4 o19 = 16a + 96a b + 216a b + 216a*b + 86b o19 : R i20 : ring f o20 = R o20 : PolynomialRing i21 : ring f === ring g o21 = true i22 : part(1,f) o22 = 216a o22 : R i23 : f_a o23 = 216 ZZ o23 : ----- 10007 i24 : g_(a*b) o24 = 12 ZZ o24 : ----- 10007 i25 : leadTerm g 3 o25 = 8a o25 : R i26 : leadCoefficient g o26 = 8 ZZ o26 : ----- 10007 i27 : leadMonomial g 3 o27 = a o27 : R i28 : exponents leadMonomial g o28 = {{3, 0}} o28 : List i29 : coefficients f o29 = (| a4 a3 a2 a 1 |, {4} | 16 |) {3} | 96 | {2} | 216 | {1} | 216 | {0} | 86 | o29 : Sequence i30 : coefficients g o30 = (| a3 a2b ab2 b3 a2 ab b2 a b 1 |, {3} | 8 |) {3} | 12 | {3} | 6 | {3} | 1 | {2} | 12 | {2} | 12 | {2} | 3 | {1} | 6 | {1} | 3 | {0} | 1 | o30 : Sequence i31 : exponents f o31 = {{4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}} o31 : List i32 : exponents g o32 = {{3, 0}, {2, 1}, {1, 2}, {0, 3}, {2, 0}, {1, 1}, {0, 2}, {1, 0}, {0, ----------------------------------------------------------------------- 1}, {0, 0}} o32 : List i33 : listForm f o33 = {({4, 0}, 16), ({3, 0}, 96), ({2, 0}, 216), ({1, 0}, 216), ({0, 0}, ----------------------------------------------------------------------- 86)} o33 : List i34 : S = listForm g o34 = {({3, 0}, 8), ({2, 1}, 12), ({1, 2}, 6), ({0, 3}, 1), ({2, 0}, 12), ----------------------------------------------------------------------- ({1, 1}, 12), ({0, 2}, 3), ({1, 0}, 6), ({0, 1}, 3), ({0, 0}, 1)} o34 : List i35 : S / print; ({3, 0}, 8) ({2, 1}, 12) ({1, 2}, 6) ({0, 3}, 1) ({2, 0}, 12) ({1, 1}, 12) ({0, 2}, 3) ({1, 0}, 6) ({0, 1}, 3) ({0, 0}, 1) i36 : S = standardForm f o36 = HashTable{HashTable{} => 86 } HashTable{0 => 1} => 216 HashTable{0 => 2} => 216 HashTable{0 => 3} => 96 HashTable{0 => 4} => 16 o36 : HashTable i37 : standardForm g o37 = HashTable{HashTable{} => 1 } HashTable{0 => 1} => 6 HashTable{0 => 1} => 12 1 => 1 HashTable{0 => 1} => 6 1 => 2 HashTable{0 => 2} => 12 HashTable{0 => 2} => 12 1 => 1 HashTable{0 => 3} => 8 HashTable{1 => 1} => 3 HashTable{1 => 2} => 3 HashTable{1 => 3} => 1 o37 : HashTable i38 : S#(new HashTable from {0 => 2}) o38 = 216 ZZ o38 : ----- 10007 i39 : f < g o39 = false i40 : sort {b^2-1,a*b,a+1,a,b} 2 o40 = {b, a, a + 1, b - 1, a*b} o40 : List i41 : f ? g o41 = > o41 : Keyword i42 :