+ All Categories
Home > Documents > Algoritmos de Descomposici´on...

Algoritmos de Descomposici´on...

Date post: 04-Oct-2018
Category:
Upload: trannhi
View: 212 times
Download: 0 times
Share this document with a friend
101
Algoritmos de Descomposici´on primaria Santiago Laplagne Directora: Teresa Krick 10 de septiembre de 2004 1
Transcript

Algoritmos de Descomposicion primaria

Santiago Laplagne

Directora: Teresa Krick

10 de septiembre de 2004

1

Gracias!

Voy a hacer como si fuera posible escribir todo el agradecimiento que sientohacia todos los que me acompanaron, empujaron o tironearon a lo largo deestos anos.

Gracias a mi familia, Ana, Eduardo, Diego y Diana, Ignacio y Natalia yBabi por estar siempre conmigo.

Gracias a Teresa, mi directora, por el apoyo y la paciencia infinita.

Gracias a Alicia y Juan, mis jurados, por ser mis jurados, leer y corregirla tesis. Gracias tambien a Gabriela que la leyo toda (incluyendo la de-mostracion de 4.27!).

Gracias a todos los de la Olimpıada de Matematica por el amor a la ma-tematica. A las chicas Flora, Patricia, Cecilia, Bibi, Cintia, Elisita, Julia yGraciela, a Juan Carlos x 2, Vero, Marita y Norma.

Gracias a mis colegas banqueros, Hugo, Silvina y Daniel por bancarme!

Y finalmente, muchas gracias a todos mis amigos! Gracias Daniel, Florencia,Dora, Gustavo, Malena, Agustin, Matilde, Pablo, Flavia, Gabriela (unavez mas!), Juan Pablo, PabloH, Gumu, Julian, Silvia, Eduardo, Fernando,Monica, Martın, Fer, Angelica, Enrique, Jonathan y Tadashi!!!

2

Contenido

1 Introduccion 4

2 Definiciones y nociones basicas 6

2.1 Ideales y variedades . . . . . . . . . . . . . . . . . . . . . . . 6

2.2 Operaciones entre ideales . . . . . . . . . . . . . . . . . . . . 12

2.2.1 Suma de ideales . . . . . . . . . . . . . . . . . . . . . 13

2.2.2 Producto de ideales . . . . . . . . . . . . . . . . . . . 13

2.2.3 Interseccion de ideales . . . . . . . . . . . . . . . . . . 14

2.2.4 Cociente y saturacion de ideales . . . . . . . . . . . . 15

2.3 Descomposicion de ideales y variedades . . . . . . . . . . . . 16

3 Bases de Grobner 26

3.1 Aplicaciones de bases de Grobner . . . . . . . . . . . . . . . . 30

3.1.1 Pertenencia al ideal . . . . . . . . . . . . . . . . . . . 30

3.1.2 Eliminacion de variables . . . . . . . . . . . . . . . . . 30

3.1.3 Interseccion de ideales . . . . . . . . . . . . . . . . . . 31

3.1.4 Cociente de ideales . . . . . . . . . . . . . . . . . . . . 32

4 Algoritmos de descomposicion primaria 34

4.1 Herramientas . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.2 Ideales cero-dimensionales . . . . . . . . . . . . . . . . . . . . 36

4.2.1 El caso racional . . . . . . . . . . . . . . . . . . . . . . 40

4.2.2 El caso cero-dimensional general . . . . . . . . . . . . 53

3

4.3 El algoritmo general . . . . . . . . . . . . . . . . . . . . . . . 66

4.3.1 El aplanador . . . . . . . . . . . . . . . . . . . . . . . 75

4.3.2 El algoritmo y su complejidad . . . . . . . . . . . . . . 78

5 Algoritmos para el calculo de radical 84

4

Capıtulo 1

Introduccion

La descomposicion primaria de un ideal es una de las herramientas funda-mentales del algebra conmutativa, y no solo tiene importancia teorica sinotambien practica, por la informacion que provee sobre el ideal y, como con-secuencia, sobre la variedad que define. Otra herramienta relacionada es elradical de un ideal, su calculo y su descomposicion en ideales primos, quenos da informacion unicamente sobre la variedad definida por el ideal.

Con el avance de la computacion, el calculo efectivo de estos objetos se havuelto mas facil de abordar, y en los ultimos anos se han propuesto distin-tos algoritmos implementados en software matematico (Macaulay, Cocoa,Singular), basados todos en algoritmos de calculo de bases de Grobner.

En este trabajo analizamos varios algoritmos de descomposicion primaria deideales polinomiales sobre el cuerpo de los numeros racionalesQ y obtenemosun algoritmo aparentemente nuevo para el calculo del radical.

El trabajo esta organizado de la siguiente manera:

En el Capıtulo 2 introducimos las herramientas teoricas de geometrıa al-gebraica (variedades algebraicas) y algebra conmutativa (descomposicionprimaria) que necesitamos para el desarrollo del texto.

En el Capıtulo 3 hacemos una sıntesis de los resultados que necesitamosde bases de Grobner. Todos nuestros algoritmos se basan en la teorıa quepresentamos en este capıtulo.

En el Capıtulo 4 comenzamos con el estudio de la descomposicion primariade ideales cero-dimensionales (es decir con finitos ceros complejos). Presen-tamos primero un algoritmo para el caso racional (en que todos los cerosson racionales) que tiene mas interes teorico que practico ya que este hecho

5

no es conocido en general a priori, pero que sirve de base para el caso cero-dimensional general. Pasamos luego al caso cero-dimensional general, anali-zando y simplificando la presentacion de los algoritmos conocidos, basadosen [GTZ] y tratados en [DGP], [GP], [Cox]. Detallamos primero un algo-ritmo probabilıstico simple, y luego una modificacion de ese algoritmo quees la que esta implementada en Singular por ser mas eficiente en la practicaademas de estar asociada a un criterio que permite asegurar que el resul-tado del algoritmo es efectivamente la descomposicion primaria. Hacemosuna estimacion de la complejidad de estos algoritmos, que no aparece en laliteratura, que muestra que esta es esencialmente del mismo orden que elcalculo de una base de Grobner.

En la Seccion 4.3 pasamos al caso de ideales de dimension arbitraria, ana-lizando en particular el algoritmo de [GTZ]. Obtenemos una cota parael exponente de saturacion de un ideal con respecto a un polinomio quepermite estimar una cota superior para la complejidad en el peor caso delalgoritmo, que resulta ser triplemente exponencial en el numero de variables(Proposicion 4.46). El triple exponente proviene de una estimacion de lacantidad de conjuntos independientes maximales con respecto a un ideal enn variables, que representa la cantidad de iteraciones del algoritmo y en lapractica no se alcanza. Esta complejidad se podrıa mejorar haciendo uncambio inicial de variables, pero suele resultar ineficiente en la practica.

Finalmente en el Capıtulo 5 tratamos el problema del calculo del radical deun ideal polinomial, comentando el algoritmo de [KL2]. Tambien obtenemosun algoritmo nuevo que utiliza las mismas herramientas de calculos de basesde Grobner, de intersecciones de ideales y saturaciones, pero evita los pro-blemas de redundancia del algoritmo de [KL2], y calculamos su complejidad.

6

Capıtulo 2

Definiciones y nocionesbasicas

En este capıtulo introducimos nociones basicas del algebra conmutativa.Omitimos las demostraciones de algunos teoremas clasicos. Las mismaspueden encontrarse en [VWa], [AM], [Lan] o [CLO1].

2.1 Ideales y variedades

Trabajamos con k un cuerpo y k[x] = k[x1, . . . , xn] el anillo de los polinomiosen n variables con coeficientes en k.

Nos interesa estudiar los ceros de polinomios.

Definicion 2.1 Notamos kn al espacio afın n-dimensional sobre k, es decir,al conjunto de n-uplas p := (p1, . . . , pn) con pi ∈ k, con la estructura deespacio afın.

Sea X ⊂ k[x]. Definimos

V = V(X) = {p ∈ kn / f(p) = 0 ∀ f ∈ X}.Llamamos a V la variedad afın definida por X.

En general, decimos que un conjunto de puntos V ⊂ kn es una variedad(afın) si existe X ⊂ k[x] tal que V = V(X).

Ejemplo. En R2 tomamos U = V({(x2− y− 1) (x + 1)2}). El grafico de Use ve en la figura.

7

� � � ��� ��� � � � � �

� �

� �

Si k no es algebraicamente cerrado, generalmente nos interesara conside-rar la variedad sobre k, la clausura algebraica de k. En ese caso, usare-mos la notacion Vk y Vk para distinguir ambas variedades o indicare-mos explıcitamente el cuerpo sobre el que estamos tomando la variedad:VC,VR, . . . .

Por ejemplo,VR({x2 + y2}) = {(0, 0)}

yVC({x2 + y2}) = {(x, y) / y = ix} ∪ {(x, y) / y = −ix}.

Para estudiar los conjuntos de polinomios que definen a una variedad, usa-mos la estrucutura de ideal.

Definicion 2.2 Decimos que un subconjunto I ⊂ k[x] es un ideal si cumplelas siguientes condiciones:

1. 0 ∈ I.

2. Si f, g ∈ I, entonces f + g ∈ I.

3. Si f ∈ I y g ∈ k[x], entonces g f ∈ I.

A continuacion vemos una forma de construir ideales.

Definicion 2.3 Sea X ⊂ k[x]. Definimos el ideal generado por X (queresulta ser un ideal) como

I = 〈f / f ∈ X〉 =

fλ∈X

hλfλ : hλ ∈ k[x]

,

8

donde cada suma contiene una cantidad finita de terminos.

Y definimos la variedad asociada a un ideal:

Definicion 2.4 Sea I ⊂ k[x] un ideal, definimos la variedad del ideal Icomo

V(I) = {p ∈ kn / f(p) = 0 ∀f ∈ I}

Tenemos la siguiente proposicion.

Proposicion 2.5 Sea X ⊂ k[x] y sea I = 〈f / f ∈ X〉. Entonces V(I) =V(X).

Si X = {f1, . . . , fs} es finito, escribimos I = 〈f1, . . . , fs〉 y decimos que I esfinitamente generado. Ocurre que todos los ideales en k[x] son finitamentegenerados:

Definicion 2.6 Decimos que un anillo R es Noetheriano si todo ideal de Res finitamente generado.

El siguiente teorema se conoce como el teorema de la Base de Hilbert.

Teorema 2.7 Si k es un cuerpo, el anillo de polinomios k[x] es Noetheri-ano.

Antes definimos las variedades a partir de conjuntos infinitos de polinomios.Por la Proposicion 2.5, V = V(X) = V(I), donde I = 〈f / f ∈ X〉. AhoraI es finitamente generado, I = 〈f1, . . . , fs〉. Entonces V = V({f1, . . . , fs}).Por lo tanto, en la definicion de variedad, podemos restringirnos a considerarunicamente conjuntos finitos de polinomios.

La condicion de Noetherianidad es equivalente a la condicion de la cadenaascendente que enunciamos a continuacion.

Proposicion 2.8 Sea R un anillo. Las siguientes condiciones son equiva-lentes:

1. R es Noetheriano.

9

2. (Condicion de cadena ascendente) Para toda cadena ascendente

I1 ⊂ I2 ⊂ . . .

de ideales en R, existe N ≥ 1 tal que IN = IN+1 = IN+2 = . . . Eneste caso, decimos que la cadena de ideales se estaciona.

Demostracion.

1 ⇒ 2. Sea I1 ⊂ I2 ⊂ I3 ⊂ . . . una cadena ascendente. Consideremos elconjunto I =

⋃∞i=1 Ii. Probemos que I es un ideal.

1. 0 ∈ I porque 0 esta en cualquier ideal Ii.

2. Si f, g ∈ I, existen N1 y N2 tales que f ∈ IN1 y g ∈ IN2 . Suponemosque N2 es mayor que N1, entonces IN1 ⊂ IN2 y f, g ∈ IN2 . Por lo tantof + g ∈ IN2 y entonces f + g ∈ I.

3. Sean f ∈ I y h ∈ k[x]. Existe N tal que f ∈ IN . Por lo tanto, hf ∈ IN

y obtenemos h f ∈ I.

Ahora, como R es Noetheriano, el ideal I es finitamente generado. Es decir,existen f1, . . . , fs que generan I. Para cada fi existe Ni tal que fi ∈ INi . SeaN el mayor de los Ni. Como los Ii forman una cadena ascendente, se cumpleque fi ∈ IN . Entonces 〈f1, . . . , fs〉 ⊂ IN ⊂ IN+1 ⊂ · · · ⊂ I = 〈f1, . . . , fs〉.Por lo tanto, todas las inclusiones son igualdades, y la cadena ascendente seestaciona.

