next | previous | forward | backward | up | top | index | toc | Macaulay2 website
ThreadedGB :: reduce

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

Synopsis

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"

                                        3
o3 = LineageTable{(((0, 1), 0), 0) => -c }
                                     2
                  ((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), 0) => null}
                  ((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 :

For the programmer

The object reduce is a method function.