División de polinomios
Algoritmos para la división
Dados un polinomio F y una familia de polinomios G1, ..., Gt, para hacer la división de F por
esta familia basta ejecutar la siguiente orden.
In[30]:= F = X^3 Y^3 Z^3 + X^2 Y^2 Z^2 + X Y Z + 1
G1 = X^3 Y + Y^2 Z^2 + X Y Z^2 + 1
G2 = X Z + Y^3 - Y Z^2 - 1
Aux = PolynomialReduce@F, 8G1, G2<, 8X, Y, Z<D
Out[30]= 1 + X Y Z + X2
Y2
Z2
+ X3
Y3
Z3
Out[31]= 1 + X3
Y + X Y Z2
+ Y2
Z2
Out[32]= -1 + Y3
+ X Z - Y Z2
Out[33]= 99Y2
Z3, Y + Y
2- Y
5+ X Y
2Z + Y
3Z
2- Y
3Z
4=,
1 + Y + Y2
- Y4
- 2 Y5
+ Y8
+ Y2
Z2
+ 2 Y3
Z2
- 2 Y6
Z2
- Y2
Z3
- Y3
Z4
+ Y4
Z4
+ Y6
Z4
- Y4
Z5
- Y4
Z6=
La salida tiene dos componentes, la primera contiene los cocientes, y la segunda el resto.
Podemos comporbar el resutlado:
In[26]:= Expand@Aux@@1, 1DD * G1 + Aux@@1, 2DD * G2 + Aux@@2DDD � F
Out[26]= True
Como consecuencia no es necesario desarrollar una función que nos realice esta tarea.
También es una orden de Mathematica el cálculo de la base de Groebner
In[34]:= GroebnerBasis@8G1, G2<, 8X, Y, Z<DGroebnerBasis@8G1, G2<, 8X, Y, Z<, DegreeLexicographicDGroebnerBasis@8G1, G2<, 8X, Y, Z<, DegreeReverseLexicographicD
Out[34]= 9-Y + 3 Y4
- 3 Y7
+ Y10
- 3 Y2
Z2
+ 6 Y5
Z2
- 3 Y8
Z2
- Z3
- Y Z4
- 3 Y3
Z4
+
Y4
Z4
+ 3 Y6
Z4
- Y2
Z5
- Y2
Z6
- Y4
Z6, -1 + Y
3+ X Z - Y Z
2, X Y - 2 X Y
4+ X Y
7+
2 Y2
Z - 4 Y5
Z + 2 Y8
Z + Z2
+ Y Z3
+ 3 Y3
Z3
- Y4
Z3
- 3 Y6
Z3
+ Y2
Z4
+ Y2
Z5
+ Y4
Z5,
-X2
Y - Y2
+ X2
Y4
+ 2 Y5
- Y8
- Z - Y Z2
- 2 Y3
Z2
+ Y4
Z2
+ 2 Y6
Z2
- Y2
Z3
- Y2
Z4
- Y4
Z4,
1 + X3
Y + Y Z - Y4
Z + Y2
Z2
+ Y2
Z3=
Out[35]= 9-Y + 3 Y4
- 3 Y7
+ Y10
- 3 Y2
Z2
+ 6 Y5
Z2
- 3 Y8
Z2
- Z3
- Y Z4
- 3 Y3
Z4
+
Y4
Z4
+ 3 Y6
Z4
- Y2
Z5
- Y2
Z6
- Y4
Z6, -1 + Y
3+ X Z - Y Z
2, X Y - 2 X Y
4+ X Y
7+
2 Y2
Z - 4 Y5
Z + 2 Y8
Z + Z2
+ Y Z3
+ 3 Y3
Z3
- Y4
Z3
- 3 Y6
Z3
+ Y2
Z4
+ Y2
Z5
+ Y4
Z5,
-X2
Y - Y2
+ X2
Y4
+ 2 Y5
- Y8
- Z - Y Z2
- 2 Y3
Z2
+ Y4
Z2
+ 2 Y6
Z2
- Y2
Z3
- Y2
Z4
- Y4
Z4,
1 + X3
Y + Y Z - Y4
Z + Y2
Z2
+ Y2
Z3=
Out[36]= 9-Y + 3 Y4
- 3 Y7
+ Y10
- 3 Y2
Z2
+ 6 Y5
Z2
- 3 Y8
Z2
- Z3
- Y Z4
- 3 Y3
Z4
+
Y4
Z4
+ 3 Y6
Z4
- Y2
Z5
- Y2
Z6
- Y4
Z6, -1 + Y
3+ X Z - Y Z
2, X Y - 2 X Y
4+ X Y
7+
2 Y2
Z - 4 Y5
Z + 2 Y8
Z + Z2
+ Y Z3
+ 3 Y3
Z3
- Y4
Z3
- 3 Y6
Z3
+ Y2
Z4
+ Y2
Z5
+ Y4
Z5,
-X2
Y - Y2
+ X2
Y4
+ 2 Y5
- Y8
- Z - Y Z2
- 2 Y3
Z2
+ Y4
Z2
+ 2 Y6
Z2
- Y2
Z3
- Y2
Z4
- Y4
Z4,
1 + X3
Y + Y Z - Y4
Z + Y2
Z2
+ Y2
Z3=
Observa la complejidad que alcanzan las bases de Groebner aún al tratar con polinomios tan
simples.
In[45]:= GroebnerBasis@8X^2 Y^2 + X^2 Y Z - X Y^2 Z^2 + 1, X Z + Y Z + Z^2 - 1<, 8X, Y, Z<DGroebnerBasis@8X^2 Y^2 + X^2 Y Z - X Y^2 Z + 1, X Z + Y Z + Z^2 - 1<,
8X, Y, Z<, DegreeLexicographicDGroebnerBasis@8X^2 Y^2 + X^2 Y Z - X Y^2 Z + 1, X Z^2 + Y Z^2 + Z^3 - 1<,
8X, Y, Z<, DegreeReverseLexicographicD
Out[45]= 9Y2
+ Y Z - 2 Y3
Z + Z2
- 4 Y2
Z2
+ Y4
Z2
- 2 Y Z3
- Y2
Z3
+ 3 Y3
Z3
+ 3 Y2
Z4
+ Y3
Z4
+ Y Z5
+ Y2
Z5,
-1 + X Z + Y Z + Z2,
Y + X Y2
- Y3
+ Z - 3 Y2
Z + Y4
Z - 2 Y Z2
- Y2
Z2
+ 3 Y3
Z2
+ 3 Y2
Z3
+ Y3
Z3
+ Y Z4
+ Y2
Z4=
Out[46]= 9Y2
+ Y Z - 2 Y3
Z + Z2
- 5 Y2
Z2
+ Y4
Z2
- 2 Y Z3
+ 4 Y3
Z3
+ 4 Y2
Z4
+ Y Z5,
-1 + X Z + Y Z + Z2, Y + X Y
2- Y
3+ Z - 4 Y
2Z + Y
4Z - 2 Y Z
2+ 4 Y
3Z
2+ 4 Y
2Z
3+ Y Z
4=
Out[47]= 9Y2
+ Y Z - 2 Y3
Z2
- 5 Y2
Z3
+ Z4
- 2 Y Z4
+ Y4
Z4
+ 4 Y3
Z5
+ 4 Y2
Z6
+ Y Z7,
-1 + X Z2
+ Y Z2
+ Z3, X Y
2- Y
3+ X Y Z - 3 Y
2Z + Z
2- Y Z
2+ Y
4Z
2+ 4 Y
3Z
3+ 4 Y
2Z
4+ Y Z
5=
FIN
2 Polinomios-03.nb