2 ⇒ 1. Para ver la otra implicacion supongamos que R no es Noetheriano.Sea I un ideal de R que no admite un conjunto finito de generadores. Pode-mos construir una cadena 〈f1〉 ( 〈f1, f2〉 ( · · · ( 〈f1, f2, . . . , fs〉 ( . . . confi ∈ I y fi 6∈ 〈f1, f2, . . . , fi−1〉. Ninguno de estos ideales puede ser todoI, porque I no tiene un conjunto finito de generadores. Entonces podemosextender la cadena infinitamente, y vemos que R no cumple la condicion dela cadena ascendente. ∇

Por el teorema de la base de Hilbert, los ideales en k[x] verifican la condicionde cadena ascendente.

Vamos a analizar los ideales que se obtienen a partir de variedades.

10

Definicion 2.9 Sea V ⊂ kn una variedad. Definimos

I(V ) = {f ∈ k[x] / f(p) = 0 ∀ p ∈ V }.

I(V ) resulta ser un ideal, que llamamos el ideal de V . Cuando sea necesario,indicaremos sobre que anillo esta generado el ideal (Ik[x](V ), Ik[x](V ), . . . ).

En el ejemplo anterior, I(U) son los multiplos de (x2 − y − 1) (x + 1).

Vemos que el grafico de U esta formado por una recta y una parabola. Ladescomposicion de una variedad en sus componentes es uno de los temasprincipales de este trabajo.

Lema 2.10 Para cualquier variedad V ⊂ kn, se cumple que V(I(V )) = V .

Demostracion. Si p ∈ V , todos los polinomios de I(V ) se anulan en p y porlo tanto p ∈ V(I(V )).

Para la otra inclusion, vimos que existen f1, . . . , fs tales que

V = V({f1, . . . , fs}) = {p ∈ kn / fi(p) = 0 ∀ 1 ≤ i ≤ s}.

Entonces f1, . . . , fs ∈ I(V ). Si p ∈ V(I(V )), se cumple f1(p) = f2(p) =· · · = fs(p) = 0. Por lo tanto, p ∈ V . ∇

Si hacemos la operacion al reves, es decir, dado un ideal I ⊂ k[x], tomamosI(V(I)), no siempre recuperamos el ideal original. Por ejemplo, si I =〈x2, y2〉 ⊂ C[x, y], entonces V(I) = {(0, 0)} y I(V(I)) = 〈x, y〉.Cuando el cuerpo es algebraicamente cerrado, sin embargo, existe una rela-cion simple entre los dos conjuntos.

Para enunciar la relacion, hacemos las siguientes definiciones.

Definicion 2.11 Sea I ⊂ k[x]. Decimos que I es un ideal radical si paratodo f ∈ k[x] tal que fm ∈ I para algun m ∈ N, se cumple f ∈ I.

Definicion 2.12 Sea I ⊂ k[x], definimos√

I, el radical de I, como elconjunto √

I = {f ∈ k[x] / fm ∈ I para algun m ∈ N}

Este conjunto resulta ser un ideal radical.

11

Lema 2.13 Sea I ⊂ k[x]. Entonces√

I es un ideal radical.

Demostracion. Veamos que√

I cumple las condiciones de la definicion deideal.

1. 0 ∈ √I.

2. Sean f, g ∈ √I. Entonces existen m1 y m2 tales que fm1 ∈ I y gm2 ∈ I.Tomamos (f +g)m1+m2 = fm1+m2 +fm1+m2−1g+ · · ·+gm1+m2 . Todoslos terminos de la suma estan en I. Por lo tanto (f + g)m1+m2 ∈ I yf + g ∈ √I.

3. Sea f ∈ √I y g ∈ k[x]. Existe m > 0 tal que fm ∈ I. Entonces

gmfm ∈ I y por lo tanto gf ∈ √I.

Para ver que es radical, sea f tal que fm ∈ √I. Entonces (fm)l ∈ I paraalgun l ∈ N y f ∈ √I, como querıamos. ∇

Teorema 2.14 Sea k un cuerpo algebraicamente cerrado y sea I ⊂ k[x] unideal. Entonces

I(V(I)) =√

I.

Este teorema es de gran importancia en el desarrollo de la geometrıa al-gebraica, y es conocido como el Teorema de los Ceros de Hilbert o con sunombre original en aleman de Nullstellensatz.

El siguiente corolario se conoce como el Teorema Debil de los Ceros deHilbert.

Teorema 2.15 Sea k un cuerpo algebraicamente cerrado y sea I ⊂ k[x] unideal. Si V(I) = ∅, entonces I = 〈1〉.

Demostracion. I(V(I)) = I(∅) = 〈1〉. ∇

Ahora veremos el analogo para variedades de la condicion de la cadenaascendente de ideales. Primero, necesitamos el siguiente lema.

Lema 2.16 (Inversion de inclusiones)

12

1. Sean I, J ideales en k[x] tales que I ⊂ J . Entonces V(I) ⊃ V(J).

2. Sean U, V variedades en kn tales que U ⊂ V . Entonces I(U) ⊃ I(V ).

Demostracion.

1. Sea p ∈ V(J). Entonces g(p) = 0 ∀g ∈ J . Como I ⊂ J , f(p) = 0∀f ∈ I y por lo tanto p ∈ V(I).

2. Sea f ∈ I(V ). Entonces f(p) = 0 ∀p ∈ V . Como U ⊂ V , f(p) = 0∀p ∈ U y por lo tanto f ∈ I(U).

Proposicion 2.17 Sea

V1 ⊃ V2 ⊃ V3 ⊃ . . .

una cadena descendente de variedades en kn. Existe un N ≥ 1 tal que

VN = VN+1 = VN+2 = . . . .

Demostracion. Tomando los ideales que generan esas variedades, obtenemos

I(V1) ⊂ I(V2) ⊂ I(V3) ⊂ . . .

(por el Lema 2.16)

Por la condicion de cadenas ascendentes de ideales, esta cadena se estaciona.Es decir I(VN ) = I(VN+1) = . . . para algun N ∈ N. Tomando ahora lasvariedades de estos ideales, obtenemos

V(I(VN )) = V(I(VN+1)) = . . .

Pero ya probamos que V(I(V )) = V . Por lo tanto

VN = VN+1 = . . .

2.2 Operaciones entre ideales

Definimos ahora algunas operaciones entre ideales que usaremos mas ade-lante.

13

2.2.1 Suma de ideales

Definicion 2.18 Si I y J son ideales en k[x], definimos la suma de I y Jcomo el conjunto

I + J = {f + g / f ∈ I, g ∈ J}

Este conjunto resulta ser un ideal.

Si I y J estan generados por polinomios, I = 〈f1, . . . , fs〉 y J = 〈g1, . . . , gt〉entonces I + J = 〈f1, . . . , fs, g1, . . . , gt〉.A menudo usaremos la notacion 〈I, J〉 en vez de I + J y 〈I, g1, . . . , gt〉 envez de I + 〈g1, . . . , gt〉.Al tomar variedades, tenemos la siguiente propiedad:

Proposicion 2.19 Sean I = 〈f1, . . . , fs〉 y J = 〈g1, . . . , gt〉 ideales en k[x].Entonces

V(I + J) = V(I) ∩V(J).

Demostracion. Sea p ∈ V(I + J). Entonces f1(p) = · · · = fs(p) = g1(p) =· · · = gt(p) = 0. Por lo tanto, p ∈ V(I) y p ∈ V(J). Recıprocamente, seaf ∈ V(I)∩V(J). Entonces f1(p) = · · · = fs(p) = 0 y g1(p) = · · · = gt(p) =0. Por lo tanto, p ∈ V(I + J). ∇

2.2.2 Producto de ideales

Dados I y J ideales en k[x], consideremos el conjunto {fg / f ∈ I, g ∈ J}.Este conjunto no siempre es un ideal. Por ejemplo, sean I = 〈x, y〉 y J =〈z, w〉 ideales de k[x, y, z, w]. Tomamos H = {fg / f ∈ I, g ∈ J}. Vale quexz ∈ H y yw ∈ H, pero xz + yw 6∈ H, porque es un polinomio irreducible.

Teniendo esto en cuenta, hacemos la siguiente definicion:

Definicion 2.20 Si I y J son ideales en k[x], definimos el producto de I yJ como el ideal

IJ = 〈fg / f ∈ I, g ∈ J〉

Si I y J estan generados por polinomios, I = 〈f1, . . . , fs〉 y J = 〈g1, . . . , gt〉entonces

IJ = 〈f1g1, . . . , f1gt, f2g1, . . . , fsgt〉.

14

Cuando I esta generado por un unico polinomio, I = 〈f〉, usaremos lanotacion fJ para el producto entre I y J .

Cuando tomamos el producto de un ideal con si mismo, usaremos la notacionexponencial, In = I . . . I (n veces).

Al tomar variedades, tenemos la siguiente propiedad:

Proposicion 2.21 Sean I = 〈f1, . . . , fs〉 y J = 〈g1, . . . , gt〉 ideales en k[x].Entonces

V(IJ) = V(I) ∪V(J)

Demostracion. Sea p ∈ V(I) ∪ V(J). Podemos suponer que p ∈ V(I).Entonces (fg)(p) = 0 para todo f ∈ I y g ∈ J porque f(p) = 0 para todof ∈ I.

Recıprocamente, sea p 6∈ V(I) ∪ V(J). Entonces existen f ∈ I tal quef(p) 6= 0 y g ∈ J tal que g(p) 6= 0. Obtenemos que (fg)(p) 6= 0 y por lotanto, p /∈ V(IJ). ∇

2.2.3 Interseccion de ideales

Si I y J son ideales en k[x], podemos tomar la interseccion entre ellos:

I ∩ J = {f ∈ k[x] / f ∈ I y f ∈ J}

Este conjunto resulta ser un ideal.

Al tomar variedades, el comportamiento es igual al caso del producto deideales.

Proposicion 2.22 Sean I = 〈f1, . . . , fs〉 y J = 〈g1, . . . , gt〉 ideales en k[x].

V(I ∩ J) = V(I) ∪V(J) = V(IJ)

Demostracion. Sea p ∈ V(I) ∪ V(J). Podemos suponer que p ∈ V(I).Entonces f(p) = 0 para todo f ∈ I. Como I ∩J ⊂ I, tenemos que f(p) = 0para todo f ∈ I ∩ J . Por lo tanto, p ∈ V(I ∩ J).

Recıprocamente, sea p 6∈ V(I) ∪ V(J). Entonces existen f ∈ I tal quef(p) 6= 0 y g ∈ J tal que g(p) 6= 0. El polinomio fg esta en I y en J , por lotanto fg ∈ I ∩ J y (fg)(p) 6= 0. Entonces p 6∈ V(I ∩ J). ∇

15

A pesar de que las variedades de IJ y I∩J son iguales, los ideales no siemprecoinciden. Sin embargo, vale una de las inclusiones.

Lema 2.23 Sean I, J ideales en k[x]. Entonces IJ ⊂ I ∩ J .

Demostracion. Sea f ∈ IJ , f = gh con g ∈ I y h ∈ J . Entonces gh ∈ I ygh ∈ J . Por lo tanto, f ∈ I ∩ J . ∇

Para ver que la otra inclusion no siempre se cumple, basta tomar I = J =〈x〉 ⊂ k[x]. Tenemos IJ = 〈x2〉 y I ∩ J = 〈x〉.

2.2.4 Cociente y saturacion de ideales

Definicion 2.24 Si I, J son ideales en k[x], entonces

(I : J) = {f ∈ k[x] / fJ ⊂ I}es el ideal cociente de I y J .

Definimos tambien

(I : J∞) = {f ∈ k[x] / fJm ⊂ I para algun m ∈ N},la saturacion de I con respecto a J .

Los conjuntos (I : J) y (I : J∞) resultan ser ideales.

Cuando el ideal J esta definido por un unico polinomio, J = 〈f〉, usaremoslas notaciones (I : f) y (I : f∞).

Observacion. Tenemos la siguiente cadena de ideales:

(I : J) ⊂ (I : J2) ⊂ · · · ⊂ (I : J j) ⊂ · · · ⊂ (I : J∞).

Como k[x] cumple la condicion de la cadena ascendente, existe m tal que(I : Jm) = (I : Jm+1) = · · · = (I : J∞).

Vale la siguiente relacion entre intersecciones y cocientes.

Proposicion 2.25 Sean I1, I2 y J ideales en k[x]. Entonces

(I1 ∩ I2 : J) = (I1 : J) ∩ (I2 : J).

Demostracion. Si f ∈ (I1 ∩ I2 : J), fJ ⊂ I1 y fJ ⊂ I2. Por lo tanto,f ∈ (I1 : J) ∩ (I2 : J).

Recıprocamente, si f ∈ (I1 : J) ∩ (I2 : J), entonces fJ ⊂ I1 y fJ ⊂ I2. Porlo tanto, fJ ⊂ I1 ∩ I2 y f ∈ (I1 ∩ I2 : J). ∇

16

2.3 Descomposicion de ideales y variedades

Retomamos nuestro objetivo de descomponer variedades.

Definicion 2.26 Una variedad afın V ⊂ kn es irreducible si dadas V1 y V2

variedades afines tales que V = V1 ∪ V2 entonces V1 = V o V2 = V .

Proposicion 2.27 Sea V ⊂ kn una variedad afın. Entonces V puede es-cribirse como union finita

V = V1 ∪ · · · ∪ Vt,

donde cada Vi es una variedad irreducible.

Demostracion. Supongamos que existe una variedad V que no se puedeescribir como union de variedades irreducibles. En particular, V no es irre-ducible y se puede escribir como V1∪V ′

1 , con V1 6= V y V ′1 6= V . Si podemos

descomponer a V1 y V ′1 como union de irreducibles, obtenemos una descom-

posicion de V en variedades irreducibles. Por lo tanto, podemos suponerque V1 no es union de irreducibles. Es decir V1 = V2 ∪ V ′

2 (con V2 6= V yV ′

2 6= V ), y por el mismo argumento podemos suponer que V2 no es unionde irreducibles. Continuando con este proceso, obtendrıamos una sucesioninfinita de variedades

V ) V1 ) V2 ) . . . .

Como las inclusiones son estrictas, esto contradice la Proposicion 2.17. ∇

Siguiendo el ejemplo, la variedad U no es irreducible porque se puede des-componer como la union de la recta y la parabola. Para probarlo, tomamosV1 = V({x2−y−1}) y V2 = V({(x+1)2}) cuyos graficos se ven en la figura2. Tenemos U = V1 ∪ V2.

� � � ��� ��� � � ��� �

� �

� �

V1

V2

17

Nos centramos ahora en descomponer ideales. El objetivo es escribir un idealI como interseccion de ideales I1, . . . , It, de forma que los ideales I1, . . . , It

separen las componentes irreducibles de la variedad de I.

En el ejemplo anterior, podemos escribir I = 〈x2 − y− 1〉 ∩ 〈(x + 1)2〉. Estadescomposicion del ideal I separa a V(I) en sus variedades irreducibles.

Definicion 2.28 Un ideal I ⊂ k[x] se dice primo si dados f , g ∈ k[x] talesque fg ∈ I entonces f ∈ I o g ∈ I.

Lema 2.29 Sean I1, . . . , It ideales en k[x] y sea P un ideal primo tal queI1∩· · ·∩It ⊂ P . Entonces Ii ⊂ P para algun i. Si P = I1∩· · ·∩It, entoncesP = Ii para algun i.

Demostracion. Supongamos que Ii 6⊂ P para ningun i. Entonces para todoi, existe fi ∈ Ii tal que fi 6∈ P . Tomando f = f1f2 . . . ft, obtenemos quef ∈ I1∩ · · ·∩ It, pero f 6∈ P porque P es primo. Esto contradice la hipotesisI1 ∩ · · · ∩ It ⊂ P .

Para la segunda parte, si P = I1 ∩ · · · ∩ It, P ⊂ Ii para todo i. Si Ij ⊂ P ,debe ser P = Ij . ∇

El concepto de ideal primo es el analogo algebraico de variedades irre-ducibles. La relacion esta dada por la proposicion siguiente.

Usaremos el siguiente lema:

Lema 2.30 Sea I ⊂ k[x] un ideal y sean f, g ∈ k[x] polinomios. Entonces

V(I, f) ∪V(I, g) = V(I, fg).

Demostracion. Sea p ∈ V(I, f) ∪ V(I, g). Podemos suponer que p ∈V(I, f). Por lo tanto f se anula en p y los polinomios de I tambien seanulan en p. Por lo tanto, p ∈ V(I, fg).

Recıprocamente, sea p ∈ V(I, fg). Entonces f(p) = 0 o g(p) = 0. Su-poniendo que f(p) = 0, obtenemos que p ∈ V(I, f) y por lo tanto, p ∈V(I, f) ∪V(I, g). ∇

Proposicion 2.31 Sea V ⊂ kn una variedad afın. Entonces V es irre-ducible si y solo si I(V ) es un ideal primo.

18

Demostracion. Supongamos que I(V ) no es primo. Existen f y g en k[x]tales que fg ∈ I(V ) pero f /∈ I(V ) y g /∈ I(V ). Es decir que existen puntosp y q en V tales que f(p) 6= 0 y g(q) 6= 0.

Por el lema anterior, se tiene que

V = V(〈I(V ), f〉) ∪V(〈I(V ), g〉),

pero V no es igual a ninguna de las dos variedades, entonces V no es irre-ducible.

Para probar la otra implicacion, supongamos que V no es irreducible. En-tonces V = V1 ∪ V2, con V1 ( V y V2 ( V . Tenemos que I(V ) ( I(V1) yI(V ) ( I(V2). Sea f ∈ I(V1) \ I(V ) y sea g ∈ I(V2) \ I(V ). Si consideramosfg, vemos que fg se anula en todos los puntos de V , porque f se anula enlos puntos de V1 y g se anula en los puntos de V2. Entonces fg ∈ I(V ), perof /∈ I(V ) y g /∈ I(V ). Entonces I(V ) no es primo. ∇

Por lo visto anteriormente, dada V ⊂ kn y una descomposicion en variedadesirreducibles V = V1 ∪ · · · ∪Vt, tenemos la siguiente descomposicion de I(V ):

I(V ) = I(V1) ∩ · · · ∩ I(Vt),

donde I(Vi) son ideales primos.

Siguiendo el ejemplo, I(V1) = 〈x2 − y − 1〉 y I(V2) = 〈x + 1〉. Estos idealesson primos y por lo tanto nos dan una descomposicion en ideales primos deI(U).

Cuando trabajamos con numeros enteros, cualquier numero se puede escribircomo producto de numeros primos. Veamos como extender esto a ideales.Pensamos a los enteros como ideales en Z, asociando el entero a al ideal 〈a〉,y al producto de numeros como interseccion de ideales. Ası, por ejemplo, laigualdad 6 = 2.3 se traduce como 〈6〉 = 〈2〉 ∩ 〈3〉.El ideal 〈9〉 no se puede escribir como interseccion de ideales primos, porquelos unicos ideales que lo contienen son 〈1〉 y 〈3〉, pero 〈3〉 ∩ 〈3〉 = 〈3〉. Sinembargo, podemos escribirlo como el cuadrado del ideal 〈3〉 (usando el pro-ducto de ideales que definimos anteriormente).

Como en el caso de las variedades, diremos que un ideal es irreducible siI = I1 ∩ I2 implica que I = I1 o I = I2. Todo ideal se puede descomponercomo interseccion de finitos ideales irreducibles, por el lema de la cadenaascendente.

19

Acabamos de ver que los ideales irreducibles de Z son los primos y las po-tencias de primos. El ideal 〈pm1

1 . . . pmss 〉 se descompone como 〈p1〉m1 ∩ · · · ∩

〈ps〉ms .

Para generalizar esto, una pregunta natural es si todo ideal podra escribirsecomo interseccion de ideales primos o potencias de primos.

Desafortunadamente esto no es cierto, como veremos en el siguiente ejemplo.

Sea I = 〈x, y2〉 ⊂ k[x, y]. Si queremos escribirlo como interseccion de ideales,buscamos que ideales lo contienen. Los unicos posibles son 〈1〉 y 〈x, y〉, peroI no se puede escribir como interseccion de esos ideales. Entonces I esirreducible, pero no es primo (porque y2 ∈ I y y 6∈ I) ni potencia de un idealprimo (porque 〈x, y〉2 = 〈x2, xy, y2〉, que no contiene a I).

Para poder descomponer cualquier ideal, necesitamos trabajar con idealesmas generales que los ideales primos.

Definicion 2.32 Un ideal I ⊂ k[x] se dice primario si dados dos polinomiosf y g tales que fg ∈ I se cumple que f ∈ I o gm ∈ I para algun m > 0.

Antes de estudiar en detalle estos ideales, vemos algunas propiedades de losideales radicales que definimos anteriormente.

Proposicion 2.33 Sean I1, . . . , It ideales en k[x] y sea I = I1 ∩ · · · ∩ It.Entonces √

I =√

I1 ∩ · · · ∩√

It.

Demostracion. Sea f ∈ √I. Existe m ∈ N tal que fm ∈ I. Entonces

fm ∈ Ii ∀1 ≤ i ≤ t y por lo tanto f ∈ √Ii ∀ 1 ≤ i ≤ t.

Recıprocamente, si f ∈ √Ii ∀1 ≤ i ≤ t, existen mi, 1 ≤ i ≤ t tales que

fmi ∈ Ii. Tomando m el mayor de los mi, concluimos que f ∈ √I. ∇

Tenemos el siguiente corolario inmediato.

Proposicion 2.34 Sean I1, . . . , It ideales radicales y sea I = I1 ∩ · · · ∩ It.Entonces I es un ideal radical.

Claramente, un ideal primo es radical. Ademas,

Lema 2.35 Si I es un ideal primario, entonces√

I es primo y es el menorideal primo que contiene a I.

20

Demostracion. Supongamos que fg ∈ √I. Entonces (fg)m ∈ I para algunm. Como I es primario, fm ∈ I o (gm)l ∈ I para algun l ∈ N. Entoncesf ∈ √I o g ∈ √I. Por lo tanto,

√I es primo.

Para probar la segunda parte, sea J un ideal primo tal que I ⊂ J . Veamosque

√I ⊂ J . Sea f ∈ √I. Aplicando la definicion, fm ∈ I para algun m.

Entonces fm ∈ J porque I ⊂ J . Como J es primo, obtenemos que f ∈ J ,lo que prueba la inclusion. ∇

Definicion 2.36 Si I es primario y√

I = P , decimos que I es P -primario.

En general, determinar si un ideal dado es primario es difıcil, pero el siguientecaso particular sera de utilidad mas adelante.

Proposicion 2.37 Sea I ⊂ k[x] un ideal tal que√

I es maximal. EntoncesI es primario.

Demostracion. Sean f, g ∈ k[x] tales que fg ∈ I. Supongamos que gm nopertenece a I para ningun m > 0. Queremos ver que f ∈ I. Tenemosque g 6∈ √

I. Como√

I es maximal, obtenemos (√

I, g) = 〈1〉. Entoncesexisten p ∈ √

I y q ∈ k[x] tales que 1 = p + qg. Sea l tal que pl ∈ I.Elevando la ultima igualdad a la l, obtenemos 1 = pl + lpl−1qg + · · ·+ (qg)l.Multiplicando por f , obtenemos f = fpl + lpl−1qgf + · · · + (qg)lf , dondetodos los sumandos de la derecha estan en I. Por lo tanto, f ∈ I. ∇

Ejemplos.

• El ideal I = 〈x, y2〉 no es primo (y2 ∈ I pero y 6∈ I), pero es primariopues el radical de I es 〈x, y〉, que es maximal. Decimos que I es 〈x, y〉-primario.

• El ideal I = 〈xy, y2〉 no es primario, porque xy ∈ I, pero y /∈ I yxm /∈ I para ningun m.

Usando ideales primarios, podemos descomponer cualquier ideal de k[x].

Proposicion 2.38 Sea I ⊂ k[x] un ideal. Entonces I admite una descom-posicion primaria. Es decir, existen ideales primarios Q1, . . . , Qt tales que

I =t⋂

i=1

Qi

21

Demostracion. Como todo ideal se puede escribir como interseccion de ide-ales irreducibles, es suficiente probar que un ideal irreducible es primario.

Supongamos que I es irreducible y que fg ∈ I con f /∈ I. Debemos probarque alguna potencia de g esta en I. Consideremos los ideales (I : gm) param ≥ 1. Tenemos la siguiente cadena de ideales:

(I : g) ⊂ (I : g2) ⊂ . . . .

Por la condicion de la cadena ascendente, existe N ≥ 1 tal que (I : gN ) = (I :gN+1). Afirmamos que 〈I, gN 〉 ∩ 〈I, f〉 = I. La inclusion ⊃ es obvia. Paraver ⊂, sea h ∈ 〈I, gN 〉∩〈I, f〉. Entonces h = i+αgN = j +βf , con i, j ∈ I yα, β ∈ k[x]. Multiplicando por g, obtenemos ig + αgN+1 = jg + βfg, dondefg ∈ I. Entonces ig +αgN+1 ∈ I y αgN+1 ∈ I. Ahora (I : gN ) = (I : gN+1)implica que αgN ∈ I y por lo tanto h ∈ I.

Como I es irreducible, obtenemos que I = 〈I, gN 〉 o I = 〈I, f〉. Pero loultimo es imposible porque f /∈ I. Entonces I = 〈I, gN 〉 y concluimos quegN ∈ I. ∇

Ejemplos.

• Una descomposicion primaria de I = 〈xy, y2〉 es

I = 〈y〉 ∩ 〈x, y2〉

• El ideal I = 〈(x2 − y − 1).(x + 1)2〉 se descompone como I = 〈x2 −y − 1〉 ∩ 〈(x + 1)2〉. Vimos que la variedad de I es la union de unaparabola y una recta. Esas variedades corresponden a las variedadesde 〈x2− y− 1〉 y 〈(x + 1)2〉 respectivamente. Por lo tanto, a traves dela descomposicion primaria obtuvimos las componentes de I corres-pondientes a las variedades irreducibles. A continuacion, veremos estoen mas detalle.

Sea I ⊂ k[x] un ideal y sea I = Q1 ∩ · · · ∩Qt, una descomposicion primaria.Tomando radicales de ambos lados, obtenemos

√I =

√Q1 ∩ · · · ∩

√Qt.

Si Qi es Pi-primario, obtenemos la descomposicion√

I = P1 ∩ · · · ∩ Pt.

22

Tomando las variedades correspondientes:

V(I) = V(P1) ∪ · · · ∪V(Pt),

donde usamos que V(√

I) = V(I). Como los Pi son primos, obtenemos unadescomposicion de V(I) en variedades irreducibles.

Por lo tanto, la descomposicion primaria cumple los requisitos que pedıamosantes.

Ahora que sabemos que todo ideal se puede descomponer como interseccionde ideales primarios, una pregunta natural es si es posible obtener construc-tivamente una tal descomposicion.

En las secciones siguientes analizaremos diversos algoritmos y estudiaremosla complejidad de los mismos.

Necesitamos primero estudiar algunas propiedades de la descomposicion pri-maria.

Definicion 2.39 Sea I = Q1 ∩ · · · ∩Qt una descomposicion primaria de I.Decimos que la descomposicion es irredundante si

1.√

Qi 6=√

Qj para 1 ≤ i, j ≤ t y i 6= j.

2. Qi 6⊃ ∩j 6=iQj para 1 ≤ i ≤ t.

Dada una descomposicion primaria cualquiera de un ideal, podemos obteneruna descomposicion primaria que satisfaga la segunda propiedad simple-mente eliminando las componentes redundantes Qi.

Para satisfacer la primera condicion, usamos el siguiente lema.

Lema 2.40 Sean Q1, . . . , Qt ideales P -primarios. Sea Q = Q1 ∩ · · · ∩ Qt.Entonces Q es un ideal P -primario.

Demostracion. Tenemos que√

Q =√

Q1 ∩ · · · ∩Qt =√

Q1∩· · ·∩√

Qt = P .Nos falta ver que Q es primario. Sea f g ∈ Q con f 6∈ Q. Entonces existek tal que f 6∈ Qk y por lo tanto, existe m ∈ N tal que gm ∈ Qk. Entoncesg ∈ P . Como

√Q = P , obtenemos que gm ∈ Q como querıamos. ∇

23

En virtud de este lema, para satisfacer la primer condicion de una descom-posicion irredundante, cuando hay varios ideales P -primarios, tomamos lainterseccion de todos ellos y obtenemos un nuevo ideal P -primario.

Ası, toda descomposicion primaria se puede llevar a una descomposicionirredundante. Por lo tanto, todo ideal admite una descomposicion primariairredundante.

Ejemplo. Vimos que el ideal I = 〈xy, y2〉 admite la descomposicion I =I1 ∩ I2 = 〈y〉 ∩ 〈x, y2〉. Otra descomposicion primaria de I es I = J1 ∩J2 = 〈y〉 ∩ 〈x2, xy, y2〉. Es decir, que no hay unicidad en la descomposicionprimaria, ni siquiera tomando descomposiciones irredundantes.

Si tomamos radicales, obtenemos√

I1 =√

J1 = 〈y〉 y√

I2 =√

J2 = 〈x, y〉.Es decir que los ideales primos correspondientes coinciden. Esta propiedadvale siempre, y la probaremos a continuacion.

Usaremos el siguiente lema.

Lema 2.41 Sean Q ⊂ k[x] un ideal P -primario y f ∈ k[x]. Entonces

1. Si f ∈ Q, (Q : f) = 〈1〉.2. Si f 6∈ Q, (Q : f) es P -primario.

3. Si f 6∈ P , (Q : f) = Q.

Demostracion.

1. Si f ∈ Q, gf ∈ Q para todo g ∈ k[x], entonces (Q : f) = 〈1〉.2. Si f 6∈ Q y gf ∈ Q, g ∈ √

Q = P . Entonces Q ⊂ (Q : f) ⊂ P .Tomando radicales, obtenemos que

√(Q : f) = P . Para ver que es

primario, sea gh ∈ (Q : f), con gm 6∈ (Q : f) para ningun m. En-tonces gm 6∈ Q para ningun m. Pero ghf ∈ Q y como Q es primario,obtenemos que hf ∈ Q. Por lo tanto, h ∈ (Q : f) como querıamos.

3. Si f 6∈ P y g ∈ (Q : f) obtenemos que gf ∈ Q. Como fm 6∈ Q paraningun m, g ∈ Q. Para la otra inclusion, sea g ∈ Q. Entonces, gf ∈ Qy por lo tanto g ∈ (Q : f).

Ahora obtenemos el siguiente teorema de unicidad:

24

Teorema 2.42 Sea I ⊂ k[x] un ideal y sea I = Q1 ∩ · · · ∩ Qt una des-composicion primaria irredundante de I. Sean Pi =

√Qi, i = 1, . . . , t. La

cantidad de componentes y los ideales primos Pi, 1 ≤ i ≤ t no dependen dela descomposicion particular elegida.

Demostracion. Para probar el teorema, vamos a demostrar que los Pi sonexactamente los ideales primos que aparecen en el conjunto de ideales

√(I : f),

f ∈ k[x].

Si f ∈ k[x], (I : f) = (⋂

Qi : f) =⋂

(Qi : f). Entonces√

(I : f) =⋂ti=1

√(Qi : f) =

⋂f 6∈Qj

Pj por el Lema 2.41.

Como la descomposicion es irredundante, para cualquier i, 1 ≤ i ≤ t, ∃ gi ∈⋂j 6=i Qj rQi. Vale

√(I : gi) = Pi. Entonces todos los primos Pi aparecen

en el conjunto de ideales√

(I : f).

Recıprocamente, sea P primo tal que P =√

(I : f) para algun f ∈ k[x].Entonces P =

⋂f 6∈Qj

Pj . Por el Lema 2.29, debe ser P = Pj para algun j.∇

Definicion 2.43 Sea I ⊂ k[x] y sea I = Q1 ∩ · · · ∩Qt una descomposicionprimaria irredundante. Los ideales primos Pi =

√Qi se llaman primos

asociados de I. Los elementos minimales (con respecto a la inclusion) delconjunto de primos asociados, se llaman primos minimales o aislados. Losdemas se llaman primos inmersos.

Usaremos la notacion Ass(I) para referirnos a los primos asociados a I yMinAss(I) para referirnos a los primos minimales.

En el ejemplo I = 〈xy, y2〉 = 〈y〉 ∩ 〈x, y2〉, los ideales primos asociados sonP1 = 〈y〉 y P2 = 〈x, y〉. P1 es aislado y P2 es inmerso porque P1 ⊂ P2. Simiramos las variedades, V(P1) es la recta y = 0 y V(P2) es el punto (0, 0).V(P2) esta incluida en V(P1), por eso el nombre de inmersa.

En el ultimo ejemplo, vimos que no hay unicidad para la descomposicionprimaria general. Sin embargo, las componentes primarias correspondientesa primos aislados sı estan unıvocamente determinadas.

Teorema 2.44 Sea I ⊂ k[x] y sean P1, . . . , Pt los primos asociados a I.Sea I = Q1 ∩ · · · ∩Qt una descomposicion primaria de I tal que

√Qi = Pi,

1 ≤ i ≤ t. Si Pi es un primo minimal de I, entonces Qi es independientede la descomposicion primaria elegida.

25

La demostracion del teorema puede verse en [AM].

En el capıtulo 4, veremos que en el caso de ideales cero-dimensionales (esdecir, que tienen una cantidad finita de ceros en la clausura algebraica),todos los primos asociados son minimales y por lo tanto hay unicidad en ladescomposicion primaria.

Concluimos esta seccion con una propiedad sobre primos minimales.

Proposicion 2.45 Sea I ⊂ k[x] un ideal y sea P un ideal primo tal queI ⊂ P . Entonces P contiene a un ideal primo minimal asociado a I.

Demostracion. Si P ⊃ I = Q1 ∩ · · · ∩Qt, entonces P =√

P ⊃ √Q1 ∩ · · · ∩√

Qt = P1 ∩ · · · ∩ Pt. Por el Lema 2.29, P ⊃ Pi para algun i, 1 ≤ i ≤ s ypor lo tanto P contiene a un primo minimal asociado a I. ∇

Observacion. En virtud de esta proposicion, los primos minimales en elconjunto de ideales primos que contienen a I son siempre primos asociados.

26

Capıtulo 3

Bases de Grobner

Hasta ahora, vimos varias cuestiones del algebra conmutativa y la geometrıaalgebraica desde el punto de vista teorico. En esta seccion, resumimos elmetodo de las bases de Grobner, que nos permite responder preguntas yrealizar operaciones entre ideales algorıtmicamente. Las demostraciones queno hacemos aquı se pueden consultar en [CLO1].

Definicion 3.1 Un orden monomial en k[x] es una relacion > en Nn0 tal

que

1. > es un orden total en Nn0 .

2. a > b ⇒ a + c > b + c para todo a, b, c ∈ Nn0 .

3. > es un buen orden.

Definicion 3.2 Sea x = (x1, . . . , xn) ∈ k[x] y a = (a1, . . . , an) ∈ Nn0 .

Usaremos la notacion xa como abreviacion de xa11 . . . xan

n .

Dado f ∈ k[x], con f no nulo, y un orden monomial > fijado, escribimos

f = c xa + f ′

con c ∈ R, c 6= 0, y a′ < a para todo termino no nulo c′xa′ de f ′ con a′ 6= a.

Definimos

lt(f) = cxa, el monomio de cabeza de f

lc(f) = c, el coeficiente principal de f

lp(f) = xa, el producto de potencias de cabeza de f

multideg(f) = a, el multigrado de f.

27

Definicion 3.3 Dado un monomio τ = c xa, el grado total (o simplemente,el grado) de τ es deg(τ) = |a| = a1 + · · ·+ an. Definimos el grado total (ogrado) de un polinomio f ∈ k[x] como el maximo de los grados totales desus monomios.

Para un conjunto F ⊂ k[x] y un orden monomial >, definimos

Lt(F ) = 〈lt(f) / f ∈ F 〉

el ideal de monomios de cabeza de F , generado por los monomios de cabezade los polinomios de F .

Definimos lt(0) = 0, lc(0) = 0 y deg(0) = −∞.

Definicion 3.4 Decimos que f ∈ k[x] es reducido modulo F ⊂ k[x] si fes no nulo y ningun monomio de f pertenece a Lt(F ) (o equivalentemente,ningun monomio de f es divisible por ningun monomio lt(g), g ∈ F ). Encaso contrario, decimos que f es reducible modulo F .

Cuando f es reducible modulo F , podemos reducirlo y obtener un polinomioreducido, como vemos en el siguiente teorema (Teorema 2.3.3 de [CLO1]).

Teorema 3.5 (Existencia de Algoritmo de Division en k[x]) Sea > unorden monomial en Nn

0 . Sean F = {f1, . . . , fs} ⊂ k[x] y f ∈ k[x], entoncesf puede escribirse de la forma

f = a1f1 + · · ·+ asfs + r,

donde ai, r ∈ k[x] y r = 0 o r es reducido modulo F . Los polinomiosai y r pueden obtenerse algorıtmicamente de modo tal que multideg(f) ≥multideg(aifi) si aifi 6= 0.

El teorema sugiere la siguiente definicion.

Definicion 3.6 Con la notacion del teorema anterior, si f ∈ k[x] puedeescribirse de la forma

f = a1f1 + · · ·+ asfs + r,

donde ai, r ∈ k[x] y r = 0 o r es reducido modulo {f1, . . . , fs}, decimos quer es un resto en la division de f por F .

28

Observamos que en general, el resto r no es unico.

Definicion 3.7 Decimos que un subconjunto finito G de un ideal I ⊂ k[x]es una base de Grobner de I con respecto a un orden monomial > si Lt(G) =Lt(I).

El nombre base de Grobner sugiere que G genera a I. Efectivamente, tene-mos la siguiente propiedad.

Proposicion 3.8 Sea G una base de Grobner de I con respecto a un ordenmonomial >, entonces G es un conjunto de generadores de I.

Demostracion. Sea f ∈ I y G = {g1, . . . , gt}. Podemos escribir

f = a1g1 + · · ·+ atgt + r

donde r = 0 o r es reducido modulo G. Entonces r = f−(a1g1+· · ·+atgt) ∈I. Por lo tanto lt(r) ∈ Lt(I). Pero Lt(I) = Lt(G), por lo tanto debe serr = 0 y f ∈ 〈G〉. ∇

Corolario 3.9 Si G es una base de Grobner de I con respecto a un ordenmonomial >, todo elemento no nulo de I es reducible modulo G.

Demostracion. Se deduce de la demostracion de la proposicion anterior. ∇

Mas aun, hay unicidad en el resto de la division de un polinomio por unabase de Grobner.

Proposicion 3.10 Sea I ⊂ k[x] un ideal y sea G una base de Grobner de Icon respecto a un orden >. Entonces, dado f ∈ k[x], el resto en la divisionde f por G esta unıvocamente determinado.

Demostracion. Supongamos que existen dos restos distintos r1 y r2. Es decirf =

∑aigi + r1 =

∑bigi + r2. Entonces r1 − r2 ∈ I. Pero los monomios

de r1− r2 no son divisibles por ningun monomio de cabeza de los gi. Por lotanto, debe ser r1 − r2 = 0. ∇

Definicion 3.11 Si G es una base de Grobner de un ideal, escribimos fG

para el resto en la division de f por G.

29

Todo ideal en un anillo de polinomios admite una base de Grobner.

Proposicion 3.12 Sea I un ideal. Entonces existe G = {g1, . . . , gt}, unabase de Grobner de I.

Demostracion. Como k[x] es Noetheriano, existe un conjunto finito de ge-neradores de Lt(I). Por definicion, Lt(I) esta generado por los monomiosde cabeza de los polinomios de I. Y en el Teorema de la Base de Hilbertse demuestra que en realidad se puede extraer un conjunto finito de gene-radores del conjunto infinito dado, por lo tanto existen g1, . . . , gt ∈ I talesque Lt(I) = 〈lt(g1), . . . , lt(gt)〉. El conjunto G = {g1, . . . , gt} es una base deGrobner de I. ∇

Sin embargo, encontrar efectivamente una base de Grobner de un ideal dadoes una tarea mucho mas complicada. La primer solucion a este problemafue dada por Buchberger en su tesis doctoral, en el ano 1965.

Proposicion 3.13 Es posible calcular una base de Grobner de un ideal I ⊂k[x] a partir de cualquier conjunto de generadores.

El algoritmo propuesto por Buchberger puede verse en sus trabajos [Buch1]y [Buch2].

En general, la base de Grobner de un ideal no es unica, ni siquiera cuandofijamos el orden monomial. Sin embargo, bajo ciertas hipotesis sobre la basede Grobner, podemos obtener unicidad.

Definicion 3.14 Sea I ⊂ k[x] y sea > un orden monomial. Decimos queG es una base de Grobner reducida de I si

• G es una base de Grobner de I.

• lc(g) = 1 para todo g ∈ G.

• Para todo g ∈ G, ninguno de sus monomios esta en Lt(G− {g}).

Vale el siguiente teorema de unicidad (Proposicion 2.7.6 de [CLO1]).

Teorema 3.15 Sea I ⊂ k[x], I 6= {0}, y sea > un orden monomial. En-tonces I tiene una unica base de Grobner reducida para ese orden.

30

Enunciamos una propiedad importante de las bases de Grobner, que se de-duce del algoritmo propuesto por Buchberger y sera utilizada posteriormenteen las demostraciones de varios teoremas.

Proposicion 3.16 Sea I = 〈f1, . . . , fs〉 ⊂ k[x]. Sea k′ ⊂ k un subcuerpode k tal que todos los coeficientes de los polinomios fi estan en k′. Sea Gla base de Grobner reducida de I. Entonces, todos los coeficientes de lospolinomios de G estan en k′.

A continuacion, vemos algunas de las aplicaciones de bases de Grobner queutilizaremos mas adelante en los algoritmos de descomposicion.

3.1 Aplicaciones de bases de Grobner

3.1.1 Pertenencia al ideal

Sin duda, esta es una de las aplicaciones mas importantes de bases deGrobner.

Queremos saber si un polinomio pertenece a un ideal. Tenemos el siguienteresultado.

Proposicion 3.17 Sea I ⊂ k[x] y sea f ∈ k[x]. Sea G una base de Grobnerde I con respecto a un orden >. Entonces

f ∈ I ⇐⇒ fG = 0.

Demostracion. Si f ∈ I, como G genera a I, tenemos que f =∑

aigi, conai ∈ k[x]. Como el resto en la division por una base de Grobner es unico,obtenemos que f

G = 0. La otra implicacion es inmediata. ∇

Por lo tanto, podemos determinar la pertenencia de un polinomio a un idealusando el algoritmo de division que mencionamos en el Teorema 3.5.

3.1.2 Eliminacion de variables

Dado I ⊂ k[x], queremos calcular I ′ = I ∩ k[xs+1, . . . , xn] (los polinomiosde I que solo usan las variables xs+1, . . . , xn). El problema se reduce acalcular una base de Grobner de I en un orden apropiado, como vemos acontinuacion.

31

Definicion 3.18 Decimos que un orden monomial > en k[x] es un orden deeliminacion para x1, . . . , xs si cualquier monomio que contenga alguna de lasvariables x1, . . . , xs es mayor que cualquier monomio que no las contenga.Dicho de otra manera,

∀f ∈ k[x], lt(f) ∈ k[xs+1, . . . , xn] ⇒ f ∈ k[xs+1, . . . , xn].

Lema 3.19 Sea I un ideal en k[x] y sea > un orden de eliminacion parax1, . . . , xs. Si G = {g1, . . . , gt} es una base de Grobner de I, entonces

G′ = {g ∈ G / g ∈ k[xs+1, . . . , xn]}

es una base de Grobner de I ′ = I ∩ k[xs+1, . . . , xn] en el orden inducido por>.

Demostracion. Dado f ∈ I ′, como I ′ ⊂ I, existe gi ∈ G tal que lt(gi) | lt(f).Como lt(f) ∈ k[xs+1, . . . , xn], tambien lt(gi) ∈ k[xs+1, . . . , xn]. Entoncesgi ∈ G′. Por lo tanto Lt(G′) = Lt(I ′) y concluimos que G′ es una base deGrobner de I ′. ∇

Cuando > es un orden de eliminacion para un conjunto u de variables (u ⊂{x1, . . . , xn}, usaremos la notacion u >> xr u.

3.1.3 Interseccion de ideales

En los capıtulos siguientes, necesitaremos calcular intersecciones entre dosideales cualesquiera.

Lema 3.20 Sean I1 = 〈f1, . . . , fs〉 y I2 = 〈g1, . . . , gr〉 ideales en k[x]. Sea

J = 〈tf1, . . . , tfs, (1− t)g1, . . . , (1− t)gr〉 = t I1 + (1− t) I2 ⊂ k[x, t],

donde t es una nueva variable.

Entonces, I1 ∩ I2 = J ∩ k[x].

Luego, la interseccion puede calcularse por eliminacion de variables.

32

3.1.4 Cociente de ideales

Para calcular el cociente de ideales (definido en 2.2.4), usamos el siguientelema.

Lema 3.21 Sea I ⊂ k[x], y sea h ∈ k[x], h 6= 0. Sean f1, . . . , fs ∈ k[x]tales que I ∩ 〈h〉 = 〈f1h, . . . , fsh〉. Entonces (I : h) = 〈f1, . . . , fs〉.

Demostracion. Si f ∈ 〈f1, . . . , fs〉, entonces hf ∈ I y por lo tanto f ∈ (I : h).

Recıprocamente, sea f ∈ (I : h). Entonces hf ∈ I ∩ 〈h〉. Por lo tanto,hf =

∑si=1 αihfi. Simplificando, obtenemos que f ∈ 〈f1, . . . , fs〉, como

querıamos. ∇

Cuando queremos calcular el cociente con un ideal generado por varios poli-nomios, usamos el siguiente lema.

Lema 3.22 Sean I y H ideales en k[x]. Si H = 〈h1, . . . , hr〉, entonces

(I : H) =r⋂

i=i

(I : hi).

Demostracion. Si f ∈ (I : H), claramente hif ∈ I porque los hi estan enH. Recıprocamente, si f ∈ ⋂r

i=i(I : hi) y h ∈ H, escribiendo h =∑r

i=1 αihi

vemos que hf ∈ I. ∇

Para calcular la saturacion (I : H∞), podemos usar dos metodos. El primerose basa en la observacion hecha en la Seccion 2.2.4.

Sean I y H ideales en k[x]. Calculamos

(I : H) ⊂ (I : H2) ⊂ . . .

hasta encontrar m tal que (I : Hm) = (I : Hm+1). Para ese m vale (I :Hm) = (I : H∞).

Para encontrar m, en general resulta conveniente usar el siguiente lema:

Lema 3.23 Sean I, H1 y H2 ideales en k[x]. Entonces (I : (H1 · H2)) =((I : H1) : H2).

33

Demostracion. Sea f ∈ (I : (H1 ·H2)) y sean h1 ∈ H1 y h2 ∈ H2. Entoncesfh2h1 ∈ I. Por lo tanto, fh2 ∈ (I : H1) y concluimos que f ∈ ((I : H1) :H2).

Recıprocamente, sea f ∈ ((I : H1) : H2) y h = h1h2 ∈ H1 ·H2. Tenemos quefh2 ∈ (I : H1). Por lo tanto fh2h1 ∈ I y concluimos que f ∈ (I : (H1 ·H2)).∇

Por lo tanto, tomamos I(0) = I y calculamos I(j) =(I(j−1) : H

)hasta

encontrar m tal que I(m) = I(m+1).

De esta forma evitamos calcular Hm, que puede crecer muy rapidamente.

El inconveniente del metodo que acabamos de ver es que no tenemos unacota a priori para el valor de m.

En el caso particular de H = 〈h〉, podemos calcular (I : h∞) directamente.

Proposicion 3.24 Sean I ⊂ k[x] y h ∈ k[x]. Entonces

(I : h∞) = 〈I, ht− 1〉k[x, t] ∩ k[x].

Demostracion. Observemos primero que (ht)j − 1 ∈ 〈I, ht − 1〉k[x, t] paratodo j, puesto que (ht)j − 1 = (ht− 1)

((ht)j−1 + (ht)j−2 + · · ·+ 1

).

Sea ahora f ∈ (I : h∞). Entonces existe m ∈ N tal que fhm = g, con g ∈ I.Obtenemos

fhmtm = gtm

f((ht)m − 1) = gtm − f

f = gtm − f((ht)m − 1)

Por lo tanto, f ∈ 〈I, ht− 1〉k[x, t] ∩ k[x].

Recıprocamente, sea f ∈ 〈I, ht−1〉k[x, t]∩k[x]. Entonces f = α1g+α2(ht−1) con α1, α2 ∈ k[x, t] y g ∈ I. Como f esta en k[x], podemos tomar t = 1/hy obtenemos

f = α1(x, 1/h)g(x)

Tomando m suficientemente grande, hmα1(x, 1/h) ∈ k[x]. Entonces hmf ∈I y por lo tanto f ∈ (I : h∞). ∇

34

Capıtulo 4

Algoritmos dedescomposicion primaria

4.1 Herramientas

Vemos en esta seccion algunos algoritmos de descomposicion primaria yanalizamos la complejidad de los mismos. Probamos la mayorıa de los re-sultados, y para los que no demostramos senalamos una referencia.

Los algoritmos funcionan descomponiendo el ideal en ideales mas simples(es decir, escribiendo el ideal como interseccion de ideales mas simples).

Comenzamos viendo algunas herramientas comunes para descomponer ide-ales.

Lema 4.1 Sea I ⊂ k[x] un ideal, y sean f, g ∈ k[x].

1. Si fg ∈ I y 〈f, g〉 = 〈1〉, entonces I = 〈I, f〉 ∩ 〈I, g〉.2. Si fg ∈ I, entonces

√I =

√〈I, f〉 ∩

√〈I, g〉. (No es necesaria la

condicion 〈f, g〉 = 〈1〉.)3. Si (I : f) = (I : f2), entonces I = (I : f) ∩ 〈I, f〉.

De la misma forma, si (I : fm) = (I : fm+1), entonces I = (I :fm) ∩ 〈I, fm〉

35

Demostracion.

1. Claramente I ⊂ 〈I, f〉 ∩ 〈I, g〉. Para la otra inclusion, sea h ∈ 〈I, f〉 ∩〈I, g〉. Existen p1, p2 ∈ I y q1, q2 ∈ k[x] tales que

h = p1 + q1f = p2 + q2g.

Multiplicando la primer igualdad por g obtenemos

hg = p1g + q1fg.

Como fg ∈ I y p1 ∈ I, obtenemos hg ∈ I. De la misma forma, hf ∈ I.Como 〈f, g〉 = 〈1〉, sean α, β ∈ k[x] tales que 1 = αf + βg.

Entoncesh = h(αf + βg) = αhf + βhg ∈ I

porque cada sumando esta en I.

2. Si h ∈ √I, entonces h ∈√〈I, f〉 y h ∈

√〈I, g〉. Para la otra inclusion,

sea h ∈√〈I, f〉 ∩

√〈I, g〉 =

√〈I, f〉 ∩ 〈I, g〉. Existe m tal que hm ∈

〈I, f〉 ∩ 〈I, g〉. Por lo tanto, existen p1, p2 ∈ I y q1, q2 ∈ k[x] tales que

hm = p1 + q1f = p2 + q2g.

Multiplicando por g obtenemos p1g + q1fg = p2g + q2g2. Despejando

el ultimo termino,

q2g2 = p1g + q1fg − p2g.

Como fg ∈ I, los tres terminos de la derecha estan en I, por lo tanto,q2g

2 ∈ I.

Tenemos que

h2m = (p2 + q2g)2 = p22 + 2p2q2g + q2

2g2,

donde todos los terminos de la derecha estan en I.

Por lo tanto, h ∈ √I como querıamos.

3. Tenemos que probar la inclusion (I : f) ∩ 〈I, f〉 ⊂ I.

Sea h ∈ (I : f)∩〈I, f〉. Como h ∈ 〈I, f〉, existen p ∈ I y q ∈ k[x] talesque

h = p + qf.

36

Entoncesfh = fp + qf2,

donde fh ∈ I porque h ∈ (I : f) y fp ∈ I.

Por lo tanto, qf2 ∈ I. Esto implica que q ∈ (I : f2) = (I : f).Concluimos que qf ∈ I, de donde deducimos que h ∈ I.

4.2 Ideales cero-dimensionales

Comenzaremos analizando la descomposicion primaria de ideales en el casocero-dimensional.

Definicion 4.2 Un ideal I ⊂ k[x] es cero-dimensional si Vk(I) tiene unacantidad finita de puntos.

Por ejemplo, I = 〈x(x − 1), y(y − 2)〉 ⊂ C[x, y] es cero-dimensional porqueV(I) = {(0, 0); (0, 2); (1, 0); (1, 2)}.Por el contrario, J = 〈x2 + y2〉 ⊂ R[x, y] no es cero-dimensional. AunqueVR(J) = {(0, 0)} es finita, la variedad en la clausura algebraica VC(J) esinfinita.

Estudiemos algunas propiedades de los ideales cero-dimensionales.

Tenemos el siguiente resultado general:

Teorema 4.3 Sea I = 〈f1, . . . , fs〉 ⊂ k[x] un ideal. Entonces son equiva-lentes:

1. I es cero-dimensional.

2. Para cada i, 1 ≤ i ≤ n, existe gi ∈ k[xi], gi 6= 0, tal que I∩k[xi] = 〈gi〉.3. El k-espacio vectorial A = k[x]/I tiene dimension finita.

Demostracion.

37

(1 ⇒ 2) Dado i fijo, sean α1, . . . , αt todas las coordenadas i-esimas de lospuntos p ∈ Vk(I) (es decir, para todo p = (p1, . . . , pn) ∈ Vk(I), se tienepi ∈ {α1, . . . , αt}). Construimos el polinomio

f(xi) =t∏

j=1

(xi − αj)

Este polinomio se anula en Vk(I) y por lo tanto, pertenece a Ik[x](Vk(I)).

Consideremos por un momento que k es algebraicamente cerrado. Entonces,por el Nullstellensatz, existe mi tal que f(xi)mi ∈ I.

El conjunto I∩k[xi] es un ideal en k[xi]. Como k[xi] es un dominio principal,existe gi ∈ k[xi] tal que I ∩ k[xi] = 〈gi〉. Este gi no puede ser 0 porquef(xi)mi ∈ I ∩ k[xi].

El polinomio gi se puede encontrar usando bases de Grobner, mediante latecnica de eliminacion de variables presentada en 3.1.2, tomando un ordenmonomial de eliminacion con xi menor que todas las demas variables.

Si k no es algebraicamente cerrado, consideramos k, su clausura algebraica,y I = 〈f1, . . . , fs〉k[x1, . . . , xn].

Entonces existe gi ∈ k[x1, . . . , xn], gi 6= 0 tal que I ∩ k[xi] = 〈gi〉.Nuevamente, podemos encontrar el polinomio gi por eliminacion de varia-bles. Ahora, como todos los fi estan en k[x], las operaciones de bases deGrobner no salen de k. Por lo tanto, el polinomio gi que encontramos estaen k[x] y podemos tomar gi = gi.

(2 ⇒ 3) Como para cada i = 1, . . . , n, existe gi(xi) ∈ I∩k[xi]r{0}, A resultagenerado por {[xj1

1 . . . xjnn ], 0 ≤ ji < deg gi}, donde [. . . ] denota tomar clase.

(3 ⇒ 1) Como A tiene dimension finita D, los elementos [1], [xi], . . . , [xi]D

no pueden ser linealmente independientes, y por lo tanto existe un polinomiono nulo gi en I∩k[xi] para cada i. Luego Vk(I) ⊂ {p = (p1, . . . , pn)/gi(pi) =0, 1 ≤ i ≤ n}. ∇

Mas aun, la dimension exacta de A = k[x]/I se puede obtener directamenteinspeccionando una base de Grobner de I (Proposicion 5.3.4 de [CLO1]).

Teorema 4.4 Sea I ⊂ k[x] un ideal y > un orden monomial. Entoncesk[x]/I es isomorfo como k-espacio vectorial a S = 〈{xα/xα 6∈ Lt>(I)}〉.

38

Ejemplo. Sea I = 〈x3 + 3x2 + 2x, xy + x + 2y + 3, y2 + y〉 ⊂ C[x, y]. Losgeneradores son una base de Grobner de I en el orden lexicografico x > y.Por lo tanto, Lt(I) = 〈x3, xy, y2〉. En el siguiente grafico vemos cuales sonlos monomios divisibles por cada uno de los generadores de Lt(I).

� � �

Hay 4 monomios que no estan en Lt(I), por lo tanto dim(C[x, y]/I) = 4.

El teorema siguiente relaciona la cantidad de elementos en Vk(I) con ladimension del k-espacio vectorial k[x]/I (Proposicion 5.3.8 de [CLO1]).

Teorema 4.5 Sea I ⊂ k[x] un ideal cero-dimensional y sea A = k[x]/I.Entonces dimk(A) ≥ #(Vk(I)). La igualdad se da si y solo si el ideal I esradical.

Para obtener una igualdad que valga en todos los casos, necesitamos consi-derar la multiplicidad de las raıces, que definimos a continuacion.

Definicion 4.6 Dado p = (p1, . . . , pn), llamamos localizacion de k[x] en pal conjunto de fracciones f/g con f, g ∈ k[x] y g(p) 6= 0. Notamos a esteconjunto como k[x]〈x1−p1,...,xn−pn〉.

El conjunto k[x]〈x1−p1,...,xn−pn〉 es un subanillo del cuerpo de fracciones k(x).

39

Definicion 4.7 Sea I ⊂ k[x] un ideal cero-dimensional y sea p ∈ Vk(I).Llamamos multiplicidad de p en Vk(I) a la dimension del cociente

k[x]〈x1−p1,...,xn−pn〉/Ik[x]〈x1−p1,...,xn−pn〉.

Al considerar la multiplicidad, obtenemos la siguiente generalizacion (Coro-lario 4.2.5 de [CLO2]):

Teorema 4.8 Sea I ⊂ k[x] un ideal cero-dimensional. Entonces dim k[x]/Ies la cantidad de puntos en Vk(I), contados con multiplicidad.

Estudiamos ahora la descomposicion primaria de un ideal cero-dimensional.En la Seccion 4.3 (Proposicion 4.35 y Corolario 4.36) veremos que todos losideales primos asociados de un ideal cero-dimensional son ideales maximales,y por lo tanto primos aislados o minimales. Por lo tanto, un ideal cero-dimensional es primario si y solo si su radical es maximal, y ademas en virtuddel Teorema 2.44, la descomposicion primaria de un ideal cero-dimensionales unica.

El siguiente lema, que generaliza el Lema 4.3.1 de [Cox], nos permitira in-dividualizar las componentes primarias.

Lema 4.9 Sea I ⊂ k[x] un ideal cero-dimensional y sea I = Q1 ∩ · · · ∩Qt

su descomposicion primaria. Sea S ⊂ {1, . . . , t} un subconjunto de ındices.Supongamos que existe f ∈ k[x] tal que f ∈ Qj para j ∈ S y f 6∈ √

Qj paraj 6∈ S. En estas condiciones,

〈I, f〉 =⋂

j∈S

Qj

Demostracion. Como f ∈ Qj para j ∈ S tenemos que 〈I, f〉 ⊂ ⋂j∈S Qj .

Para ver la otra inclusion, tomamos g ∈ ⋂j∈S Qj . Para cada j 6∈ S, como

f 6∈ √Qj y

√Qj es maximal, podemos encontrar hj ∈ k[x] tal que 1+fhj ∈√

Qj . Por lo tanto, (1 + fhj)Nj ∈ Qj para algun Nj ≥ 1. Tenemos que∏

j 6∈S

(1 + fhj)Nj ∈⋂

j 6∈S

Qj .

Si expandimos el producto de la izquierda, podemos escribirlo como 1 + fhpara algun h ∈ k[x] y tenemos 1 + fh ∈ ⋂

j 6∈S Qj . Entonces

g(1 + fh) ∈⋂

j∈S

Qj ∩⋂

j 6∈S

Qj = I.

40

Entonces g = g(1 + fh) + f(−gh) ∈ I + 〈f〉 = 〈I, f〉 como querıamos. ∇

Ya estamos listos para ver el primer algoritmo. Observemos que cualquier al-goritmo de descomposicion primaria requiere de un algoritmo para factorizarpolinomios. Por ejemplo, en C[x] los ideales son principales y la descompo-sicion primaria de un ideal es exactamente la factorizacion en las potenciasde los factores lineales del generador del ideal. Por lo tanto, dado que no seconoce ningun algoritmo para factorizar polinomios de grado mayor o igualque 5, tampoco se conoce un algoritmo para calcular la descomposicion.

Mas adelante, veremos que los algoritmos de descomposicion primaria deanillos de cualquier cantidad de variables se reducen a factorizar polinomiosunivariados. Por lo tanto, debemos trabajar con cuerpos k tales que existaun algoritmo de factorizacion en k[x].

En este trabajo presentamos los algoritmos en Q[x] (aunque lo que hacemospuede extenderse a cualquier cuerpo con algoritmo de factorizacion).

4.2.1 El caso racional

Comenzamos con un caso particular que sirve para introducir en forma sim-ple las tecnicas que aplicamos.

Definicion 4.10 Decimos que un ideal I ⊂ k[x] tiene soluciones racionalessi todos los puntos de Vk(I) son puntos de kn, es decir si Vk(I) = Vk(I).

Al considerar el caso racional la descomposicion primaria adquiere una formamuy simple.

Notemos que si p = (p1, . . . , pn) ∈ kn, entonces {p} es una variedad. Enefecto, tenemos que {p} = V(〈x1 − p1, . . . , xn − pn〉), donde cada xi − pi ∈k[x]. Ademas la variedad es irreducible, porque esta formada por un unicopunto.

Dado I cero-dimensional con soluciones racionales, V(I) = {p1, . . . ,pD},V(I) = {p1} ∪ · · · ∪ {pD}

es la descomposicion de V(I) en variedades irreducibles.

Por lo tanto, en este caso, la descomposicion primaria de I es la interseccionde las componentes correspondientes a cada punto. Veamos primero unresultado teorico sobre la forma de las componentes primarias.

Usaremos el siguiente lema:

41

Lema 4.11 Sea p = (p1, . . . , pn) ∈ kn. Entonces M = 〈x1−p1, . . . , xn−pn〉es un ideal maximal de k[x].

Demostracion. Sea f ∈ k[x], f /∈ M . Aplicando el algoritmo de division,obtenemos

f = g1 · (x1 − p1) + · · ·+ gn · (xn − pn) + r,

con gi ∈ k[x], r ∈ k y r ∈ 〈M, f〉. Si r = 0, tendrıamos que f ∈ M . Por lotanto, r 6= 0 y entonces 〈M,f〉 = 1, lo que muestra que M es maximal. ∇

Proposicion 4.12 Sea I ⊂ k[x] un ideal cero-dimensional con solucionesracionales. La descomposicion primaria de I esta dada por

I =⋂

p∈V(I)

Ip

dondeIp = {f ∈ k[x] / ∃g ∈ k[x] : gf ∈ I y g(p) 6= 0}.

Demostracion. Probemos primero que los ideales Ip son primarios. Si p =(p1, . . . , pn), afirmamos que

√Ip = 〈x1 − p1, . . . , xn − pn〉. Para ver que

x1 − p1 ∈√

Ip, sea g1(x1) el generador de I ∩ k[x1]. Como p ∈ V(I),tenemos que g1(p1) = 0. Por lo tanto, (x1 − p1) | g1(x1) y existen g ∈ k[x1]y m ∈ N tales que

g1(x1) = (x1 − p1)m g(x1),

con g(p1) 6= 0.

Entonces (x1 − p1)m ∈ Ip y por lo tanto, (x1 − p1) ∈√

Ip.

Haciendo lo mismo para las demas variables, obtenemos la inclusion

〈x1 − p1, . . . , xn − pn〉 ⊂√

Ip.

La otra inclusion se deduce del hecho de que 〈x1−p1, . . . , xn−pn〉 es maximaly

√Ip no es todo el anillo porque p ∈ V(

√Ip).

Como√

Ip es maximal, concluimos que Ip es primario por la Proposi-cion 2.37.

Nos falta ver que I =⋂p∈V(I) Ip. Claramente I ⊂ Ip para todo p y por lo

tanto, I ⊂ ⋂p∈V(I) Ip.

42

Para ver la otra inclusion, sea f ∈ ⋂p∈V(I) Ip. Sean p1, . . . ,pD los puntos

de V(I). Entonces, existen h1, . . . , hD ∈ k[x] tales que

h1f ∈ I con h1(p1) 6= 0h2f ∈ I con h2(p2) 6= 0

...hDf ∈ I con hD(pD) 6= 0

Por lo tanto, V(I, h1, . . . , hD) = ∅. Entonces 1 ∈ 〈I, h1, . . . , hD〉 y existeh ∈ I tal que

1 = h +D∑

i=1

αihi.

Multiplicando por f , obtenemos

f = hf +D∑

i=1

αihif.

Como todos los sumandos estan en I, obtenemos f ∈ I. Por lo tanto,I =

⋂p∈V(I) Ip como querıamos. ∇

Este resultado nos dice la forma de la descomposicion primaria, pero nonos dice como construirla. Tenemos que encontrar los puntos de V(I) y lascomponentes Ip.

Lema 4.13 Sea I ⊂ k[x] un ideal cero-dimensional con soluciones racio-nales. Sea g(xn) el generador monico de I ∩ k[xn]. Entonces g se factorizag(xn) = (xn − α1)m1 . . . (xn − αt)mt, con αi ∈ k.

Demostracion. Si bien los ceros en V(I) son todos racionales, podrıa serque g(xn) tenga raıces en k r k, que luego no se extienden a elementos deV(I). Veamos que eso no puede pasar.

Supongamos que

g(xn) = (xn − α1)m1 . . . (xn − αt)mtg1(xn)mt+1 . . . gs(xn)mt+s

es la factorizacion de g en k[x], con αi ∈ k y gi irreducibles sin raıces en k.Como los gi son coprimos, tenemos que

I = 〈I, (xn−α1)m1〉∩· · ·∩〈I, (xn−αt)mt〉∩〈I, g1(xn)mt+1〉∩· · ·∩〈I, gs(xn)mt+s〉

43

por el Lema 4.1(1).

Como I tiene todas sus raıces racionales, Vk(〈I, gi(xn)mt+i〉) = ∅ para 1 ≤i ≤ s. Entonces 〈I, gi(xn)mt+i〉 = 〈1〉, por el Nullstellensatz.

Por lo tanto,

I = 〈I, (xn − α1)m1〉 ∩ · · · ∩ 〈I, (xn − αt)mt〉

y concluimos que (xn − α1)m1 . . . (xn − αt)mt ∈ I.

Entonces s = 0, como querıamos. ∇

Obtenemos la siguiente proposicion que nos permitira dar un algoritmo dedescomposicion primaria para el caso racional.

Proposicion 4.14 Sea I ⊂ k[x] un ideal cero-dimensional con solucionesracionales. Sea g(xn) el generador de I ∩ k[xn] y sea g(xn) = (xn −α1)m1 . . . (xn − αt)mt su factorizacion en irreducibles. Supongamos que elpolinomio xn − α1 se anula en un subconjunto V ⊂ V(I) de las raıces y nose anula en el resto. Es decir, los puntos de V(I) cuya ultima coordenadaes α1 son exactamente los puntos de V .

Entonces〈I, (xn − α1)m1〉 =

p∈V

Ip.

Demostracion. Llamemos f = (xn−α1)m1 . Tenemos que f ∈ Ip para p ∈ Vpor la definicion de Ip tomando g = (xn − α2)m2 . . . (xn − αt)mt . Ademasf no se anula en V(Ip) para p ∈ V(I) r V , y por lo tanto, f 6∈ √

Ip parap ∈ V(I)r V . El resultado es ahora consecuencia inmediata del Lema 4.9.

El siguiente corolario se obtiene recursivamente:

Corolario 4.15 Para cada i, 1 ≤ i ≤ n, sea gi(xi), el generador de I∩k[xi]y sea pi una raız de gi de multiplicidad mi. Sea p = (p1, . . . , pn).

Entonces

〈I, (x1 − p1)m1 , . . . , (xn − pn)mn〉 ={

Ip si p ∈ V(I)〈1〉 si p /∈ V(I)

44

Demostracion. Si p ∈ V(I), es inmediato de la proposicion anterior, mien-tras que si p 6∈ V(I), claramente V (〈I, (x1 − p1)m1 , . . . , (xn − pn)mn〉) = ∅y se concluye por el Nullstellensatz. ∇

Usando este corolario, presentamos un algoritmo muy simple para obtenerla descomposicion primaria de un ideal cero-dimensional en el caso racional.Si bien este algoritmo no es muy eficiente ya que realiza muchas evalua-ciones de polinomios, su interes es que es muy facil calcular su complejidaden el peor caso. El algoritmo modificado que presentamos despues tiene lacaracterıstica de que si bien en el peor caso tiene el mismo orden de comple-jidad, en la practica funciona mejor ya que evita evaluaciones de polinomiosinnecesarias.

Algoritmo 4.16 ZeroDecompositionRational1(I)

Input: I := 〈f1, . . . , fs〉 ⊂ Q[x], un ideal cero-dimensional, con solucionesracionales.

Output: Q1, . . . , Qt, las componentes primarias (irredundantes) de I.

1. Para cada i, 1 ≤ i ≤ n, calcular gi(xi), el generador de I ∩Q[xi].

2. Para cada i, 1 ≤ i ≤ n, factorizar

gi(xi) = (xi − p(i,1))m(i,1) . . . (xi − p(i,ti))

m(i,ti) .

3. Para cada eleccion p := (p1, . . . , pn), donde las coordenadas pi recorrenlas raıces de gi, chequear si p ∈ V(I).

4. Para cada p ∈ V(I), si mi es la multiplicidad de pi como raız de gi,definir

Qp = 〈I, (x1 − p1)m1 , . . . , (xn − pn)mn〉.

5. La descomposicion primaria de I es

I =⋂

p∈V(I)

Qp.

Complejidad del algoritmo de descomposicion

45

Analicemos la complejidad aritmetica del algoritmo sobreQ[x] que acabamosde presentar. Es decir, la cantidad de operaciones +,−, ·, / en Q que se re-alizan.

Los pasos mas costosos del algoritmo son el calculo de polinomios eliminantes(que se pueden obtener a partir de una base de Grobner) y la factorizacionde polinomios en Q[x]. Veamos primero la complejidad de cada uno estospasos.

Sea I = 〈f1, . . . , fs〉 ⊂ Q[x] y sea d el grado maximo de los polinomiosf1, . . . , fs.

Bases de Grobner

Notamos CG0(d, n, s) a la complejidad del calculo de una base de Grobnerde un ideal cero-dimensional. En [DFGS] se demuestra la siguiente cotasimplemente exponencial en la cantidad de variables, para d ≥ 2:

CG0(d, n, s) = s7dO(n2).

Polinomios eliminantes

El polinomio eliminante para la variable xi se puede obtener a partir de unabase de Grobner, tomando un orden tal que x r xi >> xi. Por lo tanto,podemos acotar la complejidad de calcular el polinomio eliminante por lacomplejidad del calculo de bases de Grobner.

Por el teorema de Bezout (ver por ejemplo [CGH, Thm. 17]), podemos aco-tar la dimension de k[x]/I por dn. Por lo tanto, los polinomios eliminantestienen grado acotado por dn.

Factorizacion de polinomios en Q[x]

Notamos CF(d) a la complejidad de factorizar un polinomio en Q[x] de gradod. En [LLL] se presenta un algoritmo en tiempo polinomial en el grado, porlo tanto CF(d) = dO(1).

Ahora, analizamos la complejidad total del algoritmo presentado de descom-posicion primaria.

1. En el primer paso se calculan n polinomios eliminantes. Esto tienecomplejidad

nCG0(d, n, s) = ns7dO(n2).

46

2. En el segundo paso, se factorizan los n polinomios eliminantes. Comoestos polinomios tiene grado acotado por dn, la complejidad es

n(dn)O(1) = ndO(n).

3. En el tercer paso, hay que chequear si p ∈ V(I) para a lo sumo(dn)n = dn2

puntos. Cada chequeo cuesta a lo sumo sdO(n) operaciones(calcular los dn monomios lleva d · dn operaciones, multiplicar cadauno de esos dn monomios por su coeficiente y sumarlos agrega 2dn

operaciones, y son s polinomios). Luego la complejidad de este pasoes

sdO(n2).

Entonces la complejidad total del algoritmo es

ns7dO(n2) + ndO(n) + sdO(n2) = s7dO(n2)

para d ≥ 2, que modulo la constante escondida en O(n2) es el mismo ordende complejidad que el calculo de una base de Grobner.

En la practica, el algoritmo anterior es malo porque realiza muchas evalua-ciones innecesarias. Mostramos ahora como se puede implementar el algo-ritmo en forma mas eficiente.

La Proposicion 4.14 nos permite separar las componentes primarias de I,como vemos a continuacion.

Sea I ⊂ k[x]. Sea gn(xn) = (xn − α1)m1 . . . (xn − αt)mt el generador deI ∩ k[xn]. Como los (xn − αi)mi son coprimos entre sı, usando el Lema 4.1,tenemos la siguiente descomposicion de I:

I = 〈I, (xn − α1)m1〉 ∩ 〈I, (xn − α2)m2〉 ∩ · · · ∩ 〈I, (xn − αt)mt〉

Ahora miramos cada uno de estos ideales, Ji = 〈I, (xn − αi)mi〉.Por la Proposicion 4.14, si Ji es primario, es una de las componentes pri-marias Ip.

Si no, es interseccion de componentes primarias y debemos descomponerlo.Supongamos que Ji =

⋂p∈S Ip. Tomamos gn−1(xn−1) el generador de Ji ∩

k[xn−1]. Si podemos factorizar gn−1, hacemos la misma descomposicion queen el caso anterior. Si no, pasamos a xn−2.

47

Como cada componente primaria corresponde a un punto distinto, una vezque hayamos recorrido todas las coordenadas, vamos a haber separado todaslas componentes primarias y obtendremos la descomposicion de I.

Resumimos todo en el siguiente algoritmo.

Algoritmo 4.17 ZeroDecompositionRational2(I)

Input: I := 〈f1, . . . , fs〉 ⊂ Q[x], un ideal cero-dimensional, con solucionesracionales.

Output: Q1, . . . , Qt, las componentes primarias (irredundantes) de I.

1. Calcular una base de Grobner G de I en el orden lexicografico x1 >· · · > xn.

2. Tomar j := n.

3. Repetir:

• Calcular gj tal que 〈gj〉 = I ∩Q[xj ]. (Si j = n se puede tomar gj

directamente de la base de Grobner y si j < n se puede calculara partir de la base de Grobner, como veremos mas adelante.)

• Factorizar gj = (xj − α1)m1 . . . (xj − αr)mr .

• j := j − 1

hasta obtener r > 1 (es decir, gj tiene mas de una raız) o j = 0.

4. Si r > 1:

• Construir Ii := 〈I, (xj − αi)mi〉 para 1 ≤ i ≤ r.

• return (ZeroDecompositionRational2(I1), . . .. . . , ZeroDecompositionRational2(Ir)).

5. Si r = 1 (debe ser j = 0), return(I).

Observacion. Cuando llamamos a ZeroDecompositionRational2 recursi-vamente, no es necesario recomenzar la busqueda tomando j := n. Podemosempezar directamente desde el ultimo j usado, porque ya sabemos que paralos j mayores, el generador de I ∩Q[xj ] va a tener una sola raız.

Hagamos un ejemplo en Singular. Sea

48

I = 〈z3 − 2z2 + z, yz2 − 2yz + y, y2z − y2 + yz2 − 4yz + 3y + z2 − z,

y3 + 2y2z − 3y2 − y − 3z2 + 4z, xz − x + yz − y,

xy2 − xz + y3 + y2z − y2 − yz − z2 + z, x2 + xz − x− y2 − yz + y〉.

Tomamos el orden lexicografico x > y > z y calculamos una base deGrobner.

> ring R = 0, (x,y,z), lp; // Define R = Q[x,y,z]> option(redSB);> groebner(I);_[1]=z3-2z2+z_[2]=yz2-2yz+y_[3]=y2z-y2+yz2-4yz+3y+z2-z_[4]=y3+2y2z-3y2-y-3z2+4z_[5]=xz-x+yz-y_[6]=xy2-xz+y3+y2z-y2-yz-z2+z_[7]=x2+xz-x-y2-yz+y

(La opcion redSB hace que se calcule una base de Grobner reducida cadavez que se pide una base de Grobner.)

Observando la base de Grobner, vemos que I∩Q[z] = z3−2z2+z = z(z−1)2.Por lo tanto, descomponemos I en dos ideales:

I = J1 ∩ J2

conJ1 := 〈I, z〉 y J2 := 〈I, (z − 1)2〉.

> ideal J1 = I, z;> groebner(J1);_[1]=z_[2]=y_[3]=x>> ideal J2 = I, (z-1)^2;> groebner (J2);_[1]=z2-2z+1

49

_[2]=y2z-y2-2yz+2y+z-1_[3]=y3-y2+4yz-5y-4z+5_[4]=xz-x+yz-y_[5]=xy2-x+y2-2yz+2y+2z-3_[6]=x2-y2-2yz+2y

El ideal J1 = 〈x, y, z〉 es maximal, y por lo tanto primario. El ideal

J2 = 〈z2 − 2z + 1, y2z − y2 − 2yz + 2y + z − 1, y3 − y2 + 4yz − 5y − 4z + 5,

xz − x + yz − y, xy2 − x + y2 − 2yz + 2y + 2z − 3, x2 − y2 − 2yz + 2y〉no sabemos si es primario. Entonces calculamos J2 ∩Q[y].

> ring R2 = 0, (x,z,y), lp; // Cambia el orden de las variables.> setring R2; // Pasa al nuevo anillo.> ideal J2 = imap (R, J2); // Copia el ideal J2 del anillo

// anterior al nuevo.> J2 = groebner(J2);> J2;_[1]=y4-2y3+2y-1_[2]=4zy-4z+y3-y2-5y+5_[3]=z2-2z+1_[4]=2xy2-2x+y3+y2-y-1_[5]=4xz-4x+4z-y3+y2+y-5_[6]=2x2-4z+y3-3y2-y+5> factorize (J2[1]);[1]:

_[1]=1_[2]=y+1_[3]=y-1

[2]:1,1,3

Entonces tenemos que

J2 ∩Q[y] = 〈y4 − 2y3 + 2y − 1〉 = 〈(y + 1)(y − 1)3〉,y descomponemos J2 en

J2 = J3 ∩ J4

conJ3 := 〈J2, y + 1〉 y J4 := 〈J2, (y − 1)3〉.

50

> ideal J3 = J2, y+1;> J3 = groebner(J3);> J3;J3[1]=y+1J3[2]=z-1J3[3]=x2-1

> ideal J4 = J2, (y-1)^3;> J4 = groebner (J4);> J4;J4[1]=y3-3y2+3y-1J4[2]=2zy-2z+y2-4y+3J4[3]=z2-2z+1J4[4]=2xy-2x+y2-1J4[5]=2xz-2x+2z-y2+2y-3J4[6]=x2-2z-2y+3

ObtenemosJ3 = 〈y + 1, z − 1, x2 − 1〉

yJ3 ∩Q[x] = 〈x2 − 1〉 = 〈(x− 1)(x + 1)〉.

Por lo tanto tenemos la descomposicion

J3 = J5 ∩ J6

con

J5 := 〈x− 1, y + 1, z − 1〉 y J6 := 〈x + 1, y + 1, z − 1〉,

que son maximales y por lo tanto primarios.

Para J4 tenemos que calcular J4 ∩Q[x].

> ring R3 = 0, (z,y,x), lp;> setring R3;> ideal J4 = imap (R2, J4);> J4 = groebner(J4);> J4;J4[1]=x3+x2-x-1J4[2]=yx2+2yx+y-x2-2x-1

51

J4[3]=y2+2yx-2x-1J4[4]=2z+2y-x2-3> factorize (J4[1]);[1]:

_[1]=1_[2]=x-1_[3]=x+1

[2]:1,1,2

Tenemos que J4∩Q[x] = 〈x3 +x2−x−1〉 = 〈(x−1)(x+1)2〉 y esto producela siguiente descomposicion:

J4 = J7 ∩ J8

conJ7 := 〈J4, x− 1〉 y J8 := 〈J4, (x + 1)2〉.

> ideal J7 = J4, x-1;> groebner(J7);_[1]=x-1_[2]=y-1_[3]=z-1> ideal J8 = J4, (x+1)^2;> groebner(J8);_[1]=x2+2x+1_[2]=y2+2yx-2x-1_[3]=z+y+x-1>

El ideal J7 = 〈x − 1, y − 1, z − 1〉 es maximal y por lo tanto primario. Elideal

J8 = 〈x2 + 2x + 1, y2 + 2yx− 2x− 1, z + y + x− 1〉no es tan simple, pero como ya recorrimos las tres variables x, y, z, el algo-ritmo nos asegura que J8 es un ideal primario. (Recordemos ademas que elideal J8 contiene a los polinomios (x + 1)2, (y − 1)3 y (z − 1)2, por lo tanto√

J8 = 〈x+1, y−1, z−1〉 que es maximal. Esto implica que J8 es primario.)

52

Juntando todo, obtuvimos la descomposicion primaria:

I = J1 ∩ J5 ∩ J6 ∩ J7 ∩ J8

= 〈x, y, z〉 ∩ 〈x− 1, y + 1, z − 1〉 ∩ 〈x + 1, y + 1, z − 1〉 ∩〈x− 1, y − 1, z − 1〉 ∩ 〈x2 + 2x + 1, y2 + 2yx− 2x− 1, z + y + x− 1〉.

No haremos con detalle el calculo de la complejidad teorica del algoritmo.Pero hacemos algunas observaciones para sacar mas provecho del calculo deuna sola base de Grobner, aunque tambien mostramos en particular que lacomplejidad del algoritmo en el peor caso es del mismo orden que la delalgoritmo anterior.

Polinomios eliminantes

En el paso 3, necesitamos calcular I ∩k[xj ] a partir de una base de Grobnercualquiera. Veamos como puede hacerse en forma eficiente.

Sea G = {g1, . . . , gt} una base de Grobner del ideal cero-dimensional I ⊂k[x]. Por el Teorema 4.3, existe f ∈ k[xj ]∩I no nulo tal que I ∩k[xj ] = 〈f〉.Sea f de grado m, f = amxm

j + · · ·+ a0.

Usamos ahora la estructura de espacio vectorial de A = k[x]/I y conside-ramos el conjunto S = {1, [xj ], [xj ]2, . . . , } en A. Sea m0 el menor enteropositivo tal que {1, [xj ], [xj ]2, . . . , [xj ]m0} es un conjunto linealmente depen-diente. Podemos encontrar m0 reduciendo los elementos xl

j modulo G yverificando si el resto que obtenemos es combinacion lineal unicamente delos [xj ]i con i < l.

Tenemos entonces

[0] = a0 + a1[xj ]1 + · · ·+ am0−1[xj ]m0−1 + [xj ]m0 .

Por lo tanto p(xj) = a0 + a1xj + · · ·+ am0−1xm0−1j + xm0

j y m0 = m.

Ademas, recordamos que los polinomios eliminantes tienen grado acotadopor dn.

Bases de Grobner

La base de Grobner reducida contiene a lo sumo dn2polinomios, de grado

maximo ndn. Estas cotas se obtienen a partir de la cota que vimos para elgrado de los polinomios eliminantes ([DFGS]).

En efecto, si los polinomios eliminantes tienen grado a lo sumo dn, losmonomios de cabeza de los elementos de una base de Grobner reducida

53

deben ser de la forma xα11 . . . xαn

n , con 0 ≤ αi ≤ dn. Por lo tanto, el gradomaximo es ndn y la cantidad de monomios posibles y por lo tanto de poli-nomios en la base es (dn)n = dn2

.

Complejidad de la recursion

En la primer llamada, se calcula la base de Grobner de I.

En las siguientes llamadas, se calculan nuevas bases de Grobner para ide-ales de la forma 〈I, h1, . . . , hs〉, con hi ∈ Q[x]. Si bien aparecen nuevospolinomios, los grados de los polinomios eliminantes no aumentan (los poli-nomios eliminantes de I siguen estando en 〈I, h1, . . . , hs〉). Por lo tanto, lascotas para la cantidad de polinomios y el grado maximo de los polinomiosen la base de Grobner se mantienen (ya que estas se deducen del grado delos polinomios eliminantes).

Por lo tanto, la complejidad teorica de este algoritmo es similar a la delalgoritmo anterior. No es esencialmente mejor ya que no se evita calcularuna base de Grobner pero tampoco es peor ya que en las nuevas bases deGrobner que se calculan ni los grados ni la cantidad de polinomios aumentanluego del primer paso.

4.2.2 El caso cero-dimensional general

Ahora, permitimos que la variedad tenga sus raıces fuera del cuerpo de base.En este caso, no es posible factorizar los polinomios eliminantes en terminoslineales sobre el cuerpo de base. Por lo tanto, existen variedades irreduciblescon mas de un punto.

Ejemplo. Sea I = 〈x2 − 2〉 ⊂ Q[x]. Entonces VQ(I) = {−√2,√

2}. Estavariedad es irreducible en Q porque cualquier polinomio en Q[x] que se anuleen −√2 se anula tambien en

√2.

Podrıamos intentar utilizar el algoritmo anterior, usando la factorizacionen Q aunque no se obtengan factores lineales. Sin embargo, veremos en elsiguiente ejemplo dado en [Mon], que el algoritmo no funciona.

Ejemplo. Sea I = 〈x2− 2, y2−2〉 ⊂ Q[x, y]. Tenemos I ∩Q[x] = 〈x2−2〉 yI ∩Q[y] = 〈y2 − 2〉. Ninguno de estos polinomios se puede factorizar sobreQ y el algoritmo anterior nos llevarıa a decir que I es primario.

Sin embargo, la descomposicion primaria de I es Q1 ∩Q2, con Q1 = 〈x2 −2, y2 − 2, x− y〉 y Q2 = 〈x2 − 2, y2 − 2, x + y〉.

54

Para verlo, probemos primero que Q1 y Q2 son primos (y por lo tanto,primarios).

Q1 = 〈x2− 2, y2− 2, x− y〉 = 〈x2− 2, x− y〉 porque y2− 2 = (x2− 2)− (x+y)(x− y). Ahora, Q[x, y]/〈x− y〉 ∼= Q[x]. Entonces Q[x, y]/〈x2− 2, x− y〉 ∼=Q[x]/〈x2−2〉. Como x2−2 es irreducible en Q, Q[x]/〈x2−2〉 es un dominioıntegro, luego Q1 es primo. Analogamente probamos que Q2 es primo.

Nos falta ver que I = Q1 ∩Q2. Tenemos que I es radical, porque Q/I tienedimension 4 y VQ(I) tiene 4 puntos. Aplicando el Lema 4.1(2), obtenemos

I =√

I =√〈I, x− y〉 ∩

√〈I, x + y〉,

donde usamos que x2 − y2 = (x− y)(x + y) ∈ I.

El ideal Q1 = 〈x2−2, y2−2, x−y〉 es radical porque es primo. Analogamente,Q2 es radical. Concluimos que

I = Q1 ∩Q2

y esa es su descomposicion primaria.

Si miramos la variedad, vemos que VQ(I) tiene cuatro puntos, y se descom-pone en dos conjuntos, VQ(Q1) contiene los puntos sobre la recta y = x yVQ(Q2) contiene los puntos sobre la recta y = −x.

�� �

��

x

y

Ninguno de los polinomios x2 − 2 y y2 − 2 separa las dos variedades. Lasolucion para este problema es buscar algun cambio de variables en el quealguna de las variables separe las variedades. Esto es lo que hace el algoritmopropuesto en [GTZ], que analizamos a continuacion.

55

Definicion 4.18 Sea I ⊂ k[x] un ideal cero-dimensional. Decimos que xn

separa los puntos de Vk(I) (o si no hay confusion, que xn separa puntos) silas ultimas coordenadas de todos los puntos de Vk(I) son distintas.

Cuando xn separa puntos y el ideal I es maximal, la base de Grobner de Iadquiere una forma particular:

Proposicion 4.19 Sea M ⊂ k[x] un ideal maximal cero-dimensional talque xn separa los puntos de V(M). Sea G una base de Grobner reducidacon polinomios monicos de M en un orden lexicografico x r xn >> xn.Entonces G tiene la siguiente forma:

G = {x1 − g1(xn); . . . ; xn−1 − gn−1(xn); gn(xn)}

con gn irreducible.

Este es un caso particular del shape lemma que enunciamos y demostramosen su forma general un poco mas adelante (Proposicion 4.26). Decimostambien que G es una resolucion geometrica o representacion racional uni-variada para M .

Tenemos el siguiente corolario

Corolario 4.20 Sea I ⊂ k[x] un ideal cero-dimensional tal que xn separapuntos. Entonces todos los primos asociados tienen una representacionracional univariada. Ademas, si Pi y Pj son dos primos asociados de I,se cumple que los generadores de Pi ∩ k[xn] y Pj ∩ k[xn] no tienen raıces encomun.

Demostracion. Si P es un primo asociado de I, Vk(P ) ⊂ Vk(I), por lotanto xn separa los puntos de Vk(P ). Como I es cero-dimensional, todos losprimos asociados son maximales y usando la proposicion anterior obtenemosque P admite una representacion racional univariada.

Para la ultima afirmacion, sean pi el generador de Pi∩k[xn] y pj el generadorde Pj ∩ k[xn]. Supongamos que existe α ∈ k raız de pi y de pj . Usandola representacion racional univariada de Pi y Pj , vemos que existen a =(a1, . . . , an) ∈ Vk(Pi) y b = (b1, . . . , bn) ∈ Vk(Pj) tales que an = bn = α.Esto contradice la hipotesis de que xn separa los puntos de Vk(I). Por lotanto, pi y pj no tienen raıces en comun. ∇

56

Cuando xn separa los puntos de Vk(I), la siguiente proposicion nos dicecomo obtener la descomposicion primaria.

Proposicion 4.21 Sea I ⊂ k[x] un ideal cero-dimensional. Sea 〈g〉 = I ∩k[xn], g = gm1

1 . . . gmtt , gi irreducible (monico), gi 6= gj. Entonces

I =t⋂

i=1

〈I, gmii 〉.

Si ademas xn separa puntos, 〈I, gmii 〉 es un ideal primario para todo i.

Demostracion. Por el Lema 4.1, tenemos que I = 〈I, gm11 〉∩〈I, gm2

2 ·· · ··gmtt 〉.

Usando inductivamente el lema, obtenemos I = 〈I, gm11 〉 ∩ 〈I, gm2

2 〉 ∩ · · · ∩〈I, gmt

t 〉Para la segunda afirmacion, vamos a probar que 〈I, gmi

i 〉 tiene un unico primoasociado y por lo tanto, resulta primario. Sea P un ideal primo asociado a〈I, gmi

i 〉. Dado que I ⊂ 〈I, gmii 〉, tenemos I ⊂ P . Entonces existe un primo

P ′ asociado a I tal que I ⊂ P ′ ⊂ P , por la Proposicion 2.45. Como I escero-dimensional, todos los primos asociados son maximales. Por lo tanto,P ′ = P . Es decir que los primos asociados de 〈I, gmi

i 〉 deben ser primosasociados de I.

Sean P1, . . . , Pl los primos asociados de I y sea Pi ∩ k[xn] = 〈pi〉. Comosuponemos que xn separa puntos, tenemos que pi y pj son coprimos parai 6= j. Por lo tanto,

l⋂

i=1

(Pi ∩ k[xn]) =l⋂

i=1

〈pi〉 = 〈l∏

i=1

pi〉.

A la vez, tenemos que

l⋂

i=1

(Pi ∩ k[xn]) = (l⋂

i=1

Pi) ∩ k[xn] =√

I ∩ k[xn] =√

I ∩ k[xn].

Entonces 〈∏li=1 pi〉 =

√I ∩ k[xn] =

√〈g〉. Esto implica que

∏pi divide a

g y que g divide a una potencia de de∏

pi. Por lo tanto, t = l y podemossuponer pi = gi.

Concluimos que 〈I, gmii 〉 esta incluido en uno solo de los primos asociados

Pi. Por lo tanto Ass(〈I, gmii 〉) = {Pi}.

57

Como no conocemos los puntos de V(I), no podemos saber a priori si unavariable separa los puntos de V(I). Una posibilidad es hacer un cambioaleatorio de variables y calcular la probabilidad de que luego del cambio devariables, xn separe puntos.

Dado a = (a1, . . . , an−1) ∈ kn−1, definimos el cambio de variables

φa : k[x] → k[x]xi 7→ xi para 1 ≤ i ≤ n− 1xn 7→ xn +

∑n−1i=1 aixi.

Proposicion 4.22 Sea k un cuerpo de caracterıstica 0, y sea I ⊂ k[x] unideal cero-dimensional. Entonces existe un conjunto abierto de Zariski novacıo U ⊂ kn−1 tal que para todo a ∈ U , el cambio de coordenadas φa separalos puntos de V(I).

Demostracion. Queremos que φa(xn) = xn +∑n−1

i=1 aixi tome valores distin-tos en los puntos de V(I). Es decir, si p1, p2 ∈ V(I) con p1 6= p2, entoncesφa(p1)− φa(p2) 6= 0. Consideramos el siguiente polinomio

f(a) =∏

p1,p2∈V(I)p1 6=p2

(φa(p1)− φa(p2)

). (4.1)

Se cumple que φa separa puntos ⇐⇒ f(a) 6= 0.

Luego tomamos el conjunto de Zariski abierto U = kn−1 \V(f). ∇

Esta propiedad suele leerse ası: “bajo casi cualquier cambio de coordenadas,xn separa puntos”.

Sin embargo, hacer un cambio de coordenadas cualquiera puede provocarun crecimiento desmedido en los coeficientes de una base de Grobner. Re-sulta conveniente tomar coeficientes ai enteros y pequenos. Al limitarnosa un conjunto discreto, no podemos asegurar que casi cualquier cambio decoordenadas funcione.

Queremos calcular una probabilidad de que el cambio de variables funcione.

Usamos el siguiente teorema de [Zip, Lemma 1], [Sch]:

58

Teorema 4.23 (Schwartz-Zippel) Sea f(x1, . . . , xn) ∈ k[x] un polinomiono nulo de grado c. Sea S ⊂ k y sean r1, . . . , rn ∈ S elegidos en formaaleatoria independientemente y uniformemente. Entonces

Pr(f(r1, . . . , rn) = 0) ≤ c

| S | ,

donde Pr indica la probabilidad.

En nuestro caso, para aplicar el teorema alcanza con calcular el grado delpolinomio f definido en la formula (4.1). Tenemos que f es un polinomioen los ai, y cada factor tiene grado 1 en los ai. Entonces el grado de f esigual a la cantidad de factores. Si V(I) = {p1, . . . ,pD},

deg(f) =(

D

2

)

Aplicando el teorema, obtenemos el siguiente lema.

Lema 4.24 Sea I ⊂ k[x] un ideal cero-dimensional, con a lo sumo D cerosy sea S ⊂ k. Sea φa el cambio de variables definido anteriormente, conai ∈ S, 1 ≤ i ≤ n − 1 elegidos en forma aleatoria independientemente yuniformemente. Entonces

Pr(φa(pi) 6= φa(pj) ∀pi,pj ∈ V(I)

) ≥ 1−(D2

)

| S |

La cantidad D de ceros de I se puede acotar mediante el teorema de Bezoutgracias al Teorema 4.8: si I = 〈f1, . . . , fs〉 y d = max{deg fi, 1 ≤ i ≤ s}, setiene D ≤ dn. Con esta cota, para obtener la probabilidad que deseemos,basta tomar un conjunto S ⊂ k suficientemente grande.

Ası obtenemos el siguiente algoritmo probabilıstico.

Algoritmo 4.25 ZeroDecompositionGeneral1(I)

Input:

• I := 〈f1, . . . , fs〉 ⊂ Q[x] un ideal cero-dimensional, donded := max{deg(fi), 1 ≤ i ≤ s}.

59

• p ∈ R, 0 < p < 1, la probabilidad requerida de que el algoritmo de-vuelva un resultado correcto.

Output: Q1, . . . , Qt, las componentes primarias (irredundantes) de I conprobabilidad mayor o igual que p.

1. Sea r tal que 1 − (dn

2 )2r ≥ p. Realizar un cambio de coordenadas φa,

con a = (a1, . . . , an−1), ai ∈ Z, elegidos en forma aleatoria, indepen-dientemente y uniformemente en el intervalo (−r; r].

2. Fijando un orden monomial tal que xr xn >> xn, calcular una basede Grobner G de I.

3. Calcular el polinomio eliminante g tal que 〈g〉 = I ∩ k[xn].

4. Factorizar g = gm11 . . . gmt

t , con gi irreducibles distintos.

5. Para i := 1, . . . , t, sea Qi := φ−1a (〈I, gmi

i 〉).6. I := Q1 ∩ · · · ∩Qt es la “descomposicion primaria” de I.

Calculamos la probabilidad de exito y la complejidad de este algoritmo:

Por el teorema de Bezout, la cantidad de raıces en V(I) esta acotada pordn. Entonces la probabilidad de que φa(xn) separe variables es

1−(dn

2

)

2r≥ p.

El cambio de variables no modifica la cantidad de polinomios ni el grado delos mismos, porque que es un cambio de variables lineal.

El calculo de una base de Grobner tiene complejidad CG0(d, n, s). El poli-nomio eliminante en xn se obtiene directamente de la base de Grobner. Elgrado esta acotado por dn. Finalmente, factorizar el polinomio eliminantetiene complejidad CF(dn).

Por lo tanto, la complejidad del algoritmo es CG0(d, n, s) + CF(dn) =s7dO(n2) + dO(n) = s7dO(n2).

En la practica, este algoritmo tiene algunas desventajas. La primera es queun cambio de variables como el que usamos en general aumenta la cantidadde monomios en los polinomios y por lo tanto provoca que el algoritmo

60

sea mas lento (aunque los grados y por lo tanto la complejidad teorica noaumente).

Otra desventaja es que, al no saber si el cambio de coordenadas separo lospuntos, no podemos estar seguros de que los ideales que obtenemos seanprimarios, sino que tenemos una cierta probabilidad de que el resultado seaefectivamente la descomposicion primaria del ideal.

A continuacion presentamos el Shape Lemma en su version mas general, quepermite verificar si el cambio de coordenadas separo los puntos y a la vez elideal resultante es primario.

Proposicion 4.26 Sea I ⊂ k[x] un ideal cero-dimensional. Sea G una basede Grobner reducida de

√I en un orden lexicografico > tal que xrxn >> xn.

Entonces xn separa los puntos de Vk(I) si y solo si G tiene la siguienteforma:

G = {x1 − g1(xn); . . . ; xn−1 − gn−1(xn); gn(xn)}con gn sin raıces multiples en k.

Demostracion.

(⇒): Suponemos primero k = k. Sea gn ∈ k[xn] el generador monico de√I ∩k[xn]. Sea V = Vk(I) = Vk(

√I) y sea p = (p1, . . . , pn) ∈ V . Entonces

V ⊂ V(gn) implica que g(pn) = 0. Luego, como por hipotesis todos los pn

son distintos, debe ser∏p∈V (xn− pn) | gn. Por otro lado,

∏p∈V (xn− pn) ∈

I(V ) ∩ k[xn] =√

I ∩ k[xn] = 〈gn〉 implica que gn |∏p∈V (xn − pn), luego los

dos polinomios son iguales (y gn resulta sin raıces multiples por ser√

I unideal radical).

Sea ahora gi(xn) el unico polinomio de grado menor que #V que satisfaceque para todo p = (p1, . . . , pn) ∈ V , gi(pn) = pi. Luego el polinomioxi − gi(xn) ∈ I(V ) =

√I. Concluimos que

〈x1 − g1(xn), . . . , xn−1 − gn−1(xn), gn(xn)〉 ⊂√

I.

Obtenemos la igualdad comparando las variedades por el Teorema 4.5. A-demas esta claro que estos generadores forman la base de Grobner reducidade√

I con respeto a >.

Si k no es algebraicamente cerrado, concluimos observando como en la de-mostracion del Teorema 4.3 pues todos los calculos para obtener la base deGrobner se hacen sobre el cuerpo de base k.

61

(⇐) Recıprocamente, si G = {x1−g1(xn); . . . ; xn−1−gn−1(xn); gn(xn)}, seaV = Vk(

√I). Tenemos que

V = {p = (p1, . . . , pn) ∈ kn

/ gn(pn) = 0, pi = gi(pn), 1 ≤ i ≤ n− 1},

y claramente xn separa los puntos de V pues gn no tiene raıces multiples.∇

Este criterio es facil de verificar, pero requiere calcular√

I (que puede ha-cerse mediante la Proposicion 5.2 que veremos mas adelante) y una basede Grobner. Existe otro metodo propuesto en [GP] que demostramos aquıen una forma clarificada, que no requiere calcular radicales. El metodo de-termina si cada uno de los ideales que se obtienen en la descomposicionprimaria de la Proposicion 4.21 cumple que es primario y xn separa lospuntos de su variedad.

Proposicion 4.27 Sea I ⊂ k[x] un ideal propio. Entonces las siguientescondiciones son equivalentes.

1. I es cero-dimensional, primario y xn separa los puntos de V(I).

2. Sea G una base de Grobner reducida de I con respecto al orden lexi-cografico x1 > · · · > xn. Entonces existen g1(x1, . . . , xn), g2(x2, . . . , xn),. . . , gn(xn) ∈ G, g1(xn), g2(xn), . . . , gn(xn) ∈ k[xn], con gn irreducible,y m1, . . . , mn ∈ N tales que

(a) gn(xn) = gn(xn)mn;

(b) Para 1 ≤ j ≤ n− 1,

gj(xj , . . . , xn) ≡ (xj − gj)mj (mod Mj+1k[xj , . . . , xn]),

donde Mj+1 = 〈xj+1 − gj+1, . . . , xn−1 − gn−1, gn〉.

Demostracion.

(2 ⇒ 1) La condiciones en (2) implican inductivamente que los polinomiosgn, xn−1−gn−1, . . . , x1−g1 pertenecen todos a

√I. Luego, como I es propio,

√I = 〈x1 − g1, . . . , xn−1 − gn−1, gn〉

que es un ideal cero-dimensional maximal, y xn separa los puntos de V(√

I).

62

Por lo tanto, por la Proposicion 2.37, I es primario. Ademas, como V(√

I) =V(I), I es cero-dimensional y xn separa los puntos de V(I).

(1 ⇒ 2) Dado que I es cero-dimensional, primario, y xn separa los puntosde V(I), tenemos que M :=

√I es maximal y, por el Shape Lemma, de la

forma

M = 〈x1 − g1(xn), . . . , , xn−1 − gn−1(xn), gn(xn)〉 con gn irreducible.

Para 1 ≤ j ≤ n, definimos Ij := I ∩ k[xj , . . . , xn] y Mj :=√

Ij enk[xj , . . . , xn].

Vemos que Mj = 〈xj−gj(xn), . . . , , xn−1−gn−1(xn), gn(xn)〉 pues este ultimoideal es maximal contenido en Mj . Ası, Ij resulta cero-dimensional, primarioy xn separa los puntos de V(Ij).

En primer lugar, In := I ∩ k[xn] = 〈gn(xn)〉 para algun gn ∈ G por serIn principal y G ∩ k[xn] base de Grobner de In por la eleccion del orden.Ademas

√In = Mn = 〈gn〉 para algun gn irreducible al ser Mn maximal.

Esto implica que gn = gmnn para algun mn ∈ N (pues el radical esta generado

por la parte libre de cuadrados). Esto prueba la primer afirmacion.

En segundo lugar, queremos probar que dado j < n y definido Mj+1, existengj(xj , . . . , xn) ∈ G, gj(xn) ∈ k[xn] y mj ∈ N tales que

gj(xj , . . . , xn) ≡ (xj − gj)mj (mod Mj+1k[xj , . . . , xn]).

Por ser Ij cero-dimensional en k[xj , . . . , xn] y G ∩ k[xj , . . . , xn] una base deGrobner reducida de Ij , existe en G un unico polinomio gj con termino decabeza puro en xj .

Afirmamos que

Ij + Mj+1k[xj , . . . , xn] = 〈gj〉+ Mj+1k[xj , . . . , xn]. (4.2)

La inclusion ⊇ es trivial. Para ⊆ alcanza con probar que todo g ∈ G ∩k[xj , . . . , xn], g 6= gj , pertenece a Mj+1k[xj , . . . , xn]. Vamos a mostrar algomas fuerte: que si g = psx

sj + · · · + p0 con pi ∈ k[xj+1, . . . , xn], entonces

pi ∈ Mj+1, 0 ≤ i ≤ s.

Observemos que como G es reducida, s ≤ mj := degxjgj . Probemos en

primer lugar que ps ∈ Mj+1:

63

Consideramos el conjunto J de todos los coeficientes principales con respectoa xj (lcxj ) de polinomios en Ij con grados en xj menores que mj , union el{0}, es decir

J := { p ∈ k[xj+1, . . . , xn] : ∃ f ∈ Ij con degxjf < mj tq lcxjf = p } ∪ {0}.

El conjunto J resulta ser un ideal propio de k[xj+1, . . . , xn], e Ij+1 ⊆ J puesIj+1 ⊆ Ij . Esto implica que Mj+1 ⊆

√J , es decir

√J = Mj+1, y por lo

tanto J ⊆ Mj+1.

Por consiguiente, dado que para g = psxsj + · · · + p0 ∈ G, g 6= gj , tenemos

que s < mj , entonces ps ∈ J ⊆ Mj+1.

Considerando ahora el polinomio p′ := xmj−sj g − psgj ∈ Ij , vemos que se

anulan los coeficientes principales y se obtiene un polinomio cuyo coeficienteprincipal es ps−1−psp (p es algun coeficiente de gj), y deducimos de ahı queps−1 pertenece a J . Si escribimos p′ =

∑m−1i=0 p′ix

ij , obtenemos que p′m−1 ∈ J

y p′i ≡ pi+s−m mod I, para i = m− s, . . . ,m− 1. Por lo tanto, procediendoinductivamente concluimos que para 0 ≤ i ≤ s, pi ∈ Mj+1 y por lo tantog ∈ Mj+1k[xj , . . . , xn] como querıamos a probar. Hemos probado la igualdad(4.2).

Sea ahora el cuerpo k′ := k[xj+1, . . . , xn]/Mj+1 y el morfismo natural deproyeccion de coeficientes:

Φ : k[xj , . . . , xn] −→ k′[xj ].

Por un lado, Φ(Ij) = Φ(Ij + Mj+1k[xj , . . . , xn]) = Φ(〈gj〉) = 〈Φ(gj)〉, y porotro lado, dado que

√Φ(Ij) = Φ(

√Ij) = Φ(Mj) pues Mj+1 ⊆ Mj , tenemos

que√

Φ(Ij) = 〈Φ(xj − gj(xn))〉.Concluimos que existe r ∈ N tal que Φ(gj) = Φ(xj − gj(xn))r, es decir

gj(xj , . . . , xn) ≡ (xj − gj(xn))r (mod Mj+1k[xj , . . . , xn]).

Aquı claramente r = mj por ser monicos en xj ambos polinomios. ∇

Cuando un ideal I cumple alguna de estas condiciones, decimos que I esprimario en posicion general.

Veamos como verificar si un ideal I cumple la segunda condicion de laproposicion. Sea G una base de Grobner de I. Sean gj+1, . . . , gn ∈ G y

64

gj+1(xn), . . . , gn(xn) ∈ k[xn]. Queremos saber si existen gj ∈ G, gj(xn) ∈k[xn] y mj ∈ N tales que

gj(xj , . . . , xn) ≡ (xj − gj)mj (mod Mj+1k[xj , . . . , xn]),

donde Mj+1 := 〈xj+1 − gj+1, . . . , xn−1 − gn−1, gn〉.Como vimos en la demostracion, debemos elegir gj el unico polinomio de Gcuyo monomio de cabeza es puro en xj . Suponemos lt(gj) = xm

j . Debe sermj = m.

Sea h ∈ k[xj+1, . . . , xn] el coeficiente de xj+1 de gj mirado como polinomioen xj . Desarrollando (xj − gj)mj , obtenemos que

h ≡ −mj gj (mod Mj+1k[xj , . . . , xn]).

Si tomamos gj = − hmj

, obtenemos que gj debe cumplir

gj ≡(

xj +h

mj

)mj

.

Por lo tanto, obtenemos el siguiente algoritmo

Algoritmo 4.28 PrimaryTest(I)

Input: I := 〈f1, . . . , fs〉 ⊂ k[x] un ideal cero-dimensional.

Output:

• TRUE si I es primario en posicion general.

• FALSE en caso contrario.

1. Calcular G, una base de Grobner reducida de I con respecto al ordenlexicografico x1 > · · · > xn.

2. Tomar gn el unico polinomio de G puro en xn y factorizarlo.

3. Si gn = (fm) con f irreducible,

gn := f , mn := m y Mn := 〈f〉.Si no,

result := FALSE.

65

4. Para j = (n− 1), . . . , 1:

• Tomar gj := el unico polinomio de G con monomio de cabezapuro en xj.

• mj := el grado de gj en xj.

• h := el coeficiente de xmj−1j de gj mirado como polinomio en xj.

• gj := − hmj

• Si gj ≡ (xj − gj)mj (mod Mj+1k[xj , . . . , xn]),

Mj := 〈xj+1 − gj+1, . . . , xn−1 − gn−1, gn〉Si no,

return(FALSE)

5. return(TRUE).

En la practica, entonces, resulta conveniente usar el siguiente algoritmo,que verifica si los ideales que se obtienen son primarios y realiza cambios decoordenadas solo cuando son necesarios.

Algoritmo 4.29 ZeroDecompositionGeneral2(I)

Input: I := 〈f1, . . . , fs〉 ⊂ k[x] un ideal cero-dimensional.

Output: Q1, . . . , Qt, las componentes primarias (irredundantes) de I.

1. Calcular una base de Grobner G de I con respecto a algun orden.

2. Calcular el polinomio eliminante gn tal que 〈gn〉 = I ∩ k[xn]. (Usandoel algoritmo de la seccion 4.2.1 o directamente de la base de Grobnersi usamos un orden tal que xr xn >> xn.)

3. Factorizar g = gm11 . . . gmr

r , con gi irreducibles.

4. Para i := 1, . . . , r, sea Qi := 〈I, gmii 〉.

• Si Qi es primario en posicion general, result := result ∪Qi.

• Si no, hacer el cambio de coordenadas φa(xn) = xn +∑n−1

i=1 aixi,con ai ∈ k.result := result ∪ φ−1

a (ZeroDecompositionGeneral2(Qi)).

66

Como el paso mas costoso es el calculo de bases de Grobner, la complejidadteorica de este algoritmo es similar a la del primer algoritmo que presen-tamos. Sin embargo, experimentos heurısticos muestran que este algoritmoes mas eficiente que el anterior porque en general evita hacer el cambio decoordenadas.

4.3 El algoritmo general

En la seccion anterior, definimos un ideal cero-dimensional como un idealcon un conjunto finito de soluciones. Vamos a ver ahora una definiciongeneral de dimension de ideales.

Comenzamos definiendo la dimension de Krull de un anillo.

Definicion 4.30 La dimension de Krull (o simplemente la dimension) deun anillo A es el supremo de las longitudes m de las cadenas P0 ( P1 (· · · ( Pm de ideales primos en A.

En este caso, estamos tomando que la cadena P0 ( P1 ( · · · ( Pm tienelongitud m (aunque contiene m + 1 ideales primos). El anillo A no seconsidera como un ideal primo (pero el ideal nulo sı cuando el anillo esıntegro).

Con esta definicion puede probarse que el anillo k[x] tiene dimension n.Para una demostracion, ver por ejemplo [Eis].

Definicion 4.31 Sea I ⊂ k[x] un ideal. Definimos la dimension de I comola dimension del anillo A/I.

Como existe una correspondencia biunıvoca entre ideales primos de A/I eideales de A que contienen a I, la dimension de un ideal I puede definirseequivalentemente como el supremo de las longitudes de las cadenas de idealesprimos en A que contienen a I.

Por ejemplo, sea I = 〈x〉 ⊂ k[x, y, z]. Tenemos que k[x, y, z]/〈x〉 ∼= k[y, z] ypor lo tanto dim(I) = dim(k[y, z]) = 2.

En esta seccion veremos como obtener la descomposicion primaria de idealesde cualquier dimension. Analizaremos un algoritmo propuesto por Gianni,Trager y Zacharias en [GTZ]. Este algoritmo reduce el caso de ideales de

67

dimension mayor que cero a ideales cero-dimensionales, donde ya sabemoscalcular la descomposicion primaria.

Definimos la nocion de conjunto independiente.

Definicion 4.32 Sea I ⊂ k[x] un ideal. Decimos que un conjunto

u ⊂ x = {x1, . . . , xn}es independiente (con respecto a I) si I ∩ k[u] = {0}. Si ademas se cumpleque u no esta incluido propiamente en ningun otro conjunto independiente,decimos que u es independiente maximal.

La siguiente proposicion relaciona el cardinal de los conjuntos independientescon la dimension del ideal. (Teorema 3.5.1.6 de [GP])

Proposicion 4.33 Sea I ⊂ A un ideal y sea u ⊂ x un conjunto indepen-diente. Entonces |u| ≤ dim(I). Ademas, existe un conjunto independienteu ⊂ x con dim(I) variables.

En virtud de esta proposicion, decimos que un conjunto independiente utiene tamano maximo si tiene dim(I) elementos.

En el ejemplo I = 〈x〉 ⊂ k[x, y, z], los conjuntos independientes son {y}, {z}y {y, z}. El unico conjunto independiente maximal es {y, z}.Para calcular eficientemente conjuntos independientes de tamano maximo,usamos la siguiente proposicion (Proposicion 4.6 de [Sti]).

Proposicion 4.34 Sea I ⊂ k[x] y sea u un conjunto independiente deLt(I). Entonces u es un conjunto independiente de I. Si ademas, u esde tamano maximo en Lt(I), tambien es de tamano maximo en I.

Para determinar si un conjunto u de variables es independiente con respectoa Lt(I) debemos verificar que no exista ningun monomio generador de Lt(I)cuyas variables sean un subconjunto de las variables de u.

Observacion. La definicion de dimension coincide con la definicion quedimos de ideal cero-dimensional. Recordemos que para un ideal cero-dimen-sional, existe un polinomio fi ∈ I, tal que fi ∈ k[xi] para todo 1 ≤ i ≤ n.Por lo tanto, el unico conjunto independiente es el conjunto vacıo, lo queprueba que dim(I) = 0.

Demostramos ahora la proposicion que mencionamos en la Seccion 4.2.

68

Proposicion 4.35 Sea I ⊂ k[x] un ideal cero-dimensional y sea P un idealprimo asociado de I. Entonces P es un ideal primo maximal de k[x].

Demostracion. Sea Q ⊂ k[x] un ideal maximal (y por lo tanto, primo) talque P ⊂ Q. Tenemos la cadena I ⊂ P ⊂ Q. Como I es cero-dimensional,debe ser P = Q y por lo tanto P es maximal. ∇

Obtenemos el siguiente corolario inmediato.

Corolario 4.36 Sea I ⊂ k[x] un ideal cero-dimensional y sea P un primoasociado de I. Entonces P es un primo minimal de I.

Veremos ahora como utilizar los algoritmos de descomposicion primaria deideales cero-dimensionales para descomponer ideales de cualquier dimension.

Proposicion 4.37 Sea I ⊂ k[x] y sea u ⊂ x un conjunto independientemaximal con respecto a I. Entonces el ideal Ik(u)[xr u] es un ideal cero-dimensional de k(u)[xr u].

Demostracion. Alcanza con probar aquı que el conjunto ∅ ⊂ xr u es inde-pendiente maximal con respecto a Ik(u)[xru] ⊂ k(u)[xru]. Supongamosque no lo es. Entonces existe t ⊂ x r u no vacıo independiente. Es de-cir, Ik(u)[x r u] ∩ k(u)[t] = {0} y por lo tanto I ∩ k[u ∪ t] = {0}, lo quecontradice la maximalidad de u. ∇

Como Ik(u)[xru] ⊂ k(u)[xru] es cero-dimensional, podemos obtener unadescomposicion primaria irredundante Q1 ∩ · · · ∩ Qs con los algoritmos dela seccion anterior. Pero ¿que relacion tiene esto con la descomposicion pri-maria de I? Veremos que las componentes de Ik(u)[xru] pueden contraersea componentes de I.

Proposicion 4.38 Sea I ⊂ k[x] un ideal y sea u ⊂ x un conjunto indepen-diente maximal con respecto a I. Sea

Ik(u)[xr u] = Q1 ∩ · · · ∩ Qs

una descomposicion primaria irredundante, con primos P1, . . . , Ps. En-tonces

Ik(u)[xr u] ∩ k[x] = (Q1 ∩ k[x]) ∩ · · · ∩ (Qs ∩ k[x])

es una descomposicion primaria irredundante, con primos P1∩k[x], . . . , Ps∩k[x].

69

Demostracion. Tenemos que

Ik(u)[xr u] ∩ k[x] = (Q1 ∩ k[x]) ∩ · · · ∩ (Qs ∩ k[x]).

Para ver que la anterior es una descomposicion primaria, tenemos que verque Qi∩k[x] es primario: Sea fg ∈ Qi∩k[x], con f, g ∈ k[x]. Como fg ∈ Qi,y Qi es primario, f ∈ Qi o gn ∈ Qi. De donde deducimos que f ∈ Qi ∩ k[x]o gn ∈ Qi ∩ k[x] y por lo tanto Qi ∩ k[x] es primario.

Para ver que la descomposicion es irredundante, supongamos que ∩j 6=i(Qj ∩k[x]) ⊂ Qi ∩ k[x] y veamos que ∩j 6=iQj ⊂ Qi. Sea f ∈ ∩j 6=iQj . Existeh ∈ k[u] tal que hf ∈ (∩j 6=iQj) ∩ k[x] = ∩j 6=i(Qj ∩ k[x]). Entonces hf ∈Qi ∩ k[x]. Entonces f = hf/h ∈ Qi. Obtenemos que ∩Qj ⊂ Qi, peroQ1 ∩ · · · ∩ Qs era una descomposicion irredundante.

Supongamos ahora que√

Qi ∩ k[x] =√

Qj ∩ k[x]. Sea f ∈√

Qi, y m

tal que fm ∈ Qi. Existe h ∈ k[u] tal que hfm ∈ Qi ∩ k[x]. Entonces

hfm ∈ Qj ∩ k[x] y por lo tanto, fm = hfm/h ∈ Qj . Entonces f ∈√

Qj , de

donde deducimos que√

Qi ⊂√

Qj . Analogamente, probamos que√

Qj ⊂√Qi. Obtenemos que

√Qi =

√Qj , pero esto contradice la hipotesis de que

Q1 ∩ · · · ∩ Qs era irredundante. ∇

Para completar la relacion entre la descomposicion primaria de I y la deIk(u)[xr u] e Ik(u)[xr u] ∩ k[x] tenemos los resultados siguientes:

Proposicion 4.39 Sea I ⊂ k[x] y sea u un conjunto independiente maxi-mal con respecto a I. Sea

I = Q1 ∩ · · · ∩Qt

una descomposicion primaria irredundante de I, donde los Qi cumplen quepara 1 ≤ i ≤ s, Qi ∩ k[u] = {0} y para s + 1 ≤ i ≤ t, Qi ∩ k[u] 6= {0}.Entonces:

• Para 1 ≤ i ≤ s, Qi es una componente aislada de I (es decir corres-ponde a un primo minimal de I).

• Ik(u)[x r u] ∩ k[x] = Q1 ∩ · · · ∩ Qs es una descomposicion primariairredundante.

70

Demostracion.

• Sea Qi fijo, 1 ≤ i ≤ s. Es claro que u es no solo independiente para Qi

sino tambien maximal pues si fuera u ⊂ u′ tal que Qi ∩ k[u′] = {0},u no serıa independiente maximal para I. Por lo tanto Qik(u)[xru]es un ideal cero-dimensional.

Supongamos entonces que 1 ≤ i < j ≤ s tales que√

Qi =: Pi ( Pj :=√Qj . En esas condiciones, tenemos la inclusion estricta de ideales

primos Pik(u)[x r u] ( Pjk(u)[x r u], lo que contradice que seanambos cero-dimensionales.

• Tenemos que

Ik(u)[xr u] ∩ k[x] = (Q1 ∩ · · · ∩Qt)k(u)[xr u] ∩ k[x].

Por lo tanto

Ik(u)[xru]∩k[x] = (Q1k(u)[xru]∩k[x])∩· · ·∩(Qtk(u)[xru]∩k[x]).

Como los ideales Qik(u)[x r u] ∩ k[x] son primarios, esta ultima esuna descomposicion primaria de Ik(u)[xru] (no necesariamente irre-dundante).

Si existe h ∈ Qi ∩ k[u], con h 6= 0, tenemos que Qik(u)[x r u] = 〈1〉y por lo tanto Qik(u)[xr u] ∩ k[x] = 〈1〉.Por lo tanto, Ik(u)[x r u] ∩ k[x] = (Q1k(u)[x r u] ∩ k[x]) ∩ · · · ∩(Qsk(u)[xr u] ∩ k[x]).

Para concluir, alcanza con probar que Qi = Qik(u)[xr u] ∩ k[x].

La inclusion ⊆ es clara. Para ⊇, sea f ∈ Qik(u)[x r u] ∩ k[x]. Estosignifica que existe h ∈ k[u] tal que hf ∈ Qi. Pero Qi es primarioy h /∈ √

Qi (pues Qi ∩ k[u] = {0}) implica f ∈ Qi como querıamosprobar.

Como conclusion de las dos proposiciones anteriores, tenemos que si I =Q1 ∩ · · · ∩Qt y u es un conjunto independiente maximal con respecto a I eIk(u)[xru] = Q1∩· · ·∩Qs, entonces, modulo permutacion de componentesprimarias, Qi = Qi∩k[x](1 ≤ i ≤ s), y estas corresponden a las componentesde I que satisfacen que Qi ∩ k[u] = {0}.

Algorıtmicamente, tenemos entonces los siguientes problemas:

71

• ¿Como calcular la descomposicion primaria del ideal cero-dimensionalIk(u)[x r u] por medio de los algoritmos que tenemos? (o sea comocalcular facilmente una base de Grobner de Ik(u)[xr u]?)

• ¿Como calcular la contraccion Q∩ k[x] para Q un ideal (primario) dek(u)[xr u]?

• ¿Como recuperar las componentes primarias Qs+1, . . . , Qt de I quefaltan?

Estas cuestiones se resuelven mediante los resultados siguientes:

Lema 4.40 Sea I un ideal de k[x] y sea G = 〈g1, . . . , gs〉 una base deGrobner de I con respecto a un orden > tal que x r u >> u. EntoncesG es tambien una base de Grobner de Ik(u)[xru] con respecto al orden Âinducido.

Demostracion. Como I = 〈g1, . . . , gs〉,

Ik(u)[xr u] = 〈g1, . . . , gs〉k(u)[xr u].

Sea f ∈ Ik(u)[xr u], f = h1g1 + · · ·+ hsgs (con hi ∈ k(u)[xr u]). Luego,existe h(u) ∈ k[u] tal que h(u)f ∈ Ik[x].

Sea gi ∈ G tal que lt(gi) | lt(hf). Como estamos usando un orden x ru >> u, vale que ltk(u)[xru](gi) divide a ltk(u)[xru](hf), que a la vez dividea ltk(u)[xru]f en k(u)[x r u]. Por lo tanto, G es una base de Grobner deIk(u)[xr u]. ∇

Proposicion 4.41 Sea u ⊂ x un conjunto de variables y sea J ⊂ k(u)[xru] un ideal. Sea {g1, . . . , gs} una base de Grobner de J en un orden mono-mial > en k(u)[xr u] formada por polinomios en k[x]. Sea

h = mcm{lc(gi), 1 ≤ i ≤ s} ∈ k[u],

donde lc(gi) denota el coeficiente principal de gi mirado en k[u][xr u].

EntoncesJ ∩ k[x] = (〈g1, . . . , gs〉 : h∞),

donde 〈g1, . . . , gs〉 es el ideal generado en k[x].

72

Demostracion. Sea I = 〈g1, . . . , gs〉 en k[x]. Sea f ∈ (I : h∞). Existe m talque hmf ∈ I. Como h ∈ k[u], obtenemos que f ∈ Ik(u)[x r u] ∩ k[x] =J ∩ k[x]. Por lo tanto (I : h∞) ⊂ J ∩ k[x].

Para probar la otra inclusion, sea f ∈ J ∩ k[x]. Como {g1, . . . , gs} es unabase de Grobner de J , tenemos que f =

∑si=1 αigi, con αi ∈ k(u)[x r

u]. Si repasamos el algoritmo de Buchberger, vemos que los coeficientesαi se obtienen haciendo divisiones solo por los coeficientes lc(gi) de los gi.Entonces podemos escribir αi = βi

hmi , con βi ∈ k[x]. Tomando m el mayorde los mi, obtenemos que hmf ∈ k[x] y por lo tanto, f ∈ (I : h∞). ∇

Observacion. Dada una base de Grobner de J ⊂ k(u)[x r u] cualquiera,podemos obtener una base de Grobner de J en k[x] simplemente multipli-cando cada polinomio de la base por los denominadores en k(u).

Cuando tenemos un conjunto de generadores de J ⊂ k(u)[xr u], podemosobtener una base de Grobner de J multiplicando los polinomios generadorespor sus denominadores en k(u) para obtener polinomios en k[x] y aplicandola siguiente proposicion.

Proposicion 4.42 Sea J ⊂ k(u)[x r u], y sea {f1, . . . , fs} un conjuntode generadores de J formado por polinomios en k[x]. Sea G una base deGrobner de 〈f1, . . . , fs〉k[x]. Entonces G es una base de Grobner de J enk(u)[xr u],

Demostracion. Sea I = 〈f1, . . . , fs〉k[x]. Luego J = Ik(u)[xru], y usamosel Lema 4.40. ∇

De esta forma, podremos estimar la complejidad del calculo de bases deGrobner en Q(u)[xr u] usando las cotas de complejidad en Q[x].

La Proposicion 4.41 nos permite aplicar cualquiera de los algoritmos pro-puestos en 2.2.4 para calcular Q∩k[x], donde Q es una componente primariade Ik(u)[xr u].

Presentamos entonces un algoritmo para dar una descomposicion primariairredundante de Ik(u)[xr u] ∩ k[x] donde u es un conjunto independientemaximal con respecto a I.

Algoritmo 4.43 PrimaryDecomposition(IQ(u)[xr u] ∩Q[x])

73

Input: I := 〈f1, . . . , fs〉 ⊂ Q[x], u conjunto independiente maximal conrespecto a I.

Output: Q1, . . . , Qt, componentes primarias (irredundantes) de IQ(u)[xru] ∩Q[x]).

1. Sea t := xru. Calcular una base de Grobner G de I usando un ordenlexicografico donde t >> u.

2. Calcular la descomposicion primaria irredundante IQ(u)[t] = Q1 ∩· · ·∩Qt. (Aplicar los algoritmos de descomposicion primaria de idealescero-dimensionales, mirando a G como base de Grobner de IQ(u)[t].)

3. Para 1 ≤ i ≤ t, calcular una base de Grobner Gi de Qi formadapor polinomios en k[x] y elegir hi como en la Proposicion 4.41 (osegun las modificaciones que veremos en la Seccion 4.3.1). Vale queQi ∩Q[x] = (〈Gi〉 : h∞i ), y este ultimo se calcula como en 2.2.4.

Complejidad

Usamos la notacion CG(d, n, s), DG(d, n) y NG(d, n, s) para la complejidad,grado maximo y cantidad de polinomios de una base de Grobner de un idealen Q[x], generado por s polinomios de grado maximo d. En [Giusti], [KL1]y [Dube] se demuestran cotas para la complejidad y cantidad de polinomiosen el caso general doblemente exponenciales en la cantidad de variables. Lascotas son del tipo sO(1)d2O(n)

.

Para el grado maximo, se demuestra en [Dube] la siguiente cota:

deg(g) ≤ 2(

d2

2+ d

)2n−1

,

que aproximamos por d2n.

Estimemos la complejidad de cada paso de este algoritmo. Tomamos I enQ[x], generado por s polinomios de grado maximo d.

1. En este paso, se calcula una base de Grobner de I. Por lo tanto, lacomplejidad del primer paso es sO(1)d2O(n)

.

2. Para calcular la complejidad de este paso, suponemos que usamos elAlgoritmo 4.25. La base de Grobner de Ik(u)[xru] la obtuvimos enel paso 1. En el paso 4 de ese algoritmo, se factoriza un polinomio

74

eliminante g(xi) ∈ k(u)[xi] (xi ∈ x r u). En [Kal, Section 6] sedemuestra que existe un algoritmo de factorizacion en k(u)[x] concomplejidad dnO(1)

, donde d es el grado del polinomio. El polinomioeliminante se obtiene de la base de Grobner de I, por lo tanto sugrado esta acotado por d2n

. Entonces la complejidad de factorizarloes d2nO(n) ≈ d2O(n)

. Por lo tanto, la complejidad de este paso es d2O(n).

3. Queremos calcular bases de Grobner de los ideales 〈I, gmii 〉k(u)[xru],

con gmii divisor de g(xi). Como g ∈ k[x], podemos tomar gi ∈ k[x].

Estamos en las hipotesis de la Proposicion 4.42. El calculo de las basesde Grobner tiene complejidad CG(d2n

, n, s + 1) ≈ sO(1)d2O(n).

Una vez obtenida Gi (la base de Grobner de 〈I, gmii 〉), calculamos

el grado de hi. Como hi divide al mınimo comun multiplo de losmonomios de cabeza de los polinomios de Gi, acotamos el grado de hi

por el grado del producto de los monomios de cabeza de los polinomiosde Gi.

Gi tiene a lo sumo NG(d2n, n, s + 1) polinomios, de grado maximo

DG(d2n, n). Entonces deg(hi) ≤ NG(d2n

, n, s + 1)DG(d2n, n). Obte-

nemosdeg(hi) ≤ sO(1)d2O(n)

d2O(n) ≈ sO(1)d2O(n).

Para calcular (〈Gi〉 : h∞i ), buscamos una base de Grobner de 〈Gi, hit−1〉k[x, t] (Proposicion 3.24). Esto tiene complejidad CG(sO(1)d2O(n)

, n+1, sO(1)d2O(n)

+ 1) ≈ s2O(n)d2O(n)

.

Como la cantidad de factores de g esta acotada por el grado d2n, la

complejidad de este paso resulta

s2O(n)d2O(n)

.

Podemos estimar la complejidad de todo el algoritmo por la complejidad delultimo paso. Concluimos que la complejidad del algoritmo es

s2O(n)d2O(n)

.

La Proposicion 4.41 nos permite recuperar tambien la parte que falta de ladescomposicion primaria de I:

Sea h ∈ k[u] tal que Ik(u)[x r u] ∩ k[x] = (I : h∞), y sea m tal que(I : h∞) = (I : hm). Por el Lema 4.1 tenemos

I = (I : hm) ∩ 〈I, hm〉 = (Ik(u)[xr u] ∩ k[x]) ∩ 〈I, hm〉.

75

Entonces, solo falta ver como calculamos la descomposicion primaria de〈I, hm〉 para obtener la descomposicion primaria de I.

Como h es un polinomio en k[u], u no es un conjunto independiente de〈I, hm〉. Luego hay menos conjuntos independientes con respecto a 〈I, hm〉que con respecto a I. Por lo tanto, podemos obtener la descomposicion pri-maria de 〈I, hm〉 por induccion en la cantidad de conjuntos independientes.

Con esto, ya podemos descomponer el ideal I original. Antes de escribir elalgoritmo, vamos a ver una mejora (empırica al menos) en la eleccion de h.

4.3.1 El aplanador

Dado I ⊂ k[u] y u un conjunto independiente maximal, la Proposicion 4.41permite obtener h ∈ k[u] tal que I = (Ik(u)[xr u] ∩ k[x]) ∩ 〈I, hm〉.En esa proposicion, tomamos h := mcm(lcxru(gi), i = 1, . . . , r) ∈ k[u],donde gi son los polinomios en una base de Grobner de Ik(u)[xr u].

Por el Lema 4.40, la opcion mas simple es tomar el mınimo comun multiplode los coeficientes de una base Grobner de I. Sin embargo, en general esposible elegir h de forma mas conveniente, reduciendo primero la base deIk(u)[xr u].

Tomamos la siguiente definicion de [Sti]:

Definicion 4.44 Sea I ⊂ k[x] un ideal, u un conjunto independiente maxi-mal y sea > un orden tal que u << xru. Sea G ⊂ k[x] una base de Grobnerde Ik(u)[x r u] en el orden inducido por >, compuesta por polinomios deI.

Decimos que h ∈ k[u] es un aplanador con respecto a la base G de la in-clusion k[u] ⊂ k[u, xr u]/I si lcxru(g) | h para todo g en G.

Mirando la demostracion de la Proposicion 4.41, vemos que si h es unaplanador, entonces Ik(u)[x r u] = (I : h∞) y por lo tanto existe m talque I = (I : hm) ∩ 〈I, hm〉.Al tomar la base en k(u)[xru], podemos eliminar polinomios redundantes yobtener elementos mas pequenos que el mınimo comun multiplo. Veamosloen un ejemplo.

SeaI = 〈yz2w, y2z2, xy + yz〉 ⊂ k[x, y, z, w]

76

con orden lexicografico x < y < z < w.

Calculamos usando Singular un conjunto independiente maximal de I:

> ring R = 0, (x,y,z,w), lp; // Define R = Q[x,y,z,w]> option(redSB);> ideal I = yz2w, y2z2, xy+yz;> ideal J = groebner(I);> J;J[1]=yz2wJ[2]=y2z2J[3]=xy+yz-yz+y> indepSet(J);1,0,1,1

Obtenemos que u = {x, z, w} es un conjunto independiente maximal. To-mamos entonces un orden monomial con x, z, w < y y calculemos una basede Grobner G con respecto a ese orden:

> ring R2 = 0, (y,x,z,w), lp;> ideal J2 = imap (R, J);> J2;> groebner(J2);J2[1]=yz2wJ2[2]=yx+yzJ2[3]=y2z2

Obtuvimos G = {yz2w, yx + yz, y2z2} = {(z2w)y, (x + z)y, (z2)y2} mirandoahora a G como base de Grobner del ideal en k(x, z, w)[y].

Si tomamos el mınimo comun multiplo, tenemos h = mcm(z2w, z2, x +z) = (x + z)z2w. Pero en este caso, {y} ya es una base de Grobner deIk(x, z, w)[y]. Entonces para tomar en I una base de Grobner de Ik(x, z, w)[y]podemos elegir G1 = {z2wy} o G2 = {(x + z)y}. Ası obtenemos h = z2w oh = (x + z) entre otros, que resultan mas pequenos que el mınimo comunmultiplo.

Por lo tanto, antes de tomar el mcm podemos eliminar los polinomios re-dundantes de G cuando consideramos a G como una base de Grobner deIk(u)[xr u].

Veamos otro ejemplo:

77

I = 〈xyzw + yz2 + zw2, xyz + wzx, x2y2w2〉 ⊂ k[x, y, z, w]

con orden lexicografico x < y < z < w.

> ring R = 0,(x,y,z,w),lp; // Define R = Q[x,y,z,w]> ideal I = xyzw + yz2 + zw2, xyz + wzx, x2y2w2;> ideal J = groebner(I);> J;J[1]=yz3w-yz2w2+z2w3-zw4J[2]=yz4-2yz3w+yz2w2+z3w2-2z2w3+zw4J[3]=y2z2+yz2w+yzw2+zw3J[4]=xzw2-yz2-zw2J[5]=xz4w-3xz3w2+3xz2w3-xzw4J[6]=xyz+xzwJ[7]=x2y2w2> indepSet(J,1);[1]:

1,0,1,0[2]:

1,0,0,1[3]:

0,1,0,1[4]:

0,0,1,1

Hay varios conjuntos independientes maximales. Tomamos el conjunto inde-pendiente u = {z, w}. Se cumple que xru >> u en el orden que tomamos,por lo tanto, por la Proposicion 4.40, los generadores de J son una base deGrobner de Ik(u)[xr u].

> ring S = (0, z, w), (x, y), lp;> ideal J2 = imap (R, J);> J2;J2[1]=(z3w-z2w2)*y+(z2w3-zw4)J2[2]=(z4-2z3w+z2w2)*y+(z3w2-2z2w3+zw4)J2[3]=(z2)*y2+(z2w+zw2)*y+(zw3)J2[4]=(zw2)*x+(-z2)*y+(-zw2)J2[5]=(z4w-3z3w2+3z2w3-zw4)*xJ2[6]=(z)*xy+(zw)*xJ2[7]=(w2)*x2y2

78

En este caso, obtenemos que {x, y} es una base de Grobner de k(z, w)[x, y].Por lo tanto podemos eliminar polinomios redundantes y quedarnos con lossiguientes polinomios de I: (zw2)x + (−z2)y + (−zw2) y (z3w − z2w2)y +(z2w3−zw4). Ası podemos elegir h = mcm(zw2, z3w−z2w2) = z3w2−z2w3.

4.3.2 El algoritmo y su complejidad

Algoritmo 4.45 PrimaryDecomposition(I)

Input: I := 〈f1, . . . , fs〉 ⊂ Q[x].

Output: Q1, . . . , Qt, componentes primarias (irredundantes) de I.

1. Encontrar un conjunto independiente de tamano maximo u. Vale queIQ(u)[xr u] es cero-dimensional. Sea t := xr u.

2. Calcular una base de Grobner G de I usando un orden lexicograficodonde t >> u, graduado en t.

3. Calcular la descomposicion primaria IQ(u)[t]∩Q[x], por el Algoritmo4.43.

4. Mirando a G como base de Grobner de IQ(u)[t], eliminar los poli-nomios redundantes. Elegir h, un aplanador con respecto a la basereducida, y calcular m tal que (I : hm) = (I : h∞).

Vale I = (I : h∞) ∩ 〈I, hm〉.5. Calcular la descomposicion primaria de 〈I, hm〉 por induccion en la

cantidad de conjuntos independientes. Esto se puede hacer porque uno es un conjunto independiente de 〈I, hm〉.

6. La descomposicion primaria de I se obtiene juntando las descomposi-ciones de (I : hm) y 〈I, hm〉.

Para estimar la complejidad del algoritmo, necesitamos determinar explıci-tamente un exponente m tal que (I : hm) = (I : h∞), dado un aplanador h.Aquı lo calculamos bajo una hipotesis sobre el orden monomial.

Proposicion 4.46 Sean I ⊂ k[x] un ideal y u ⊂ x un conjunto inde-pendiente maximal con respecto a I. Sean > un orden monomial tal quex r u >> u y tal que el orden ≺ inducido por > en k(u)[x \ u] es un

79

orden graduado, G una base Grobner de Ik(u)[x \ u] con respecto al orden≺ formada por elementos de I y h un aplanador con respecto a la base G.Finalmente sean F una base de Grobner de (I : h∞) con respecto al orden>, d := max{degxru(f) : f ∈ F}, el maximo grado en xru de polinomiosde F y n := |xr u|.En estas condiciones

(I : h∞) = (I : hm) donde m :=(

d + n

d

).

Demostracion. Vamos a probar que para todo f ∈ F , existe k ≤ m tal quehkf ∈ I.

Sea f ∈ F fijo y sea t tal que htf ∈ I y supongamos que t > m.

En toda esta demostracion, el orden en consideracion es el orden ≺ enk(u)[x r u] y lt, lc y lp denotan respetivamente el termino de cabeza enk(u)[xr u], el coeficiente en k(u) de ese termino de cabeza y su monomioprincipal en k[xr u].

Como htf ∈ I, htf ∈ Ik(u)[x r u] y existe g1 ∈ G tal que lt(g1) | lt(htf),lo que implica que lp(g1) | lp(f) pues h ∈ k[u].

Por otro lado, h es un aplanador y por lo tanto, lc(g1) | h en k[u].

Como g1 ∈ k[x] y lt(g1) = lc(g1)lp(g1), concluimos que

lt(g1) | lt(htf) en k[u][xr u].

Ası,

htf = q g1 + r, (4.3)

donde q := lt(htf)lt(g1) es un polinomio de k[x] que a su vez es un monomio en

k(u)[xr u], y r ∈ k[x] es tal que lp(r) ≺ lp(htf) = lp(f). Resulta ademasque r ∈ I pues htf, g1 ∈ I.

Ahora, comparando coeficientes de cabeza en la identidad (4.3), tenemosque

ht lc(f) = lc(q) lc(g1).

Por lo tanto, como lc(g1) | h en k[u], hlc(g1) ∈ k[u], y como q es un monomio

en k(u)[xru], q := ht

lc(g1) lc(f) lp(q) ∈ k[x], y concluimos que existe q1 ∈ k[x]tal que q = ht−1q1.

80

Volviendo a la Identidad (4.3), obtenemos que htf = ht−1q1 g1 + r en k[x].Luego, ht−1 | r ∈ k[x], o sea existe r1 ∈ k[x] tal que ht−1r1 = r ∈ I, yademas lp(r1) = lp(r) ≺ lp(htf) = lp(f).

Resumiendo:

htf = ht−1q1 g1 + ht−1r1 en k[x] y lp(r1) ≺ lp(f).

Si r1 = 0, entonces htf = ht−1q1g1 implica h f = q1g1 ∈ I, y por lo tantok = 1 sirve. Se cumple k ≤ m.

Si r1 6= 0, como ht−1r1 ∈ I, podemos repetir el procedimiento y obtenemos

ht−1r1 = ht−2q2g2 + ht−2r2

Entonceshtf = ht−1q1 g1 + ht−2q2g2 + ht−2r2,

con lp(r2) = lp(ht−2r2) ≺ lp(ht−1r1) = lp(r1) ≺ lp(f).

De esta forma, si seguimos el procedimiento, obtenemos una sucesion

lp(f) Â lp(r1) Â lp(r2) Â lp(r3) Â · · · Â lp(rk) = 0

Dado que el orden ≺ en x r u es graduado, por la definicion de m (queacota la cantidad de monomios en xr u de grado menor o igual que d), elprocedimiento se puede repetir a lo sumo m veces. Por lo tanto, k ≤ m.Cuando rk = 0, se cumple

ht−k+1rk−1 = ht−kqk gk.

Entonceshtf = ht−1q1 g1 + ht−2q2g2 + · · ·+ ht−kqk gk.

Como supusimos t > m, t− k > 0 y por lo tanto

hkf = hk−1q1 g1 + hk−2q2g2 + · · ·+ qk gk ∈ I

pues g1, . . . , gk ∈ G ⊂ I, es decir f ∈ (I : hk) con k ≤ m.

Estimamos ahora la complejidad del algoritmo en forma muy esquematica yobservamos que la cota de complejidad que obtenemos resulta impracticableen la teorıa.

Suponemos que I es un ideal generado por s polinomios de grado maximod. Analizamos la complejidad paso por paso.

81

1. El calculo de conjuntos independientes de tamano maximo, puede ha-cerse eficientemente a partir de una base de Grobner de I (Proposicion4.34). Por lo tanto, la complejidad de este paso es CG(d, n, s) ≈sO(1)d2O(n)

.

2. En este paso se re-calcula una base de Grobner de I usando otro or-den. Esto puede hacerse eficientemente a partir de la base de Grobnerobtenida en el paso anterior. (Ver por ejemplo Seccion 2.3 de [CLO2]).No tendremos en cuenta la complejidad de la conversion.

3. La complejidad de este paso es la complejidad del Algoritmo 4.43:

s2O(n)d2O(n)

.

4. En este paso, se determina h y m. Calculemos primero el grado de h.

Como h divide al mınimo comun multiplo de los monomios de cabezade los polinomios de G, acotamos el grado de h por el grado del pro-ducto de los monomios de cabeza de los polinomios de G. G tiene alo sumo NG(d, n, s) polinomios, de grado maximo DG(d, n). Entoncesdeg(h) ≤ NG(d, n, s)DG(d, n). Obtenemos

deg(h) ≤ sO(1)d2O(n)d2n

= sO(1)d2O(n).

Para calcular m, necesitamos saber el grado maximo en una base deGrobner de (I : h∞). Como (I : h∞) = 〈I, th − 1〉 ∩ Q[x], podemosacotar el grado maximo por

a = DG(sO(1)d2O(n)

+ 1, n + 1)≈

(sO(1)d2O(n)

)2n+1

≈ s2O(n)d2O(n)

.

Por 4.46, el exponente m es menor o igual que(

a + n

n

)≈ an ≈ sn2O(n)

dn2O(n).

Por lo tanto, hm tiene grado acotado por

deg(hm) = m deg(h) ≤ sn2O(n)dn2O(n)

sO(1)d2O(n)= sn2O(n)

dn2O(n).

Podemos estimar la complejidad total de los pasos 1 a 4 por la complejidaddel paso 3:

s2O(n)d2O(n)

.

82

En los pasos 5 y 6, se obtiene la descomposicion primaria de I ejecutandoel algoritmo recursivamente. En cada ejecucion, se agrega un polinomioa I. Calculemos la cantidad de polinomios y grado maximo despues de kejecuciones.

Como en cada ejecucion se agrega un polinomio a I, la cantidad total depolinomios es s + k, y el grado maximo es

(s + k)n2O(n)(s + k − 1)n222O(n)

. . . snk2kO(n)dnk2kO(n)

.

Acotando cada uno de los primeros k + 1 factores por (s + k)nk2kO(n), obte-

nemos la cota(s + k)knk2kO(n)

dnk2kO(n)

≈ (s + k)2kO(n)

d2kO(n)

para el grado maximo.

La complejidad de la k-esima ejecucion es

sk2O(n)

dk2O(n)

,

donde sk es la cantidad de polinomios y dk es el grado de los polinomios aliniciar la ejecucion.

Reemplazando por los valores que estimamos, obtenemos

(s + k)2O(n)

((s + k)2

kO(n)d2kO(n)

)2O(n)

≈ (s + k)2kO(n)

d2kO(n)

En cada ejecucion, se elimina un conjunto independiente. Por lo tanto, lacantidad de ejecuciones esta acotada por 2n, la cantidad de subconjuntos de{1, . . . , n}.Acotando la complejidad de cada ejecucion por la complejidad de la ultimaejecucion, obtenemos que la complejidad total es

≈ 2n(s + 2n)22nO(n)

d22nO(n).

Obtuvimos una cota triplemente exponencial en la cantidad de variables.

Se puede lograr una complejidad doblemente exponencial trabajando conideales en posicion de Noether, y haciendo la induccion en la dimension delideal. Veremos esquematicamente como puede hacerse.

83

Definicion 4.47 Decimos que un ideal I ⊂ k[x] de dimension d esta enposicion de Noether si el conjunto u = x1, . . . , xd es un conjunto indepen-diente maximal con respecto a I y para cada i, d + 1 ≤ i ≤ n, existe unpolinomio p ∈ I, en k[x1, . . . , xd, xi] monico en xi.

Si el ideal I no esta en posicion de Noether, podemos llevarlo a posicion deNoether a traves de un cambio lineal de coordenadas.

Cuando el ideal I esta en posicion de Noether, tenemos el siguiente lema(Lema 2.3 [KL2]).

Lema 4.48 Sea I un ideal de dimension d en posicion de Noether, y sea

I = (Qd11 ∩ . . . Qd1a1) ∩ (Qd21 ∩ · · · ∩Qd2a2) ∩ · · · ∩ (Qdt1 ∩ · · · ∩Qdtat)

la descomposicion primaria de I, donde Qdij son ideales primarios de di-mension di y 0 ≤ d1 < · · · < dt = d. Sean Pdij los primos asociados.

En estas condiciones,

k[x1, . . . , xd] ∩ Pdtj = (0), j = 1, . . . , at.

Por la proposicion 4.39, si h es un aplanador de I con respecto a u, obtene-mos que

Ik(u)[xr u] ∩ k[x] = (I : h∞) = (Qdt1 ∩ · · · ∩Qdtat).

La descomposicion primaria de (I : h∞) se obtiene como antes, por reduccional caso cero-dimensional.

Tenemos I = (I : h∞) ∩ (I, hm), para algun m ∈ N. Veamos que (I, hm)tiene dimension a lo sumo d− 1.

Supongamos que existe P ⊂ (I, hm), un ideal primo de dimension d. De lademostracion del Lema 4.48 se deduce que k[u] ∩ P = (0), pero hm ∈ P yobtenemos una contradiccion.

Luego 〈I, hm〉 tiene dimension a lo sumo d − 1. Por lo tanto, podemosacotar la cantidad de ejecuciones del algoritmo por d. Dado que un cambiode variables lineal no altera la complejidad de cada ejecucion del algoritmo,obtenemos ahora la cota

≈ 2n(s + 2n)2nO(n)

d2nO(n),

una cota doblemente exponencial.

84

Capıtulo 5

Algoritmos para el calculo deradical

En el capıtulo anterior estudiamos el calculo de la descomposicion primariade un ideal.

Otro problema del algebra conmutativa computacional relacionado con ladescomposicion de una variedad en variedades irreducibles y con el problemade la descomposicion primaria es el calculo del radical de un ideal: el radicaldescribe la geometrıa del ideal considerado, ya que por el Nullstellensatz,los ceros del radical de un ideal (en un cuerpo algebraicamente cerrado)coinciden con los ceros del ideal. Mas precisamente, tenemos la siguientepropiedad:

Proposicion 5.1 Sea I un ideal y sea MinAss(I) el conjunto de primosminimales asociados a I. Entonces

√I =

P∈MinAss(I)

P.

En particular, como los primos inmersos asociados a I contienen a algunprimo minimal, tenemos que

√I =

P∈Ass(I)

P.

Esta proposicion implica que los algoritmos de descomposicion primaria quecalculan ademas los primos asociados sirven tambien para obtener el radical

85

de un ideal, tomando la interseccion de los primos asociados (que se puedehacer usando bases de Grobner, como vimos en la Seccion 3.1.3).

Sin embargo, cuando nos interesa unicamente la geometrıa asociada al ideal,o sea cuando interesa calcular solamente el radical, es posible realizar variassimplificaciones en los algoritmos de descomposicion primaria para obteneralgortimos de calculo de radical mas eficientes.

En [KL2], [EHV] y [BW] se proponen distintos algoritmos.

A continuacion describimos primero una version del algoritmo de [KL2] im-plementada en SINGULAR, que esta basada en el algoritmo de descom-posicion primaria propuesto en [GTZ]. Y luego describimos un algoritmoaparentemente nuevo, basado en ideas similares pero que, a diferencia del al-goritmo presentado en [KL2], evita calcular primos redundantes en los pasosintermedios.

En [KL2], al igual que en [GTZ], se reduce el problema al caso cero-dimen-sional. Para el calculo del radical de un ideal cero-dimensional, aplicamosel resultado siguiente, conocido como Lema de Seidenberg ([Sei]):

Proposicion 5.2 Sea I ⊂ k[x] (con k de caracterıstica cero) un idealcero-dimensional e I ∩ k[xi] = 〈fi〉 para i = 1, . . . , n. Sea gi =

√fi =

fi/mcd(fi, f′i), la parte libre de cuadrados de fi, entonces

√I = 〈I, g1, . . . , gn〉.

Para reducir el calculo del radical al caso cero-dimensional, procedemos comoen la Seccion 4.3. Sea u ⊂ x un conjunto independiente maximal de variablespara I ⊂ k[x]. Sea h un aplanador y sea m ∈ N tal que

Ik(u)[xr u] ∩ k[x] = (I : hm) = (I : h∞)

yI = (I : hm) ∩ 〈I, hm〉.

Tenemos √I =

√(I : hm) ∩

√〈I, hm〉.

Como√〈I, hm〉 =

√〈I, h〉 y (I : hm) = Ik(u)[xr u] ∩ k[x], obtenemos

√I =

√Ik(u)[xr u] ∩ k[x] ∩

√〈I, h〉.

Vemos que en este algoritmo no es necesario calcular m explıcitamente.

86

Ahora, Ik(u)[x r u] es cero-dimensional y podemos calcular su radicalusando la Proposicion 5.2. Ademas, tenemos

√Ik(u)[xr u] ∩ k[x] =

√Ik(u)[xr u] ∩ k[x].

Por lo tanto podemos calcular el radical de Ik(u)[x r u] ∩ k[x] por laProposicion 4.41.

Nos falta calcular el radical de 〈I, h〉. Esto puede hacerse, como en el casode la descomposicion primaria, por induccion en la cantidad de conjuntosindependientes con respecto al ideal I.

(El algoritmo original de [KL2] es un poco distinto a su implementacionen SINGULAR que presentamos aquı, ya que elige, modulo un cambio decoordenadas, un conjunto independiente maximal de tamano maximo (esdecir, que realiza la dimension), que se encuentra ademas en posicion deNoether. Con esta hipotesis la induccion se hace en la dimension del ideal,y no en la cantidad de conjuntos independientes maximales. Esto mejora lacomplejidad teorica aunque el cambio de coordenadas inicial lo vuelve masineficiente en la practica.)

Veamos un ejemplo.

Sea R = Q[x, y, z, w] y I = 〈y + z, xz2w, x2z2〉 ⊂ R.

Buscamos un conjunto independiente maximal de variables con respecto aI.

> ring R = 0, (x,y,z,w), dp;> ideal I = y+z, xz2w, x2z2;> I = groebner(I);> indepSet(I);1,0,0,1> ring R2 = (0,x,w), (y,z), dp; // R2 = Q(x,w)[y,z]> imap (R,I);_[1]=y+z_[2]=(xw)*z2_[3]=(x2)*z2

Vemos que I tiene dimension 2, y un conjunto independiente maximal es{x,w}. Mirando I en Q(x,w)[y, z], obtenemos que el ideal de monomios decabeza esta generado por y y z2. Tomando el aplanador h = xw obtenemos√

I =√

(I : (xw)∞) ∩√〈I, xw〉.

87

El calculo de√

(I : (xw)∞) se hace usando la reduccion al caso cero-dimensionaly el algoritmo para calcular radicales de ideales cero-dimensionales. No loharemos aca. Para calcular

√〈I, xw〉 repetimos el proceso.

> setring R;> ideal I2 = I, xw;> I2 = groebner (I2);> I2;I2[1]=y+zI2[2]=xwI2[3]=x2z2> indepSet(i2);0,0,1,1> ring R3 = (0, z, w), (x,y), dp;> imap (R, I2);_[1]=y+(z)_[2]=(w)*x_[3]=(z2)*x2

Ahora, {z, w} resulta un conjunto independiente maximal con respecto aI2 = 〈y + z, w x, z2x2〉. El ideal de monomios de cabeza de I2 mirado enQ(z, w)[x, y] es 〈y, x〉. Tomamos el aplanador h = w y obtenemos

I2 =√

(I2 : w∞) ∩√〈I2, w〉

El radical√

(I2 : w∞) se obtiene por reduccion al caso cero-dimensional.Calculemos el radical de I3 = 〈I2, w〉.

> setring R;> ideal I3 = I2, w;> I3 = groebner(i3);> I3;I3[1]=wI3[2]=y+zI3[3]=x2z2> indepSet(i3);1,0,0,0> ring R4 = (0,x), (y,z,w), dp;> imap (R,I3);

88

_[1]=w_[2]=y+z_[3]=(x2)*z2

Entonces tenemos√

I3 =√

(I3 : (x2)∞) ∩√〈I3, x2〉.

Como√〈I3, x2〉 =

√〈I3, x〉, buscamos el radical de I4 = 〈I3, x〉.

> setring r;> ideal i4 = i3, x;> i4 = groebner(i4);> i4;i4[1]=wi4[2]=y+zi4[3]=x> indepSet(i4);0,0,1,0> ring R5 = (0,z), (x,y,w), dp;> imap (r, i4);_[1]=w_[2]=y+(z)_[3]=x

Obtenemos√

I4 =√

(I4 : 1) ∩√〈I4, 1〉.

Por lo tanto, podemos calcular√

I4 por reduccion al caso cero-dimensionaly hemos terminado. Juntando todo, obtenemos

√I =

√(I : (xw)∞) ∩

√(I2 : w∞) ∩

√(I3 : (x2)∞) ∩

√I4

=√〈y + z, z2〉 ∩

√〈y + z, x〉 ∩

√〈w, y + z, z2〉 ∩

√〈w, y + z, x〉

Observando esta descomposicion, vemos que hay dos componentes redun-dantes. En efecto 〈y + z, z2〉 ⊂ 〈w, y + z, z2〉 y 〈y + z, x〉 ⊂ 〈w, y + z, x〉. Porlo tanto, podemos simplificar las componentes redundantes y obtenemos

√I =

√〈y + z, z2〉 ∩

√〈y + z, x〉 = 〈y + z, zx〉

Como vemos en el ejemplo, si bien obtenemos el radical de I, aparecen enel camino componentes redundantes. Es decir, componentes que finalmenteno intervienen en el radical.

89

A continuacion, proponemos una modificacion del algoritmo que no utilizael ideal 〈I, h〉 y evita la aparicion de componentes redundantes. De estaforma, en muchos casos, el algoritmo resulta mas eficiente que el anterior.

Enunciamos primero los resultados teoricos que utilizaremos en el algoritmo.

Proposicion 5.3 Sea Q un ideal P -primario y sea f ∈ k[x]. Entonces

1. Si f ∈ P , (Q : f∞) = 〈1〉.2. Si f 6∈ P , (Q : f∞) = Q.

Demostracion.

1. Si f ∈ P , existe m ∈ N tal que fm ∈ Q. Luego, (Q : f∞) = 〈1〉.2. Si f 6∈ P , no existe m ∈ N tal que fm ∈ Q. Por lo tanto, gfm ∈ Q

implica que g ∈ Q y obtenemos (Q : f∞) ⊂ Q. La otra inclusion esinmediata.

Cuando queremos determinar si un polinomio esta en el radical de un ideal,no es necesario calcular el radical. Podemos usar la siguiente proposicion(Proposicion 4.2.8 de [CLO1]).

Proposicion 5.4 (Pertenencia al radical.) Sea I ⊂ k[x] un ideal y f ∈k[x]. Entonces

f ∈√

I ⇐⇒ 1 ∈ 〈I, tf − 1〉k[x1,...,xn,t]

donde t es una nueva variable.

La clave del algoritmo es la siguiente proposicion:

Proposicion 5.5 Sea I ⊂ k[x] un ideal. Sea I = Q1∩· · ·∩Qt una descom-posicion primaria de I y sean P1, . . . , Pt los ideales primos correspondientes.Sea g ∈ k[x] tal que g 6∈ Pi para 1 ≤ i ≤ s y g ∈ Pi para s + 1 ≤ i ≤ t.

Entonces(I : g∞) = Q1 ∩ · · · ∩Qs.

90

Demostracion. Tenemos que I = Q1 ∩ · · · ∩ Qt. Entonces (I : g∞) = (Q1 :g∞) ∩ · · · ∩ (Qt : g∞). Usando la Proposicion 5.3 obtenemos

(I : g∞) = Q1 ∩ · · · ∩Qs ∩ 〈1〉 ∩ · · · ∩ 〈1〉 = Q1 ∩ · · · ∩Qs.

En el algoritmo, una vez que construimos J = (I : g∞) como en la propo-sicion anterior, queremos separar algunas de las componentes primarias deJ . Usamos para ello la Proposicion 4.39.

Ahora estamos en condiciones de presentar el algoritmo.

Algoritmo 5.6 Radical(I)

Input: I := 〈f1, . . . , fs〉 ⊂ Q[x].

Output: P1, . . . , Pt, los primos minimales de I, y√

I = ∩1≤i≤tPi.

1. Inicializamos:

• P = ∅ (primos minimales)

• Q = ∅ (componentes primarias correspondientes a los primosminimales en P)

• P = 〈1〉 (interseccion de los primos minimales en P)

2. Repetimos el siguiente ciclo.

(a) Buscamos g ∈ P tal que g 6∈ √I. Para encontrarlo, recorremos losgeneradores de P y verificamos si estan en

√I usando pertenencia

al radical (no es necesario tener√

I).

(b) Si no existe g, significa que P ⊂ √I. Entonces se cumple P =

√I.

Salir del ciclo.

(c) Si existe g ∈ P r√

I, significa que existe al menos un primominimal P asociado a I tal que g 6∈ P . Tomamos J = (I : g∞).Por la Proposicion 5.5, tenemos que J =

⋂g 6∈Pi

Qi, con por lomenos un ideal en la interseccion.

(d) Hacemos la reduccion al caso cero dimensional ([GTZ]):Buscamos un conjunto independiente maximal u con respecto aJ y calculamos la descomposicion primaria de Jk(u)[x\u]∩k[x],como vimos en 4.3.

91

Obtenemos

Jk(u)[x \ u] ∩ k[x] = Q1 ∩ · · · ∩Qr

con primos P1, . . . , Pr.

(e) Tomamos

• P := P ∪ {P1, . . . , Pr}.• Q := Q∪ {Q1, . . . , Qr}.• P := P ∩ P1 ∩ · · · ∩ Pr.

y volvemos al inicio del ciclo.

3. salida = (P ;P).

La correctitud del algoritmo esta garantizada por la proposicion siguiente:

Proposicion 5.7 Sea I ⊂ k[x] un ideal propio, sea P un subconjunto de losprimos minimales de I y sea P :=

⋂P∈P P la interseccion de esos primos

minimales.

Supongamos que existe g ∈ P r√

I. Entonces, si (I : g∞) = ∩si=1Qi,

descomposicion primaria irredundante, y u es un conjunto independientemaximal con respecto a (I : g∞), tenemos que para todo 1 ≤ i ≤ s tal queQi ∩ k[u] = {0}, √Qi es un primo minimal de I, y ademas

√Qi /∈ P.

Demostracion. Sea Qi una componente primaria de (I : g∞) tal que Qi ∩k[u] = {0}. Claramente, Qi es una componente primaria asociada a I porser una componente de (I : g∞) (Proposicion 5.5), que ademas verifica queg /∈ √Qi = Pi. En particular g ∈ P r Pi implica que Pi /∈ P.

Por otro lado, por la Proposicion 4.39, al ser u independiente maximal yQi ∩ k[u] = {0}, Pi es un primo minimal de (I : g∞).

Si existiera una componente Q de I con√

Q ( Pi, tendrıamos que g /∈ √Qy por lo tanto Q aparecerıa en la descomposicion primaria de (I : g∞), y Pi

no serıa minimal. Contradiccion. ∇

Apliquemos el algoritmo al ideal del ejemplo anterior.

Sea R = Q[x, y, z, w] y I = 〈y + z, x z2w, x2z2〉 ⊂ Q[x, y, z, w].

En el primer paso, g := 1 y J := (I : 1∞) = I. Buscamos un conjuntoindependiente maximal con respecto a J .

92

> ring R = 0, (x,y,z,w), dp;> ideal I = y+z, xz2w, x2z2;> I = groebner(I);> ideal J = I;> indepSet(J);1,0,0,1

Obtenemos u = {x,w}. Haciendo la reduccion al caso cero dimensional (nola hacemos aca), obtenemos que

J(u)[xr u] ∩ k[x] = 〈y + z, z2〉

y ese ideal es primario, con primo 〈y + z, z〉 = 〈y, z〉.Tomamos

P := {〈y, z〉},Q := {〈y + z, z2〉},P := 〈y, z〉.

Ahora buscamos g ∈ P tal que g 6∈ √I (esto se hace en Singular con el

comando rad con.)

> rad_con (y+z, I);1> rad_con (z, I);0

Obtenemos que z 6∈ √I. Entonces las componentes primarias de (I : z∞)forman parte de la descomposicion primaria de I. Calculamos J = (I : z∞)y buscamos un conjunto independiente maximal con respecto a J .

> ideal J = sat(I,z)[1];> J = groebner(J);> J;J[1]=y+zJ[2]=xwJ[3]=x2> indepSet(J);0,0,1,1

93

Obtenemos u = {z, w}. Calculando la descomposicion primaria de Jk(u)[xru] y contrayendola a k[x], obtenemos que

J(u)[xr u] ∩ k[x] = 〈y + z, x〉y este ideal es primo.

Tomamos

P := {〈y, z〉; 〈y + z, x〉},Q := {〈y + z, z2〉; 〈y + z, x〉},P := 〈y, z〉 ∩ 〈y + z, x〉.

Calculamos la interseccion:

> intersect(P1, P2);_[1]=y+z_[2]=xz

Luego,

P := 〈y + z, xz〉.

Buscamos g ∈ P tal que g 6∈ √I.

> rad_con(y+z, I);1> rad_con(xz, I);1

Tenemos que P ⊂ √I. Por lo tanto, el algoritmo termina.

ObtuvimosI = 〈y, z〉 ∩ 〈y + z, x〉 = 〈y + z, xz〉

Vemos que obtenemos el radical de I sin que aparezcan componentes redun-dantes en los pasos intermedios.

Observaciones

El algoritmo que presentamos devuelve en la salida el radical de I y losprimos minimales asociados. Si buscamos solo los primos minimales o soloel radical, podemos modificar el algoritmo para hacerlo mas eficiente.

94

En el caso de que busquemos solo los primos minimales, no necesitamos cal-cular la interseccion P de los primos en el Paso 2e. Podemos definir al prin-cipio Q = 〈1〉 y luego en cada paso, tomar Q = interseccion(Q,Q1, . . . , Qs)(las componentes primarias obtenidas). Entonces buscamos g ∈ Qr

√I.

El algoritmo sigue siendo correcto, porque si no existe g ∈ Qr√

I, entoncesQ ⊂ √

I y por lo tanto P =√

Q ⊂ I, igual que en el algoritmo original.La ventaja de usar los Qi es que no necesitamos calcular la interseccionQ1 ∩ · · · ∩Qs, ya que vale Q1 ∩ · · · ∩Qs = Jk(u)[x \u] ∩ k[x] y este ultimopuede ser calculado directamente por saturacion.

Por otra parte, si no necesitamos los primos minimales asociados y soloqueremos calcular el radical, podemos usar el algoritmo de la Proposicion5.2 para obtener el radical de un ideal cero-dimensional en el Paso 2d delalgoritmo, en vez de calcular la descomposicion primaria completa. De estaforma obtenemos directamente la interseccion de los primos.

Complejidad del algoritmo

Vamos a calcular esquematicamente la complejidad del algoritmo. En elPaso 2d del algoritmo, usaremos el algoritmo de la Proposicion 5.2 paraobtener el radical de un ideal cero-dimensional, como comentamos en laobservacion anterior.

Sea I ⊂ Q[x] un ideal generado por s polinomios de grado maximo d. Usa-mos la notacion del capıtulo anterior: CG(d, n, s) para la complejidad delcalculo de una base de Grobner de I, DG(d, n) para el grado maximo delos polinomios que aparecen en la base y NG(d, n, s) para la cantidad depolinomios.

Como en la Seccion 4.3.2, usamos las cotas

DG(d, n) ≈ d2n

CG(d, n, s) ≈ sO(1)d2O(n)

NG(d, n, s) ≈ sO(1)d2O(n)

Veamos la complejidad del paso 2 del algoritmo. Supongamos que I ⊂ Q[x]es un ideal generado por s polinomios de grado maximo d y que al entrar alciclo, P es un ideal con r polinomios, de grado maximo e.

Analicemos el ciclo paso por paso.

95

(a) Para cada g ∈ P necesitamos calcular una base de Grobner de 〈I, tg−1〉 ⊂ Q[x1, . . . , xn, t]. El grado maximo en 〈I, tg − 1〉 es el maximoentre d y e + 1. Lo acotamos por e + d. Entonces, este paso tienecomplejidad rCG(d + e, n + 1, s + 1) ≈ rsO(1)(d + e)2

O(n)

.

(b) En este paso no se realiza ningun calculo.

(c) Para calcular J = (I : g∞), ya calculamos en el primer paso labase de Grobner de 〈I, tg − 1〉. Por lo tanto, no necesitamos ninguncalculo adicional, sino solamente quedarnos con los polinomios en Q[x](Proposicion 3.24). Obtenemos una base de Grobner de J . El gradomaximo de los polinomios en la base esta acotado por DG(d+e, n+1)y la cantidad de polinomios esta acotada por

NG(d + e, n + 1, s + 1) ≈ sO(1)(d + e)2O(n)

.

(d) Para la reduccion al caso cero dimensional, un conjunto maximal inde-pendiente puede obtenerse eficientemente mirando la base de Grobnerde J (Proposicion 4.34). No tendremos en cuenta la complejidad deeste calculo.

El radical de H = JQ(u)[xr u] se puede obtener por la Proposicion5.2 buscando los polinomios generadores de H ∩ Q(u)[xi], con xi ∈x r u y calculando su parte libre de cuadrados. Aunque existen for-mas mas eficientes de hacerlo, podemos hacerlo por eliminacion devariables, calculando para cada xi ∈ x r u la base de Grobner de〈I, tg − 1〉 usando un orden tal que

t >> (xr u)r xi >> xi >> u.

El calculo de la parte libre de cuadrados se calcula eficientemente conlos algoritmos de maximo comun divisor entre polinomios, no ten-dremos en cuenta esta complejidad. Entonces este paso tiene comple-jidad a lo sumo

nCG(d + e, n + 1, s + 1) ≈ nsO(1)(d + e)2O(n)

y los polinomios que agregamos a H tienen grado maximo

DG(d + e, n + 1) ≈ (d + e)2O(n)

.

Para contraer√

H aQ[x], usamos la Proposicion 4.41. Sea 〈g1, . . . , gu〉una base de Grobner de

√H con polinomios en k[x]. Debemos calcu-

lar (〈g1, . . . , gu〉 : h∞) para un cierto h. Este h puede elegirse como

96

el mınimo comun multiplo de los coeficientes principales de los poli-nomios gi mirados en Q[u][xr u].

Como la base de Grobner de J es tambien una base de Grobner de H,la cantidad de polinomios en la base de Grobner de

√H esta acotada

por

NG((d + e)2O(n)

, n, sO(1)(d + e)2O(n)

+ n) ≈ sO(1)(d + e)2O(n)

y el grado maximo esta acotado por

DG((d + e)2O(n)

, n) ≈ (d + e)2O(n)

.

El grado de h esta acotado por la cantidad de polinomios en la basemultiplicada por el grado maximo de los polinomios:

sO(1)(d + e)2O(n)

(d + e)2O(n) ≈ sO(1)(d + e)2

O(n)

.

Ahora, para hacer la contraccion, calculamos una base de Grobner de〈g1, . . . , gu, th− 1〉. Esto tiene complejidad

CG(sO(1)(d + e)2

O(n)

+ 1, n + 1, sO(1)(d + e)2O(n)

+ 1)

,

que aproximamos por

(sO(1)(d + e)2

O(n))O(1)(

sO(1)(d + e)2O(n)

)2O(n)

≈ s2O(n)(d + e)2

O(n)

Podemos estimar la complejidad de todo este paso por este ultimovalor.

La cantidad de polinomios que aparecen tambien podemos acotarlapor s2O(n)

(d + e)2O(n)

.

El grado maximo de los polinomios que aparecen es

DG(sO(1)(d + e)2

O(n)

, n + 1)≈ s2O(n)

(d + e)2O(n)

(e) En este paso tenemos que calcular la interseccion entre P =√

H∩Q[x]y P .

97

Por el Lema 3.20, esto tiene complejidad

CG(s2O(n)

(d + e)2O(n)

, n + 1, r + s2O(n)(d + e)2

O(n))

.

Como en cada iteracion la complejidad crece, podemos suponer que lacota para la cantidad de polinomios en P es mayor que r. Entoncesacotamos la complejidad por

s2O(n)(d + e)2

O(n)

.

La cantidad de polinomios y el grado maximo tambien estan acotadospor s2O(n)

(d + e)2O(n)

.

Podemos estimar la complejidad total del ciclo por la complejidad del ultimopaso.

Finalmente tenemos que ver cuantas veces se repite el ciclo. En cada ite-racion del ciclo, agregamos a P al menos un ideal primo de la descomposi-cion en primos de

√I. Como no hay redundancia, en todas las iteraciones

agregamos nuevas componentes. Por lo tanto, la cantidad de iteraciones estaacotada por la cantidad de componentes primas en la descomposicion de

√I,

que a su vez esta acotada por t, el mınimo entre la cantidad de componentesprimarias en la descomposicion primaria de I y el numero de Bezout dn.

Inicialmente, vale e = 1. La complejidad de la primer iteracion es

s2O(n)d2O(n)

.

La cantidad y el grado maximo de los polinomios que se obtienen tambienes

s2O(n)d2O(n)

.

Entonces, la complejidad de 2 iteraciones es((

s2O(n)d2O(n)

)2O(n))2

.

≈(s2O(n)

d2O(n))2O(n)

.

Entonces la complejidad de t iteraciones es s2tO(n)d2tO(n)

, que acotamos por

s2O(dn)d2O(dn)

.

98

Bibliografıa

[AM] M. F. Atiyah, I. G. Macdonald. Introduccion al Algebra conmutativa.Ed. Reverte (1980)

[Buch1] B. Buchberger. An algorithmic criterion for the solvability of alge-braic system of equations. Aequaotiones Math 4, 374-383 (1970)

[Buch2] B. Buchberger. A theoretical basis for the reduction of polynomialsto canonical forms. ACM SIGSAM Bull. 39, 19-29 (1976)

[BW] E. Becker, T. Wormann. Radical computations of zero-dimensionalideals and real root counting. Mathematics and Computers in Sim-ulation 42, 51-569 (1996)

[CGH] L. Caniglia, A. Galligo, J. Heintz. Some new effectivity boundsin computational geometry. T. Mora ed., AAECC-6, Proceedings6th International Conference, Rome 1988. L.N.Comput.Sci 357,Springer (1989) 131-151.

[CLO1] D. Cox, J. Little, D. O’Shea. Ideals, Varieties and Algorithms.Springer (1998)

[CLO2] D. Cox, J. Little, D. O’Shea. Using Algebraic Geometry. Springer(1998)

[Cox] D. Cox. Solving Equations via Algebras. Proc. Graduate School onSystems of Polynomial Equations: From Algebraic Geometry toIndustrial Applications, 3-56 (2003)

[Dube] T. W. Dube. The structure of polynomial ideals and Grobner bases.SIAM J. Comput. 19, 750-773 (1990)

99

[DFGS] A. Dickenstein, N. Fitchas, M. Giusti, C. Sessa. The membershipproblem for unmixed polynomial ideals is solvable in single exponen-tial time. Discrete Applied Mathematics 33, 73-94 (1991)

[DGP] W. Decker, G. Gruel, G. Pfister. Primary Decomposition: Algo-rithms and Comparisons. Algorithmic algebra and number theory(Heidelberg, 1997), 187-220, Springer (1999)

[EHV] D. Eisenbud, C. Huneke, W. Vasconcelos. Direct methods for Pri-mary Decomposition. Invent. Math. 110, 207-235 (1992)

[Eis] D. Eisenbud. Commutative Algebra with a View Toward AlgebraicGeometry. Springer (1995)

[Giusti] M. Giusti. Some effective problems in polynomial ideal theory. EU-ROSAM 84, Lecture Notes in Computer Science 174, 159-171 (1984)

[GP] G.Greuel, G. Pfister. A Singular Introduction to Commutative Al-gebra. Springer (2002) EUROSAM 84, Lecture Notes in ComputerScience 174 159-171 (1984)

[GTZ] P. Gianni, B. Trager, G. Zacharias. Grobner Bases and PrimaryDecomposition of Ideals. J. Symbolic Computation 6, 149-167 (1988)

[Kal] E. Kaltofen. Polynomial-time reductions from multivariate to bi-and univariate integral polynomial factorization. SIAM Journal onComputing 14/2 469-489 (1985)

[KL1] T. Krick, A. Logar. Membership problem, representation problemand the computation of the radical for one-dimensional ideals.Progress in Mathematics 94, 203-216 (1991)

[KL2] T. Krick, A. Logar. An algorithm for the computation of the radicalof an ideal in the ring of polynomials. AAECC9, Springer LNCS539, 195-205 (1991)

[Lan] S. Lang. Algebra. Addison-Wesley Publishing, third edition, 1993.

[LLL] A. K. Lenstra, H. W. Lenstra, Jr., and L. Lovasz. Factoring polyno-mials with rational coefficients. Mathematische Annalen 261, 513-534 (1982)

[Mon] C. Monico. Computing the primary decomposition of zero-dimensional ideals. J. Symbolic Computation 34, 451-459 (2002)

100

[Sch] J. T. Schwartz. Fast probabilistic algorithms for verification of poly-nomial identities. J. ACM. 27 (1980) 701-717.

[Sei] A. Seidenberg. Constructions in Algebra. Trans. Amer. Math. Soc197, 273-313 (1974)

[Sti] M. Stillman. Tools for Computing Primary Decompositions and Ap-plications to Ideals Associated to Bayesian Networks. Proc. Grad-uate School on Systems of Polynomial Equations: From AlgebraicGeometry to Industrial Applications, 207-228 (2003)

[VWa] B.L. Van der Waerden. Modern Algebra. Ungar Publishing Co., NewYork, 1969.

[Zip] R. Zippel. Probabilistic algorithms for sparse polynomials. Proceed-ings EUROSAM’79. L.N.Comput.Sci. 72, Springer (1979) 216-226.

101


Recommended