### 6.31.2 Réduction par rapport à une base de Gröbner : greduce

greduce a trois arguments : un polynôme de plusieurs variables, une liste de polynômes formant une base de Gröbner dépendant des mêmes variables et la liste du nom de ces variables.
greduce renvoie la réduction (à une constante multiplicative près) du polynôme donné dans le premier argument par rapport à la base de Gröbner donnée dans le deuxième argument.
On tape :

greduce(x*y-1,[x`^`2-y`^`2,2*x*y-y`^`2,y`^`3],[x,y])

On obtient :

1/2*y`^`2-1

ce qui veut dire que xy−1=1/2(y2−2) modI où I est l’idéal engendré par la base de Gröbner [x2−y2,2xy−y2,y3], puisque y2−2 est le reste de la division euclidienne de 2(xy−1) par G2=2x y−y2.
Remarque
La constante multiplicative peut être déterminnée en regardant comment le coefficient constant est transformé. Dans l’exemple, le terme constant -1 est transformé en le terme constant -2, donc le coefficient multiplicatif est 1/2.

On peut donner des arguments supplémentaires à greduce comme pour gbasis (plex(par défaut),tdeg,plex...cf. 6.31.1), c’est d’ailleurs nécessaire si on a calculé une base de Gröbner avec un ordre différent de celui par défaut, dans ce cas greduce doit utiliser le même ordre.
On tape :

`greduce(x1^2*x3^2,[x3^3-1,-x2^2-x2*x3-x3^2,x1+x2+x3],`
`[x1,x2,x3],tdeg)`

On obtient

`x2`