S-polinomios Definición de s-polinomio Dados dos polinomios P y Q, el s-polinomio s(P,Q) es un nuevo polinomio que se obtiene igualando los términos líderes de P y de Q , para luego eliminarlos. Es necesario pues multiplicar, tanto P como Q, por términos adecuados, y después restar. Una de las acciones que necesitaremos hacer es determinar los términos líderes de P y de Q; esto ya sabemos cómo hacerlo. In[99]:= LeaderCoefficient@P_, L_, O_D := CoefficientRules@P, L, OD@@1, 2DD LeaderMonomial@P_, L_, O_D := CoefficientRules@P, L, OD@@1, 1DD LeaderTerm@P_, L_, O_D := LeaderCoefficient@P, L, OD * Product@L@@iDD ^ LeaderMonomial@P, L, OD@@iDD, 8i, 1, Length@LD<D Una vez que tenemos LT(P) y LT(Q), vamos a igualarlos: buscar el mínimo cómún múltiplo y ajustar los coeficientes. In[102]:= Mcm@X_, Y_D := Table@Max@X@@iDD, Y@@iDDD, 8i, 1, Length@XD<D Esta orden nos da el mínimo común múltiplo de dos elementos de Nn : In[103]:= Out[103]= Mcm@81, 2, 3, 4, 5<, 82, 5, 3, 1, 6<D 82, 5, 3, 4, 6< Una vez que hemos calculado el exponente del mcm, vamos a deterina el monomio asociado: In[104]:= Monomio@M_, L_D := Product@L@@iDD ^ M@@iDD, 8i, 1, Length@LD<D Veamos un ejemplo: In[105]:= Out[105]= Monomio@82, 5, 3, 4, 6<, 8X1 , X2 , X3 , X4 , X5 <D X21 X52 X33 X44 X65 Podemos ya calcular el s-polinomio de dos polinomios; evidentemente necesitarremos indicar las variables y el orden monomial utilizado. In[106]:= Spol@P_, Q_, L_, O_D := Expand@LeaderCoefficient@Q, L, OD * Monomio@Mcm@LeaderMonomial@P, L, OD, LeaderMonomial@Q, L, ODD - LeaderMonomial@P, L, OD, LD * P LeaderCoefficient@P, L, OD * Monomio@Mcm@LeaderMonomial@P, L, OD, LeaderMonomial@Q, L, ODD - LeaderMonomial@Q, L, OD, LD * QD Veamos un ejemplo del funcionamiento de estas órdenes. 2 Polinomios-02.nb In[107]:= Out[107]= Out[108]= Out[109]= Out[110]= Out[111]= 8P = X ^ 2 Y - 2 Y Z, LeaderCoefficient@P, 8X, Y, Z<, LexicographicD, LeaderMonomial@P, 8X, Y, Z<, LexicographicD, LeaderTerm@P, 8X, Y, Z<, LexicographicD< 8Q = 2 X Y ^ 2 + 1, LeaderCoefficient@Q, 8X, Y, Z<, LexicographicD, LeaderMonomial@Q, 8X, Y, Z<, LexicographicD, LeaderTerm@Q, 8X, Y, Z<, LexicographicD< Mcm@LeaderMonomial@P, 8X, Y, Z<, LexicographicD, LeaderMonomial@Q, 8X, Y, Z<, LexicographicDD Monomio@%, 8X, Y, Z<D Spol@Q, P, 8X, Y, Z<, LexicographicD 9X2 Y - 2 Y Z, 1, 82, 1, 0<, X2 Y= 91 + 2 X Y2 , 2, 81, 2, 0<, 2 X Y2 = 82, 2, 0< X2 Y2 X + 4 Y2 Z Vamos ahora a aplicar directamente estas funciones para determinar los s-polinomios de dos polinomios dados, utilizando distintos ódenes monomiales. In[112]:= Out[112]= Out[113]= Out[114]= Out[115]= Out[116]= P = X^3 Y^4 + 5 X^2 Y Z^5 + Y ^4 Z^4 + 2 Q = X^2 + X Y + 3 Y Z - 2 Y^2 8Aux = Spol@Q, P, 8X, Y, Z<, LexicographicD, LeaderMonomial@Aux, 8X, Y, Z<, LexicographicD< 8Aux = Spol@Q, P, 8X, Y, Z<, DegreeReverseLexicographicD, LeaderMonomial@Aux, 8X, Y, Z<, DegreeReverseLexicographicD< 8Aux = Spol@P, Q, 8X, Y, Z<, DegreeLexicographicD, LeaderMonomial@Aux, 8X, Y, Z<, DegreeLexicographicD< 2 + X3 Y4 + Y4 Z4 + 5 X2 Y Z5 X2 + X Y - 2 Y2 + 3 Y Z 9- 2 + X2 Y5 - 2 X Y6 + 3 X Y5 Z - Y4 Z4 - 5 X2 Y Z5 , 82, 5, 0<= 9- 2 X2 - X5 Y4 + X Y5 Z4 - 2 Y6 Z4 - 5 X4 Y Z5 + 3 Y5 Z5 , 81, 5, 4<= 92 + X3 Y4 + Y4 Z4 - 5 X Y2 Z5 + 10 Y3 Z5 - 15 Y2 Z6 , 81, 2, 5<= FIN