# minimalize -- turn a Groebner basis computed using threaded Groebner bases into a minimal one

## Synopsis

• Usage:
minimalize(HashTable)
• Inputs:
• H, , whose values are polynomials
• Outputs:
• , where values in H whose initial terms are divisible by others are replaced by null

## Description

Scans values of a HashTable H and retains only those whose initial terms are minimal generators of the ideal (leadTerm f : f in values H). If values H constitute a Groebner basis of the ideal they generate, this method returns a minimal 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 : minimalize 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 minimalize :

• "minimalize(HashTable)"

## For the programmer

The object minimalize is .