Macaulay2 » Documentation
Packages » ThreadedGB :: reduce
next | previous | forward | backward | up | index | toc

reduce -- produce a reduced Gr\"obner basis from one computed by threaded Gr\"obner bases

Description

Minimalizes first, then replaces each of the values of a hash table H by its remainder on the division by the remaining values H.

If values H constitute a Gr\"obner basis of the ideal they generate, this method returns a reduced Gr\"obner basis.

i1 : R = ZZ/101[a,b,c];
i2 : allowableThreads= 2;
i3 : T = tgb ideal "abc+c2,ab2-b3c+ac,b2"

                                     2
o3 = LineageTable{((0, 1), 0) => -a*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 : LineageTable
i4 : reduce T

o4 = LineageTable{((0, 1), 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 : LineageTable

Polynomials are normalized so that the leading coefficient is 1. Note that keys of non-minimal entries are retained, and the corresponding table value is null.

Ways to use reduce:

  • reduce(LineageTable)

For the programmer

The object reduce is a method function.


The source of this document is in /build/reproducible-path/macaulay2-1.25.06+ds/M2/Macaulay2/packages/ThreadedGB.m2:540:0.