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

reduce -- turn a Groebner basis computed using threaded Groebner bases into a reduced one

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 Groebner basis of the ideal they generate, this method returns a reduced Groebner basis.

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

                                  3
o2 = HashTable{(((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

o2 : HashTable
i3 : reduce T

o3 = HashTable{(((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

o3 : HashTable

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.