Use Minimal=>True as an argument in the function tgb for ensure the resulting Groebner basis is minimalized. Lineages of non-minimal Groebner basis elements that were added to the basis during the distributed computation are saved, with the corresponding entry in the table being null.
i1 : S = ZZ/101[a,b,c]; |
i2 : T = tgb( ideal "abc+c2,ab2-b3c+ac,b2",2, Minimal=>true) o2 = HashTable{((0-2)-0) => null} 2 ((1-2)-0) => c (0-1) => null (0-2) => null (1-2) => a*c 0 => null 1 => null 2 2 => b o2 : HashTable |
By default, the option is false. The basis can also be minimalized after the distributed computation is finished:
i3 : T = tgb( ideal "abc+c2,ab2-b3c+ac,b2",2) 3 o3 = HashTable{((0-2)-0) => -c } 2 ((1-2)-0) => -c 2 (0-1) => a c 2 (0-2) => b*c (1-2) => -a*c 2 0 => a*b*c + c 3 2 1 => - b c + a*b + a*c 2 2 => b o3 : HashTable |
i4 : minimalize T o4 = HashTable{((0-2)-0) => null} 2 ((1-2)-0) => c (0-1) => null (0-2) => null (1-2) => a*c 0 => null 1 => null 2 2 => b o4 : HashTable |