# Minimal -- Option to specify whether the end Gr\"obner basis should be a minimal Gr\"obner basis

## Synopsis

• Usage:
tgb(...,Minimal=>Boolean)

## Description

Use Minimal=>True as an argument in the function tgb for ensure the resulting Gr\"obner basis is minimized. Lineages of non-minimal Gr\"obner 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 : allowableThreads= 2; i3 : T = tgb( ideal "abc+c2,ab2-b3c+ac,b2", Minimal=>true) o3 = 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 o3 : LineageTable

By default, the option is false. The basis can also be minimized after the distributed computation is finished:

 i4 : T = tgb( ideal "abc+c2,ab2-b3c+ac,b2") 3 o4 = 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 o4 : LineageTable i5 : minimize T o5 = 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 o5 : LineageTable

## Functions with optional argument named Minimal :

• "tgb(...,Minimal=>...)"

## For the programmer

The object Minimal is .