Estoy escribiendo el Criterio de Buchberger en un programa en Macaulay2 para comprobar si el conjunto de polinomios que tengo forman o no una base de Grobner para el ideal que genera. Sin embargo, no he sido capaz de encontrar un método que me dé el resto cuando un polinomio, digamos $f$ se divide por un conjunto de polinomios $G=\{g_1, g_2, ..., g_t\}$ en algún orden. ¿Sabe alguien si existe este método y, en caso afirmativo, cómo se llama?
Aunque no es lo único que tengo, aquí está la parte del programa en la que intento aplicar el Criterio de Buchberger:
n=0;
for i to #polynomials-2 do
(
for j from i+1 to #polynomials-1 do
(
Spoly := lcm(leadTerm(polynomials#i),leadTerm(polynomials#j))/leadTerm(polynomials#i)*polynomials#i-lcm(leadTerm(polynomials#i),leadTerm(polynomials#j))/leadTerm(polynomials#j)*polynomials#j;
remainder := Spoly%polynomials;
if remainder == 0 then n=n+1;
);
);
if n == binomial(#polynomials, 2) then print "The polynomials form a Grobner basis for the ideal it generates." else print "The polynomials don't form a Grobner basis for the ideal it generates."
En los códigos de arriba, uso % como el método que estoy buscando - pero no funciona para un polinomio que se divide por una lista de polinomios.