UNIVERSIDAD DE BUENOS AIRES

FACULTAD DE CIENCIAS EXACTAS Y NATURALES

Sobre la Complejidad

en Espacio y Tiempo

de la Eliminación Geométrica

por Guillermo Matera

DIRECTOR DE TESIS Dr. Joos Heintz LUGAR DE TRABAJO Departamento de Matemática

Facultad de Ciencias Exactas y Naturales Tesis presentada para optar por el título de: Doctor de la Universidad de Buenos Aires

On the Space–Time Complexity of Geometric Elimination

Abstract

The space–time complexity of geometric elimination procedures is studied from both the algorithmic and the computational complexity point of view.

¿From the algorithmic point of view, deterministic algorithms are developed which solve some of the main elimination problems and require small space resources. Afterwards, a class of probabilistic algorithms is developed which has a better time perfomance and is able to distinguish well– conditionated from ill–posed systems.

¿From the computational complexity point of view, an optimal lower bound for the space–time tradeoff of polynomial evaluation procedures is shown and several natural cases where this bound is reached are exhibited. Finally, all the existent general purpose methods on the subject and all their posible variants are proved to requiere exponential time. Key words: Elimination, algorithms, complexity, tradeoffs, circuits.

Resumen

Se estudia la complejidad en espacio y tiempo de los procedimientos de eliminación geométrica tanto desde el punto de vista algorítmico como del de la complejidad computacional.

Desde el punto de vista algorítmico, se desarrollan algoritmos determinísticos que resuelven algunos de los principales problemas de eliminación y requieren bajo recursos de espacio de memoria. Posteriormente se desarrolla una clase de algoritmos probabiísticos cuyo comportamiento en cuanto al tiempo es superior, que es capaz de distinguir sistemas bien condicionados de sistemas mal condicionados.

Desde el punto de vista de la complejidad computacional, se demuestra una cota inferior para el tradeoff espacio–tiempo de los procedimientos de evaluación de polinomios y se exhiben varios casos naturales donde se alcanza esta cota. Finalmente se demuestra que todos los métodos generalistas existentes sobre el tema y todas sus posibles variantes requieren tiempo exponencial. Palabras clave: Eliminación, algoritmos, complejidad, tradeoffs, circuitos.

Agradecimientos

En primer lugar, debo expresar mi mayor agradecimiento a Joos Heintz, por la dedicación, el apoyo y la paciencia que en todo momento demostró.

En segundo lugar, deseo agradecer a Luis Miguel Pardo Vasallo, cuya influencia es claramente apreciable en varios pasajes de esta tesis.

También quiero reconocer a varias personas que aportaron de una u otra manera a mi trabajo en este tiempo: B. Castaño, K. Hägele, T. Krick, J.L. Montaña, J.E. Morais, P. Solernó, M. Sombra, J.M. Turull, R. Wachenchauzer.

Por último (aunque no necesariamente en este lugar) a mi familia, y especialmente a mi esposa Nancy y mi hija Lucía, a quienes dedico esta tesis.

Contenidos

Introducción 1

1 Algoritmos determinísticos 13

1.1 Aritmética de baja profundidad . . . . . . . . . . . . . . . . . 21 1.1.1 Suma de números enteros . . . . . . . . . . . . . . . . 21 1.1.2 Sumatorias de números enteros . . . . . . . . . . . . . 22 1.1.3 Producto de números enteros . . . . . . . . . . . . . . 23

1.2 Algebra lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 1.2.1 Operaciones matriciales . . . . . . . . . . . . . . . . . 24 1.2.2 Cálculo del polinomio característico . . . . . . . . . . . 27 1.2.3 Cálculo de la matriz adjunta . . . . . . . . . . . . . . . 30 1.2.4 Cálculo del rango . . . . . . . . . . . . . . . . . . . . . 31 1.2.5 Resolución de sistemas de ecuaciones lineales . . . . . . 32

1.3 Operaciones con polinomios . . . . . . . . . . . . . . . . . . . 34 1.3.1 División entera . . . . . . . . . . . . . . . . . . . . . . 37 1.3.2 Máximo común divisor . . . . . . . . . . . . . . . . . . 38 1.3.3 Representación separable . . . . . . . . . . . . . . . . . 42

1.4 Consecuencias para los problemas de eliminación . . . . . . . . 42 1.4.1 El problema de la consistencia y la representación … 43 1.4.2 El problema de la pertenencia y la representación en

ideales intersección completa . . . . . . . . . . . . . . . 45 1.4.3 El problema de la pertenencia al radical . . . . . . . . 46 1.4.4 El problema de eliminación cero–dimensional . . . . . . 47 1.4.5 El problema general de eliminación . . . . . . . . . . . 49 1.4.6 Cálculo de la dimensión y normalización de Noether . . 52 1.4.7 Descomposición en componentes equidimensionales . . 54 2 Algoritmos probabilísticos 59

2.1 El caso 0-dimensional: técnicas de elemento primitivo . . . . . 62 2.1.1 Algunas reducciones éstandar . . . . . . . . . . . . . . 63 2.1.2 Soluciones geométricas . . . . . . . . . . . . . . . . . . 66 2.1.3 La complejidad del cálculo de un elemento primitivo . . 69 2.1.4 El método de Newton–Hensel . . . . . . . . . . . . . . 73 2.1.5 Sobre los circuitos aritméticos . . . . . . . . . . . . . . 85 2.1.6 El algoritmo para el cálculo de un elemento primitivo . 101

2.2 La división módulo un ideal intersección completa reducido . . 121 2.2.1 Traza y dualidad . . . . . . . . . . . . . . . . . . . . . 121 2.2.2 Un paso de división . . . . . . . . . . . . . . . . . . . . 126

2.3 Aplicaciones a la eliminación . . . . . . . . . . . . . . . . . . . 127 2.3.1 El problema de la consistencia y la representación … 128 2.3.2 El problema de la pertenencia y la representación en

el caso de ideales intersección completa . . . . . . . . . 132 2.3.3 Cálculo del grado de una variedad . . . . . . . . . . . . 133 2.3.4 Una versión efectiva del Teorema de Quillen-Suslin . . 137

3 Tradeoffs espacio–tiempo 142

3.1 Espacio y tiempo para circuitos aritméticos . . . . . . . . . . . 143 3.1.1 Del modelo de pebble games al de locación de registros 144 3.1.2 Del modelo de locación de registros al modelo de com-

plejidad geométrico . . . . . . . . . . . . . . . . . . . . 148 3.1.3 Una descripción geométrica del conjunto de los poli-

nomios evaluables con recursos prefijados . . . . . . . . 152 3.1.4 Algunas consecuencias en términos de tradeoffs …. 160

3.2 Herramientas de eliminación geométrica y teoría de intersección161 3.3 Polinomios difíciles de evaluar . . . . . . . . . . . . . . . . . . 170

3.3.1 Polinomios dados por sus coeficientes . . . . . . . . . . 170 3.3.2 Polinomios dados por sus raíces . . . . . . . . . . . . . 180 3.3.3 Cotas inferiores de espacio para una evaluación óptima

en tiempo . . . . . . . . . . . . . . . . . . . . . . . . . 187

4 La complejidad intrínseca de la eliminación 188

4.1 Resultados de complejidad estructural . . . . . . . . . . . . . 190 4.1.1 Cotas inferiores relativas sobre modelos binarios …. 191 4.1.2 Cotas inferiores relativas sobre modelos aritméticos . . 198 4.2 Resultados de complejidad absoluta . . . . . . . . . . . . . . . 202

4.2.1 Familias playas de problemas de eliminación . . . . . . 203 4.2.2 La complejidad de eliminación de un sistema de ecua-

ciones polinomiales . . . . . . . . . . . . . . . . . . . . 211

Conclusiones 215

Referencias 216

Introducción

Los procedimientos algorítmicos de eliminación generalmente han sido diseñados desde el punto de vista del álgebra conmutativa. Por ejemplo, consideremos el caso del problema de la consistencia de un sistema de ecuaciones polinomiales F_{1}, …, F_{s} en ZZ[X_{1}, …, X_{s}]: se trata de decidir cuando el sistema

F_{1}(X_{1}, …, X_{n}) = 0, …, F_{s}(X_{1}, …, X_{n}) = 0

tiene una solución, es decir, si la variedad algebraica

V := {(x_{1}, …, x_{n}) ∈ C^{n} / F_{1}(x_{1}, …, x_{n}) = 0, …, F_{s}(x_{1}, …, x_{n}) = 0}

es o no vacía. Por medio de un teorema de Kronecker (el Nullstellensatz erróneamente atribuido a Hilbert), esta cuestión se puede reducir a un problema de naturaleza puramente algebraica:

V = ∅ si y sólo si existen polinomios G_{1}, …, G_{s} ∈ Q[X_{1}, …, X_{n}] tales que vale la igualdad 1 ∈ G_{1}F_{1} + ⋯ + G_{s}F_{s}

El software existente sobre el tema, basado en la teoría de bases de Gröbner (cf. [36]), se concentra en el estudio del ideal polinomial involucrado, es decir, el ideal I := (F_{1}, …, F_{s}) generado por los polinomios F_{1}, …, F_{s} en Q[X_{1}, …, X_{n}]. En tal sentido, la pregunta del problema de la consistencia de un sistema de ecuaciones polinomiales constituye simplemente un caso particular del problema general de la pertenencia de un polinomio a un ideal dado, cuya formulación precisa es la siguiente:

Dados polinomios F_{1}, …, F_{s}, F en ZZ[X_{1}, …, X_{s}], decidir si F pertenece al ideal generado por F_{1}, …, F_{s} en Q[X_{1}, …, X_{n}], es decir, si existen polinomios G_{1}, …, G_{s} ∈ Q[X_{1}, …, X_{n}] tales que se verifica la identidad F = G_{1}F_{1} + ⋯ + G_{s}F_{s}.

Desde la informática teórica la respuesta a esta última pregunta no es alentadora: un trabajo de E. Mayr y A. Meyer [126] (ver también [125]) clasifica este problema como intratable desde el punto de vista de los recursos computacionales que éste requiere para su solución. Dado que el software que utiliza los métodos de bases de Gröbner resuelve el problema de la pertenencia, se deduce que éste exige grandes recursos computacionales para su aplicación.

Este fenómeno ocurre con frecuencia en el ámbito del álgebra computacional: dado que los aspectos computacionales no se toman en cuenta, las computadoras se sobrecargan con rutinas (generalmente innecesarias) y en consecuencia el usuario debe ser paciente. Esta ineficiencia práctica crea la demanda de un análisis de los problemas computaciones que puede analizarse por medio de consideraciones de complejidad. El estudio de la complejidad apunta a explicar porque algunos problemas requieren mas espacio de memoria del que la computadora dispone o porque la respuesta a ciertas preguntas no puede esperarse en tiempo razonable.

El objetivo central de esta tesis es estudiar la problemática algorítmica de la eliminación geométrica y algebraica desde el punto de vista de la complejidad. En tal sentido, se prestará atención a los dos aspectos relevantes de la cuestión: el de la optimización y el de las limitaciones. Por tal motivo, la tesis se divididirá en dos partes: en la primera mitad se desarrollarán algoritmos que optimizan el uso de los dos recursos computacionales básicos que consideraremos: el espacio de memoria y el tiempo de cálculo secuenciales. Por su parte, la segunda mitad de la tesis estará dedicada a estudiar los límites de toda posible mejora.

La ineficiencia de los métodos basados en bases de Gröbner crea la necesidad de buscar métodos alternativos para tratar los problemas de eliminación. Retomando nuevamente el problema de la consistencia como ejemplo, una idea natural consiste en acotar los grados de los polinomios G_{i} que aparecen en la representación de 1 en el ideal generado por (F_{1}, …, F_{s}). De este modo, el problema de la consistencia del sistema de ecuaciones polinomiales definido por F_{1}, …, F_{s} puede resolverse por comparación de coeficientes y álgebra lineal (la cota para los grados de los polinomios G_{i} permite estimar el tamaño del sistema lineal). Esta alternativa, propuesta por Hilbert, fue tratada por primera vez por G. Hermann ([96]) en la década del ’20 para el caso general de la pertenencia a un ideal. La autora demostró que un polinomio F pertenece al ideal (F_{1}, …, F_{s}) si y solamente si existe una representación:

F = G_{1}F_{1} + ⋯ + G_{s}F_{s}

donde los G_{i} son polinomios de grado total acotado por deg F + 2(1 + d^{2} + ⋯ + d^{2^{n−1}}), siendo d el máximo de los grados de los polinomios F_{i}.

A pesar de diversas mejoras a las que fue objeto el resultado de Hermann, Mayr y Meyer (ver [126]) mostraron que la mejor cota de grado que se puede obtener para un sistema arbitrario es doblemente exponencial en los datos de entrada d y n, por lo que es imposible esperar una estimación mejor.

O.H. Keller y W. Gröbner estudiaron esta idea (de acotar los grados de los polinomios G_{1}, …, G_{n}) en el Nullstellensatz cuando tenemos F = 1 y conjeturaron que en este caso la cota debía ser de tipo deg G_{i} ≤ d^{n} (Problema del Nullstellensatz efectivo).

La conjetura de Keller y Gröbner fue finalmente demostrada en 1986 por D. Brownawell ([34]) para el caso de los números complejos. El resultado fue extendido poco más tarde al caso general por L. Caniglia, A. Galligo y J. Heintz (ver [38], [39]) y finalmente refinado por J. Kollár ([111]). Se obtuvieron versiones más generales del Nullstellensatz efectivo (ver [5], [15], [35], [41], [64], [65], [144], [165]) y se pudo tratar el problema general de la pertenencia de un polinomio F a un ideal y de la representación para ciertos casos particulares en tiempo simplemente exponencial (ver [56]). Entre estos casos particulares se destacan el de un ideal de dimensión cero y el de un ideal intersección completa. Cabe destacar que los grados de tipo d^{n} que aparecen en los Nullstellensätze citados son casi optimales (ver [34], donde este hecho se ilustra por medio de un ejemplo debido a T. Mora, D. Lazard, D. Masser y P. Philippon entre otros).

A partir de estos resultados se desarrolló una estrategia general para tratar con problemas geométricos de teoría de eliminación: reducir los problemas a cuestiones de álgebra lineal. De esta manera pudieron resolverse en tiempo simplemente exponencial problemas tales como la eliminación de un bloque de cuantificadores en el caso real y complejo ([66], [67], [91], [92], [93]), la pertenencia al radical ([39]), el cálculo de la dimensión de una variedad ([56]), la descomposición en componentes equidimensionales ([79]), el cálculo de la clausura proyectiva ([40]) y una versión algorítmica del Teorema de Quillen-Suslin ([64], [65]) entre otros. Por otra parte cabe mencionar que la clasificación de la complejidad intrínseca de algunos problemas algorítmicos fundamentales queda abierta, como por ejemplo el cálculo de generadores para el radical de un ideal polinomial dado (ver [112]).

Una interesante característica común de los algoritmos mencionados anteriormente es el buen comportamiento que todos ellos poseen desde el punto de vista de la computación en paralelo. Es decir, en un modelo en el cual se dispone de varios procesadores que trabajan simultáneamente, el tiempo de cálculo se reduce en forma polilogarítmica con respecto a los parámetros de entrada n (la cantidad de variables), s (la cantidad de polinomios) y d (el grado máximo de los polinomios) mediante una adecuada distribución de los procesos (operaciones aritméticas) a realizar.

Surge entonces la cuestión de como puede utilizarse esta característica de los algoritmos considerados en el ámbito de la computación secuencial. Desde la computación booleana, la respuesta viene dada a partir de un resultado de A. Borodin [24] (ver también [69]): bajo ciertas condiciones de uniformidad, el tiempo de computación paralela puede transformarse en espacio de memoria secuencial.

En el primer capítulo de la tesis se estudia la manera de aplicar el teorema de Borodin a los problemas de eliminación. Para esto se discute la transformación del teorema de Borodin en una herramienta algorítmica utilizable en este contexto. Se estudia especialmente la forma en la que el teorema de Borodin involucra la uniformidad del algoritmo dado. Posteriormente se desarrollan algoritmos para la resolución de los problemas de álgebra lineal que intervienen en los problemas de eliminación. Los casos centrales desde el punto de vista de las aplicaciones son el cálculo del rango de matrices en ZZ^{n×m} y la resolución de sistemas de ecuaciones lineales sobre ZZ.

Aquí el espacio de memoria es crítico teniendo en cuenta que los algoritmos comúnmente utilizados (basados en la eliminación gaussiana) requieren una cantidad polinomial de espacio, lo cual los transforma en impracticables para grandes matrices como las que aparecen típicamente en las aplicaciones a la eliminación.

Los algoritmos que se obtienen por medio del teorema de Borodin utilizan espacio de memoria polilogarítmico. Para este propósito se estudian algoritmos aritméticos de bajo tiempo paralelo sin divisiones, como los de [19] o [1] para el cálculo del polinomio característico (ver también [52], [151], [30], [72], [138], [75], [20]), los cuales se “traducen” a algoritmos booleanos, a fin de poder aplicar la estrategia del teorema de Borodin.

Si bien parece natural realizar esta traducción de la base de operaciones {+, ∗} en ZZ a la base {∧, ∨, ¬} en {0, 1}, se demuestra que la traducción puede realizarse mas eficientemente a partir de la base {+, ∗, ∑}, donde ∑ se implementa en tiempo paralelo logarítmico por medio de un circuito Carry Save Adder (ver [23], [182]). Esto permite obtener algoritmos que tienen una perfomance, en cuanto al tiempo paralelo se refiere, comparable con los mejores algoritmos uniformes conocidos hasta el momento, como los de [27], pero con ventajas adicionales importantes desde el punto de vista de la programación.

Posteriormente se muestran reducciones de varios problemas de eliminación en geometría algebraica y semialgebraica a cuestiones de álgebra lineal. A fin de transformar estas reducciones en algoritmos (booleanos) de bajo tiempo paralelo, se controla el tamaño de las matrices involucradas así como también la longitud bit de los números involucrados. De esta manera, se obtienen algoritmos de tiempo paralelo polinomial en n y logarítmico en s, d y h (la longitud binaria máxima de los coeficientes de los polinomios F_{i}) para resolver algunos problemas fundamentales en teoría de eliminación geométrica (cf. [90], [139]): la representación de 1 en el problema de la consistencia, la pertenencia de un polinomio dado a un ideal cero-dimensional o de intersección completa o a un ideal radical, y la eliminación de un bloque de cuantificadores; como así también algunas cuestiones algorítmicas de importancia: técnicas de preprocesamiento de datos (normalización de Noether), de descripción de la variedad (cálculo de la dimensión, grado, descomposición en componentes irreducibles), de reducción (cálculo de la clausura proyectiva) y otras (versión algorítmica del teorema de Quillen-Suslin).

Estos algoritmos proveen los “buenos” candidatos para la aplicación de la estrategia del teorema de Borodin, y esto nos conduce al tema de la uniformidad. Parece ser un comportamiento éstandar en el ámbito del cálculo simbólico ignorar este aspecto de vital importancia. Por ejemplo, tanto en [19] como en [27] y [125] se anuncian resultados como uniformes sin exhibir ninguna demostración de este hecho. Un punto que es crucial en este tema es que la única forma de probar la uniformidad necesaria para la aplicación del método de Borodin de una familia de circuitos es exhibiendo un algoritmo que, dado el número de circuito como entrada, describe el diseño de dicho circuito en espacio polilogarítmico. Y esto no es trivial, como puede apreciarse en el caso de producto iterado (ver [99]) o de la división de números enteros (ver [108], [153]).

Por lo tanto se discute la cuestión de la uniformidad de los algoritmos antes mencionados y se muestra que ésta puede obtenerse en espacio logarítmico. Finalmente, a partir de la estrategia del teorema de Borodin se consiguen algoritmos que funcionan en espacio de memoria polinomial para todos esos problemas. Cabe destacar que todos estos resultados se encuentran contenidos en los trabajos [86] y [123].

Algunos algoritmos para problemas de teoría de eliminación han sido presentados como algoritmos que utilizan bajos recursos de espacio de memoria. Tal es el caso de los algoritmos en [14], [42], y [154] por ejemplo. Sin embargo, en esos trabajos los autores no analizan las cuestiones de uniformidad de sus algoritmos, de modo que no queda claro que estos posean las características anunciadas.

Es un hecho general de la teoría de complejidad en el ámbito de la computación secuencial, al menos en su modelo mas utilizado, el de la máquina de Turing, que con espacio de memoria S prefijado, el tiempo de cálculo queda acotado en el peor caso en forma exponencial con respecto a S (cf. [7]). Esta estimación aplicada a los algoritmos de eliminación anteriormente mencionados daría cotas no polinomiales (subexponenciales o exponenciales según el contexto) para el tiempo que los mismos requieren. Es por lo tanto interesante estudiar de que manera pueden mejorarse los métodos anteriores a fin de obtener algoritmos con mejor comportamiento con respecto al espacio de memoria y al tiempo de cálculo.

Con esta cuestión como objetivo, el segundo capítulo de la tesis exhibe una nueva clase de algoritmos para problemas de eliminación cuya performance en cuanto al tiempo de cálculo es claramente superior, aunque admitiendo la posibilidad de que los mismos produzcan respuestas erróneas (de todas maneras la probabilidad de que esto ocurra es muy baja).

Cabe destacar que la contribución original de esta tesis en la Sección 1.4 y en Capítulo 2 se limita al estudio de la complejidad en espacio de los problemas algorítmicos considerados. Las estimaciones de complejidad y el procedimiento algorítmico general puede verse en los artículos posteriormente citados. Por razones expositorias se ha realizado un trabajo de compilación y se han reproducido los algoritmos correspondientes casi en su totalidad limitando las referencias a hechos matemáticos utilizados. Ese proceder minucioso es imprescindible para un correcto estudio de la complejidad en espacio de los problemas en cuestión dado que hasta la fecha no existe método general de transformación de cotas de complejidad de tiempo paralelo en cotas de complejidad para el espacio. En particular, es importante señalar que los métodos matemáticos y algorítmicos aplicados en el capítulo 2 provienen de los trabajos [78], [81], [82] y [131].

Uno de los ingredientes principales para lograr esta clase de algoritmos es la descripción de una variedad en forma seudo-paramétrica mediante un elemento primitivo. La idea original viene del caso de la eliminación cerodimensional, donde ésta técnica ha sido aplicada con éxito desde bastante tiempo atrás, como por ejemplo en [4], [42], [46], [48], [77], [78], [80], [81], [82], [90], [110], [114], [118], [119], y [128] entre otros. En este caso un elemento primitivo es simplemente una forma lineal γ que separa los (finitos) puntos de la variedad, es decir, que verifica γ(P) ≠ γ(Q) para todo par de puntos distintos P, Q ∈ V.

Mediante una adaptación para el caso de sistemas de ecuaciones polinomiales de dimensión positiva, el elemento primitivo permite una descripción de variedades algebraicas que es útil en varias cuestiones de eliminación y puede calcularse y manipularse con baja complejidad.

El otro ingrediente fundamental es el uso de correct–test sequences (cf. [94], ver también [53], [87], [114], [160]). Estas han sido una herramienta de importancia en varios trabajos sobre eliminación (ver [80], [83], [68], [113], [114], [82], [81], [78]), donde se han utilizado para chequear probabilísticamente identidades de polinomios dados por su grafo de computación. Al contrario de los métodos desarrollados en [55], [97], [163] y [187], donde el chequeo depende del polinomio particular que se considera, las correct test sequences brindan un test que es uniforme para todos los polinomios que poseen un grafo de computación del mismo tamaño.

Una de las principales aplicaciones de las correct–test sequences es el caso de sistemas sobredeterminados (es decir, con más ecuaciones que incógnitas). Una técnica común (ver por ejemplo, [16], [17], [34], [38], [39], [42], [48], [60], [68], [80], [83], [111], [113], [114], [118], [145], [155]), es reemplazar las ecuaciones originales por n combinaciones lineales G_{1}, …, G_{n} de las mismas de manera de describir la variedad con igual cantidad de ecuaciones que incógnitas. Un punto clave es que los coeficientes que aparecen en esas combinaciones lineales pueden elegirse con la única condición de no satisfacer cierta ecuación polinomial que puede calcularse con bajo tiempo paralelo. Como se demuestra en [114] section 3.1, estos coeficientes pueden generarse aleatoriamente bit a bit con alta probabilidad de obtener una “correct sequence”.

En primer lugar se exhibe un algoritmo para calcular elemento primitivo, tomando como base los algoritmos aritméticos desarrollados en [114], [82],

[81] y [78], y el teorema de Borodin. Posteriormente se estudian algunas aplicaciones con esta filosofía, como el problema de la representación de la unidad en el caso de la consistencia y la pertenencia de un polinomio a un ideal intersección completa, el cálculo del grado de una variedad y una nueva versión del teorema de Quillen-Suslin en el cual la incidencia del tamaño de la matriz baja de exponencial a polinomial (hecho clave para su “aplicabilidad”). Algunos de estos algoritmos también mejoran sustancialmente las cotas hasta ahora conocidas con respecto a la computación paralela.

Es interesante destacar que esta clase de algoritmos tiene un comportamiento en cuanto al tiempo de cálculo que es al menos tan bueno como el que poseen los algoritmos que utilizan los métodos de bases de Gröbner, siendo su principal ventaja sobre aquellos que requiere una cantidad razonable de espacio de memoria (en el caso de los métodos de bases de Gröbner, estos son como mínimo de tipo exponencial, lo que ocasiona que frecuentemente su ejecución no pueda completarse por falta de espacio de memoria).

Habiendo estudiado la cuestión de la optimización de la utilización de recursos computacionales en problemas de eliminación, surge claramente la necesidad de estudiar los límites de toda posible mejora. En tal sentido, en el tercer capítulo de la tesis se estudia la forma en que los dos recursos computacionales que hemos estado considerando (espacio de memoria y tiempo de cálculo) se interrelacionan.

El problema de la interrelación (tradeoff) tiempo–espacio en informática teórica ha sido un tópico de interés desde los comienzos de la disciplina. Desde hace tiempo se había observado que frecuentemente la economización de espacio de memoria ocasiona la recomputación de resultados parciales.

Un modelo natural para el estudio de los tradeoffs es el de los straight– line programs (cf. [31], [169], [89], [173], [75], [139], [37]). Un straight– line program modela la evaluación de una función representada mediante un grafo de computación (que es un grafo orientado acíclico cuyos nodos son etiquetados según la operación aritmética que realizan) con una cierta cantidad de registros. La evaluación del grafo procede en varias etapas, en cada una de las cuales se calcula el resultado correspondiente a un nodo del grafo (siempre que los resultados correspondientes a sus predecesores estén almacenados en dos registros) y el resultado obtenido se almacena en otro registro. El espacio se mide por la cantidad máxima de registros utilizada durante todo el proceso y la cantidad de etapas necesarias para la evaluación de todo el grafo es lo que se identifica con el tiempo de cálculo.

Literatura sobre tradeoffs tiempo–espacio en este modelo puede hallarse en los surveys de N. Pippenger [150] y J.E. Savage [156]. Los straight– line programs han sido utilizados para mostrar cotas inferiores para varios problemas, incluyendo sorting (ver [174]), reconocimiento de lenguajes ([61]), multiplicación binaria entera [159] problemas de álgebra lineal y multilineal como convolución, producto matriz-vector y transformada de Fourier discreta ([174], [175], [158]), multiplicación, inversión y multiplicación iterada de matrices ([85], [101], [157], [175]), range queries ([184], [176]) y otros ([120], [141], [149]).

Otro modelo alternativo comúnmente utilizado es el de los branching programs (cf. [25]). Este modelo también ha sido lo suficientemente poderoso como para permitir establecer cotas inferiores para problemas algebraicos. En [186] por ejemplo se establecen cotas inferiores para transformada de Fourier discreta y en [2] se muestran tradeoffs tiempo–espacio para una larga lista de problemas algebraicos tales como convolución, multiplicación entera, producto matriz–vector, multiplicación e inversión de matrices, el cálculo del producto de tres matrices y el de PAQ donde P y Q son matrices de permutación. Este modelo puede asimismo aplicarse a otros problemas como sorting (ver [28], [26]), distinción de elementos ([29], [185]) y hallar elementos únicos ([11]).

En esta tesis se estudia la complejidad tiempo–espacio de la evaluación de polinomios bajo el modelo de los straight–line programs. El método para que se utiliza a fin obtener cotas inferiores se basa en una interpretación geométrica de la noción de straight–line program en la que sólo se tienen en cuenta las operaciones no escalares (es decir, productos entre polinomios no constantes y divisiones cuyo denominador es un polinomio no constante).

En primer lugar, se observa que el grafo de computación asociado a la regla de Horner para un polinomio univariado P ∈ K[X] de grado d puede realizarse utilizando exantamente dos registros en tiempo total 2d y tiempo no escalar d. Si L y S denotan el tiempo y espacio no escalar del algoritmo de Horner aplicado a la evaluación del polinomio P, se obtiene la siguiente obvia cota superior para el tradeoff tiempo–espacio de evaluar P:

L · S^{2} = 4 · d.

A partir de un simple argumento de dimensión, se mostrará que esta cota es, salvo un orden de magnitud, exacta para casi todos los polinomios univariados de grado d. Como en [172] y [89] se llama a tales polinomios difíciles de evaluar en términos de tradeoff.

Luego se desarrolla la estrategia global que permite exhibir polinomios univariados específicos que son difíciles de evaluar en el sentido anterior. Esta estrategia incluye un análisis de la altura de puntos en la fibra de un morfismo entre variedades diofánticas y constituye la principal herramienta para establecer tradeoffs tiempo–espacio para polinomios univariados con coeficientes enteros. El caso más simple de los polinomios con coeficientes algebraicos se trata mediante un método para estimar el grado de una fibra de un morfismo entre variedades diofánticas inspirado en [95] (ver también [94], [90]).

Cabe destacar que estos resultados, contenidos en [3], muestran por primera vez cotas inferiores significantes para el tradeoff tiempo-espacio en circuitos con una sola salida.

Finalmente, el cuarto capítulo de la tesis estudia la cuestión de las limitaciones de toda posible optimización de los algoritmos considerados.

Existen ciertos indicios de que la eliminación algorítmica enfrenta serios problemas de complejidad. Por un lado es sabido que la eliminación de cuantificadores general en geometría algebraica y semialgebraica requiere tiempo intrinsecamente doblemente exponencial y espacio de memoria simplemente exponencial ([54], [66], [88]) y que los típicos problemas algebraicos en anillos de polinomios (como el problema de la pertenencia para ideales polinomiales) son completos en espacio exponencial ([125], [126]). Por otro lado una larga lista de problemas geométricos fundamentales son resolubles en espacio polinomial (con la correspondiente complejidad en tiempo simplemente exponencial en la cantidad de variables).

En esta tesis se muestra evidencia que avala la conjetura que la eliminación en geometría tiene una complejidad intrínsecamente exponencial con respecto al tiempo secuencial e intrínsecamente polinomial con respecto al espacio de memoria. Esta evidencia se dará tanto en términos de complejidad estructural (relativa) como en términos de complejidad absoluta (aunque en modelos de computación restringidos).

Con respecto a complejidad estructural, se demuestra que la suposición de un carácter intrínseco polinomial de la eliminación algorítmica implica que la jerarquía de tiempo aritmética colapsa (lo que implicaría, como es bien conocido y contrario a la creencia general, que P=NP) y que lo mismo ocurre con respecto a modelos no uniformes de computación (por ejemplo, la tesis de Valiant sería incorrecta).

En cuanto a la complejidad absoluta, se demuestra que una clase bien definida de algoritmos, que incluye todos los algoritmos actualmente implementados o posibles variantes de los mismos y los desarrollados en la primera parte de la tesis, requieren espacio de memoria polinomial y tiempo de cálculo simplemente exponencial. Para tal fin se introduce el concepto de algoritmo algebraicamente robusto, el cual sintetiza las características de todos los algoritmos de eliminación conocidos en cálculo simbólico. Posteriormente, se demuestra que cualquier algoritmo algebraicamente robusto posee el carácter exponencial anteriormente anunciado.

Se deduce que los algoritmos desarrollados en la primera mitad de la tesis no son esencialmente mejorables, al menos utilizando el tipo de técnicas que se han aplicado hasta el momento.

En resumen, la tesis está estructurada como sigue: en el capítulo 1 (secciones 1.1 a 1.3) se establece, siguiendo el esquema desarrollado por A. Borodin, la técnica de transformación del tiempo de computación paralela en espacio de memoria secuencial. En estas primeras secciones se aplica este método a algoritmos aritméticos sin divisiones de baja complejidad paralela. En la sección 1.4. se repasan, desde el mismo punto de vista, los procedimientos algorítmicos clásicos, que se llamarán determinísticos, para los problemas de eliminación.

En el capítulo 2 se analiza la complejidad en espacio de la última generación de algoritmos probabilísticos para la eliminación geométrica. La inexistencia de un método general de transformación de la complejidad paralela en espacio hace necesaria la reproducción, casi en su totalidad, de tales algoritmos.

En los dos últimos capítulos de la tesis se introducen técnicas absolutamente novedosas que permiten dar cotas inferiores para los problemas objeto de esta tesis. Así, en el capítulo 3, se precisa la forma en la que se interrelacionan los recursos computacionales analizados: espacio de memoria y tiempo de cálculo. En concreto se estudia la complejidad espacio–tiempo de la evaluación de polinomios en el modelo straight–line program. Por otro lado, se desarrolla una estrategia global que permite mostrar polinomios univariados concretos que son difíciles de evaluar.

Por último, en el capítulo 4 se establecen cotas inferiores para los problemas de eliminación, tanto en términos de complejidad relativa como absoluta, si bien ésta última en modelos de computación restringidos.

Capítulo 1

Algoritmos determinísticos

El objetivo de esta tesis es estudiar la teoría de eliminación geométrica desde el punto del vista algorítmico. Por lo tanto, uno de los aspectos mas relevantes a tener en cuenta es el del desarrollo de algoritmos “eficientes” para resolver problemas de eliminación.

Este capítulo se dedicará al diseño algoritmos determinísticos, es decir, algoritmos que pueden ser aplicados a cualquier instancia del problema considerado, y que producen siempre una solución para tal instancia.

La eficiencia de dichos algoritmos se expresa en términos de los recursos necesarios para ejecutarlos. Dependiendo del modelo de algoritmo que se elige, se considerarán recursos tales como el tiempo de computación, el espacio de memoria requerido o el número de operaciones a realizar.

Las estimaciones de los recursos que requiere un algoritmo para su funcionamiento dependen del aspecto sintáctico del problema. Es por tanto importante acordar de que manera se codificarán los objetos con los cuales se opera. Dado que se piensa en algoritmos que factibles de ser implementados en computadoras reales, es necesario que las entradas y los resultados sean sucesiones finitas (palabras) de símbolos de un alfabeto finito, como {0, 1} por ejemplo.

Un modelo que permite apreciar el comportamiento del software sobre una computadora real es el de las máquinas de Turing. Una máquina de Turing determinística M es un dispositivo que consiste de un control finito y un número fijo k de cintas equipadas cada una de ellas con una cabeza de lecto–escritura (cf. [7], [71]).

Las cintas se clasifican en tres tipos: hay una cinta de entrada que es sólo de lectura (es decir, no se puede modificar su contenido), una segunda cinta de salida que es sólo para escritura y las restantes se denominan cintas de trabajo con funciones de lectura y escritura. Estas cintas son semiinfinitas (a derecha) y están divididas en celdas. La cabeza de lecto–escritura de cada cinta se puede mover a izquierda o derecha y puede leer los contenidos de una sola celda en cada instante de tiempo.

El control finito consiste de un alfabeto de cinta Σ, un conjunto Q de estados o instrucciones (que posee un elemento distinguido q_{0} que se denomina estado inicial y un subconjunto especial llamado el conjunto de los estados finales F ⊆ Q) y una función (parcial) de transición:

δ : Q × Σ^{k−1} ⟶ Q × Σ^{k−1} × {L, R, N}^{k}

(donde L, R, N denotan el movimiento a izquierda, derecha y nulo respectivamente).

A cada instante de tiempo, la máquina M está en un estado q ∈ Q y las cabezas de las cintas de entrada y de trabajo leen los símbolos (a_{1}, …, a_{k−1}) que contienen las celdas sobre las cuales están posicionadas. Entonces, en un instante de tiempo se puede modificar el contenido de todas las celdas sobre las cuales hay una cabeza de lecto–escritura, imprimir un símbolo sobre la cinta de salida (en la posición actual de la cabeza correspondiente), mover cada cabeza una posición a izquierda o derecha (o dejarla en la misma ubicación) y cambiar el estado q ∈ Q. Todos estos movimientos constituyen un paso de computación y se realizan de acuerdo con las especificaciones de la imagen δ(q, a_{1}, …, a_{k−1}) de la función de transición δ aplicada a la configuración definida por (q, a_{1}, …, a_{k−1}).

La máquina M comienza operando con una palabra de entrada x sobre la cinta de entrada en estado q_{0}, todas las demás cintas en blanco y las cabezas situadas sobre la primera celda de cada cinta. Entonces M procede aplicando la función de transición tantas veces como sea posible (hasta que δ resulte indefinida sobre cierta configuración), en cuyo caso la máquina para. Si M se detiene sobre un estado final q ∈ F se dice que M acepta la entrada x; en caso contrario, M rechaza x.

Dada una entrada x que ha sido aceptada por M, se definen el tiempo de computación sobre x como la cantidad de pasos de computación que M realiza hasta su detención y el espacio de memoria sobre x como la máxima cantidad de celdas de cintas de trabajo utilizadas durante el proceso.

Luego, el espacio de memoria S y el tiempo de computación T de M se definen como las funciones S, T : IN ⟶ IN tales que S(n) es el máximo espacio utilizado en una computación sobre una entrada de longitud n y T (n) el máximo tiempo requerido por una computación sobre entradas de longitud n.

En términos de estos dos recursos los problemas se agrupan en diferentes clases, de las cuales se pueden mencionar la clase P de los problemas resolubles en tiempo polinomial (es decir, de tipo n^{O(1)}) y la clase PSPACE de los problemas resolubles en espacio polinomial. En teoría de computación se considera que los problemas que requieren mas que espacio polinomial para su resolución no tienen interés desde el punto de vista práctico.

Existen algunos hechos básicos que relacionan las diferentes clases de complejidad. Entre ellos, se puede citar el siguiente:

Lema 1 ([7], Theorem 2.8) Sea M una máquina de Turing determinística que funciona en espacio S(n) ≥ log n. Entonces M tiene tiempo de computación T (n) acotado por T (n) ≤ 2^{O(S(n))}.

Los algoritmos que se presentarán en este capítulo realizan una cuidadosa alocación de data con el fin de optimizar el espacio de memoria disponible. Esto demanda un control permanente del espacio que requiere cada proceso.

Un caso que aparentemente no ofrece complicaciones es el de la composición de dos máquinas de Turing M_{1} y M_{2}. Sin embargo, el esquema obvio de composición no es eficiente desde el punto de vista del espacio de memoria ya que, para realizarlo es necesario alojar en memoria el resultado que calcula M_{1} a fin de utilizarlo como entrada de M_{2}, y éste resultado podría tener una longitud exponencial con respecto al espacio de memoria que usa M_{1} (ver lema 1).

No obstante, esta dificultad se evita por medio de un proceso que podría describirse como de recomputación de cada bit de la salida de M_{1} a medida que el mismo es requerido por M_{2}. Más precisamente, el resultado es el siguiente:

Lema 2 ([7], Lemma 3.4) Sean f, g : Σ^{∗} → Σ^{∗} funciones computables por medio de dos máquinas de Turing determinísticas M_{1} y M_{2} que utilizan espacio S_{1} ≥ log n y S_{2} ≥ log n respectivamente. Entonces, existe una máquina de Turing determinística M_{3} que calcula la composición g ∘ f(x) para todo x ∈ Σ^{∗} en espacio O(S_{1}(|x|) + S_{2}(|f(x)|)), donde |y| denota la longitud de la palabra y ∈ Σ^{∗}.

Mas cercanos al comportamiento del hardware son los circuitos booleanos (cf. [23], [108], [182]). Un circuito booleano es un grafo dirigido acíclico, cuyos nodos se etiquetan de la siguiente manera: los nodos con in-degree 0 son los nodos de entrada, y se etiquetan con una variable o con la constante 0 o 1. Los nodos de in-degree mayor que 0 y out-degree mayor que 0 se dicen nodos nodos y se etiquetan con una función booleana ω, que se restringirá al conjunto {∧, ∨, ¬}. Los nodos de out-degree 0 son los nodos de salida y se etiquetan también con una operación booleana en {∧, ∨, ¬}.

Los recursos relevantes en el modelo de los circuitos booleanos son la talla, que se define como el número total de nodos internos del circuito, y la profundidad, que es la longitud (número de nodos internos) del camino mas largo que une un nodo de entrada a un nodo de salida.

Sea f : {0, 1}^{n} → {0, 1} una función booleana. Entonces, la talla de circuito de f, S(f), es el menor número de nodos internos de un circuito que calcula f. Análogamente, la profundidad de f, D(f), es la mínima profundidad de un circuito que calcula f.

Obsérvese que el modelo sólo permite instancias de longitud fija. Por lo tanto, si se desean estudiar problemas que tienen instancias de distinta longitud por medio de circuitos booleanos, debe usarse un circuito distinto para cada posible longitud de entrada.

Es por tal motivo que se consideran familias de circuitos booleanos: una familia de circuitos booleanos C = {c_{n}}_{n≥1} es simplemente un conjunto de circuitos booleanos donde el n–ésimo circuito c_{n} tiene n entradas.

Se dice que una función booleana g : {0, 1}^{∗} → {0, 1} se calcula con talla h_{1} y profundidad h_{2}, donde h_{1}, h_{2} : IN → IN, si, para todo n, S(g_{n}) = h_{1}(n) y D(g_{n}) = h_{2}(n), donde g_{n} es g restringida a {0, 1}^{n}.

Sea C = {c_{n}}_{n≥1} una familia de circuitos booleanos de talla S(n) y profundidad D(n). Supuesto enumerados los nodos de c_{n} tal que los nodos de entrada están numerados de 1 a n, y la numeración se restringe de modo tal que existe una constante k > 0 tal que, para todo n ∈ IN, el mayor número de nodo está acotado por S(n)^{k}, se define la codificación estándar del circuito c_{n}, notada por \overline{c_{n}}, como la lista de 4–uplas \{(ρ, op, ρ_{l}, ρ_{r})\}_{ρ≤S(n)^{k}}, donde ρ representa el número de nodo, op es la operación booleana que se realiza en el nodo ρ, ρ_{l} es el número del nodo cuya salida es la entrada izquierda de ρ y ρ_{r} es el número del nodo cuyo salida es la entrada derecha de ρ.

Obsérvese que la codificación estándar de una familia arbitraria de circuitos booleanos no necesariamente posee una descripción finita. Sin embargo, la finitud de tal descripción es de vital importancia para la manipulación de dicha familia de circuitos booleanos. Por otro lado, una idea intuitiva aceptada es que cualquier estrategia razonable de resolución de cierto problema no debería cambiar fundamentalmente en función del tamaño de la instancia considerada. Es por estos motivos que en esta tesis se estudiarán especialmente las familias de circuitos que poseen ciertas propiedades de uniformidad (cf. [24], [8]):

Definición 1 Una familia de circuitos C = {c_{n}}_{n≥1} de tamaño S(n) y profundidad D(n) se dice uniforme (en espacio logarítmico) si existe una máquina de Turing determinística que calcula la función 1^{n} → \overline{c_{n}} en espacio O(max{D(n), log S(n)}).

Esta noción de uniformidad tiene el inconveniente práctico que sólo permite el acceso al código completo de cada circuito c_{n}. Sin embargo, en un proceso de evaluación del circuito c_{n}, a fin de ahorrar espacio de memoria es más importante obtener información “local”, como la que suministra la función

1^{n}#ρ → (ρ, b, ρ_{l}, ρ_{r})

la cual, dado el número n de circuito y un número de nodo ρ como entrada, calcula la codificación (ρ, b, ρ_{l}, ρ_{r}) del ρ–ésimo nodo del circuito c_{n}.

Si bien esta función parece requerir más recursos en su cómputo que la función 1^{n} → \overline{c_{n}}, esto no es así como se demuestra en el siguiente lema:

Lema 3 Una familia de circuitos booleanos C = {c_{n}}_{n≥1} es uniforme si y sólo si existe una máquina de Turing determinística que calcula la función

1^{n}#ρ → (ρ, b, ρ_{l}, ρ_{r})

en espacio O(max{D(n), log S(n)}).

Demostración Es claro que el hecho que la función 1^{n}#ρ → (ρ, b, ρ_{l}, ρ_{r}) es computable en espacio O(max{D(n), log S(n)}) implica la uniformidad, ya que la máquina de Turing M̃ que atestigua la uniformidad de la familia C = {c_{n}}_{n≥1} puede diseñarse de la siguiente manera: por medio de un contador se recorren los índices correspondientes a todos los nodos de c_{n} y el código de cada nodo se produce por medio de una llamada a la máquina M (obsérvese que el contador requiere O( log S(n)) celdas de espacio de trabajo).

Supóngase ahora que se tiene una máquina de Turing M̃ que demuestra la uniformidad de la familia de circuitos {c_{n}}_{n≥1}. Se modificará M̃ a fin de obtener una máquina de Turing M la cual, con una entrada 1^{n}#ρ genera la codificación estandar del ρ–ésimo nodo c_{n}.

Se supone que M̃ marca el comienzo del código de cada nodo por medio de un símbolo distinguido (que se denominará separador). Si se tuviera calculada la posición del ρ–ésimo y el (ρ + 1)–ésimo separador sobre la cinta de output, se podría modificar el programa de M̃ de modo tal que imprima un símbolo (sobre una cinta de trabajo auxiliar T) si y sólo si previamente éste se iba a imprimir entre las posiciones del ρ–ésimo y el (ρ + 1)–ésimo separador impreso sobre la cinta de salida de M̃ (esto puede hacerse controlando la posición de la cabeza de la cinta de salida de M̃). De esta manera, la máquina modificada M imprimiría exactamente la codificación del nodo ρ que se desea obtener.

El procedimiento que calcula la posición de los separadores que marcan el comienzo y final del código del nodo ρ funciona en a lo sumo ρ etapas, calculándose en la i-ésima etapa la posición del (i + 1)–ésimo separador a partir de la posición del i–ésimo separador.

En la primer etapa, se calcula la posición de los dos primeros separadores sobre la cinta de salida. Para este propósito, se simula el funcionamiento de M̃ sin imprimir ningún símbolo sobre la cinta de salida. Luego de guardar en memoria las posiciones de los dos primeros símbolos separadores que imprime M̃ sobre la cinta de salida (obsérvese que O( log C(n)) celdas trabajo serán suficientes para registrar estas ubicaciones), la posición de cada nuevo símbolo separador que imprime M̃ sobre la cinta de salida se compara con las dos posiciones guardadas en memoria, y se conservan las dos posiciones mas bajas. Es claro que de esta manera, al final del proceso se obtiene la ubicación de los primeros separadores impresos por M̃ sobre la cinta de salida.

Posteriormente, se simula ⌈\frac{ρ−1}{2}⌉ veces más el funcionamiento de M̃ de forma similar a la descripta, a fin de obtener las posiciones del ρ–ésimo y el (ρ+1)–ésimo separador (sólo se calculan dos posiciones por vez). Desde ya, el espacio de memoria ocupado por las posiciones de separadores anteriormente calculados se reutiliza cada vez.

El espacio adicional necesario para realizar este procedimiento es de tipo O( log S(n)), lo cual demuestra el enunciado del lema 3. □

Cabe destacar que el resultado del lema 3 también podría haberse obtenido como corolario del lema 2. Sin embargo, debido a la generalidad del enunciado del lema 2, el tiempo de computación que se obtiene de esa manera es netamente superior al del proceso que aquí se describe.

Una de las principales ventajas que resulta de la introducción de las familias de circuitos booleanos como modelo de computación es que es posible apreciar el concepto de buena paralelizabilidad en las funciones booleanas. Una función booleana g : {0, 1}^{∗} → {0, 1} se dice bien paralelizable si existe una familia de circuitos booleanos C_{g} = {c_{n}}_{n∈IN} de talla polinomial n^{O(1)} y profundidad polilogarítmica O(log^{i} n) que calcula g (cf. [8], [108], [182]).

El tiempo paralelo queda claramente representado por la profundidad del circuito, sugiriendo la idea de un conjunto de procesadores atravesando el circuito simultáneamente y ejecutando las operaciones definidas por los nodos que encuentran en su camino. Resulta entonces natural relacionar la talla y la profundidad de circuito con el tiempo secuencial y paralelo respectivamente.

En este sentido, las clases NC^{i} conformadas por las funciones booleanas que pueden calcularse por medio de una familia uniforme de circuitos booleanos de talla n^{O(1)} y profundidad O(log^{i} n)) (cf. [8]) representan las clases de funciones que se pueden beneficiar significativamente con el uso de la computación paralela. De hecho, de acuerdo con la definición dada, el tiempo necesario para calcular cualquier función en NC^{i} se reduce de polinomial a polilogarítmico cuando se pasa de computación secuencial a paralela.

Una pregunta interesante es si tal propiedad es significativa sólo en el ámbito de la computación paralela, o tiene también repercusiones en el ámbito de la computación secuencial.

En ([24]), A. Borodin halló una respuesta positiva a esta pregunta. La siguiente es una interpretación algorítmica de dicho teorema.

Teorema 1 ([24], Theorem 4) Sea f : {0, 1}^{∗} → {0, 1} una función booleana en NC^{i}. Entonces existe una máquina de Turing determinística M que calcula f en espacio O(log^{i} n).

Demostración Sea C = {c_{n}}_{n≥1} la familia de circuitos booleanos que calcula f cuya existencia garantiza el enunciado. Dado que la familia C es uniforme, aplicando el lema 3 se obtiene una máquina de Turing determinística M_{U} que, con una entrada 1^{n}#ρ, calcula la codificación del ρ–ésimo nodo de c_{n} en espacio O(log^{i} n).

Se desea construir una máquina de Turing determinística M la cual, para cada número natural n, sobre una entrada dada de n bits evalúa el circuito c_{n} en espacio O(log^{i} n). Esta máquina M simulará la máquina M_{U} cuando sea necesario y utilizará una pila para su funcionamiento.

Como el objetivo es la evaluación de todos los nodos de salida, el procedimiento general de evaluación de un nodo que realiza M se repetirá sobre cada nodo de salida hasta que todos ellos resulten evaluados.

Comenzando por el nodo de salida cuyo resultado se quiere evaluar, la máquina M recorre el circuito con un esquema estándar de búsqueda en profundidad (ver [142] por ejemplo). La pila (de profundidad máxima O(log^{i} n)) se utiliza a fin de codificar el camino desde el nodo de salida a evaluar al nodo que está siendo evaluado.

A fin de que cada celda de la pila tenga tamaño constante, se utiliza una codificación especial del camino de forma tal que en cada paso de la computación, la pila se ve como una palabra sobre el alfabeto {0, 1, ℓ}. Esta palabra codifica la elección del camino que se sigue en cada nivel (nodo) entre su entrada izquierda y derecha. Al mismo tiempo, el resultado de la evaluación del subcircuito izquierdo se almacena, si el subcircuito derecho está siendo atravesado. Obviamente, siempre se utiliza el orden izquierda– derecho.

Cada vez que se necesita la códificación éstandar de un nodo cuyo número se conoce, M simula la máquina M_{U}. Por lo tanto, la máquina M, sobre una entrada x de longitud n, necesita las siguientes cantidades de celdas de espacio de memoria:

• O(log n) celdas para simular M_{U}.

• O(log^{i} n) celdas para la pila.

• O(log n) celdas para almacenar la codificación de un nodo.

• O(log n) celdas para almacenar el número de un nodo.

En conclusión, todo el proceso puede ser realizado con O(log^{i} n) celdas de trabajo, lo cual demuestra el teorema. □

1.1 Aritmética de baja profundidad

El teorema 1 permite transformar circuitos de baja profundidad en algoritmos que utilizan bajos recursos de memoria. Ahora bien, dado que los problemas a tratar son de naturaleza aritmética (fundamentalmente cuestiones algorítmicas de álgebra lineal y manipulaciones algebraicas de polinomios), es natural que los algoritmos que los resuelven se describan por medio de modelos aritméticos. En particular, la propiedad de la buena paralelizabilidad de los algoritmos que se desarrollarán se ven bien reflejadas en los circuitos aritméticos (que se definirán posteriormente).

Por lo tanto, la aplicación del teorema 1 exige un proceso de traducción de cada familia de circuitos aritméticos C = {c_{n}}_{n∈IN} en una familia de circuitos booleanos C̃ = {c̃_{n,h}}_{n,h∈IN} de acuerdo con las siguientes pautas:

• por cada nodo de entrada ρ del circuito aritmético c_{n} se crean h nodos de entrada en el circuito booleano c̃_{n,h} que contienen la representación binaria del número entero (cuya longitud no supera los h bits) que ingresa como entrada en el nodo ρ.

• por cada nodo ρ de c_{n} marcado con una operación aritmética op ∈ {+, −, ·} se corresponde con un subcircuito booleano que, con la codificación binaria de los dos antecesores ρ_{1}, ρ_{2} de ρ como entrada, produce la representación binaria de ρ := ρ_{1} op ρ_{2} como salida.

Es entonces de suma importancia que los circuitos booleanos que realizan las operaciones aritméticas sean sumamente eficientes, tanto en talla como en profundidad. Esta subsección se dedicará a la descripción de tales circuitos booleanos, que han sido tomados de [108] y [182]. Cabe destacar que todos los circuitos aquí presentados son uniformes.

1.1.1 Suma de números enteros

Un circuito de adición toma dos números enteros de r bits como entrada y produce la representación binaria de la suma de ambos números como salida. Sean (x_{r−1}, …, x_{0}) e (y_{r−1}, …, y_{0}) las representaciones binarias de las entradas y sea (z_{r}, …, z_{0}) la de la salida.

Nótese por c_{j} el bit de acarreo de la j–ésima posición. Se definen el j– ésimo bit de acarreo generado g_{j} y el j–ésimo bit de acarreo propagado por g_{j} = x_{j} ∧ y_{j} y p_{j} = x_{j} ∨ y_{j} respectivamente. Dado que c_{j} = g_{j} ∨ (p_{j} ∧ c_{j−1}) y z_{j} = x_{j} ⊕ y_{j} ⊕ c_{j−1} para j = 0 … r (donde ⊕ es el “o” exclusivo y c_{−1} se define como cero), se deduce que c_{j} = ⋁_{i≤j} g_{i} ∧ p_{i+1} ∧ … ∧ p_{j}.

Con estas fórmulas es posible obtener el siguiente circuito para la adición de dos números enteros:

• Calcular todos los bits de acarreo generados g_{j} y todos los bits de acarreo propagados p_{j} en paralelo.

• Calcular g_{i} ∧ p_{i+1} ∧ … ∧ p_{j} en paralelo para 1 ≤ i ≤ r − 1.

• Calcular c_{j} para 0 ≤ j ≤ r − 1 a partir de los resultados de la última etapa.

• Calcular cada z_{j} a partir de x_{j}, y_{j} y c_{j−1} en paralelo para 0 ≤ j ≤ r.

Con una implementación directa del proceso descripto resulta un circuito booleano de talla O(r^{2}) y profundidad O(log r), mientras que si el cálculo de las expresiones g_{i} ∧ p_{i+1} ∧ … ∧ p_{j} se realiza por medio de un algoritmo paralelo para sumas de prefijos ([117]) se obtiene un circuito de talla O(r) y profundidad O(log r).

1.1.2 Sumatorias de números enteros

Un circuito para la sumatoria de n números enteros de r bits toma como entrada la representación binaria de los n números y produce como salida la de su adición.

A fin de obtener tal circuito, se puede organizar el cálculo en un árbol binario balanceado, donde cada hoja realiza la adición de dos números enteros por medio del circuito anteriormente descripto. Sin embargo, este esquema produce un circuito de profundidad O(log n log r), cantidad que es de orden superior al logaritmo del tamaño de la entrada.

En cambio, se utiliza una alternativa que se basa en un truco conocido como tres-por-dos, el cual, con talla y profundidad constante reduce el problema de sumar tres números enteros de s bits a la suma de dos números enteros de s + 1 bits.

Sean a = (a_{s−1}, …, a_{0}), b = (b_{s−1}, …, b_{0}) y c = (c_{s−1}, …, c_{0}) los tres números de s bits a sumar. Si se suman los tres bits a_{i}, b_{i} y c_{i} para cada i ∈ {0, …, s−1}, se obtiene un número de dos bits a_{i}+b_{i}+c_{i} = 2·u_{i}+v_{i}, cuyo cálculo requiere talla y profundidad constante. Dado que todos los dígitos u_{i} y v_{i} pueden calcularse simultáneamente para i = 0, …, s − 1, este cómputo se realiza con talla O(r) y profundidad constante. Luego, a + b + c = u + v donde u = (u_{s−1}, …, u_{0}, 0) y v = (v_{s−1}, …, v_{0}).

La adición de n números enteros de r bits puede entonces realizarse aplicando O(log n) iteraciones del truco de tres-por-dos, con lo cual se reduce a dos el número de enteros a sumar, seguido de una adición final de los dos números enteros resultantes. El circuito que resulta de este proceso tiene talla O(n(r + log n)^{2}) y profundidad O( log(nr)).

1.1.3 Producto de números enteros

Un circuito de multiplicación toma dos números enteros de r bits como entrada y calcula los 2r bits del producto como salida. Sea (x_{r−1}, …, x_{0}) y (y_{r−1}, …, y_{0}) la representación binaria de las entradas y sea (z_{2r−1}, …, z_{0}) la de la salida.

El método escolar produce r números de O(r) bits que se suman para obtener el producto. Denótese por z^{(i)} el i–ésimo número a sumar en la multiplicación. Entonces z^{(i)} = (x_{r−1} ∧ y_{i}, …, x_{0} ∧ y_{i}, \underbrace{0, …, 0}_{i veces}) para i =

0, …, r. Luego, se aplica O(log r) veces el truco de tres-por-dos para reducir la suma z^{(r−1)} +⋯+z^{(0)} a la adición de dos números, los cuales finalmente se suman. De esta manera se tiene un circuito de multiplicación de talla O(r^{2}) y profundidad O(log r).

Cabe destacar que existen circuitos uniformes de multiplicación mas eficientes que el descripto en esta subsección. El mejor circuito conocido hasta el momento ha sido desarrollado por A. Schönage y V. Strassen ([161]) en base al cálculo de la Transformada de Fourier Discreta sobre ciertos anillos finitos y posee talla O(r log r log log r) y profundidad O(log r). Sin embargo, dado que el impacto de este circuito sobre las cotas de complejidad es bastante modesto, se ha preferido no reemplazarlo por el descripto a fin de mantener esta exposición autocontenida.

1.2 Algebra lineal

La resolución de los problemas de eliminación que se tratarán se basa en reducciones a cuestiones de álgebra lineal, que generalmente involucran matrices de gran tamaño. Es por lo tanto de suma importancia que los algoritmos de álgebra lineal que se utilizan sean muy eficientes en la utilización de recursos computacionales.

En esta sección se resolverán algunos problemas de álgebra lineal mediante familias uniformes de circuitos booleanos de baja profundidad. De esta manera, en virtud del teorema de Borodin (teorema 1), estas familias de circuitos se pueden convertir en algoritmos que requieren bajos recursos de memoria.

Se describen a continuación las familias de circuitos correspondientes, con la atención puesta en el control de la profundidad de los mismos así como en su uniformidad.

1.2.1 Operaciones matriciales

Producto de matrices

Sean A, B dos matrices de tamaños n × l y l × m respectivamente, con coeficientes cuya representación binaria tiene una longitud no mayor que h bits y sea C := A · B. Como es bien sabido, los coeficientes c_{ij} de C pueden calcularse por medio de la fórmula:

c_{ij} = ∑_{k=1}^{l} a_{ik}b_{kj}  (1.1)

La evaluación de la fórmula (1.1) para 1 ≤ i ≤ n y 1 ≤ j ≤ m puede llevarse a cabo de la siguiente manera: en primer lugar se calculan todos los productos a_{ik}b_{kj}. De acuerdo con los resultados de la subsección 1.1.3, este cálculo requiere O(nmlh^{2}) operaciones booleanas con profundidad O(log h).

Posteriormente se calculan todas las adiciones ∑_{k} a_{ik}b_{kj} siguiendo el esquema detallado en la sección 1.1.2 con talla O(nmlh^{2}) y profundidad O( log(hl)). De esta manera, se tiene un circuito booleano que realiza el producto de matrices tiene talla O(nmlh^{2}) y profundidad O( log(hl)).

La uniformidad de la familia de circuitos {C_{n,m,l,h}}_{n,m,l,h∈IN} que calcula el producto de 2 matrices de tamaños n × l y l × m con coeficientes de h bits de longitud es una consecuencia directa de la estructura aritmética del procedimiento y la uniformidad de los circuitos booleanos que realizan las operaciones aritméticas.

Se puede construir una máquina de Turing M que genera la codificación estándar del circuito C_{n,l,m,h} descripto en espacio O( log(nmlh)). Esta máquina M organiza las operaciones aritméticas a realizar en función de los índices involucrados: por ejemplo, para ordenar el cálculo de los productos a_{ik}b_{kj} se define un orden sobre las 3–uplas (i, k, j). El orden inducido por la función

(i, k, j) → k + N · i + N^{2} · i

donde N := max{n, l, m}, es particularmente conveniente, ya que los productos a_{ik}b_{kj} se ordenan en la forma en que luego éstos se sumarán. El manejo de esta función y su decodificación puede llevarse a cabo en espacio O( log(nmlh)).

Asimismo, M genera la codificación estándar de los circuitos que realizan las operaciones aritméticas, simulando a tal efecto la máquinas que producen la codificación estándar de los circuitos booleanos que realizan dichas operaciones. Dado que el tamaño de los números enteros involucrados en estas operaciones es polinomial en los parámetros n, m, l, h, se deduce que M requiere espacio de tipo O( log(nmlh)) para realizar estas simulaciones. En conclusión, se puede enunciar el siguiente lema:

Lema 4 Existe una familia uniforme en espacio O( log(nmlh)) de circuitos booleanos de talla O(nmlh^{2}) y profundidad O( log(hl)) que realiza el producto de dos matrices de tamaños n × l y l × m con coeficientes enteros de a lo sumo h bits.

Cabe destacar que existen algoritmos mas refinados para el producto de matrices (como los desarrollados en [170], [137] o [50] por ejemplo). Sin embargo, a fin de mantener esta exposición autocontenida, éstos no han sido tomados en cuenta debido al modesto impacto que los mismos producen sobre las cotas de complejidad de los algoritmos desarrollados en esta sección.

Producto iterado de matrices

Sean A_{1}, …, A_{n} matrices de tamaños m_{1} × m_{2}, …, m_{n} × m_{n+1} respectivamente, con coeficientes enteros de a lo sumo h bits. Sea m := max{m_{i} : 1 ≤ i ≤ n + 1}. El problema es calcular el producto ∏_{i=1}^{n} A_{i}.

Este producto se organiza en un árbol binario balanceado, donde cada nivel de profundidad consiste de los productos, dos a dos, de las matrices calculadas en el nivel anterior.

Dado que el producto de 2 matrices de tamaño m_{i} × m_{j} y m_{j} × m_{k} con coeficientes enteros de h bits es una matriz cuyos coeficientes tienen 2h+log m bits, iterando este razonamiento se deduce que el tamaño bit de los coeficientes de las matrices que se calculan en el l-ésimo nivel de profundidad del árbol de productos está acotado por 2^{l}h + l log m.

Por lo tanto, como se realizan n productos organizados en log(n) niveles de profundidad, el circuito booleano que calcula el producto ∏_{i} A_{i} tiene talla O( ∑_{l=1}^{⌈log n⌉}(2^{l}h + l log m)^{2}m^{3} \frac{n}{2^{l}}) = O(n^{2}h^{2}m^{3} log^{2} m log^{2} n) y profundidad O( log(nhm) log n).

La uniformidad de la familia de circuitos {C_{n,m_{1},...,m_{n},h}}_{n,m_{1},...,m_{n},h} es consecuencia de la uniformidad del producto de dos matrices (lema 4) y la organización del producto ∏_{i} A_{i} en un árbol binario balanceado. Es posible diseñar una máquina de Turing determinística que genera el código del circuito C_{n,m_{1},...,m_{n},h} en espacio log(nmh), reutilizando para ello cada vez el espacio necesario para generar el código de un subcircuito que realiza el producto de 2 matrices. Por lo tanto, se tiene el siguiente resultado:

Lema 5 Existe una familia de circuitos booleanos uniforme en espacio O(nmh) de talla O(n^{2}h^{2}m^{3} log^{2} m log^{2} n) y profundidad O( log(nhm) log n) que calcula el producto ∏_{i} A_{i}.

Otro caso de producto iterado de matrices de interés es el de la potenciación: dada una matriz A de tamaño n × n con coeficientes enteros de talla binaria h y un número natural k ≤ n, el problema es calcular las potencias A^{2}, …, A^{k}.

En este caso se puede organizar el cálculo de manera de realizar exactamente k productos con profundidad log k. La forma de hacerlo es la siguiente: supónganse construídos los primeros l niveles de de profundidad, donde se calcularon las potencias A, A^{2}, …, A^{2^{l}}. Entonces, en el (l + 1)–ésimo nivel se multiplica A^{2^{l}} por todas las potencias anteriormente calculadas, de modo de obtener las potencias A^{2^{l}+1}, …, A^{2^{l+1}}.

Mediante consideraciones similares a las del lema 5, se obtiene el siguiente resultado:

Lema 6 Existe una familia de circuitos booleanos uniforme en espacio O( log(nh)) de talla O(k^{2}n^{3}h^{2} log^{4} n) y profundidad O( log(nh)logn) que calcula las potencias A^{2}, …, A^{k}.

1.2.2 Cálculo del polinomio característico

Sea A una matriz n × n con coeficientes enteros de tamaño bit acotado por h y χ_{A} su polinomio característico. Se trata ahora de calcular los coeficientes del polinomio característico χ_{A} (en particular se calculan el determinante y la traza de A).

Escríbase la matriz A en la forma

A = ( \begin{matrix}a_{1,1} & R \\ S & M \end{matrix} )

donde R, S y M son matrices enteras de tamaños 1 × (n − 1), (n − 1) × 1 y (n − 1) × (n − 1) respectivamente. Sean

\begin{matrix}χ_{A}(λ) = det(M − λ · I) = ∑_{i=0}^{n}p_{n−i}λ^{i} \\ χ_{M}(λ) = det(M − λ · I) = ∑_{i=0}^{n−1}q_{n−1−i}λ^{i} \end{matrix}

Entonces se satisface la siguiente relación [19, Claims 1 and 2]:

χ_{A}(λ) = (a_{1,1} −λ)·det(M −λ·I)−R ·(∑_{k=2}^{n}(M^{k−2} ·q_{0} +⋯+I ·q_{k−2})·λ^{n−k})·S

A partir de esta ecuación se deduce que existe una relación lineal entre los coeficientes de χ_{A} y los de χM, que puede expresarse fácilmente en la forma:

(p_{0}, p_{1}, …, p_{n})^{t} = C_{1} · (q_{0}, …, q_{n−1})^{t}  (1.2)

donde C_{1} es la matriz Toeplitz triangular inferior de tamaño n × (n − 1) definida por:

c_{i,j} = \{ \begin{matrix}−1 & si i = j \\ a_{1,1} & si i = j + 1 \\ −R · M^{i−j−2} · S & si i − j ≤ 2 \end{matrix}

De este modo se reduce el cálculo de los coeficientes del polinomio característico de la matriz A al de los coeficientes del polinomio característico de una submatriz de A. Por lo tanto, iterando este razonamiento se tiene un algoritmo que calcula χ_{A} sin divisiones ni ramificaciones. Mas precisamente, para 1 ≤ k ≤ n se define

R_{k} = (a_{k,k+1}, …, a_{k,n})

S_{k} = (a_{k+1,k}, …, a_{n,k})

M_{k} = ( \begin{matrix}a_{k,k} & ⋯ & a_{k,n} \\ ⋮ & ... & ⋮ \\ a_{n,k} & ⋯ & a_{n,n} \end{matrix} )

Se escribe χ_{M_{k}}(λ) = ∑_{i=0}^{n−k}q_{n−k−i}^{k}λ^{i} = det(M_{k} − λ · I) y se define la matriz

Toeplitz triangular inferior C_{k} de (n − k + 1) × (n − k) por:

c_{i,j}^{k} = \{ \begin{matrix}−1 & if i = j \\ a_{k,k} & if i = j − 1 \\ −R_{k} · M_{k}^{i−j−2} · S_{k} & if i − j ≤ 2 \end{matrix}

La relación (1.2) toma ahora la forma:

(q_{0}^{k−1}, q_{1}^{k−1}, …, q_{n−k+1}^{k−1})^{t} = C_{k} · (q_{0}^{k}, …, q_{n−k}^{k})^{t}

y aplicándola recursivamente se tiene la identidad:

(p_{0}, p_{1}, …, p_{n})^{t} = ∏_{k=1}^{n}C_{k}

Las matrices C_{k} pueden calcularse en forma simultánea, lo que permite reducir la profundidad de los circuitos que calculan χ_{A}. Asimismo, a fin de reducir la talla de los circuitos, los coeficientes R_{k}(M_{k})^{j}S_{k} se calculan de la manera siguiente: dado que j < n, es posible escribir a j en la forma j = j_{1} + j_{2}\sqrt{n}, donde j_{1}, j_{2} < \sqrt{n}. Por lo tanto, en lugar de calcular la potencia (M_{k})^{j} para luego multiplicarla por R_{k} y S_{k}, se calculan las matrices R_{k}(M_{k})^{j_{1}} y ((M_{k})^{\sqrt{n}})_{2}^{j}S_{k} que multiplicadas dan el producto R_{k}(M_{k})^{j}S_{k} buscado. En definitiva, el proceso completo puede describirse de la manera siguiente:

Procedimiento 1 : Algoritmo para el cálculo del polinomio característico.

1. Calcular las potencias (M_{k})^{2^{j}} para j = 1, …, ⌈log \sqrt{n}⌉ en forma simultánea para k = 1, …, n.

2. Calcular los productos R_{k}(M_{k})^{j} para j = 1, …, ⌈\sqrt{n}⌉ en un árbol binario balanceado de estructura similar al del lema 6, en paralelo para k = 1, …, n.

3. Calcular la potencia (M_{k})^{\sqrt{n}} para k = 1, …, n en forma simultánea.

4. Calcular las potencias (M_{k})^{2^{j} \sqrt{n}} para j = 1, …, ⌈log \sqrt{n}⌉ en forma similar al paso 1.

5. Calcular los productos (M_{k})^{j\sqrt{n}}S_{k} para j = 1, …, ⌈\sqrt{n}⌉ en forma similar al paso 2.

6. Calcular los productos R_{k}(M_{k})^{j_{1}} · (M_{k})^{j_{2}\sqrt{n}}S_{k} para k = 1, …, n en forma simultánea.

7. Calcular el producto ∏_{k=1}^{n} C_{k} en un árbol binario balanceado.

Teniendo en cuenta que las matrices (M_{k})^{j} tienen coeficientes enteros de tamaño acotado por O(h+log n), combinando los lemas 4, 5 y 6 se deduce que la familia de circuitos booleanos descripta tiene talla O(n^{6}h^{2}) y profundidad O( log(nh) log n), teniendo los coeficientes calculados a lo sumo O(n(h + log n)) bits.

La uniformidad de esta familia depende ahora de la uniformidad de los algoritmos que realizan los diferentes tipos de producto de matrices y la manera en que se ordena el cálculo de las matrices R_{k}(M_{k})^{j_{1}} y (M_{k})^{j_{2}\sqrt{n}}S_{k}. Dado que los pares (j_{1}, j_{2}) se obtienen a partir de la división de j por \sqrt{n}, esto sugiere un ordenamiento de los pares (j_{1}, j_{2}) según el número j := j_{1}+j_{2}⌈\sqrt{n}⌉ que representan.

En conclusión, se ha demostrado el siguiente resultado:

Lema 7 Existe una familia de circuitos booleanos {C_{n,h}}_{n,h∈IN} uniforme en espacio log(nh), de tamaño O(n^{6}h^{2}) y profundidad O( log(hn) log n) que calcula los coeficientes del polinomio característico de A.

1.2.3 Cálculo de la matriz adjunta

Sea A una matriz n × n no singular con coeficientes enteros de tamaño bit acotado por h. La matriz adjunta de A, Adj(A), se define de la siguiente manera: si Adj(A) := (b_{ij})_{1≤i≤n,1≤j≤n}, entonces se tiene la relación:

b_{ij} := (−1)^{i+j}det(A(j, i))

donde A(j, i) denota la matriz de tamaño (n − 1) × (n − 1) que se obtiene a partir de A si se elimina la j–ésima fila y la i–ésima columna de A. La siguiente propiedad de la matriz Adj(A) es bien conocida:

A · Adj(A) = Adj(A) · A = det(A)Id_{n×n}

El método para calcular Adj(A) se basa en el cálculo del polinomio característico χ_{A}(T) := T^{n} + p_{n−1}T^{n−1} + ⋯ + p_{0} de A: el teorema de Cayley– Hamilton asegura que

χ_{A}(A) := A^{n} + p_{n−1}A^{n−1} + ⋯ + p_{0}Id_{n×n} = 0_{n×n}

por lo tanto, multiplicando esta identidad por la matriz Adj(A) se obtiene:

\begin{aligned}0_{n×n} & = & Adj(A) · A^{n} + p_{n−1}Adj(A) · A^{n−1} + ⋯ + p_{0} · Adj(A) = \\ & = & p_{0}A^{n−1} + p_{0}p_{n−1}A^{n−2} + ⋯ + p_{0} · Adj(A) \end{aligned}

Luego, dado que p_{0} ≠ 0, diviendo el tercer miembro de la identidad anterior por p_{0} se tiene la igualdad:

Adj(A) = −A^{n−1} − p_{n−1}A^{n−2} + ⋯ − p_{1}Id_{n×n}  (1.3)

La ecuación (1.3) se puede transformar fácilmente en un algoritmo para el cálculo de Adj(A): se calculan los coeficientes del polinomio característico de A, las potencias sucesivas A^{2}, …, A^{n−1} y se realiza la combinación lineal de dichas potencias indicada en (1.3). Teniendo en cuenta los resultados del lema 7 se concluye:

Lema 8 Existe una familia de circuitos booleanos {C_{n,h}}_{n,h∈IN} uniforme en espacio log(nh), de tamaño O(n^{6}h^{2}) y profundidad O( log(hn) log n) que calcula la matriz adjunta de A.

1.2.4 Cálculo del rango

Sea A una matriz de tamaño n × m con coeficientes enteros de h bits, cuyo rango rg(A) se desea calcular. Dado que rg(A) = rg(A·A^{t}), se puede calcular el rango de la matriz B := A · A^{t} en lugar del de A.

Ahora bien, como B es diagonalizable se tiene que n − rg(B) coincide con la multiplicidad de cero como raíz del polinomio característico de B, χ_{B}. Entonces se puede aplicar el algoritmo descripto en la sección 1.2.2 a fin de calcular los coeficientes de χ_{B}, y el número n − rg(B) se obtiene por simple inspección de estos coeficientes.

Se describe entonces una familia de circuitos booleanos uniforme que calcula el número rg(B) = max{i; 1 ≤ i ≤ n∧p_{i} ≠ 0} a partir de la codificación binaria de los coeficientes p_{i} de χ_{B}.

Para este propósito, se diseñan subcircuitos “p_{i} = 0” y “p_{i} ≠ 0” que tienen el mismo valor booleano de verdad que el enunciado con el cual han sido etiquetados.

Sea p_{i} = (p_{i_{s}}, …, p_{i_{0}}) la representación binaria de p_{i}. Entonces p_{i} = 0 si y sólo si todos sus dígitos son nulos, es decir, si p_{i_{s}} ∨ ⋯ ∨ p_{i_{0}} = 0. Por lo tanto, el operador ¬(p_{i_{s}} ∨ ⋯ ∨ p_{i_{0}}) tiene el mismo valor de verdad que p_{i} = 0, y esta misma afirmación es cierta para p_{i_{s}} ∨ ⋯ ∨ p_{i_{0}} y p_{i} ≠ 0 respectivamente. Cada par de subcircuitos “p_{i} = 0” y “p_{i} ≠ 0” tiene talla O(n(h + log n)) y profundidad O( log(n) log h) (la talla coincide con el número de bits de p_{i}) y pueden evaluarse en forma independiente para 1 ≤ i ≤ n, por lo cual se concluye que todos los pares de subcircuitos requieren talla O(n^{2}(h + log n)) y profundidad O( log h log n).

Luego, para cada 1 ≤ i ≤ n se construye un subcircuito que computa el valor de verdad del enunciado “p_{0} = 0 ∧ p_{1} = 0 ∧ ⋯ ∧ p_{i} ≠ 0”, por medio de un árbol de conjunciones de las salidas de los subcircuitos previamente construídos. Este árbol tiene talla y profundidad acotadas por n y log n para cada i, de donde se deduce que las todas las expresiones p_{0} = 0 ∧ p_{1} = 0 ∧ ⋯ ∧ p_{i} ≠ 0 pueden calcularse con talla y profundidad adicionales de tipo O(n^{2}) y log n.

Finalmente, dado un número natural i ∈ {1 … n} con representación binaria i = (i_{s}, …, i_{0}), se define ĩ = (ĩ_{s}, …, ĩ_{0}) por: ĩ_{k} := (p_{0} = 0 ∧ p_{1} = 0 ∧ ⋯ ∧ p_{i} ≠ 0) ∧ i_{k}, el cual devuelve el k–ésimo dígito de i sii la afirmación p_{0} = 0 ∧ p_{1} = 0 ∧ ⋯ ∧ p_{i} ≠ 0 es cierta y 0 en caso contrario.

En consecuencia, la disyunción ⋁_{i=1}^{n} ĩ_{k} retorna el k–ésimo dígito del número

entero max{i; 1 ≤ i ≤ n ∧ p_{i} ≠ 0}. Dado que talla O(n^{2}(h + log n)) y profundidad O(log n) es suficiente para implementar esta última construcción, se tiene talla O(n^{3}h) y profundidad O( log(n) log h) para todo el circuito.

La uniformidad de esta familia de circuitos es consecuencia directa de su descripción, dado que su construcción sólo se refiere al tamaño bit de los coeficientes del polinomio característico χ_{B}.

Utilizando los resultados del lema 7, se deduce el siguiente resultado:

Lema 9 Existe una familia de circuitos booleanos uniforme en espacio O( log(nh)) de talla O(n^{6}h^{2}) y profundidad O( log(hn) log n) que calcula el rango de cualquier matriz entera n × m con coeficientes de h bits.

Cabe destacar que si la matriz A pertenece a R^{n×m}, siendo R un dominio efectivo arbitrario (ZZ [X_{1}, …, X_{n}] por ejemplo), el cálculo de rg(A) puede reducirse al cálculo de un polinomio característico aplicando técnicas debidas a K. Mulmuley [133] (ver también [47]).

En primer lugar, siendo X una nueva indeterminada, se define la forma bilineal simétrica B := A^{t} · M · A donde M es la matriz diagonal de n × n cuyo i–ésimo coeficiente M_{ii} tiene la forma M_{ii} := X^{i−1} para i = 1, …, n.

En [133, Lemma 1] se demuestra que rg(A) = rg(B). Por lo tanto, el problema se reduce al cálculo del rango de una matriz simétrica B de tamaño m × m.

Posteriormente, se extiende una vez mas el cuerpo de coeficientes por medio de la adición de una nueva indeterminada Y, y se construye una matriz simétrica C := N · B · N, donde N es una matriz diagonal de m × m definida por N_{ii} := Y^{i−1} para i = 1, …, n.

Esta nueva matriz C verifica que rg(C) = rg(B) y además se satisface que rg(C) es igual a la multiplicidad de cero como raíz del polinomio característico de C. Por lo tanto, es la reducción buscada.

1.2.5 Resolución de sistemas de ecuaciones lineales

Sea A una matriz entera de n × m, X un vector de tamaño m × 1 cuyos coeficientes son incógnitas y b un vector entero de n × 1. Sea h una cota superior par el tamaño bit de todos los coeficientes de A y b. El problema es resolver el sistema de ecuaciones lineales A · X = b.

La idea es chequear en primer lugar que el sistema considerado es compatible. Esta cuestión puede resolverse mediante cálculos de rango: como es bien sabido, el sistema A · X = b es compatible si y sólo si rg(A) = rg(A, b), donde (A, b) denota la matriz cuyas primeras m columnas son las de A y tiene las coordenadas del vector como última columna.

En caso en que el sistema resulte compatible, se reduce su resolución a la de un sistema con matriz cuadrada no singular. Dado que este último sistema puede resolverse mediante la aplicación la regla de Cramer, se tiene la solución al problema original.

La reducción consiste en hallar una submatriz cuadrada no singular de A, que se denotará Ã, de rango máximo, y reexpresar el sistema en términos de Ã. Esto significa que se considera el vector b̃ que se obtiene a partir de b quitando aquellas coordenadas de b que no corresponden a las filas de Ã, y que se fijan como cero todas las coordenadas de X que no corresponden a las columnas de Ã. A partir de cualquier solución del sistema Ã · X̃ = b̃ se obtiene una solución fácilmente una solución del sistema original A · X = b.

Para hallar la submatriz cuadrada Ã de rango máximo, es necesario evitar una búsqueda exhaustiva, ya que esto resultaría en un crecimiento exponencial de las cotas de complejidad. El proceso que se describirá elige en primer lugar cuales filas de A formarán la matriz Ã, calculando para ello el rango de n matrices. Con un esquema similar se determina que columnas de A se eligen para construir Ã.

Denótese por A_{i} la i-ésima fila de A. Se calcula en paralelo rg(A_{1}, …, A_{i}) para i = 1, …, n. Cada vez que rg(A_{1}, …, A_{i−1}) < rg(A_{1}, …, A_{i}) se conserva en memoria el índice i. Estos índices corresponden a las filas que forman Ã. Obsérvese que la matriz formada a partir de las filas elegidas de esta manera tiene el mismo rango que A y todas sus filas son linealmente independientes.

El circuito descripto calcula el rango de 2 + m + n matrices de tamaño no mayor que n×m+1 en 3 etapas sucesivas siguiendo el esquema de la sección 1.2.4. Posteriormente, culmina con el cálculo de a lo sumo n determinantes de matrices de tamaño acotado por n, para lo cual se utiliza el algoritmo de la sección 1.2.2. Su uniformidad se deduce directamente de su descripción y la uniformidad de los circuitos que calculan rango y determinante.

Por lo tanto, a partir de los resultados de los lemas 7 y 9 se puede concluir:

Lema 10 Existe una familia de circuitos booleanos uniforme en espacio O( log(mnh)) de tamaño (mnh)^{O(1)} y profundidad O( log(mnh) log n) tal que chequea si existe una solución del sistema A · X = b, y, en tal caso, calcula numeradores y denominadores de una solución particular del sistema.

La talla binaria de la solución calculada puede acotarse por O(nh log n).

Cabe destacar que mediante una leve modificación del esquema anterior se puede construir un conjunto afinmente independiente maximal de soluciones del sistema de ecuaciones lineales considerado. Para tal propósito, basta notar que la solución particular hallada asigna el valor cero al conjunto de variables A := {X_{r+1}, …, X_{n}} a priori. Esto es posible dado que, por la manera en que se eligieron las filas y columnas que forman Ã, toda asignación de valores (x_{r+1}, …, x_{n}) ∈ C^{n} a las variables en A se corresponde con una única solución del sistema que verifica X_{r+1} = x_{r+1}, …, X_{n} = x_{n}.

En consecuencia, si se asigna el vector de variables (X_{r+1}, …, X_{n}) todos los posibles valores de un conjunto independiente afín maximal de Q^{n−r−1}, se obtiene un conjunto de soluciones del sistema que forma un conjunto afinmente independiente (dado que su proyección sobre las coordenadas (X_{r+1}, …, X_{n}) lo es). Mediante un argumento de dimensión se concluye que tal conjunto es maximal con la propiedad de ser afinmente independiente.

1.3 Operaciones con polinomios

Sea R un dominio de característica cero (en esta tesis, R típicamente será ZZ o un anillo de polinomios de tipo ZZ [X_{1}, …, X_{n}] o Q[X_{1}, …, X_{n}]), K el cuerpo de cocientes de R y T una indeterminada sobre K.

En esta sección se desarrollarán algoritmos para realizar manipulaciones algebraicas con polinomios univariados en R[T]. Todos estos algoritmos serán bien paralelizables y no contendrán divisiones por elementos de R (en el caso R = ZZ [X_{1}, …, X_{n}] por ejemplo, algoritmos que realizan divisiones por elementos de R pueden producir divisiones por cero al momento de evaluar las variables X_{1}, …, X_{n} en valores particulares).

Los algoritmos se describirán en el modelo de los circuitos aritméticos, que es el que mejor se adapta a estas cuestiones. Un circuito aritmético tiene una estructura similar a la de un circuito booleano, salvo por el hecho que sus nodos están etiquetados por una operación aritmética op ∈ {+, −, ∗, ÷}.

La talla y profundidad se definen en forma análoga al caso de los circuitos booleanos.

Aquí se prestará especial atención a las medidas no escalares, que son las que se obtienen cuando sólo se consideran las multiplicaciones entre dos polinomios no constantes, y la división cuando el divisor es no constante. En particular, la profundidad no escalar permite obtener las estimaciones mas precisas del grado de los polinomios representados de esta manera (cf. [114]) y la talla binaria de los números enteros involucrados, información de vital importancia para el proceso de traducción de circuitos aritméticos a circuitos booleanos en el sentido de la sección 1.1.

También se describirá explícitamente la traducción de estos circuitos aritméticos a circuitos booleanos en el caso en que R = ZZ [X_{1}, …, X_{n}] y los elementos de R que aparecen en las entradas tienen grado y talla binaria prefijada. La uniformidad de los algoritmos así obtenidos se deducirá directamente de su estructura aritmética y del hecho que los mismos se basan en álgebra lineal que, según lo demostrado en la sección 1.2, es uniforme.

A fin de llevar a cabo estas traducciones, es necesario en primer lugar desarrollar circuitos booleanos que realizen la suma y producto de polinomios multivariados dados en representación densa y operaciones de álgebra lineal tales como el cálculo de los coeficientes del polinomio característico de una matriz cuyos coeficientes son polinomios multivariados.

En lo que sigue se operará con polinomios de ZZ [X_{1}, …, X_{n}] de grado acotado por D, cuyos coeficientes tienen una talla binaria acotada por h. Asimismo, se fijará un orden monomial de fácil manipulación mediante el cual se ordenan los monomios, como por ejemplo el orden graduado lexicográfico definido por X_{1} > ⋯ > X_{n} (ver [51]).

La suma de dos polinomios multivariados no ofrece dificultades: simplemente se suman los coeficientes correspondientes a monomios de las mismas potencias en ambos polinomios. Teniendo en cuenta que existen a lo sumo O(D^{n}) monomios distintos de grado D en n variables y que la decodificación del orden monomial elegido se realiza en espacio O( log(nD)), se concluye que la suma de dos polinomios multivariados se realiza en forma uniforme con talla O(D^{n}h^{2}) y profundidad O(log h).

La sumatoria de N polinomios multivariados se realiza, mediante consideraciones similares a las anteriores y los resultados de la subsección 1.1.2, uniformemente con talla O(D^{n}N(h + log N)^{2}) y profundidad O(log Nh).

El cálculo de los coeficientes del producto de dos polinomios multivariados F, G de grado D, cuyos coeficientes tienen talla binaria acotada por h requiere algo mas de reflexión. Sea γ(D, n) la cantidad de monomios (distintos) en n variables de grado menor o igual que D. El orden monomial adoptado induce un ordenamiento de las n–uplas (α_{1}, …, α_{n}) ∈ IN^{n}. Dado que este orden es graduado, todo i ∈ {1, …, γ(2D, n)} se corresponde con una n-upla no nula (α_{1}^{(i)}, …, α_{n}^{(i)}) tal que ∑_{k=1}^{n} α_{k}^{(i)} ≤ 2D y todo j ∈ {1, …, γ(D, n)} se corresponde con una n–upla no nula (β_{1}^{(j)}, …, β_{n}^{(j)}).

Se considera entonces la matriz M(F) ∈ ZZ^{γ(2D,n)×γ(D,n)} cuya (i, j)–ésima entrada m_{ij} se define de la manera siguiente: si α_{k}^{(i)} − β_{k}^{(j)} ≥ 0 para k = 1, …, n, entonces m_{ij} es el coeficiente de F correspondiente al monomio

(α_{1}^{(i)} − β_{1}^{(j)}, …, α_{n}^{(i)} − β_{n}^{(j)})

La matriz M(F) fue contruída de forma tal que el vector resultante de multiplicar a M(F) por el vector de los coeficientes de G corresponde a los coeficientes, ordenados según el orden monomial adoptado, del polinomio producto F · G. Por lo tanto, los coeficientes del producto F · G se calculan en forma uniforme con talla O(D^{2n}h^{2}) y profundidad O(n log(hD)).

Los resultados obtenidos se resumen en el siguiente lema:

Lema 11 Sean F, G, F_{1}, …, F_{n} polinomios en ZZ [X_{1}, …, X_{n}] de grado a lo sumo D, cuyos coeficientes tienen talla binaria acotada por h. Entonces, son ciertas las siguientes afirmaciones:

• Los coeficientes del polinomio F + G se calculan por medio de una familia uniforme de circuitos booleanos de talla O(D^{n}h^{2}) y profundidad O(log h).

• Los coeficientes del polinomio F_{1}+⋯+F_{N} se calculan por medio de una familia uniforme de circuitos booleanos de talla O(D^{n}N(h + log N)^{2}) y profundidad O(log Nh).

• Los coeficientes del polinomio F · G se calculan por medio de una familia uniforme de circuitos booleanos de talla O(D^{2n}h^{2}) y profundidad O(n log(hD)).

Se tienen ahora todos los elementos necesarios para realizar el álgebra lineal con matrices cuyas entradas son polinomios multivariados. El esquema que se utiliza es generalmente el mismo de la sección 1.2 (excepto por el cálculo del rango, donde es necesario aplicar las técnicas descriptas en la subsección 1.2.4), realizándose las operaciones aritméticas entre polinomios multivariados con los métodos del lema 11.

Los resultados que se obtienen de esta manera se resumen en el siguiente lema:

Lema 12 Sean A, B matrices en ZZ [X_{1}, …, X_{n}]^{t×t}, tales que los polinomios que aparecen como entradas de A y B tienen grado y talla binaria acotada por D y h respectivamente. Entonces, las siguientes afirmaciones son válidas:

• El producto A · B se calcula por medio de una familia uniforme de circuitos booleanos de talla O(t^{3}D^{O(n)}h^{2}) y profundidad O(n log(Dht)).

• Existen familias uniformes de circuitos booleanos que calculan el determinante de A, su polinomio característico, su rango y la matriz adjunta Adj(A) con talla O(t^{O(n)}D^{O(n)}h^{2}) y profundidad O(n log t log(Dht)).

1.3.1 División entera

Sean f = f_{d}T^{d} + ⋯ + f_{0} y g = g_{e}T^{e} + ⋯ + g_{0} dos polinomios univariados en R[T] de grados d y e respectivamente, tal que se verifica g|f en K[T]. El problema es hallar el polinomio \frac{f}{g} ∈ K[T].

La idea es simple: considerando el polinomio h := \frac{f}{g} con coeficientes indeterminados, la condición f = gh se traduce en un sistema de ecuaciones lineales que se obtiene por medio de la igualación de los coeficientes de f y gh correspondientes a la misma potencia. De esta manera, se tiene un sistema de d + 1 ecuaciones con d − e + 1 incógnitas, cuya resolución se reduce al de un sistema con matriz cuadrada no singular siguiendo las ideas de la sección 1.2.5.

Para ello, es necesario hallar una submatriz cuadrada de rango maximal que, en este caso, es fácil de elegir de antemano: es la que se obtiene tomando las primeras d − e + 1 ecuaciones. En efecto, considerando solamente las ecuaciones correspondientes a las d−e+1 mayores potencias de T, el sistema tiene el siguiente aspecto :

( f_{d} ; ⋮ ; f_{0} ) ( \begin{matrix}g_{e} \\ ⋮ & ... \\ g_{d−e} & … & g_{e} \end{matrix} ) ( h_{d−e} ; ⋮ ; h_{0} )

donde h = h_{d−e}T^{d−e} + ⋯ + h_{0}, de lo cual se deduce que dicha submatriz es de rango maximal d − e + 1, ya que g_{e} ≠ 0.

A fin de evitar divisiones en el cálculo de los coeficientes de h, en lugar de invertir la matriz del sistema se utiliza la matriz adjunta de la misma, por lo que se calcula un múltiplo g_{e}^{d−e+1}h del polinomio h buscado (ya que g_{e}^{d−e+1} es el determinante de la matriz del sistema).

En conclusión, se tiene el siguiente resultado:

Lema 13 Existe un circuito aritmético que calcula el cociente de f por g con talla d^{O(1)} y profundidad no escalar O(log d).

Supóngase ahora que los coeficientes f_{d}, …, f_{0} y g_{e}, …, g_{0} son polinomios en ZZ [X_{1}, …, X_{n}] de grado acotado por D, cuyos coeficientes tienen talla binaria acotada por h. De los resultados de los lemas 11 y 12 se deduce el siguiente:

Lema 14 Existe una familia uniforme de circuitos booleanos que calcula el cociente de f por g (salvo un múltiplo uniforme en ZZ [X_{1}, …, X_{n}]) con talla O(d^{O(n)}D^{O(n)}h^{2}) y profundidad O(n log d log(Dhd))

1.3.2 Máximo común divisor

Sean f, g polinomios en R[T], con d := gr(f) ≥ gr(g) =: e. Se desea calcular el máximo común divisor mcd(f, g) de f y g.

El algoritmo que se utilizará determina en primer lugar el grado de mcd(f, g). Para ello, es necesario tener en cuenta que, si f no es un múltiplo constante de g, entonces se satisface la siguiente identidad ([74, Theorem 2.3]):

\begin{matrix}gr(mcd(f, g)) =: j = min\{k ∈ IN; ∃r, s ∈ K[T] \\ gr(r) < e − k, gr(s) < d − k y gr(rf + sg) = k\} \end{matrix} (1.4)

Una vez hallado el grado j del polinomio mcd(f, g), la condición (1.4) correspondiente a k := j se utiliza también para calcular los coeficientes de los polinomios r y s que aparecen en (1.4) y los coeficientes de mcd(f, g) a partir de éstos últimos.

El enunciado de (1.4) se puede traducir directamente en un sistema de d + e − 2k ecuaciones lineales, que provienen de igualar a cero los coeficientes correspondientes a las potencias k + 1, …, d + e − k del polinomio resultante rf +sg en (1.4) e igualar a 1 el coeficiente de grado k de rf +sg, considerando los coeficientes de r y s como indeterminadas. La matriz que resulta de tal sistema, P_{k}(f, g), se conoce como la k–ésima submatriz principal de Sylvester de f y g.

Esta matriz se define en términos de la matriz de Sylvester P_{0}(f, g) de f y g: esta matriz P_{0}(f, g) tiene tamaño (d + e) × (d + e) y se define por:

P_{0}(f, g) := ( \begin{matrix}f_{d} \\ f_{d−1} & f_{d} \\ ⋮ & f_{d−1} & ... \\ f_{0} & ⋮ & ... & f_{d} \\ & f_{0} & & f_{d−1} \\ & & ... & ⋮ \\ & & & f_{0} \end{matrix} | \begin{matrix}g_{e} \\ g_{e−1} & g_{e} \\ ⋮ & g_{e−1} & ... \\ g_{0} & ⋮ & ... & g_{e} \\ & g_{0} & & g_{e−1} \\ . & . & . \\ & & & g_{0} \end{matrix} ) ∈ R^{d+e×d+e}

donde hay e columnas con coeficientes de f y d columnas con coeficientes de g. La resultante de f y g es el determinante de P_{0}(f, g).

La matriz P_{k}(f, g) se define ahora como la (d + e − 2k) × (d + e − 2k)– submatriz de P_{0}(f, g) que consiste de las primeras e − k columnas de coeficientes de f, las primeras d − k columnas de coeficientes de g y las primeras d + e − 2k filas de P_{0}(f, g):

P_{k}(f, g) := ( \begin{matrix}f_{d} \\ f_{d−1} & f_{d} \\ ⋮ & f_{d−1} & ... \\ f_{d−e+k+1} & ⋮ & ... & f_{d} \\ ⋮ & & & ⋮ \\ & ⋮ & ... \\ f_{2k−e+1} & & & f_{k} \end{matrix} | \begin{matrix}g_{e} \\ g_{e−1} & g_{e} \\ ⋮ & g_{e−1} & ... \\ g_{e−d+k+1} & ⋮ & ... & g_{e} \\ ⋮ & & & ⋮ \\ & ⋮ & ... \\ g_{2j−d+1} & & & g_{k} \end{matrix} )

(donde f_{i} = 0, g_{i} = 0 si i < 0).

Por lo tanto, se debe determinar cual es el menor índice k tal que detP_{k}(f, g) ≠ 0. Posteriormente, si j = gr(mcd(f, g)), se resuelve un sistema con matriz P_{j}(f, g). Dado que det(P_{j})(f, g) ≠ 0, este sistema puede resolverse por la regla de Cramer.

A fin de evitar divisiones por det(P_{j})(f, g), si se multiplica ambos lados del sistema por la matriz adjunta de P_{j}(f, g), Adj(P_{j}(f, g)), se tiene:

det(P_{j}(f, g))(r_{e−j−1}, ⋯, r_{0}, s_{d−j−1}, ⋯, s_{0})^{t} = Adj(P_{j}(f, g))(0, ⋯, 0, 1)^{t}

Obsérvese que el lado derecho de la última ecuación es la última columna de la matriz Adj(P_{j}(f, g)). De esta manera se calcula un múltiplo det(P_{j}(f, g)) de los coeficientes de r(T) y s(T) en una construcción algorítmica adecuada.

El algoritmo puede resumirse de la siguiente manera:

Procedimiento 2 Un algoritmo para el cálculo del máximo común divisor.

• Calcular det(P_{i}(f, g)) en paralelo para i = 1, …, ⌈\frac{d+e}{2}⌉.

• Calcular j := min{i; det(P_{i}(f, g)) ≠ 0}.

• Calcular los coeficientes del vector

det(P_{j}(f, g))(r_{e−i−1}^{(i)}, ⋯, r_{0}^{(i)}, s_{d−i−1}^{(i)}, ⋯, s_{0}^{(i)})^{t}

como las coordenadas de la última columna de la matriz Adj(P_{i}(f, g)).

• Calcular (en paralelo) los coeficientes de los polinomios det(P_{j}(f, g))r·f y det(P_{j}(f, g))s · g.

• Calcular det(P_{j}(f, g)) · mcd(f, g) = det(P_{j}(f, g))(r · f + s · g).

Durante su ejecución, el algoritmo calcula O(d + e) determinantes organizados en dos niveles de profundidad – las subresultantes principales y la última columna de la matriz Adj(P_{i}(f, g)) – de matrices cuyo tamaño máximo es (d + e) × (d + e) y realiza O(d) comparaciones (en profundidad O(log d)) y O(d) productos en paralelo. Los determinantes se calculan con los métodos de la sección 7 y las comparaciones con las ideas de la sección 1.2.4. En conclusión se tiene el siguiente resultado:

Lema 15 Existe un circuito aritmético sin divisiones que calcula un múltiplo escalar de mcd(f, g)) realizando O(d^{O(1)}) operaciones aritméticas en profundidad no escalar O(log d).

Suponiendo ahora que los coeficientes de f y g son polinomios en son polinomios en ZZ [X_{1}, …, X_{n}] de grado acotado por D, cuyos coeficientes tienen talla binaria acotada por h, combinando el esquema del procedimiento 2 con los resultados de los lemas 11 y 12 se tiene el siguiente resultado:

Lema 16 Existe una familia uniforme de circuitos booleanos de talla O(d^{O(n)}D^{O(n)}h^{2}) y profundidad O(n log d log(Dhd)) que calcula un múltiplo det(P_{j}(f, g)) ∈ ZZ [X_{1}, …, X_{n}] del máximo común divisor mcd(f, g)).

Otro caso de interés es el de máximo común divisor de varios polinomios. Sean F_{1}, …, F_{N} polinomios en ZZ [X_{1}, …, X_{n}][T] de grado (total) acotado por d y talla binaria menor o igual que h. El problema es calcular un múltiplo uniforme (en ZZ [X_{1}, …, X_{n}][T]) del máximo común divisor de F_{1}, …, F_{N}, considerados como polinomios en Q(X_{1}, …, X_{n})[T].

Una posible manera de calcular este máximo común divisor es iterar el procedimiento 2, organizando el proceso en un árbol binario balanceado. En lugar de aplicar esta idea, se utilizará una alternativa con la cual se obtienen mejores resultados. Esta se basa en la observación que el máximo común divisor F de F_{1}, …, F_{N} es el polinomio de Q(X_{1}, …, X_{n})[T] mónico en T de grado mínimo que se puede expresar en la forma:

F = ∑_{k=1}^{N} H_{i}F_{i}  (1.5)

donde H_{1}, …, H_{N} son polinomios en Q(X_{1}, …, X_{n})[T] de grado en T acotado por (d − 1)N y grado en X_{1}, …, X_{n} acotado por d^{2}(N + 1).

Con ideas similares a las del lema 15, a partir de la ecuación (1.5) se plantean d + 1 sistemas de ecuaciones lineales (que corresponden a la condición gr_{T} (mcd(F_{1}, …, F_{N})) = k para k = 0, …, d) cuyas matrices tienen tamaño (dN)^{O(n)} × (dN)^{O(n)} y talla binaria acotada por h. De los resultados del lema 10 se deduce entonces el siguiente resultado:

Lema 17 Existe una familia uniforme de circuitos booleanos que calcula un múltiplo uniforme en ZZ [X_{1}, …, X_{n}][T] del máximo común divisor de F_{1}, …, F_{N} en Q (X_{1}, …, X_{n})[T] con talla (dN)^{O(n)}h^{2} y profundidad O(n^{2} log(dN) log(dNh)).

1.3.3 Representación separable

Sea f = f_{d}T^{d} + ⋯ + f_{0} un polinomio de R[T]. El problema ahora es hallar una representación separable de f, es decir, un polinomio g ∈ K[T] que tiene los mismos ceros que f y es libre de cuadrados.

Dado que K es de característica cero, se observa que el polinomio g = \frac{f}{mcd(f,f′)} verifica las propiedades requeridas, donde f′ denota el polinomio derivado de f respecto de T. Obsérvese que los coeficientes del polinomio f′ se calculan inmediatamente a partir de los coeficientes de f.

Como antes, no se calcula exactamente la representación separable de f sino un múltiplo en R[T] de la misma, a fin de evitar divisiones por elementos de R. Combinando los lemas 15 y 13, se deduce el siguiente resultado:

Lema 18 Existe un circuito aritmético de talla d^{O(1)} y profundidad no escalar O(log d) que calcula un múltiplo escalar de la representación separable de f.

Si los coeficientes de f son polinomios en son polinomios en ZZ [X_{1}, …, X_{n}] de grado acotado por D, cuyos coeficientes tienen talla binaria acotada por h, se deduce el siguiente resultado como una consecuencia inmediata de los lemas 16 y 14:

Lema 19 Existe una familia uniforme de circuitos booleanos de talla O(d^{O(n)}D^{O(n)}h^{2}) y profundidad O(n log d log(Dhd)) que calcula la representación separable de f salvo un múltiplo uniforme en ZZ [X_{1}, …, X_{n}].

1.4 Consecuencias para los problemas de eliminación

En esta sección se mostrarán algoritmos que resuelven algunos problemas algorítmicos teoría de eliminación geométrica. Todos los algoritmos requieren recursos de espacio de memoria razonables.

Para comenzar, se fijarán algunas notaciones que se mantendrán durante el resto de la sección: sean X_{1}, …, X_{n} indeterminadas sobre Q . Se considerarán polinomios F_{1}, …, F_{s} ∈ ZZ [X_{1}, …, X_{n}] (siendo n ≥ 2) donde el grado total gr(F_{j}) para 1 ≤ j ≤ s queda acotado por un entero d ≥ 3. Se supone que todos los coeficientes de los polinomios F_{i} tienen talla binaria acotada por h. Se denotará por (F_{1}, …, F_{s}) el ideal generado por F_{1}, …, F_{s} en Q[X_{1}, …, X_{n}], es decir,

(F_{1}, …, F_{s}) := {F ∈ Q[X_{1}, …, X_{n}];

∃P_{1}, …, P_{s} ∈ Q[X_{1}, …, X_{n}] tales que F = P_{1}F_{1} + ⋯ + P_{s}F_{s}}

Además, se notará por V la variedad algebraica de C^{n} definida por F_{1}, …, F_{s}:

V := {F_{1} = 0, …, F_{s} = 0} := {x ∈ C^{n}; F_{1}(x) = … = F_{s}(x) = 0}

1.4.1 El problema de la consistencia y la representación

Como ejemplo del método general a aplicar, se considera en primer lugar un problema clásico: el problema de la consistencia de un sistema de ecuaciones polinomiales.

Este problema consiste en decidir si un sistema de ecuaciones polinomiales definido por polinomios F_{1}, …, F_{s} en ZZ [X_{1}, …, X_{n}] posee soluciones comunes en C^{n}. Como ha sido señalado en la introducción, el teorema de los ceros de Hilbert (el Hilbert Nullstellensatz) demuestra que una respuesta negativa para el problema de la consistencia es equivalente a la trivialidad del ideal generado por F_{1}, …, F_{s} en C [X_{1}, …, X_{n}]. Esta cuestión es a su vez equivalente a la trivialidad del ideal generado por F_{1}, …, F_{s} en Q[X_{1}, …, X_{n}], lo cual se verifica si y sólo si 1 ∈ (F_{1}, …, F_{s}).

Es común considerar ambos problemas en conjunto: el de la consistencia y la representación de la unidad en el ideal, que se pueden enunciar de la siguiente manera:

Decidir si V = ∅ y en tal caso, hallar P_{1}, …, P_{s} ∈ Q[X_{1}, .., X_{n}] tales que se satisface la identidad 1 = P_{1}F_{1} + ⋯ + P_{s}F_{s}.

La herramienta esencial que se aplicará en la resolución de estos problemas es una versión simplemente exponencial del Nullstellensatz afín en característica 0 demostrada en [34] y sus generalizaciones a cuerpos arbitrarios contenidas en [38], [39], [111] (ver también [15], [16]):

Teorema El ideal (F_{1}, …, F_{s}) es trivial si y sólo si existen polinomios P_{1}, …, P_{s} en Q[X_{1}, …, X_{n}] que satisfacen las condiciones

1 = P_{1}F_{1} + ⋯ + F_{s} y  max{gr(P_{j}F_{j}); 1 ≤ j ≤ s} ≤ d^{n}  (1.6)

Esto transforma la cuestión en un problema de álgebra lineal: dado que se tiene una cota para los grados de los polinomios P_{1}, …, P_{s}, la condición (1.6) puede reescribirse como un sistema de ecuaciones lineales cuyas indeterminadas son los coeficientes de los polinomios P_{i}. El sistema se obtiene como resultado de igualar los coeficientes que aparecen en (1.6) monomio por monomio.

Dado que hay ( \begin{matrix}d^{n} + n \\ n \end{matrix} ) = O(d^{n^{2}}) monomios distintos de grado menor o

igual que d^{n}, se tienen O(d^{n^{2}}) ecuaciones a lo sumo. El número de indeterminadas, O(sd^{n^{2}}), es igual al número de posibles coeficientes de cada polinomio P_{i} (1 ≤ i ≤ s). En consecuencia, se obtiene un sistema de ecuaciones lineales de tamaño O(d^{n^{2}} × sd^{n^{2}}) cuyos coeficientes se obtienen directamente a partir de los coeficientes de los polinomios F_{1}, …, F_{s} y por lo tanto tienen a lo sumo h bits.

Para la construcción uniforme de la matriz del sistema, será necesario fijar un orden monomial de fácil manipulación. Un posible orden es el graduado con orden lexicográfico dado por X_{1} > ⋯ > X_{n} (ver [51]). De hecho, la decodificación en ese orden puede hacerse en espacio determinístico de tipo O( log(nd)).

Aplicando los resultados de la sección 1.2.5 a este caso se obtiene una familia de circuitos booleanos de talla (hsd^{n^{2}})^{O(1)} y profundidad O(n^{4} log^{2}(hsd)), uniforme en espacio de tipo O( log(nsdh)) que decide si el sistema de ecuaciones polinomiales {F_{1} = 0, …, F_{s} = 0} es compatible y en tal caso, calcula una solución particular del mismo.

A este punto se aplica la demostración del teorema 1 a fin de evaluar el circuito que ha sido construído. En conclusión, se tiene el siguiente resultado:

Teorema 2 El problema de la consistencia y de la representación de la unidad puede resolver por medio de una máquina de Turing determinística en espacio O(n^{4} log^{2}(hsd)).

1.4.2 El problema de la pertenencia y la representación en ideales intersección completa

El problema a considerar es el siguiente: supóngase que s ≤ n y F_{1}, …, F_{s} forma una sucesión regular de Q[X_{1}, …, X_{n}], es decir, se cumplen las condiciones (cf. [124]):

• Para todo i ∈ {1, …, s}, el polinomio F_{i} no es divisor de cero en el anillo Q[X_{1}, …, X_{n}]/(F_{1}, …, F_{i−1}).

• El ideal (F_{1}, …, F_{s}) no es el ideal trivial de Q[X_{1}, …, X_{n}].

Sea además F un polinomio dado con coeficientes enteros de talla binaria acotada por h. Se quiere decidir si F pertenece al ideal generado por F_{1}, …, F_{s} en Q [X_{1}, …, X_{n}] y en tal caso, hallar polinomios P_{1}, …, P_{s} ∈ Q[X_{1}, …, X_{n}] tales que se tiene la siguiente representación de F en el ideal generado por F_{1}, …, F_{s}:

F = P_{1}F_{1} + ⋯ + P_{s}F_{s}

Como ha sido observado en la introducción, el problema de la pertenencia a ideales arbitrarios requiere espacio exponencial. Sin embargo, las características particulares del caso en que el ideal es intersección completa permiten un tratamiento efectivo.

Aquí nuevamente los Nullstellensätzse afines efectivos son el punto clave:

Teorema Supóngase que los polinomios F_{1}, …, F_{s} forma una sucesión regular en Q [X_{1}, …, X_{n}]. Entonces, F pertenece a (F_{1}, …, F_{s}) si y sólo si existen polinomios P_{1}, …, P_{s} ∈ Q[X_{1}, …, X_{n}] tales que

F = ∑_{j} P_{j}F_{j}  y  max{gr(P_{j}F_{j}); 1 ≤ j ≤ s} ≤ gr(F)+d^{s} ≤ gr(F)+d^{n}

Ver [56] por una demostración ([15], [165], [41], [5] contienen versiones algo diferentes de un teorema de cotas de grado para la representación en ideales intersección completa y generalizaciones del mismo).

Se procede entonces de forma similar a la de la sección 1.4.1: se halla un sistema de ecuaciones lineales de tamaño O(d^{n^{2}} × sd^{n^{2}}) y coeficientes enteros de talla binaria acotada por h, cuyas soluciones corresponden a los coeficientes de los polinomios P_{1}, …, P_{s} requeridos. En consecuencia, se deduce el siguiente teorema:

Teorema 3 El problema de la pertenencia y la representación en ideales intersección completa puede resolverse por medio de una máquina de Turing determinística en espacio O(n^{4} log^{2}(hsd)).

1.4.3 El problema de la pertenencia al radical

El ideal radical de (F_{1}, …, F_{s}), \sqrt{(F_{1}, …, F_{s})}, se define como el ideal de Q[X_{1}, …, X_{n}] que consiste de todos aquellos polinomios que elevados a alguna potencia pertenecen a (F_{1}, …, F_{s}), es decir:

\sqrt{(F_{1}, …, F_{s})} := \{F ∈ Q[X_{1}, …, X_{n}]; ∃N ∈ IN tal que F^{N} ∈ (F_{1}, …, F_{s})\}

El teorema de los ceros de Hilbert fuerte asegura que un polinomio F pertenece al ideal radical de (F_{1}, …, F_{s}) si y sólo si F se anula sobre la variedad V ⊆ C^{n} definida por F_{1}, …, F_{s}.

El problema de la pertenencia al radical y la representación consiste en decidir cuando un polinomio F dado se anula sobre V y en tal caso, hallar un número natural N ∈ IN y polinomios P_{1}, …, P_{s} ∈ Q [X_{1}, …, X_{n}] tales que F^{N} = P_{1}F_{1} + ⋯ + P_{s}F_{s}.

La siguiente observación, que se deduce inmediatamente a partir del Nullstellensatz efectivo, permite reducir el problema a la resolución de un sistema de ecuaciones lineales de tamaño simplemente exponencial:

Observación ([56], Remark 1.6) F se anula sobre V si y sólo si existe una representación F^{d^{n}} = P_{1}F_{1} + ⋯ + P_{s}F_{s} con los polinomios P_{1}, …, P_{s} ∈ ZZ [X_{1}, …, X_{n}] y max{gr(P_{j}F_{j}); 1 ≤ j ≤ s} ≤ d^{n}(gr(F) + 1)

En consecuencia se tiene un sistema de ecuaciones lineales de tamaño O(d^{n^{2}}(deg(F) + 1)^{n}), cuyas entradas se obtienen directamente a partir de los polinomios F_{1}, …, F_{s} y F^{d^{n}}.

Los coeficientes de F^{d^{n}} se pueden obtener a partir de los de F en forma uniforme mediante productos matriciales con talla (d^{n}gr(F))^{O(n)}h^{2} y profundidad O(n^{2} log(hd)), pudiéndose estimar su talla binaria de estos coeficientes por O(d^{3n}h log gr(F)).

Luego, aplicando los algoritmos y los resultados de la sección 1.2.5, se demuestra:

Teorema 4 Existe una máquina de Turing determinística que resuelve el problema de la pertenencia al radical y la representación en espacio O(n^{4} log^{2} (dh gr(F)))

1.4.4 El problema de eliminación cero–dimensional

El problema del estudio de variedades de dimensión cero ha sido extensamente estudiado en teoría de eliminación. Una forma de resolución simbólica de esta cuestión se basa en el siguiente problema, que se denomina el problema de la eliminación cero–dimensional (cf. [90]):

Siendo V una variedad cero–dimensional y dada una forma lineal ℓ ∈ ZZ [X_{1}, …, X_{n}], hallar un polinomio univariado no nulo Q ∈ ZZ [ℓ] tal que Q(ℓ) se anula sobre V.

A fin de resolver este problema se tiene el siguiente resultado, que se deduce a partir de [56, Proposition 1.12]:

Lema Existe un polinomio no nulo F ∈ Q [ℓ] y polinomios P_{1}, …, P_{s} ∈ Q[X_{1}, …, X_{n}] tales que

F = P_{1}F_{1} + … + P_{s}F_{s} y max{gr(P_{i}F_{i}; 1 ≤ i ≤ s} ≤ d^{n}(d^{n} + 1) (1.7)

La condición (1.7) se traduce en un sistema de ecuaciones lineales de tamaño O(d^{2n} × sd^{2n}) y talla binaria d^{O(n)}h. Por lo tanto, aplicando los algoritmos desarrollados en la sección 1.2 se deduce el siguiente resultado:

Teorema 5 El problema de eliminación cero–dimensional puede ser resuelto mediante una máquina de Turing determinística en espacio O(n^{4} log^{2}(hsd)).

Es de particular interés la situación en la cual la variedad V es localmente intersección completa, es decir, cuando la variedad cero–dimensional V se describe como el conjunto de ceros comunes de n polinomios F_{1}, …, F_{n} en ZZ [X_{1}, …, X_{n}]. En este caso, por medio de un esquema mas refinado es posible reducir notablemente las cotas de complejidad para el problema de la eliminación cero–dimensional obtenidas en el teorema 5.

El primer paso consiste en producir una deformación homotópica del sistema, a fin de de reducir la cuestión al caso proyectivo cero–dimensional. Para esto, se introducen nuevas variables X_{0} y ε, y se definen los polinomios:

G_{i} := X_{0}^{h}F_{i} + εX_{i}^{1+gr(F_{i})}

donde ^{h}F_{i} denota el polinomio homogeneizado de F_{i} con variable de homogeinización X_{0}. Considerados como polinomios en ZZ [ε][X_{0}, …, X_{n}], G_{1}, …, G_{n} definen una variedad cero–dimensional en IP^{n}(\overline{Q(ε)}) ([80], Lemme 3.3.3). La representación densa de G_{1}, …, G_{n} se obtiene inmediatamente a partir de la de F_{1}, …, F_{n}.

Se aplican ahora argumentos sobre la regularidad de la función de Hilbert del anillo graduado

A := \overline{Q(ε)}[X_{0}, …, X_{n}]/(G_{1}, …, G_{n}) = A_{0} + A_{1} + ⋯ + A_{k} + ⋯

Se tienen los dos siguientes hechos:

• A_{N} y A_{N+1} son \overline{Q(ε)}–espacios vectoriales isomorfos de dimensión finita D ≤ (d + 1)^{n}, y

• dado que el ideal (G_{1}, …, G_{n}) no tiene ceros en el hiperplano X_{0} = 0, la homotecia η_{X_{0}} : A_{N} ⟶ A_{N+1} es un isomorfismo.

Se considera entonces el endomorfismo:

ϕ := η_{X_{0}}^{−1}η_{ℓ} : A_{N} ⟶ A_{N}

Por el Teorema de Cayley–Hamilton, el polinomio característico P (T) de ϕ verifica P (ϕ) ≡ 0, por lo que η_{X_{0}}^{D}P (ϕ) también. Como X_{0} no es divisor de cero en A, el polinomio no nulo P̃(X_{0}, Z) := X_{0}^{D}P (\frac{Z}{X_{0}} ) verifica que P̃(X_{0}, ℓ) se anula en A.

A fin de evitar divisiones en el cálculo de P̃(X_{0}, Z), siguiendo [114] se calcula un múltiplo Δ(ε, X_{0}, Z) = ∑_{j=1}^{D} p_{j}(ε)Z^{j}X_{0}^{D−j} en ZZ [ε][X_{0}, Z] del mismo. Para calcular este polinomio, es necesario manipular todos los monomios en X_{0}, …, X_{n} de grado menor o igual que nd + 2 a fin de producir bases monomiales adecuadas para el cálculo de las matrices de las homotecias η_{X_{0}} y η_{ℓ}. Esta manipulación se realiza operando con matrices de tamaño (nd)^{O(n)}, en lugar de las matrices de tamaño d^{n^{2}} que hasta ahora consideradas.

Si se divide el polinomio Δ(ε, X_{0}, Z) por la mayor potencia posible de ε, se obtiene un polinomio Δ_{1}(ε, X_{0}, Z), el cual verifica que Q(Z) := Δ_{1}(0, 1, Z) es el polinomio buscado ([80], Proposition 3.3.4).

En conclusión, se tiene el siguiente resultado:

Teorema 6 El problema de eliminación cero–dimensional para ideales localmente intersección completa puede ser resuelto mediante una máquina de Turing determinística en espacio O(n^{2} log^{2}(hsd)).

1.4.5 El problema general de eliminación

Varios problemas geométricos y algebraicos interesantes pueden formularse por medio de fórmulas de primer orden sobre C con cuantificadores existenciales y universales.

A fin de definir que se entiende por una fórmula de primer orden sobre C, se considera en primer lugar el lenguaje de primer orden L que contiene los siguientes símbolos no lógicos:

• para cada a ∈ Q, una constante que se denomina también “a”,

• los símbolos funcionales +, −, ·, y

• el símbolo relacional =.

Se consideran las variables de L como indeterminadas X_{1}, …, X_{n} sobre C, y se piensan los términos del lenguaje L representados por polinomios multivariados con coeficientes en Q (en representación densa).

Por lo tanto, un término típico tiene la forma F ∈ Q[X_{1}, …, X_{n}], y una fórmula atómica típica tiene la forma F = 0. La negación de esta fórmula se notará por F ≠ 0.

Una fórmula de primer orden sobre C se construye a partir de fórmulas atómicas usando los conectivos lógicos ∨, ∧, ¬ y los cuantificadores de primer orden ∃, ∀ variando sobre los elementos de C. Por lo tanto, cada fórmula Φ ∈ L se construye a partir de fórmulas atómicas que involucran polinomios F_{1}, …, F_{s} ∈ Q[X_{1}, …, X_{n}].

Es sabido que toda fórmula Φ de este tipo es equivalente a una fórmula Φ̃ ∈ L libre de cuantificadores. El proceso de hallar la fórmula Φ̃ ∈ L se denomina eliminación de cuantificadores, y generalmente se realiza en varias etapas, en cada una de las cuales se elimina el bloque de cuantificadores del mismo tipo “mas a la derecha”.

Dado que que el cuantificador ∀ puede expresarse en la forma ¬∃¬, se puede asumir que el bloque de cuantificadores a eliminar es existencial, y esto motiva el siguiente problema, conocido como el problema general de eliminación:

dada una fórmula Φ ∈ L de la forma

(∃X_{m+1}) ⋯ (∃X_{n})Ψ(X_{1}, …, X_{n})

donde Ψ(X_{1}, …, X_{n}) es una fórmula libre de cuantificadores, hallar una fórmula equivalente a Φ libre de cuantificadores.

Este problema también puede describirse en forma geométrica: notando por V el subconjunto (localmente abierto en la topología de Zariski) de C^{n} formado por aquellos elementos que satisfacen la fórmula Ψ(X_{1}, …, X_{n}), la fórmula Φ(X_{1}, …, X_{n}) define la proyección π(V) de V según el morfismo π : C^{n} → C^{m} definido por π(x_{1}, …, x_{n}) = (x_{1}, …, x_{m}).

Todo conjunto expresable por polinomios F_{1}, …, F_{s} puede escribirse como una unión de conjuntos de tipo {sg(F_{1}) = ϵ_{1}, …, sg(F_{s}) = ϵ_{s}} donde (ϵ_{1}, …, ϵ_{s}) ∈ {0, 1}^{s} con la convención que sg(F_{i}) = 0 representa la condición F_{i} = 0 y sg(F_{i}) = 1 equivale a F_{i} ≠ 0 (ver [88], [66], [67]). Estos conjuntos se denominan (F_{1}, …, F_{s})-celdas.

El procedimiento comienza chequeando la consistencia de todas las posibles (F_{1}, …, F_{s})–celdas en paralelo. Si bien a primera vista la cantidad total de posibles (F_{1}, …, F_{s})–celdas puede estimarse por 2^{s}, según se demuestra en [88] esta estimación puede mejorarse a (d+1)^{n}. Siguiendo el esquema descripto en [67] es posible reducir la cantidad de test de consistencia a realizar a 2s(nd)^{2n}.

Toda (F_{1}, …, F_{s})–celda puede expresarse en la forma

{ ⋀_{j∈M} F_{j} = 0 ∧ ( ∏_{j∉M} F_{j}) ≠ 0}

donde M ⊆ {1, …, s}. Este conjunto es no vacío si y sólo si, siendo Y una nueva indeterminada el siguiente sistema sobre C^{n+1}:

{ ⋀_{j∈M} F_{j} = 0 ∧ 1 − Y ( ∏_{j∉M} F_{j}) = 0}

es compatible. Esta última condición puede chequearse, aplicando los argumentos de la sección 1.4.1, por medio de cálculos de rango de matrices enteras de tamaño O(d^{n^{2}}) y talla binaria O(s^{2}hn log d).

Posteriormente la proyección π(V) se describe como la unión de la proyección de las (F_{1}, …, F_{s})–celdas consistentes. Siendo M ⊆ {1, …, s}, considérese la (F_{1}, …, F_{s})–celda C definida por:

C := { ⋀_{j∈M} F_{j} = 0 ∧ ( ∏_{j∉M} F_{j}) ≠ 0}

Su proyección π(C) puede ser descripta por la fórmula:

π(C) = (∃X_{m+1}) ⋯ (∃X_{n}){ ⋀_{j∈M} F_{j} = 0 ∧ ( ∏_{j∉M} F_{j}) ≠ 0}

A fin de expresar π(C) por medio de una fórmula sin cuantificadores existenciales, se considera la cuestión sobre C[X_{1}, …, X_{m}], lo cual transforma el problema, aplicando la estrategia que se utilizó para chequear la consistencia de (F_{1}, …, F_{s})–celdas, en un problema de consistencia sobre C[X_{1}, …, X_{m}] en el sentido de la sección 1.4.1 (ver Theorem 2 en [67] o Théorème 3 en [66]).

El problema de la consistencia se reduce a chequear igualdad del rango de dos matrices, para lo cual se utilizan las técnicas descriptas al final de la subsubsección 1.2.4. Para este fin se introducen nuevas variables Z_{1}, Z_{2} y se transforman dichas matrices en dos nuevas matrices cuadradas, cuyos polinomios característicos se calculan. De la construcción resulta que la multiplicidad de la raíz 0 de esos polinomios característicos indica el rango de las matrices originales.

Entonces se analiza cual es el primer coeficiente no nulo de ambos polinomios característicos. Sean G_{0}, …, G_{t} y H_{0}, …, H_{t} los polinomios en ZZ [X_{1}, …, X_{m}, Z_{1}, Z_{2}] que aparecen como coeficientes de estos polinomios característicos. Las ecuaciones necesarias para expresar la igualdad de los rangos de las matrices consideradas se pueden describir de la siguiente manera:

⋁_{k=0}^{t} (G_{0} = 0 ∧ … ∧ G_{k−1} = 0 ∧ G_{k} ≠ 0 ∧ H_{0} = 0 ∧ … ∧ H_{k−1} = 0 ∧ H_{k} ≠ 0)

(1.8)

Considerando a G_{0}, …, G_{t} y H_{0}, …, H_{t} como polinomios en ZZ [X_{1}, …, X_{m}][Z_{1}, Z_{2}], la condición (1.8) puede reexpresarse en términos de los coeficientes en ZZ [X_{1}, …, X_{m}] de estos polinomios. Estas ecuaciones son la fórmula libre de cuantificadores buscada.

El cálculo de los polinomios característicos se realiza según la estrategia del lema 12 deduciéndose de éste la existencia de una familia uniforme de circuitos booleanos de de talla s^{O(1)}d^{O(n^{3})}h^{2} y profundidad O(n^{5} log^{2}(sdh)) que resuelve el problema. De aquí se puede concluir el siguiente:

Teorema 7 El problema general de eliminación puede resolverse por medio de una máquina de Turing determinística en espacio O(n^{5} log^{2}(sdh)).

1.4.6 Cálculo de la dimensión y normalización de Noether

Un técnica esencial de preprocesamiento de sistemas de ecuaciones polinomiales es la normalización de Noether. Sea r := dim(V). Se dice que las variables X_{1}, …, X_{n} están en posición de Noether con respecto a V si para cada r < i ≤ n existe un polinomio de Q[X_{1}, …, X_{r}, X_{i}] que es mónico en X_{i} y se anula sobre V (en este caso se dice que {X_{r+1}, …, X_{n}} son enteras respecto de X_{1}, …, X_{r}). Dado que siempre es posible extraer r variables del conjunto {X_{1}, …, X_{n}} que son libres con respecto a V (es decir, ningún polinomio en tales variables se anula sobre V), se deduce que las variables X_{1}, …, X_{r} son libres con respecto a V.

La normalización de Noether consiste en un cambio lineal de coordenadas (que será descripto por medio de una matriz triangular superior Q ∈ M_{n}(ZZ), salvo un reordenamiento de las variables) de la forma:

( X_{1} ; ⋮ ; X_{n} ) = Q · ( X′_{1} ; ⋮ ; X′_{n} )

donde las nuevas variables X′_{1}, …, X′_{n} satisfacen las siguientes condiciones:

1. Q[X′_{1}, …, X′_{r}] ∩ (F_{1}, …, F_{s}) = {0}.

2. Para cada j ∈ {r+1, …, n} existe un polinomio G_{j} ∈ Q[X′_{1}, …, X′_{r}, X′_{j}] mónico en X′_{j}, tal que G_{j} ∈ (F_{1}, …, F_{s}).

Obsérvese que el número máximo de variables libres del conjunto {X_{1}, …, X_{n}} con respecto a V es precisamente la dimensión de V, por lo que un algoritmo que calcula una normalización de Noether calcula necesariamente la dimensión de V.

El primer paso del algoritmo es calcular un sistema de variables independientes con respecto a V. En tal sentido, se tiene el siguiente resultado:

Proposición 1 ([56], Proposition 1.7) Sea {i_{1}, …, i_{k}} ⊆ {1, …, n}. Entonces, (F_{1}, …, F_{s}) ∩ Q[X_{i_{1}}, …, X_{i_{k}}] ≠ {0} si y sólo si existe un polinomio F ∈ Q [X_{i_{1}}, …, X_{i_{k}}] no nulo y polinomios P_{1}, …, P_{s} ∈ Q [X_{1}, …, X_{n}] tales que

F = P_{1}F_{1} + … + P_{s}F_{s} y max{gr(P_{i}F_{i}; 1 ≤ i ≤ s} ≤ d^{n}(d^{n} + 1)

Esta condición es equivalente a la resolubilidad de cierto sistema de ecuaciones lineales de tamaño O(d^{2n} × sd^{2n}) y talla binaria h. Realizando el test para los 2^{n} subconjuntos de {1, …, n}, se halla un sistema independiente de variables {X_{1}, …, X_{r}} maximal (y en particular, la dimensión de V).

Posteriormente, es preciso determinar cuales de las variables {X_{r+1}, …, X_{n}} son enteras con respecto a {X_{1}, …, X_{r}}. Se aplica entonces el siguiente:

Proposición 2 ([56], Proposition 1.11) Sea {X_{1}, …, X_{r}} un sistema de variables independientes para (F_{1}, …, F_{s}) y ℓ una forma lineal en Q[X_{1}, …, X_{n}] que es entera respecto de {X_{1}, …, X_{r}}. Entonces existe un polinomio G ∈ Q[X_{1}, …, X_{r}, T] mónico en T de grado acotado por d^{n}(d^{n} + 1) y polinomios P_{1}, …, P_{s} ∈ Q[X_{1}, …, X_{n}] tales que

G(X_{1}, …, X_{r}, ℓ) = P_{1}F_{1} +…+P_{s}F_{s} y max{gr(P_{i}F_{i}; 1 ≤ i ≤ s} ≤ d^{n}(d^{n} +1)

Se chequea entonces la compatibilidad de n − r sistemas de ecuaciones lineales de tamaño O(d^{2n} × sd^{2n}) y talla binaria h (uno por cada variables en {X_{r+1}, …, X_{n}}.

Sean X_{r+1}, …, X_{p} las variables enteras. Un procedimiento recursivo sobre las restantes variables calcula el cambio de variables adecuado. Para esto es necesario el siguiente resultado:

Proposición 3 ([56], Proposition 1.12) Sea {X_{1}, …, X_{r}} un sistema de variables independientes para (F_{1}, …, F_{s}) y ℓ una forma lineal en Q[X_{1}, …, X_{n}]. Entonces existe un polinomio G ∈ Q[X_{1}, …, X_{r}, T] no nulo de grado acotado por d^{n}(d^{n} + 1) y polinomios P_{1}, …, P_{s} ∈ Q[X_{1}, …, X_{n}] tales que

G(X_{1}, …, X_{r}, ℓ) = P_{1}F_{1} +…+P_{s}F_{s} y max{gr(P_{i}F_{i}; 1 ≤ i ≤ s} ≤ d^{n}(d^{n} +1)

Tomando ℓ := X_{p+1}, se hallará un cambio de variables

(X_{1}, …, X_{r}, X_{p+1}) ⟶ (X′_{1}, …, X′_{r}, X′_{p+1})

de modo tal que el polinomio que se obtiene a partir de G por este cambio de variables (que se notará también por G con un leve abuso de notación) resulte mónico con respecto a X′_{p+1}.

Sea G_{1} el polinomio que consiste de los monomios de mayor grado de G (es decir, la componente homogénea de mayor grado de G) y (λ_{1}, …, λ_{r}) ∈ ZZ^{r} tal que G_{1}(λ_{1}, …, λ_{r}, 1) ≠ 0. Se define entonces el cambio de variables:

{ X_{1} = X′_{1} + λ_{1}X_{p+1} ; ⋮ ; X_{r} = X′_{r} + λ_{r}X_{p+1} ; X_{p+1} = X′_{p+1}

Dado que G_{1}(X′_{1} + λ_{1}X′_{p+1}, X′_{r} + λ_{r}X′_{p+1}, X′_{p+1}) es mónico en X′_{p+1} (ya que el coeficiente correspondiente al monomio X′_{p+1} es G_{1}(λ_{1}, …, λ_{r}, 1)), la variable X′_{p+1} resulta entera respecto de X′_{1}, …, X′_{r}. Además, como las variables X_{r+1}, …, X_{p} son enteras respecto de X_{1}, …, X_{r}, X_{p+1} (ya que lo son respecto de X_{1}, …, X_{r}), y X_{1}, …, X_{r}, X_{p+1} son a su vez enteras respecto de X′_{1}, …, X′_{r}, X′_{p+1}, propiedades estándar de extensiones enteras permiten deducir que X_{r+1}, …, X_{p+1} son enteras respecto de X_{1}, …, X_{r}.

El problema es entonces hallar una r–upla (λ_{1}, …, λ_{r}) ∈ ZZ^{r} tal que G_{1}(λ_{1}, …, λ_{r}, 1) ≠ 0. Dado que G_{1} es un polinomio no nulo tal que gr(G_{1}) ≤ d^{n}(d^{n}+1), existe una r–upla λ ∈ {0, …, d^{n}(d^{n}+1)}^{r} que verifica la condicíon requerida. Se evalúa G_{1} en todas las posibles r–uplas del conjunto {0, …, d^{n}(d^{n} + 1)}^{r} y se halla una que no anula a G_{1}.

Mediante n − p pasos recursivos como el descripto, se halla un cambio de variables

(X_{1}, …, X_{n}) ⟶ (X_{1}, …, X_{p}, Y_{p+1}, …, Y_{n})

que constituye una normalización de Noether para V. Utilizando los algoritmos desarrollados en la sección 1.2 y la demostración del teorema 1, se puede concluir:

Teorema 8 El cálculo de la dimensión y la normalización de Noether puede realizarse por medio de una máquina de Turing determinística en espacio O(n^{4} log^{2}(hsd))

1.4.7 Descomposición en componentes equidimensionales

Un problema fundamental para la descripción de la variedad V consiste en el cálculo de su descomposición equidimensional. Esto es, a partir de las ecuaciones polinomiales que describen la variedad V, para cada dimensión intermedia i (0 ≤ i ≤ dim(V)) se desea producir un conjunto finito de polinomios que define la unión de las componentes irreducibles de V de dimensión i.

Sea r := dim(V). Para i = 0, …, r se notará por V_{i} la unión de las componentes irreducibles de V de dimensión i y por W_{i} la unión de las componentes irreducibles de dimensión estrictamente menor que i. El algoritmo que se aplicará consiste de a lo sumo r etapas recursivas, en cuya i–ésima etapa calcula un sistema de ecuaciones polinomiales que describe V_{r−i+1}.

Una característica fundamental del algoritmo es que los polinomios que se calculan como salida de cada etapa son intrínsecos, es decir, no dependen del algoritmo. Este hecho permite estimar el grado y la talla binaria de estos polinomios en términos de la variedad V, a fin de evitar el crecimiento exponencial de estas cantidades que seguramente ocurriría como consecuencia del proceso recursivo.

Supóngase realizada la (i − 1)–ésima etapa, en la cual se calcularon los siguientes ítems:

• Ecuaciones para V_{r−i+2}.

• Un sistema de a lo sumo t := d^{cn^{2}} ecuaciones polinomiales G_{1}, …, G_{t} de grado acotado por gr(V_{r} ∪ ⋯ ∪ V_{r−i+2}) y talla binaria no mayor que d^{c′n}(log s+h) donde c y c′ son constantes universales adecuadas que no dependen de s, n, d y h, cuyos ceros comunes constituyen la variedad V_{r} ∪ ⋯ ∪ V_{r−i+2}

La i–ésima etapa comienza calculando las ecuaciones que describen V_{r−i+1}. Esta variedad, supuesta no vacía, consiste de las componentes de mayor dimensión de la variedad W_{r−i+2} = \overline{V \ (V_{r} ∪ ⋯ ∪ V_{r−i+2})}. Por lo tanto, es necesario manipular variedades algebraicas del tipo \overline{V \ W}, donde W está dada como el conjunto de ceros comunes de t′ ecuaciones H_{1}, …, H_{t′} de grado acotado por d^{n}. Para tal fin, se define el siguiente Q–espacio vectorial de dimensión finita:

E(V, W) := {F ∈ Q[X_{1}, …, X_{n}]; ∀ j = 1, …, t′
∃ P_{1}^{(j)}, …, P_{s}^{(j)} ∈ Q[X_{1}, …, X_{n}] tales que

F H_{j}^{d^{n}} = ∑_{k=1}^{s} P_{k}^{(j)}F_{k} y gr(P_{k}^{(j)}F_{k}) ≤ d^{n}(2d^{n} + 1)}  (1.9)

Se tiene entonces el siguiente resultado:

Proposición 4 ([79], Proposition 4.2.5) \overline{V \ W} es el conjunto de ceros comunes en C^{n} de todos los polinomios en E(V, W).

Si bien es posible calcular con complejidad admisible un sistema de generadores de E(V, V_{r} ∪⋯∪V_{r−i+2}), este cálculo no se realizará ya que el operar directamente con tales polinomios haría crecer la complejidad en forma exponencial. En cambio, la información que provee la proposición 4 se utilizará en forma mas indirecta, como se verá posteriormente.

El problema es extraer las componentes de (mayor) dimensión r − i + 1 de W_{r−i+2} = \overline{V \ (V_{r} ∪ ⋯ ∪ V_{r−i+2})}. Para esto se calcula en primer lugar una posición de Noether de las variables con respecto a W_{r−i+2}. En lugar de tomar las ecuaciones que definen W_{r−i+2} para hallar esta posición de Noether, combinando las demostraciones de las proposiciones 1, 2 y 3 con la de la proposición 4 se prueba que la toda información necesaria para calcular una posición de Noether de las variables con respecto a W_{r−i+2} puede obtenerse a partir de sistemas del tipo de (1.9).

Cabe destacar que el cálculo de la posición de Noether implica el de la dimensión de W_{r−i+2}. De esta manera se determina también si V_{r−i+1} es vacía, en cuyo caso se da por finalizada la i–ésima etapa.

Asumiendo que V_{r−i+1} es no vacía, el procedimiento continúa con el cálculo de una posición general de las variables con respecto a W_{r−i+2}, lo cual significa que las variables están en posición de Noether con respecto a W_{r−i+2} y el morfismo π : C^{n} ⟶ C^{r−i+2} definido por π(x_{1}, …, x_{n}) = (x_{1}, …, x_{r−i+2}) separa las componentes irreducibles de W_{r−i+2}, es decir, dadas dos componentes irreducibles C, C′ de W_{r−i+2}, se verifica que π(C) ≠ π(C′) (cf. [79]).

Para esto, dado γ ∈ ZZ se define la forma lineal X_{γ} := X_{1} + γX_{2} + ⋯ + γ^{n−1}X_{n}. Entonces, se tiene que existe γ ∈ Γ := {1, …, nd^{4n^{2}}} tal que las variables X_{1}, …, X_{r−i+1}, X_{γ}, X_{r−i+3}, …, X_{n} están en posición general con respecto a W_{r−i+2} ([79], Lemme 2.3.5). El procedimiento operará con las (posibles) posiciones generales determinadas por todos los elementos γ ∈ Γ a la vez (en paralelo).

Para γ ∈ Γ, se nota por π_{γ} : C^{n} ⟶ C^{r−i+2} el morfismo definido por π_{γ}(x_{1}, …, x_{n}) = (x_{1}, …, x_{r−i+1}, x_{γ}). Como las variables X_{1}, …, X_{r−i+1}, X_{γ}, X_{r−i+3}, …, X_{n} están en posición de Noether respecto de W_{r−i+2}, el morfismo π_{γ} es finito y por lo tanto, dado que V_{r−i+1} es una variedad equidimensional de dimensión r − i + 1, la imagen π_{γ}(V_{r−i+1}) es una hipersuperficie de C^{r−i+2} definible mediante un polinomio H_{γ} en X_{1}, …, X_{r−i+1}, X_{γ}. A fin de calcular H_{γ}, se considera el siguiente Q–espacio vectorial de dimensión finita:

E_{γ}(V, V_{r} ∪⋯∪V_{r−i+2}) := {F ∈ Q[X_{1}, …, X_{r−i+1}, X_{γ}]; ∀ j = 1, …, t′

∃ P_{1}^{(j)}, …, P_{s}^{(j)} ∈ Q[X_{1}, …, X_{n}] tales que

F H_{j}^{d^{n}} = ∑_{k=1}^{s} P_{k}^{(j)}F_{k} y gr(P_{k}^{(j)}F_{k}) ≤ d^{n}(2d^{n} + 1)}

Las consideraciones anteriores junto con las ideas de la demostración de la proposición 4 conducen al siguiente resultado:

Teorema 9 ([79], Théorème 4.1.2 y Proposition 4.2.2.) Para cada γ ∈ Γ, sea G_{γ} ∈ Q [X_{1}, …, X_{r}, X_{γ}] el polinomio que resulta de calcular el máximo común divisor con respecto a X_{γ} de los polinomios que forman una base como Q–espacio vectorial de E_{γ}(V, V_{r} ∪ ⋯ ∪ V_{r−i+2}) y H_{γ} la representación separable de G_{γ}. Entonces, V_{r−i+1} = V (H_{γ}; γ ∈ Γ).

El procedimiento que sugiere este teorema se reduce a cálculos de álgebra lineal. De hecho, es necesario hallar una base de soluciones de O(nd^{4n^{2}}) sistemas de ecuaciones lineales homogéneos de tamaño O(sd^{3n^{2}} × d^{3n^{2}}) en paralelo, cuyos coeficientes tienen talla binaria de tipo d^{O(n)}(h + log s). Posteriormente, los polinomios H_{γ} se calculan en dos etapas: en primer lugar, el máximo común divisor G_{γ} de la base de soluciones halladas se calcula con la estrategia del lema 17. Luego, de G_{γ} se extrae una representación separable aplicando para ello el lema 19.

La importancia de los polinomios H_{γ} radica no sólo en la información que los mismos proveen, sino especialmente en su carácter intrínseco. De hecho, como ha sido observado en [79], el grado de cada polinomio H_{γ} está acotado por gr(V_{r−i+1}). Esta observación puede hacerse extensiva también a la talla binaria de los mismos. Combinando el Théorème 3, Proposition 4 y Théorème 6 en [148] (ver también [32]), se deduce una cota de tipo d^{O(n)}(h+log s) para la talla binaria de los coeficientes del polinomio H_{γ} (cabe destacar que los trabajos [148] y [32] utilizan métodos no elementales de álgebra y análisis complejo, cuyos resultados pueden reobtenerse en forma elemental a partir de los métodos desarrollados en [114, Section 4]).

Finalmente es necesario calcular un sistema de ecuaciones polinomiales que defina la variedad V_{r} ∪ ⋯ ∪ V_{r−i+1}. En principio, la manera obvia de describir ésta variedad es tomar el ideal generado por todos los productos G_{j} · H_{γ} para j = 1, …, t y γ = 1, …, nd^{4n^{2}}. Ahora bien, como gr(G_{j}) ≤ gr(V_{r} ∪ ⋯ ∪ V_{r−i+2}) y gr(H_{γ}) ≤ gr(V_{r−j}) teniendo en cuenta que gr(V_{r} ∪ ⋯ ∪ V_{r−i+1}) ≤ gr(V) ≤ d^{n} se obtiene la estimación

gr(G_{j} · H_{γ}) ≤ d^{n}

para todo j = 1, …, t y todo γ = 1, …, nd^{4n^{2}} ([79], Proposition 4.2.6). Por lo tanto, dado que el Q–espacio vectorial generado por los polinomios de grado no mayor que d^{n} tiene dimensión (cantidad de monomios) acotada por d^{cn^{2}}, se puede extraer una base formada por a lo sumo d^{cn^{2}} polinomios de tipo G_{j} · H_{γ} que definen V_{r} ∪ ⋯ ∪ V_{r−i+1}.

Asimismo, dado que la talla binaria de los coeficientes de cada polinomio G_{j} está acotada por d^{c′n}(h + log s) y la talla binaria de los coeficientes de cada polinomio H_{γ} no supera la cantidad d^{c′′n}(h + log s), se deduce que los coeficientes de los polinomios G_{j} · H_{γ} elegidos tienen talla binaria acotada por d^{c′′′n}(h + log s).

En conclusión, cada etapa puede llevarse a cabo en forma uniforme con talla s^{O(n)}d^{O(n^{2})}h^{2} y profundidad O(n^{4} log^{2}(hsd)). Dado que se efectúan a lo sumo n etapas recursivas, se tiene una talla total s^{O(n)}d^{O(n^{2})}h^{2} y profundidad O(n^{5} log^{2}(hsd)). Aplicando entonces la estrategia del teorema 1 se deduce el siguiente resultado:

Teorema 10 Existe una máquina de Turing determinística que calcula la descomposición equidimensional de V en espacio n^{5} log^{2}(hsd).

Algoritmos probabilísticos

En el capítulo 1 se estudiaron algoritmos determínisticos para resolver los problemas de eliminación geométrica. Estos algoritmos generan siempre la solución exacta de todas las posibles instancias del problema considerado utilizando recursos de espacio y tiempo que dependen de un análisis del peor caso.

Sin embargo, en diversas situaciones, esta filosofía impone restricciones que pueden dificultar la aplicabilidad de los algoritmos. A fin de hallar una solución a esta cuestión, dos alternativas han sido estudiadas en el ámbito del cálculo simbólico. La primera de ellas se basa en desarrollar algoritmos que funcionan bien para instancias típicas del problema, los que se conocen como algoritmos para el caso promedio.

La otra alternativa, la que se seguirá en este capítulo, consiste en introducir aleatoriedad en el algoritmo por medio de un generador de números aleatorios (cf. [152],[102]). El ejemplo clásico en problemas de eliminación es el de la verificación de identidades polinomiales: dado un circuito aritmético sin divisiones que representa un polinomio P, decidir si P es el polinomio nulo.

El método directo de expandir P en una suma de monomios y chequear si todos sus coeficientes son nulos requiere, en general, un número excesivo de operaciones. En cambio se explorará un método alternativo que consiste en evaluar el polinomio en uno o más puntos elegidos aleatoriamente en un conjunto finito I.

Esta idea, que fue considerada por primera vez en un trabajo de R.A. De Millo y R.J. Lipton ([55]), posteriormente en sendos trabajos de J.T.

Schwartz ([163]) y R.E. Zippel ([187]), aparece en varios trabajos (ver [104], [97], [98] por ejemplo; en [160], [97] se han desarrollado métodos similares para chequear probabilísticamente la nulidad de un número calculado por un circuito aritmético). La idea es, dado un circuito aritmético sin divisiones que evalúa un polinomio P en n variables, elegir aleatoriamente un punto (x_{1}, …, x_{n}) de ZZ^{n} (que será llamado un punto testigo según [166]) en un conjunto I ⊂ ZZ^{n} adecuado y suficientemente grande de modo que la probabilidad de que P no sea nulo y la evaluación P (x_{1}, …, x_{n}) sea igual a 0 es menor que \frac{1}{2}. El test (conocido como el test de Schwartz–Zippel) consiste en evaluar P (x_{1}, …, x_{n}) y puede repetirse a fin de reducir la probabilidad de error bajo cualquier constante positiva. En resumen, se tiene el siguiente lema:

Lema 20 ([97, Corollary 2.1]) Sea P ∈ Q [X_{1}, …, X_{n}] un polinomio no nulo que se evalúa por medio de un circuito aritmético de profundidad no escalar ℓ. Sea I := {0, …, 2^{ℓ+1}n}^{n} ⊆ ZZ^{n}. Entonces, la probabilidad de elegir aleatoriamente una n–upla a := (a_{1}, …, a_{n}) ∈ I tal que P (a_{1}, …, a_{n}) = 0 es menor que \frac{1}{2}.

Cabe destacar que el conjunto I elegido depende tanto del tamaño de la entrada (en forma polinomial) como de la instancia que se considera, es decir, cada circuito aritmético requiere de la generación de un nuevo punto testigo si el error quiere mantenerse bajo \frac{1}{2}.

En tal sentido, una interesante alternativa surge como consecuencia de un trabajo de Heintz–Schnorr ([94]): el punto testigo se reemplaza por un conjunto de fijo de puntos de ZZ^{n} de cardinalidad polinomial (que será llamado un conjunto questor o una correct test sequence). La ventaja ahora es que este conjunto de puntos puede utilizarse para todos los circuitos aritméticos de talla y profundidad dada. El test (que se conoce como el test de Heintz– Schnorr) consiste entonces en evaluar el circuito aritmético en estos puntos y da siempre la respuesta correcta si el conjunto questor ha sido correctamente elegido.

Definición 2 Sea F un subconjunto de polinomios en ZZ[X_{1}, …, X_{n}] tal que 0 pertenece a F y Q un subconjunto de ZZ^{n}. Entonces Q se dice un conjunto questor para F si el polinomio 0 es el único polinomio del conjunto F que se anula sobre todos los puntos x de Q.

Entonces se tiene el siguiente lema:

Proposición 5 ([94, Theorem 4.4], [114, Corollary 19]) Sea F := W (n, L, ℓ) el conjunto de todos los polinomios en ZZ[X_{1}, …, X_{n}] que pueden evaluarse mediante un circuito aritmético de talla (no escalar) L y profundidad (no escalar) ℓ. Sea ω := (2^{ℓ+1} − 2)(2^{ℓ} + 1)^{2} y σ := 6(ℓL)^{2}. Entonces el conjunto \{1, …, ω\}^{nσ} ⊂ ZZ^{nσ} contiene al menos ω^{nσ}(1 − ω^{\frac{σ}{6}} ) conjuntos questores de cardinalidad σ para la clase F.

Si bien no se conocen algoritmos polinomiales determinísticos que calculen conjuntos questores, es posible generarlos aleatoriamente en forma independiente del input considerado. En tal caso el error que se comete está acotado por ω^{\frac{σ}{6}} ≪ \frac{1}{2}.

Esta idea ha sido aplicada en varios trabajos, como por ejemplo en [68], [80], [83], [114], [82], [81], [78] (cf. [139]). Recientemente se ha hallado un análogo de este método para el caso de números representados por circuitos aritméticos (ver [87]).

En el presente capítulo ambos tests serán aplicados en diferentes situaciones: el test Schwartz–Zippel será utilizado típicamente cada vez que sea necesario realizar un preprocesamiento de datos. En estos casos es importante generar una única respuesta con la cual se operará posteriormente, y por esto es importante trabajar con un punto testigo.

Por ejemplo, en el caso de sistemas sobredimensionados el número de ecuaciones se puede reducir considerablemente mediante combinaciones lineales de las ecuaciones originales (ver subsección 2.1.1). En este caso se demuestra (Teorema 6) que los coeficientes que intervienen en esas combinaciones lineales pueden elegirse con la condición de no anular un polinomio que se calcula mediante un circuito aritmético de talla y profundidad controladas. Otro caso de aplicación es la normalización de Noether que se realiza en la subsección 2.3.3.

Por otro lado, el test Heintz-Schnorr será aplicado en la subsección 2.3.4 a fin de generar sistemas de ecuaciones polinomiales que sean incompatibles. Dado que se trata con circuitos aritméticos de los cuales solamente su talla y profundidad, es necesario tener un mismo test para todas las posibles instancias, lo que exige la utilización de un conjunto questor.

Un modelo adecuado para describir los algoritmos probabilísticos que se desarrollarán es el de las máquinas de Turing probabilísticas (cf. [7]).

Una máquina de Turing probabilística M es un dispositivo de características similares a las del modelo determinístico, excepto por el hecho que la función de transición δ tiene dos imágenes por cada posible configuración.

Luego, en cada paso de computación la máquina M decide aletoriamente cual de las dos posibles imágenes de la función δ considera.

Una entrada x se dice aceptada por M si al menos la mitad de todas las posibles computaciones comenzando con x terminan en un estado de aceptación. El espacio de memoria y el tiempo de computación que requiere M sobre una entrada x se definen ahora como los mínimos entre todas las posibles computaciones aceptantes.

La probabilidad de error e_{m}(x) se define como la proporción entre la cantidad computaciones sobre x que dan una respuesta errónea y la cantidad total de computaciones sobre x.

Un tipo especial de máquinas probabilísticas, las máquinas de error acotado, son particularmente interesantes en la práctica ya que, en este caso, el error puede reducirse rápidamente por debajo de cualquier constante positiva, mediante la repetición de la la computación sobre x. Una máquina probabilística de error acotado es una máquinas probabilística M que verifica que existe una constante ε < \frac{1}{2} tal que el error e_{M}(x) es inferior a ε para todo x ∈ {0, 1}^{∗}.

2.1 El caso 0-dimensional: técnicas de elemento primitivo

Los algoritmos que se describirán aprovechan la semántica de los problemas que tratan a fin de realizar una utilización mas eficiente de los recursos computacionales. Es por lo tanto importante realizar una reflexión sobre la semántica de las cuestiones que se consideran.

El problema central a considerar es el de resolver sistemas de ecuaciones polinomiales. Debido a las restricciones que impone la práctica, resulta natural adoptar como entrada de todos los algoritmos un conjunto finito F_{1}, …, F_{s} de polinomios en ZZ[X_{1}, …, X_{n}].

Claro está, la palabra “resolver” tiene distintos significados en diferentes ámbitos. En esta tesis los problemas que se estudian tienen significado geométrico, es decir, se refieren a la variedad algebraica

V := {(x_{1}, …, x_{n}) ∈ C^{n}; F_{1}(x_{1}, …, x_{n}) = ⋯ = F_{s}(x_{1}, …, x_{n}) = 0}

mas que al ideal generado por dichas ecuaciones polinomiales F_{1}, …, F_{s} en si. En este sentido, se estudia el ideal radical \sqrt{(F_{1}, …, F_{s})}, ya que este ideal es el que corresponde a la variedad V. Para esto se estudia la Q-álgebra reducida:

B := Q[X_{1}, …, X_{n}]/\sqrt{(F_{1}, …, F_{s})}

Una estrategia común es reducir las cuestiones al caso 0-dimensional, dado que en este caso existen técnicas que permiten importantes mejoras de complejidad. Es por lo tanto de suma importancia tener métodos que permitan la descripción efectiva de la Q–álgebra B en el caso cero–dimensional. Este es el objetivo central de esta sección.

Cabe destacar que las líneas generales algorítmicas que van a ser desarrolladas hasta el final de este capítulo, siguen las pautas introducidas en los trabajos [78], [81], [82] y [131].

2.1.1 Algunas reducciones éstandar

A fin de simplificar un poco la situación, es conveniente realizar algunas reducciones del problema a tratar. En primer lugar se demostrará que toda variedad algebraica de dimensión cero puede describirse por medio de una cantidad n ≤ t ≤ n + 1 de ecuaciones F′_{1}, …, F′_{t} tales que F′_{1}, …, F′_{n} forman una sucesión regular, las cuales pueden generarse con baja complejidad a partir de cualquier sistema de ecuaciones que defina la variedad V. Este es el contenido del siguiente lema, que es un caso particular de una técnica general de preprocesamiento de sistemas de ecuaciones polinomiales (ver [88], [38], [155], [59], [114]):

Lema 21 Sean F_{1}, …, F_{s} polinomios en ZZ[X_{1}, …, X_{n}] que definen una variedad algebraica V ⊆ C^{n} de dimensión cero. Entonces existe t ∈ {n, n + 1} y una matriz genérica Q ∈ ZZ^{t×s} tales que, si

Q := ( \begin{matrix}λ_{11} & … & λ_{1s} \\ ⋮ & & ⋮ \\ λ_{t1} & … & λ_{ts} \end{matrix} )

definiendo F′_{i} := λ_{i1}F_{1} + ⋯ + λ_{is}F_{s} para i = 1, …, t, se verifica:

1. V (F′_{1}, …, F′_{t}) = V (F_{1}, …, F_{s})

2. F′_{1}, …, F′_{n} forman una sucesión regular

3. los coeficientes λ_{ij} verifican |λ_{ij}| ≤ d^{n} y se pueden generar aleatoriamente con probabilidad mayor que \frac{1}{2} de obtener una matriz Q que satisfaga las condiciones pedidas.

Demostración. Se construyen inductivamente polinomios F′_{1}, …, F′_{n} que forman una sucesión regular de manera que dim(F′_{1}, …, F′_{i}) = n − i para i = 1, …, n. Eventualmente, en el caso en que V (F′_{1}, …, F′_{n}) ≠ V, es necesario construir un polinomio adicional F′_{n+1} tal que V (F′_{1}, …, F′_{n+1}) = V (F_{1}, …, F_{s}).

Para k = 1, suponiendo F_{1} ≠ 0 se puede tomar simplemente F′_{1} := F_{1}. En el caso general, sea 1 < i < n y F′_{1}, …, F′_{i} que verifican las condiciones

del enunciado del lema. Sea C el conjunto de las componentes irreducibles de V (F′_{1}, …, F′_{i}). Como V es una variedad de dimensión cero y V (F′_{1}, …, F′_{i}) es una variedad equidimensional de dimensión n−i > 0, se deduce que ninguna componente C ∈ C está contenida en V. Por lo tanto, es posible elegir un punto x_{C} ∉ V en cada componente C ∈ C y definir el siguiente polinomio:

F^{(i+1)}(T_{i+1 1}, …, T_{i+1 s}) := ∏_{C∈C} (T_{i+1 1}F_{1}(x_{C}) + ⋯ + T_{i+1 s}F_{s}(x_{C}))

Dado que ningún punto x_{C} pertenece a V se deduce que, para cada C ∈ C existe j ∈ {1, …, s} tal que F_{j}(x_{C}) ≠ 0. Esto asegura que las formas lineales T_{1}F_{1}(x_{C}) + ⋯ + T_{s}F_{s}(x_{C})) son no nulas para todo x_{C}. Además, el conjunto #(C) tiene cardinal acotado por d^{n} (ver [88]). Por lo tanto, el polinomio F (T_{1}, …, T_{n}) es un polinomio no nulo de grado menor o igual que d^{n}, y existen entonces enteros no negativos λ_{i+1 1}, …, λ_{i+1 s} acotados por d^{n} tales que F (λ_{i+1 1}, …, λ_{i+1 s}) ≠ 0.

En consecuencia, se define F′_{i+1} := λ_{i+1 1}F_{1} + ⋯ + λ_{i+1 s}F_{s}. Por construcción, F′_{i+1} no es divisor de cero módulo (F′_{1}, …, F′_{i}), ya que {F′_{i+1} = 0} corta propiamente todas las componentes irreducibles de (F′_{1}, …, F′_{i}): dada una tal componente C, si x_{C} fue el punto elegido en esa componente para la construcción de F, se tiene que F′_{i+1}(x_{C}) = λ_{i+1 1}F_{1}(x_{C}) + ⋯ + λ_{i+1 s}F_{s}(x_{C}) ≠ 0 por la elección de (λ_{i+1 1}, …, λ_{i+1 s}), lo que significa que C ⊈ {F′_{i+1} = 0}.

Finalmente, al final del n-ésimo paso se tienen dos posibilidades:

• V (F′_{1}, …, F′_{n}) = V, en cuyo caso el proceso está concluído.

• V (F′_{1}, …, F′_{n}) ≠ V, en cuyo caso se realiza un paso mas del proceso inductivo.

En el segundo caso se consideran las componentes C de V (F′_{1}, …, F′_{n}) que no están contenidas en V. Como estas componentes tienen dimensión cero son los puntos x_{C} de C^{n} que se eligen para la construcción del polinomio F′_{n+1}. De esta manera, los puntos de V (F′_{1}, …, F′_{n}) \ V se eliminan de V (F′_{1}, …, F′_{n+1}), obteniéndose en consecuencia que V (F′_{1}, …, F′_{n+1}) = V.

Resta demostrar las propiedades que verifican los coeficientes λ_{i j} que se han elegido para formar la matriz Q. De la demostración se deduce que estos coeficientes pueden elegirse con la única condición de no satisfacer la siguiente ecuación:

∏_{k=2}^{t} F^{(k)}(T_{k1}, …, T_{ks}) = 0

Los polinomios F^{(k)} tienen grado acotado por d^{n}. Por lo tanto, el polinomio ∏ F^{(k)} tiene grado nd^{n}, y utilizando el test de Schwartz–Zippel (lema 20) se deduce que los coeficientes λ_{ij} pueden elegirse aleatoriamente en el conjunto \{0, …, n^{2}d^{n}\}^{ts} con probabilidad mayor que \frac{1}{2} de obtener una matriz Q que verifica las condiciones del enunciado del lema. □

A los fines que aquí se consideran, es posible trabajar con la variedad V (F′_{1}, …, F′_{n}) aún en el caso en que ésta no coincide con la variedad original V. Mediante un nuevo preprocesamiento de las ecuaciones se obtienen generadores para el ideal (F′_{1}, …, F′_{n}) que verifican las condiciones anteriores y algunas propiedades adicionales. Esta nueva reducción se realiza aplicando una versión efectiva del Teorema de Bertini (cf. [103]).

Proposición 6 ([114], Proposition 37) Sean F_{1}, …, F_{n} polinomios en ZZ[X_{1}, …, X_{n}] tales que el ideal (F_{1}, …, F_{n}) es de dimensión 0. Entonces existe una matriz Q ∈ ZZ^{(n−1)×n} con coeficientes acotados por d^{n} tal que los polinomios definidos por:

( F′_{1} ; ⋮ ; F′_{n−1} ) = Q ( F_{1} ; ⋮ ; F_{n} )

verifican las siguientes condiciones:

• (F′_{1}, …, F′_{n−1}, F_{n}) = (F_{1}, …, F_{n})

• (F′_{1}, …, F′_{n}) es una sucesión regular

• (F′_{1}, …, F′_{i}) es un ideal radical de Q[X_{1}, …, X_{n}] para todo i = 1, …, n− 1

• los coeficientes de Q se pueden elegir aleatoriamente en {0, 1, …, d^{n}}^{n} con probabilidad mayor que \frac{1}{2} de obtener una matriz Q que verifique las condiciones requeridas.

2.1.2 Soluciones geométricas

Según lo desarrollado en la subsección anterior, se puede suponer que los polinomios de entrada F_{1}, …, F_{n} en ZZ[X_{1}, …, X_{n}] forman una sucesión regular en Q[X_{1}, …, X_{n}] y que el ideal generado por F_{1}, …, F_{i} en Q[X_{1}, …, X_{n}] es radical para i = 1, …, n−1. Como ha sido dicho anteriormente, el problema es describir la Q–álgebra B definida por:

B := Q[X_{1}, …, X_{n}]/\sqrt{(F_{1}, …, F_{n})}

Sea V_{i} ⊂ C^{n} la variedad algebraica definida por F_{1}, …, F_{i} y V := V_{n}. Dado que F_{1}, …, F_{n} forman una sucesión regular resulta V una variedad cero–dimensional y por lo tanto B es un Q–espacio vectorial de dimensión finita. Asimismo se sabe que δ := dim_{Q}B = #(V) (ver [83], [88]).

Los procedimientos conocidos para describir la estructura algebraica de B generalmente operan con el conjunto de todos los monomios de Q[X_{1}, …, X_{n}] que verifican cierta condición (este conjunto suele tener cardinalidad al menos de tipo d^{n}), a fin de obtener una base de B como Q−espacio vectorial.

El método que aquí se propone difiere radicalmente de este tipo de procedimientos, dado que maneja estructuras cuyo tamaño está controlado por parámetros que dependen de la geometría del sistema de ecuaciones a considerar.

A fin de hallar una base de B como Q−espacio vectorial, se observa que cualquier forma lineal U ∈ ZZ[X_{1}, …, X_{n}] elegida genéricamente separa los puntos de la variedad V (es decir, se satisface que U(x) ≠ U(y) para todo par de puntos distintos x, y ∈ V). Cada forma lineal U en estas condiciones permite obtener una base de B de la siguiente manera: siendo u la imagen de U en B, el conjunto de las potencias {1, u, …, u^{δ−1}} forman la base buscada. En tal caso, se llama a u un elemento primitivo de B (ver [77], [110] por más detalles).

A partir de un elemento primitivo u se obtiene una representación de B como el cociente de Q[T] módulo un cierto ideal principal (el generado por el polinomio minimal de u) :

B = Q[X_{1}, …, X_{n}]/(P (u), ρX_{1} − v_{1}(u), …, ρX_{n} − v_{n}(X_{n})) = Q[T]/(P (T))

donde ρ es un entero no nulo, v_{1}, …, v_{n}, P ∈ ZZ[T], siendo P el polinomio minimal de u en B y el grado de cada polinomio v_{i} está acotado por deg(P)− 1 = δ − 1.

Obsérvese que la representación de B que se ha elegido consiste solamente de polinomios enteros univariados de grado a lo sumo δ y un entero ρ ∈ ZZ, lo cual implica que el tamaño de esta estructura de datos es polinomial en términos de δ y n. Por último, el tensor de multiplicación en B puede obtenerse fácilmente a partir de esta información : si M es la matriz compañera de P (T), entonces M_{X_{i}} := ρ^{−1}v_{i}(M).

Convenientemente traducidas, estas nociones pueden aplicarse al caso mas general de variedades de dimensión positiva: sean F_{1}, …, F_{r} ∈ ZZ[X_{1}, …, X_{n}] polinomios que forman una sucesión regular en Q [X_{1}, …, X_{n}] tales que el ideal que generan F_{1}, …, F_{r} en Q[X_{1}, …, X_{n}] es radical. En primer lugar, es posible realizar un cambio de variables (X_{1}, …, X_{n}) → (Y_{1}, …, Y_{n}) tal que las variables Y_{1}, …, Y_{n−r} son libres respecto de V := V (F_{1}, …, F_{r}) (es decir, no existe ningún polinomio en Q [Y_{1}, …, Y_{n−r}] que se anule sobre V) y tal que la extensión de anillos conmutativos:

R := Q[Y_{1}, …, Y_{n−r}] ⟶ Q[Y_{1}, …, Y_{n}]/\sqrt{(F_{1}, …, F_{r})} =: B

es entera.

En este caso, B resulta reducido (es decir, sin divisores de cero no triviales) y un R–módulo libre de rango finito (cf. [83]). En tal caso, un elemento u ∈ B se dice un elemento primitivo de la extensión de anillos R ⊆ B si el grado del polinomio minimal m_{u} de u coincide con el rango de B como R–módulo libre.

En lo que sigue, dado b ∈ B se denota por η_{b} : B ⟶ B el endomorfismo R–lineal inducido por la multiplicación de elementos de B por b (un tal endomorfismo será llamado una homotecia). También se denotará la matriz de la homotecia η_{b} por M_{b}, el polinomio característico de η_{b} por χ_{b} ∈ R[T] y el polinomio minimal primitivo de η_{b} por m_{b}. Obsérvese que χ_{b} y m_{b} son polinomios mónicos de R[T], que serán llamados el polinomio característico y minimal de b respectivamente.

Sea k := Q(Y_{1}, …, Y_{n−r}) el cuerpo de cocientes de R y B′ = k ⊗ B = Q(Y_{1}, …, Y_{n−r})[Y_{n−r+1}, …, Y_{n}]/k ⊗ (F_{1}, …, F_{r}), donde k ⊗ (F_{1}, …, F_{r}) es el ideal generado por (F_{1}, …, F_{r}) en k[Y_{n−r+1}, …, Y_{n}]. Entonces un elemento u ∈ B resulta un elemento primitivo B si y sólo si, para δ := rango_{R}B = dim_{k}B′ el conjunto {1, u, …, u^{δ−1}} representa una base del k–espacio vectorial B′.

En lugar de describir B, para los fines necesarios será suficiente dar una descripción adecuada de la k–álgebra B′. Y esta álgebra se caracteriza mediante los siguientes ítems:

• una base del k–espacio vectorial B′

• para n − r + 1 ≤ i ≤ n las matrices M_{X_{i}} de las homotecias η_{X_{i}} : B → B con respecto a la base dada (estas matrices describen el tensor de multiplicación de la k-algebra B′ y por lo tanto, de la R-álgebra B)

Estos ítems son lo que se define como una solución geométrica de la variedad V (F_{1}, …, F_{r}). La base de B′ se obtiene a partir de un elemento primitivo de B adecuado.

En el contexto de esta tesis, el elemento primitivo u ∈ B será elegido como la imagen en B de una forma lineal genérica de las variables X_{n−r+1}, …, X_{n} con coeficientes en ZZ, es decir, u será la imagen de una forma lineal U = λ_{n−r+1}X_{n−r+1} + ⋯ + λ_{n}X_{n}, con λ_{i} ∈ ZZ para n − r + 1 ≤ i ≤ n. Siendo T una nueva indeterminada, el polinomio minimal m_{u}(T) de u como elemento de la R-álgebra B (o equivalentemente como elemento de la k-álgebra B′) será un polinomio mónico en Q [X_{1}, …, X_{n−r}, T]. Este polinomio minimal será elegido como un elemento del anillo ZZ[X_{1}, …, X_{n−r}, T] = R[T] y, en el caso cero-dimensional, será reemplazado por un múltiplo de m_{u} de manera tal que el polinomio resultante, que será notado q_{u}, sea primitivo en ZZ[T].

Finalmente, como {1, u, …, u^{δ−1}} es una base del k–espacio vectorial B′, para n − r + 1 ≤ i ≤ n existen polinomios v_{i}^{(u)} ∈ R[T] y elementos no nulos ρ_{i}^{(u)} ∈ R tales que ρ_{i}^{(u)}X_{i} − v_{i}^{(u)}(U) pertenece al ideal generado por F_{1}, …, F_{r} en k[X_{n−r+1}, …, X_{n}]. En particular, se tiene la siguiente identidad de ideales de k[X_{n−r+1}, …, X_{n}]:

(F_{1}, …, F_{r}) = (q_{u}(U), ρ_{1}^{(u)}X_{r+1} − v_{r+1}^{(u)}(U), …, ρ_{n}^{(u)}X_{n} − v_{n}^{(u)}(U))

Mas aún, si M es la matriz compañera de la homotecia η_{u} con respecto a la base {1, u, …, u^{D−1}}, las matrices M_{X_{n−r+1}}, …, M_{X_{n}} que caracterizan el tensor de multiplicación de la R–álgebra B (o equivalentemente de la k– algebra B′) se obtienen a partir de la identidad:

ρ_{i}^{(u)} · M_{X_{i}} = v_{i}^{(u)}(M)

para n − r + 1 ≤ i ≤ n.

2.1.3 La complejidad del cálculo de un elemento primitivo

En esta subsección se determina la complejidad del cálculo de un elemento primitivo para V y de la solución geométrica que se obtiene a partir del mismo.

Como se ha dicho, la diferencia esencial entre el método aquí aplicado y los métodos anteriormente utilizados es que cantidades algebraicas usualmente utilizadas para estimar la complejidad de los problemas de eliminación geométricos (como el número de Bezout d^{n} o la regularidad de la función de Hilbert de un ideal homogéneo apropiado) se reemplazan por parámetros que vienen de la geometría. Siguiendo [82], [81], [78] se definen dos invariantes geométricos que controlan el tamaño del álgebra lineal involucrada y la longitud bit de los números enteros que se manipulan: el grado (afín) y la altura (afín) de variedades intersección completa.

Sea entonces V ⊂ C^{n} la variedad algebraica definida por polinomios F_{1}, …, F_{r} en ZZ[X_{1}, …, X_{n}] de grado acotado por d (r ≤ n) que forman una sucesión regular en Q[X_{1}, …, X_{n}] tales que (F_{1}, …, F_{r}) es un ideal radical de Q[X_{1}, …, X_{n}]. Se considera el conjunto D_{V} de todas las variedades lineales H de dimensión n − i tales que #(H ∩ V) < ∞ y se tiene la siguiente definición:

Definición 3 El grado de V, gr(V), se define como la máxima cantidad de puntos que se obtienen al intersecar V con variedades lineales de D_{V}

En [88] se demuestra que el grado es siempre un número natural y que el mismo se obtiene cuando la variedad lineal con la que se interseca es genérica. Esta definición de grado es equivalente a la siguiente: si se considera todos los cambios lineales afines de coordenadas

(X_{1}, …, X_{n}) → (Y_{1}, …, Y_{n})

cada cambio de coordenadas genérico de este tipo induce una extensión de anillos entera:

R := Q[Y_{1}, …, Y_{n−r}] → Q[Y_{1}, …, Y_{n}]/(F_{1}, …, F_{r}) =: Q[V].

El anillo Q[V] es un R–módulo de rango finito (cf. [83] por ejemplo). Este rango es el mismo para cualquier cambio de coordenadas lineal genérico y coincide con el grado de la variedad V.

La definición de altura de una variedad diofántica afín se inspira en la noción correspondiente para variedades proyectivas desarrollada en [134], [135], [143], [146], [147], [148] (ver también [33], [18], [62], [113], [114]).

En primer lugar es preciso definir primero que es la altura (logarítmica) de un entero, de un vector de enteros, de una matriz con entradas enteras y de un polinomio con coeficientes enteros.

Sea a ∈ ZZ, entonces la altura de a se define como ht(a) := max{log|a|, 1}. Es claro que la altura mide la longitud binaria de a. Para un vector de números enteros α := (a_{1}, …, a_{n}) ∈ ZZ^{n}, se define la altura de α como el máximo entre las alturas de sus coordenadas, y análogamente se define la altura de una matriz A ∈ ZZ^{n×m} como el máximo entre las alturas de sus entradas. Finalmente la altura de un polinomio F ∈ ZZ[X_{1}, …, X_{n}] se define como la altura del vector formado por sus coeficientes.

Se define entonces la noción de altura afín de una variedad diofántica cero–dimensional:

Definición 4 Dada una variedad algebraica diofántica cero–dimensional V ⊂ C^{n} y una forma lineal U = λ_{1}X_{1} + ⋯ + λ_{n}X_{n} con coeficientes enteros que representa un elemento primitivo u de la extensión de anillos Q → Q[V], se define la altura de V con respecto a U como el máximo de las alturas de los polinomios q_{u}(T), ρ_{1}^{(u)}X_{1} − v_{1}^{(u)}(T), …, ρ_{n}^{(u)}X_{n} − v_{n}^{(u)}(T) que corresponden a la solución geométrica de V a partir del elemento primitivo u. Esta altura se notará por ht(V; U).

Luego, la altura de una variedad algebraica diofántica cero–dimensional V se define como la función ht_{V} : IN → IN que asocia a cada número natural c ∈ IN el valor ht_{V} (c) := max{ht(V, U); ht(U) ≤ c} si la extensión de anillos Q → Q[V] tiene un elemento primitivo u que es imagen de una forma lineal U de altura acotada por c y que asocia a c el valor 1 si no existe tal elemento primitivo.

En el caso mas general de una variedad diofántica intersección completa V de dimensión positiva n − r, sean F_{1}, …, F_{r} ∈ ZZ[X_{1}, …, X_{n}] polinomios que forman una sucesión regular en Q[X_{1}, …, X_{n}] que definen V. Sea N_{V} la clase de todos los cambios de coordenadas:

( Y_{1} ; ⋮ ; Y_{n} ) = ( \begin{matrix}a_{11} & … & a_{1n} \\ ⋮ & & ⋮ \\ a_{n1} & … & a_{nn} \end{matrix} ) ( X_{1} ; ⋮ ; X_{n} )

tales que la matriz A := (a_{ij})_{1≤i,j≤n} tiene entradas enteras y es no singular y tal que la extensión inducida por el cambio de coordenadas:

R := Q[Y_{1}, …, Y_{n−r}] → Q[Y_{1}, …, Y_{n}]/(F_{1}, …, F_{r}) := Q[V]  (2.1)

es entera. El cambio de coordenadas dado por la matriz A induce un morfismo finito de variedades afines π : V → C^{n−i}. Se considera cualquier forma lineal U = λ_{n−i+1}X_{n−i+1} + ⋯ + λ_{n}X_{n} con coeficientes enteros tal que su imagen u en Q[V] es un elemento primitivo de la extensión de anillos R → Q[V], y la clase F_{u} de todos los puntos P ∈ ZZ^{n−i} tales que:

• los elementos de V_{P} := π^{−1}({P }) son puntos suaves de V,

• el número de elementos gr(V_{P}) de V_{P} coincide con el rango del R– módulo libre Q[V] y

• la forma lineal U genera también un elemento primitivo de la extensión Q → Q[V_{P}].

Manteniendo estas notaciones se tiene la siguiente noción de altura de variedades algebraicas diofánticas:

Definición 5 Dada una variedad diofántica intersección completa V como antes, un cambio lineal de coordenadas A ∈ N_{V}, una forma lineal U ∈ ZZ[Y_{n−i+1}, …, Y_{n}] cuya imagen u en Q [V] es un elemento primitivo de la extensión entera de anillos 2.1 y un punto P ∈ F_{u}, se define la altura de V con respecto a (A, U, P) en la forma:

ht(V; (A, U, P)) := ht(V_{P}; U).

Luego, la altura de una variedad algebraica diofántica intersección completa V se define como la función ht_{V} : IN → IN que asocia a cada número natural c ∈ IN el valor ht_{V} (c) := max{ht(V; A, U, P) : ht(A, U, P) ≤ c} si existe un triple (A,U,P) que satisface los requerimientos de la definición de altura acotada por c y que asocia a c el valor 1 si no existe tal elemento primitivo.

En [78] se demuestra que ht(c) se acota en forma polinomial en términos del número de Bezout d^{n}, la altura h de los polinomios F_{i} y c, pudiendo ser el número ht(c) ostensiblemente menor que esta estimación en casos de interés práctico.

Habiendo definido los parámetros geométricos que controlan la complejidad del proceso, se puede ahora sintetizar el resultado principal de esta sección, cuyo enunciado preciso es el teorema 11:

Sea V ⊂ C^{n} la variedad algebraica intersección completa de dimensión cero definida por polinomios F_{1}, …, F_{n} ∈ ZZ[X_{1}, …, X_{n}] que verifican:

• F_{1}, …, F_{n} definen una sucesión regular en Q[X_{1}, …, X_{n}],

• para todo i = 1, …, n, el ideal (F_{1}, …, F_{i}) es un ideal radical de Q[X_{1}, …, X_{n}],

• los polinomios F_{1}, …, F_{n} están dados mediante un circuito aritmético uniforme de talla L y profundidad no escalar ℓ, que utiliza parámetros enteros de talla h.

Sea d := max{gr(F_{i}) : 1 ≤ i ≤ n} el máximo grado total de los polinomios input y δ := max{gr(V (F_{1}, …, F_{i})) : 1 ≤ i ≤ n} el grado geométrico del sistema. Finalmente, se define la altura geométrica del sistema η en la forma η := max{ht_{V_{i}}(c((log n + ℓ) log δ) : 1 ≤ i ≤ n}, donde c > 0 es una constante universal que no depende del input F_{1}, …, F_{n} considerado (ni de su tamaño).

Entonces existe una máquina de Turing probabilística de error acotado que calcula una forma lineal U que representa un elemento primitivo u para V y la solución geométrica asociada al elemento primitivo u en espacio polinomial con respecto a los parámetros n, ℓ y η y polilogarítmico con respecto a d, h, L y δ.

2.1.4 El método de Newton–Hensel

Sea V ⊆ C^{n} la variedad algebraica intersección completa definida por los polinomios F_{1}, …, F_{r} ∈ ZZ[X_{1}, …, X_{n}]. Según lo desarrollado en la subsección 2.1.2, la idea es hallar una solución geométrica para la variedad V. El objetivo de esta sección es mostrar un método mediante el cual esta cuestión puede reducirse al caso cero–dimensional.

En primer lugar, luego de un preprocesamiento de las variables (la normalización de Noether que se obtiene mediante un cambio de variables lineal), se puede suponer sin pérdida de generalidad que la extensión de anillos

R := Q[X_{1}, …, X_{n−r}] → Q[X_{1}, …, X_{n}]/(F_{1}, …, F_{r}) = Q[V]

es inyectiva y entera.

En tal caso, el morfismo π : V → C^{n−r} inducido por este cambio de variables es finito y la fibra V_{P} := π^{−1}({P }) de cualquier punto genérico P ∈ C^{n−r} es finita y tiene cardinal gr(V). La intención es aplicar el método de Newton–Hensel en forma simbólica a fin de recuperar la solución geométrica de V a partir de la solución geométrica de la fibra V_{P} de un punto P ∈ C^{n−r} adecuado. Dado que V_{P} es una variedad cero–dimensional para P ∈ C^{n−r} genérico, se deduce que el problema de calcular la solución geométrica de una variedad algebraica intersección completa de dimensión positiva se reduce al caso cero–dimensional.

A fin de preservar la “racionalidad” del algoritmo el punto P será elegido con coordenadas enteras, es decir, P ∈ ZZ^{n−r}. Para poder extraer toda la información necesaria de V_{P}, es preciso que el punto P elegido verifique las siguientes condiciones:

• los elementos de V_{P} = π^{−1}(P) son puntos suaves de V,

• el número de elementos gr(V_{P}) de V_{P} coincide con el rango del R– módulo libre Q[V], y

• la forma lineal U genera también un elemento primitivo de la extensión Q → Q[V_{P}].

Un punto P ∈ ZZ^{n−r} en estas condiciones se llamará un punto de levantamiento y su fibra V_{P} se llamará la fibra de levantamiento.

En lo que sigue se supondrá que se tiene una forma lineal con coeficientes enteros U = λ_{n−r+1}X_{n−r+1} + ⋯ + λ_{n}X_{n} tal que su imagen u en Q [V_{P}] es un elemento primitivo de la extensión de anillos Q → Q [V_{P}], polinomios q^{(P)}(T), v_{n−r+1}^{(P)}(T),...,v_{n}^{(P)}(T) ∈ ZZ[T] y elementos ρ_{n−r+1}^{(P)}, …, ρ_{n}^{(P)} ∈ ZZ tales que constituyen una solución geométrica para la variedad V_{P}.

Sea F := (F_{1}, …, F_{r}) y sea D(F) := D(F_{1}, …, F_{r}) := (\frac{∂F_{i}}{∂X_{n−r+j}} )_{1≤i,j≤r} la matriz jacobiana de los polinomios F_{1}, …, F_{r}. Suponiendo que esta matriz es regular y considerando los polinomios F_{1}, …, F_{r} como funciones en \underline{X} := (X_{n−r+1}, …, X_{n}), se define el siguiente operador de Newton–Hensel:

N_{F} (X_{n−r}, …, X_{n}) := ( X_{n−r} ; ⋮ ; X_{n} ) − D(F)^{−1} ( F_{1}(X_{n−r+1}, …, X_{n}) ; ⋮ ; F_{r}(X_{n−r+1}, …, X_{n}) ) (2.2)

Se tiene entonces la siguiente versión del conocido lema de Hensel:

Lema 22 Sea P = (p_{1}, …, p_{n−r}) ∈ ZZ^{n−r} un punto de levantamiento para V. Entonces, dado un punto ξ = (ξ_{n−r+1}, …, ξ_{n}) ∈ V_{P}, existen únicas series de potencias R_{n−r+1}^{(ξ)}, …, R_{n}^{(ξ)} en C[[X_{1} − p_{1}, …, X_{n−r} − p_{n−r}]] que verifican las siguientes condiciones

• Para i = 1, …, r vale la siguiente identidad en C[[X_{1} − p_{1}, …, X_{n−r} −

p_{n−r}]]:

F_{i} (X_{1}, …, X_{n−r}, R_{n−r+1}^{(ξ)}, …, R_{n}^{(ξ)}) = 0

• Para j = 1, …, r vale que R_{n−r+j}^{(ξ)}(P) = ξ_{n−r+j} Demostración. Se define la siguiente sucesión en C [[X_{1} − p_{1}, …, X_{n−r} − p_{n−r}]]^{r}:

\begin{aligned}R^{(ξ,0)} = (R_{n−r+1}^{(ξ,0)}, …, R_{n}^{(ξ,0)}) & := (ξ_{n−r+1}, …, ξ_{n}) \\ R^{(ξ,N+1)} = (R_{n−r+1}^{(ξ,N+1)}, …, R_{n}^{(ξ,N+1)}) & := N_{F} (R^{(ξ,N)})^{t} para N ≥ 0 \end{aligned}

donde A^{t} denota la matriz traspuesta de A. Obsérvese que de la definición de R^{(ξ,N)}, por medio de un argumento inductivo se deduce que cada R_{n−r+j}^{(ξ,N)} representa una función racional de C(X_{1}, …, X_{n−r}).

Se nota por m el ideal maximal m := (X_{1} −p_{1}, …, X_{n−r} −p_{n−r}) generado por X_{1} − p_{1}, …, X_{n−r} − p_{n−r} en C[[X_{1} − p_{1}, …, X_{n−r} − p_{n−r}]]. Entonces las siguientes afirmaciones son válidas para todo N ∈ IN:

1. F_{i}(X_{1}, …, X_{n−r}, R^{(ξ,N)}) ∈ m^{2^{N}} para i = 1, …, r.

2. det(D(F))(X_{1}, …, X_{n−r}, R^{(ξ,N)}) ∉ m

Estas afirmaciones se demuestran por inducción en N. En el caso N = 0, las afirmaciones 1 y 2 son las hipótesis del lema.

En el caso general, suponiendo ambas afirmaciones ciertas para el caso N, se considera los polinomios F_{1}, …, F_{r} como elementos del anillo de polinomios C[X_{1}, …, X_{n−r}][X_{n−r+1}, …, X_{n}]. Con un leve abuso de notación se utilizará el mismo símbolo, F_{i}, para denotar el elemento de C[X_{1}, …, X_{n}] o su imagen en el anillo C[X_{1}, …, X_{n−r}][X_{n−r+1}, …, X_{n}].

Sean Y_{n−r+1}, …, Y_{n} nuevas indeterminadas. A partir de un desarrollo formal de Taylor de los polinomios F_{1}, …, F_{r} en torno a Y_{n−r+1}, …, Y_{n}, se obtiene la siguiente identidad en el C[X_{1}, …, X_{n−r}]–módulo C[X_{1}, …, X_{n−r}][X_{n−r+1}, …, X_{n}, Y_{n−r+1}, …, Y_{n}]:

F_{i}(X_{n−r+1}, …, X_{n}) = F_{i}(Y_{n−r+1}, …, Y_{n})+

+ ∑_{j=1}^{r} \frac{∂F_{i}}{∂X_{n−r+j}} (Y_{n−r+1}, …, Y_{n}) · (X_{n−r+j} − Y_{n−r+j})

módulo (X_{n−r+1} − Y_{n−r+1}, …, X_{n} − Y_{n})^{2}

(2.3)

para i = 1, …, r, donde (X_{n−r+1} − Y_{n−r+1}, …, X_{n} − Y_{n}) denota el ideal generado por los polinomios X_{n−r+1} − Y_{n−r+1}, …, X_{n} − Y_{n} en C[X_{1}, …, X_{n−r}][X_{n−r+1}, …, X_{n}, Y_{n−r+1}, …, Y_{n}].

Utilizando la inclusión

C[X_{1}, …, X_{n−r}] ↪ C[[X_{1} − p_{1}, …, X_{n−r} − p_{n−r}]]

dada por el desarrollo de Taylor de cada polinomio F ∈ C[X_{1}, …, X_{n−r}] en torno al punto (p_{1}, …, p_{n−r}) y reemplazando en la ecuación (2.3) las variables X_{n−r+1}, …, X_{n} por R_{n−r+1}^{(ξ,N+1)}, …, R_{n}^{(ξ,N+1)} e Y_{n−r+1}, …, Y_{n} por R_{n−r+1}^{(ξ,N)}, …, R_{n}^{(ξ,N)}, se obtiene la siguiente identidad en C[[X_{1} − p_{1}, …, X_{n−r} − p_{n−r}]]:

\begin{matrix}F_{i}(R^{(ξ,N+1)}) = F_{i}(R^{(ξ,N)}) + ∑_{j=1}^{r} \frac{∂F_{i}}{∂X_{n−r+j}} (R^{(ξ,N)}) · (R_{n−r+j}^{(ξ,N+1)} − R_{n−r+j}^{(ξ,N)}) \\ módulo (R_{n−r+1}^{(ξ,N+1)} − R_{n−r+1}^{(ξ,N)}, …, R_{n}^{(ξ,N+1)} − R_{n}^{(ξ,N)})^{2} \end{matrix}

(2.4)

De la definición de R^{(ξ,N)} resulta:

R^{(ξ,N+1)} − R^{(ξ,N)} = −D(F)^{−1}(R^{(ξ,N)}) · ( F_{1}(R^{(ξ,N)}) ; ⋮ ; F_{r}(R^{(ξ,N)}) )

En consecuencia, multiplicando ambos miembros de esta identidad por el vector (\frac{∂F_{1}}{∂X_{n−r+1}} (R^{(ξ,N)}), …, \frac{∂F_{r}}{∂X_{n−r+1}} (R^{(ξ,N)})) (que constituye la i–ésima fila de la matriz D(F)(R^{(ξ,N)})), se tiene la siguiente ecuación:

(\frac{∂F_{1}}{∂X_{n−r+1}} (R^{(ξ,N)}), …, \frac{∂F_{r}}{∂X_{n−r+1}} (R^{(ξ,N)}))·(R^{(ξ,N+1)}−R^{(ξ,N)})^{t} =

(\frac{∂F_{1}}{∂X_{n−r+1}} (R^{(ξ,N)}), …, \frac{∂F_{r}}{∂X_{n−r+1}} (R^{(ξ,N)}))·(−D(F)^{−1}(R^{(ξ,N)}))·( F_{1}(R^{(ξ,N)}) ; ⋮ ; F_{r}(R^{(ξ,N)}) )

= −(0, …, i1, 0, …, 0) · ( F_{1}(R^{(ξ,N)}) ; ⋮ ; F_{r}(R^{(ξ,N)}) ) = −F_{i}(R^{(ξ,N)})

Por lo tanto, reemplazando esta última identidad en (2.4) se obtiene:

F_{i}(R^{(ξ,N+1)}) = F_{i}(R^{(ξ,N)}) +

+(\frac{∂F_{1}}{∂X_{n−r+1}} (R^{(ξ,N)}), …, \frac{∂F_{r}}{∂X_{n−r+1}} (R^{(ξ,N)}))·

· ( − D(F)^{−1}(R^{(ξ,N)})) · ( F_{1}(R^{(ξ,N)}) ; ⋮ ; F_{r}(R^{(ξ,N)}) ) =

= F_{i}(R^{(ξ,N)}) − F_{i}(R^{(ξ,N)}) = 0
módulo(R_{n−r+1}^{(ξ,N+1)} − R_{n−r+1}^{(ξ,N)}, …, R_{n}^{(ξ,N+1)} − R_{n}^{(ξ,N)})^{2}

de donde se deduce que

F_{i}(R^{(ξ,N+1)}) ∈ (R_{n−r+1}^{(ξ,N+1)} − R_{n−r+1}^{(ξ,N)}, …, R_{n}^{(ξ,N+1)} − R_{n}^{(ξ,N)})^{2}

para i = 1, …, r. Ahora bien, como

(R^{(ξ,N+1)} − R^{(ξ,N)})^{t} = −D(F)^{−1}(R^{(ξ,N)}) · ( F_{1}(R^{(ξ,N)}) ; ⋮ ; F_{r}(R^{(ξ,N)}) )

y F_{i}(R^{(ξ,N)}) ∈ m^{2^{N}} para i = 1, …, r por hipótesis inductiva, resulta entonces que

(R_{n−r+1}^{(ξ,N+1)} − R_{n−r+1}^{(ξ,N)}, …, R_{n}^{(ξ,N+1)} − R_{n}^{(ξ,N)})^{2} ⊆ (m^{2^{N}})^{2} = m^{2^{N+1}}

lo que demuestra la primera afirmación.

Con respecto a la segunda afirmación, realizando un desarrollo de Taylor formal del polinomio det(D(F)) como en (2.3), se tiene la siguiente expresión:

det(D(F))(X_{n−r+1}, …, X_{n}) = det(D(F))(Y_{n−r+1}, …, Y_{n}) +

+ ∑_{j=1}^{r} \frac{∂det(D(F))}{∂X_{n−r+j}}(Y_{n−r+1}, …, Y_{n}) · (X_{n−r+j} − Y_{n−r+j})

módulo (X_{n−r+1} − Y_{n−r+1}, …, X_{n} − Y_{n})^{2}

Si se reemplaza en esta ecuación, del mismo modo que en (2.4), las variables X_{n−r+1}, …, X_{n} por R_{n−r+1}^{(ξ,N+1)}, …, R_{n}^{(ξ,N+1)} y las variables Y_{n−r+1}, …, Y_{n} por R_{n−r+1}^{(ξ,N)}, …, R_{n}^{(ξ,N)} se obtiene la siguiente identidad:

det(D(F))(R^{(ξ,N+1)}) = det(D(F))(R^{(ξ,N)})+

+ ∑_{j=1}^{r} \frac{∂det(D(F))}{∂X_{n−r+j}}(ξ^{(N)})(R_{n−r+j}^{(ξ,N+1)}) − R_{n−r+j}^{(ξ,N)})

módulo (R_{n−r+1}^{(ξ,N+1)} − R_{n−r+1}^{(ξ,N)}, …, R_{n}^{(ξ,N+1)} − R_{n}^{(ξ,N)})^{2}

Dado que se verifica que R_{n−r+j}^{(ξ,N+1)} − R_{n−r+j}^{(ξ,N)} ∈ m^{2^{N}} ⊆ m para j = 1, ..., r y det(D(F))(R^{(ξ,N)}) ∉ m por hipótesis, se deduce entonces que det(D(F))(R^{(ξ,N+1)}) ∉ m.

De las afirmaciones 1 y 2 se desprende que la sucesión {R_{n−r+j}^{(ξ,N)}}_{N∈IN_{0}} con-

verge en C[[X_{1}, …, X_{n−r}]] a una serie de potencias R_{n−r+j}^{(ξ)} para j = 1, …, r. Estas son las series de potencias cuya existencia afirma el enunciado del lema.

Denótese por R^{(ξ)} el vector de series de potencias R^{(ξ)} := (R_{n−r+1}^{(ξ)}, …, R_{n}^{(ξ)}). En primer lugar, dado que R_{n−r+j}^{(ξ,N+1)} − R_{n−r+j}^{(ξ,N)} ∈ m^{2^{N}} para todo N ∈ IN, se deduce que

R_{n−r+j}^{(ξ)} ≡ R_{n−r+j}^{(ξ,N)} módulo m^{2^{N}} para todo N ∈ IN  (2.5)

Combinando esta observación con la ecuación (2.3), se tiene que

F_{i}(R^{(ξ)}) = F_{i}(ξ^{(N)}) + D(F)(R^{(ξ,N)}) ( R_{n−r+1}^{(ξ)} − R_{n−r+1}^{(ξ,N)} ; ⋮ ; R_{n}^{(ξ)} − R_{n}^{(ξ,N)} ) módulo m^{2^{N}}

para i = 1, …, r, de donde se deduce que F_{i}(R^{(ξ)}) ∈ m^{2^{N}} para todo N ∈ IN. Luego

F_{i}(R^{(ξ)}) = 0 en C[[X_{1} − p_{1}, …, X_{n−r} − p_{n−r}]]

para i = 1, …, r, como se quería demostrar.

En cuanto a la unicidad, suponiendo que existieran dos soluciones distintas R^{(ξ)} := (R_{n−r+1}^{(ξ)}, …, R_{n}^{(ξ)}) y R̃^{(ξ)} := (R̃_{n−r+1}^{(ξ)}, …, R̃_{n}^{(ξ)}) en las condiciones del enunciado, aplicando una vez más la expresión (2.3) se obtiene:

\begin{matrix}F_{i}(R^{(ξ)}) = F_{i}(R̃^{(ξ)}) + D(F)(R̃^{(ξ)}) · ( R_{n−r+1}^{(ξ)} − R̃_{n−r+1}^{(ξ)} ; ⋮ ; R_{n}^{(ξ)} − R̃_{n}^{(ξ)} ) \\ módulo (R_{n−r+1}^{(ξ)} − R̃_{n−r+1}^{(ξ)}, …, R_{n}^{(ξ)} − R̃_{n}^{(ξ)})^{2} \end{matrix}

Como F_{i}(R^{(ξ)}) = F_{i}(R̃^{(ξ)}) = 0, se tiene:

\begin{matrix}( 0 ⋮ 0 ) = D(F)(R̃^{(ξ)}) · ( R_{n−r+1}^{(ξ)} − R̃_{n−r+1}^{(ξ)} ; ⋮ ; R_{n}^{(ξ)} − R̃_{n}^{(ξ)} ) \\ módulo (R_{n−r+1}^{(ξ)} − R̃_{n−r+1}^{(ξ)}, …, R_{n}^{(ξ)} − R̃_{n}^{(ξ)})^{2} \end{matrix}

Por hipótesis, R_{n−r+j}^{(ξ)} y R̃_{n−r+j}^{(ξ)} tienen el mismo término constante, lo que implica que R_{n−r+j}^{(ξ)}−R̃_{n−r+j}^{(ξ)} ∈ m para j = 1, …, r. Como det(D(F))(R̃^{(ξ)}) ∉ m, se deduce entonces que R_{n−r+j}^{(ξ)} −R̃_{n−r+j}^{(ξ)} ∈ m^{2} para j = 1, …, r. Iterando este razonamiento se demuestra que R_{n−r+j}^{(ξ)}−R̃_{n−r+j}^{(ξ)} ∈ m^{2^{N}} para todo N ∈ IN y j = 1, …, r, lo que a su vez implica que R_{n−r+j}^{(ξ)} = R̃_{n−r+j}^{(ξ)} para j = 1, …, r, como se quería demostrar. □

Sea V_{P} = {η^{(1)}, …, η^{(δ)}} donde cada η^{(k)} ∈ C^{r} y η^{(i)} ≠ η^{(j)} si i ≠ j. Aplicando el lema anterior, mediante la iteración del operador de Newton comenzando con η^{(k)} como el primer elemento de la sucesión para k = 1, …, δ, se obtienen δ soluciones distintas (R_{n−r+1}^{(k)}, …, R_{n}^{(k)}) en forma de series de potencias. Sea U := λ_{n−r+1}X_{n−r+1} + ⋯ + λ_{n}X_{n} una forma lineal de ZZ[X_{n−r+1}, …, X_{n}] de modo tal que U representa un elemento primitivo para V y V_{P}. La idea es recuperar la solución geométrica de V con respecto a U a partir de la solución geométrica de V_{P} con respecto a U.

La clave para reconstruir la solución geométrica de V es poder calcular proyecciones de V sobre rectas: dada una forma lineal ℓ ∈ ZZ[X_{1}, …, X_{n}], la cuestión es hallar un polinomio p_{ℓ} ∈ ZZ[X_{1}, …, X_{n−r}, T], mónico en T, tal que p_{ℓ}(X_{1}, …, X_{n−r}, ℓ) ∈ (F_{1}, …, F_{r}).

El hecho fundamental es que es posible controlar satisfactoriamente el grado del polinomio mínimo m_{ℓ} ∈ ZZ[X_{1}, …, X_{n−r}, T] que anula la forma lineal ℓ sobre V. En tal sentido, se tiene el siguiente lema:

Lema 23 ([155], Proposition 1) Con las notaciones anteriores, dada una forma lineal ℓ ∈ ZZ[X_{1}, …, X_{n}], la ecuación de dependencia entera de grado mínimo m_{ℓ} ∈ Q[X_{1}, …, X_{n−r}, T] que satisface ℓ en la extensión

Q[X_{1}, …, X_{n−r}] → Q[X_{1}, …, X_{n}]/(F_{1}, …, F_{r})

es un polinomio cuyo grado total está acotado por gr(V).

A partir del lema 23 se deduce que es suficiente calcular la ⌈log δ⌉- ésima iteración del operador de Newton: dado que el polinomio minimal de cualquier forma lineal ℓ tiene grado total acotado por δ, si se conoce en forma exacta el desarrollo en series de potencias de las soluciones del sistema (R_{n−r+1}^{(k)}, …, R_{n}^{(k)}) hasta grado δ se tiene toda la información necesaria para reconstruir la solución geométrica de la variedad V. Gracias a la identidad (2.5), la expansión en series de potencias de las funciones racionales que se calculan en el paso ⌈log(δ)⌉ de iteración del operador de Newton coincide con la expansión de las soluciones exactas hasta el grado δ.

A fin de preservar la racionalidad del algoritmo la estrategia básica es representar los objetos de V_{P} que se necesitan mediante homotecias en el álgebra Q [V_{P}]. En tal sentido, en lugar de operar con las coordenadas η_{n−r+1}^{(k)}, …, η_{n}^{(k)} de los puntos de V_{P}, se opera con las homotecias por X_{n−r+1}, …, X_{n} en Q [V_{P}], que se representan mediante las matrices M_{X_{n−r+1}}^{(P)}, …, M_{X_{n}}^{(P)} que describen el tensor de multiplicación en Q[V_{P}].

Sea entonces κ := ⌈log δ⌉ y g_{n−i+1}^{(κ)}, …, g_{n}^{(κ)}, h_{n−i+1}^{(κ)}, …, h_{n}^{(κ)} los numeradores y denominadores de las funciones racionales de Q[X_{1}, …, X_{n}] que se obtienen luego de aplicar κ pasos de iteración del operador de Newton al vector X_{n−r+1}, …, X_{n}.

Interpretando a g_{n−r+1}^{(κ)}, …, g_{n}^{(κ)}, h_{n−r+1}^{(κ)}, …, h_{n}^{(κ)} como funciones de Q[X_{1}, …, X_{n−r}][X_{n−r+1}, …, X_{n}], se definen para k = 1, …, r las siguientes matrices:

N_{n−r+k}^{(κ)} := g_{n−r+k}^{(κ)}(M_{X_{n−r+1}}^{(P)}, …, M_{X_{n}}^{(P)}) · h_{n−r+k}^{(κ)}(M_{X_{n−r+1}}^{(P)}, …, M_{X_{n}}^{(P)})^{−1}

Las matrices N_{n−r+1}, …, N_{n} contienen toda la información necesaria para llevar a cabo el κ-ésimo paso de iteración de Newton comenzando con cada punto η_{k} de V_{P}. Dado que el número κ se ha elegido de forma tal que la aproximación se consigue es suficientemente “cercana” a la solución, a partir de estas matrices es posible reconstruir la proyección de V en cualquier dirección ℓ. Esto es lo que se demuestra en el siguiente lema, cuya enunciado y demostración se obtiene mediante una combinación de las ideas expuestas en [81], [78] y [131]:

Lema 24 Sea ℓ := λ_{n−r+1}X_{n−r+1} + ⋯ + λ_{n}X_{n} una forma lineal en ZZ[X_{n−r+1}, …, X_{n}]. Sea M_{ℓ} ∈ Q(X_{1}, …, X_{n−r})^{δ×δ} la siguiente matriz:

M_{ℓ} := ℓ(N_{n−r+1}^{(κ)}, …, N_{n}^{(κ)}) = λ_{n−r+1}N_{n−r+1}^{(κ)} + ⋯ + λ_{n}N_{n}^{(κ)}

y m_{ℓ}^{(κ)} := ∑_{k=1}^{δ} b_{k}T^{k} ∈ Q(X_{1}, …, X_{n−r})[T] el polinomio minimal de la matriz M_{ℓ}. Sea m_{ℓ} = ∑_{k=1}^{δ} a_{k}T^{k} ∈ Q [X_{1}, …, X_{n−r}, T] el polinomio minimal de ℓ sobre V (en el sentido del lema 23). Supongamos que el punto de levantamiento P verifica que gr_{T} (m_{ℓ}) = gr(m_{ℓ}^{(P)}). Entonces, los coeficientes de m_{ℓ} y m_{ℓ}^{(κ)} satisfacen la siguiente condición en C[[X_{1} − p_{1}, …, X_{n−r} − p_{n−r}]]

a_{k} ≡ b_{k} módulo (X_{1} − p_{1}, …, X_{n−r} − p_{n−r})^{δ}  (2.6)

para k = 0, …, δ.

Demostración Dado que la imagen de ℓ en Q[X_{1}, …, X_{n}]/(F_{1}, …, F_{r}) es entera respecto de Q[X_{1}, …, X_{n−r}] (puesto que las imágenes de las variables X_{n−r+1}, …, X_{n} lo son y ℓ es combinación lineal de ellas), el polinomio minimal m_{ℓ} ∈ Q[X_{1}, …, X_{n−r}, T] es el único polinomio mónico en T y de grado mínimo en T tal que

m_{ℓ}(X_{1}, …, X_{n−r}, ℓ) ∈ (F_{1}, …, F_{r})  (2.7)

Sean R^{(k)} = (R_{n−r+1}^{(k)}, …, R_{n}^{(k)}) para k = 1, …, δ las soluciones en forma de series de potencias cuya existencia se asegura en el lema 22. Reemplazando formalmente las variables X_{n−r+1}, …, X_{n} por cada R^{(k)} en la identidad (2.7), se deduce que m_{ℓ}(T) tiene a cada ℓ(R^{(k)}) como raíz para k = 1, …, δ.

Como ℓ(R^{(k)}) ∈ C[[X_{1} − p_{1}, …, X_{n−r} − p_{n−r}]] verifica para k = 1, …, δ la identidad ℓ(R^{(k)})(p_{1}, …, p_{n−r}) = ℓ(η^{(k)}), se deduce que el conjunto

A := {ℓ(R^{(1)}), …, ℓ(R^{(δ)})}

tiene al menos tantos elementos distintos como el grado h del minimal m_{ℓ}^{(P)} de la forma lineal ℓ sobre V_{P}. Dado que el grado del minimal m_{ℓ} de ℓ sobre V coincide con el grado de m_{ℓ}^{(P)}, se deduce que A contiene todas las raíces de m_{ℓ}. Tratándose del polinomio minimal de una homotecia se deduce que éste debe ser libre de cuadrados, lo cual implica que

m_{ℓ} = ∏_{k=1}^{h} (T − ℓ(R^{(k)}))  (2.8)

suponiendo que ℓ(R^{(1)}), …, ℓ(R^{(h)}) son los h elementos distintos de A.

Si se nota por R^{(k,κ)} = (R_{n−r+1}^{(k,κ)}, …, R_{n}^{(k,κ)}) el resultado que se obtiene luego de realizar la κ–ésima iteración del operador Newton–Hensel comenzando con η^{(k)}, se tiene para k = 1, …, δ que

R^{(k)} ≡ R^{(k,κ)} módulo (X_{1} − p_{1}, …, X_{n−r} − p_{n−r})^{δ}

en C[[X_{1} −p_{1}, …, X_{n−r} −p_{n−r}]]. Si se aplica esta identidad en (2.8) se obtiene

m_{ℓ} ≡ ∏_{k=1}^{h} (T − ℓ(R^{(k,κ)})) módulo (X_{1} − p_{1}, …, X_{n−r} − p_{n−r})^{δ}

Sea σ_{j}(Y_{1}, …, Y_{h}) la j-ésima función simétrica elemental en h variables. Entonces, el j-ésimo coeficiente a_{j} de m_{ℓ} verifica que

a_{j} = (−1)^{j}σ_{j}(ℓ(R^{(1)}), …, ℓ(R^{(h)}))

de donde se deduce que

a_{j} ≡ (−1)^{j}σ_{j}(ℓ(R^{(1,κ)}), …, ℓ(R^{(h,κ)})) módulo(X_{1} − p_{1}, …, X_{n−r} − p_{n−r})^{δ}

en C[[X_{1} − p_{1}, …, X_{n−r} − p_{n−r}]].

La demostración se completa ahora demostrando que

m_{ℓ}^{(κ)} = ∏_{k=1}^{h} (T − ℓ(R^{(h,κ)}))

dado que en tal caso los coeficientes b_{j} de m_{ℓ}^{(κ)} satisfarían la igualdad

b_{j} = (−1)^{j}σ_{j}(ℓ(R^{(1,κ)}), …, ℓ(R^{(h,κ)}))

Sea U el elemento primitivo de V_{P} elegido y m_{U}^{(P)} ∈ Q[T] su polinomio minimal. Sea M_{U}^{(P)} la matriz compañera de m_{U}^{(P)}. Obsérvese que esta matriz representa la homotecia por U en Q[V_{P}] en la base de Q[V_{P}] formada por las potencias {1, …, U^{δ}} de U.

Como U es un elemento primitivo el polinomio m_{U}^{(P)} tiene grado δ y sus δ raíces (distintas) son U(η^{(1)}), …, U(η^{(δ)}). Por lo tanto, la matriz M_{U}^{(P)} es diagonalizable y existe una matriz P ∈ C^{δ×δ} inversible tal que la homotecia por U toma la forma diagonal:

P M_{U}P^{−1} = ( \begin{matrix}U(η^{(1)}) & 0 & … & 0 \\ 0 & U(η^{(2)}) & & 0 \\ ⋮ & & ... & ⋮ \\ 0 & … & 0 & U(η^{(δ)}) \end{matrix} )

Dado que se satisfacen las identidades ρ_{n−r+k}^{(P)}X_{n−r+k} = v_{n−r+k}^{(P)}(U) en V_{P}, se tiene entonces que M_{X_{n−r+k}} = \frac{1}{ρ_{n−r+k}} ^{(P)}v_{n−r+k}^{(P)}(M_{U}). Como los cambios de base aplicados a una matriz conmutan con evaluaciones polinomiales de la misma, resulta entonces:

P M_{X_{n−r+k}}P^{−1} = _{\frac{1}{ρ_{n−r+k}^{(P)}}} v_{n−r+k}^{(P)}(P M_{U}P^{−1}) =

( \begin{matrix}_{\frac{1}{ρ_{n−r+k}^{(P)}}} v_{n−r+k}^{(P)}(U(η^{(1)})) & 0 & … & 0 \\ 0 & _{\frac{1}{ρ_{n−r+k}^{(P)}}} v_{n−r+k}^{(P)}(U(η^{(2)})) & & 0 \\ ⋮ & & ... & ⋮ \\ 0 & … & 0 & _{\frac{1}{ρ_{n−r+k}^{(P)}}} v_{n−r+k}^{(P)}(U(η^{(δ)})) \end{matrix} )

= ( \begin{matrix}η_{n−r+k}^{(1)} & 0 & … & 0 \\ 0 & η_{n−r+k}^{(2)} & & 0 \\ ⋮ & & ... & ⋮ \\ 0 & … & 0 & η_{n−r+k}^{(δ)} \end{matrix} )

Como la matriz N_{n−r+k} se define en la forma:

N_{n−r+k} = g_{n−r+k}^{(κ)}(M_{X_{n−r+1}}^{(P)}, …, X_{n}^{(P)}) · h_{n−r+k}^{(κ)}(M_{X_{n−r+k}}^{(P)}, …, X_{n}^{(P)})^{−1} consideraciones similares a las anteriores permiten deducir las siguientes identidades:

P N_{n−r+k}P^{−1} = \frac{g_{n−r+k}^{(κ)}}{h_{n−r+k}^{(κ)}} (P M_{X_{n−r+1}}P^{−1}, …, P M_{n}P^{−1}) =

( \begin{matrix}\frac{g_{n−r+k}^{(κ)}}{h_{n−r+k}^{(κ)}} (η^{(1)}) & 0 & … & 0 \\ 0 & \frac{g_{n−r+k}^{(κ)}}{h_{n−r+k}^{(κ)}} (η^{(2)}) & & 0 \\ ⋮ & & ... & ⋮ \\ 0 & … & 0 & \frac{g_{n−r+k}^{(κ)}}{h_{n−r+k}^{(κ)}} (η^{(δ)}) \end{matrix} ) =

= ( \begin{matrix}R_{n−r+k}^{(1,κ)} & 0 & … & 0 \\ 0 & R_{n−r+k}^{(2,κ)} & & 0 \\ ⋮ & & ... & ⋮ \\ 0 & … & 0 & R_{n−r+k}^{(δ,κ)} \end{matrix} )

Finalmente, de la definición de la matriz M_{ℓ} resulta:

P M_{ℓ}P^{−1} = ∑_{k=1}^{r} λ_{n−r+k}P N_{n−r+k}P^{−1} =

( \begin{matrix}∑_{k=1}^{r} λ_{n−r+k}R_{n−r+k}^{(1,κ)} & 0 & … & 0 \\ 0 & ∑_{k=1}^{r} λ_{n−r+k}R_{n−r+k}^{(2,κ)} & & 0 \\ ⋮ & & ... & ⋮ \\ 0 & … & 0 & ∑_{k=1}^{r} λ_{n−r+k}R_{n−r+k}^{(δ,κ)} \end{matrix} )

= ( \begin{matrix}ℓ(R^{(1,κ)}) & 0 & … & 0 \\ 0 & ℓ(R^{(2,κ)}) & & 0 \\ ⋮ & & ... & ⋮ \\ 0 & … & 0 & ℓ(R^{(δ,κ)}) \end{matrix} )

Luego, M_{ℓ} es diagonalizable y por lo tanto su minimal es el polinomio libre de cuadrados que tiene a ℓ(R^{(1,κ)}), ℓ(R^{(2,κ)}), …, ℓ(R^{(δ,κ)}) como raíces. Pero ese polinomio es m_{ℓ}^{(κ)} = ∏_{k=1}^{h} (T −ℓ(R^{(k,κ)})), como se quería demostrar. □

La forma en que se aplicará este lema es la siguiente: dada una forma lineal ℓ de la cual se quiere calcular su polinomio minimal sobre V, la idea es calcular en primer lugar el polinomio m_{ℓ}^{(κ)} que se enuncia en el lema. Por el lema 23 el polinomio m_{ℓ} buscado tiene grado total acotado por δ. Entonces el lema 24 garantiza que la expansión hasta grado δ de m_{ℓ}^{(κ)} coincide exactamente con el polinomio m_{ℓ} buscado.

2.1.5 Sobre los circuitos aritméticos

En la sección 2.1.2 se ha discutido la forma matemática y la codificación sintáctica de la salida del algoritmo para la solución geométrica que se exhibirá. Sin embargo, es también necesario discutir una codificación adecuada de la entrada y los resultados intermedios del algoritmo.

Los objetos matemáticos que se manipulan son polinomios con coeficientes enteros F ∈ ZZ [X_{1}, …, X_{n}]. Estos polinomios pueden escribirse como una lista de monomios y de esta idea resultan las dos primeras codificaciones posibles para un polinomio: la representación densa y la representación esparsa. Si el polinomio F tiene grado d y coeficientes con talla binaria acotada por

h, la longitud de F bajo estas codificaciones queda acotada por h · ( \begin{matrix}d + n \\ n \end{matrix} ),

siendo esta cantidad de tipo d^{n} cuando d ≥ n. Por lo tanto, la codificación de polinomios multivariados en representación densa o esparsa conlleva un carácter exponencial que se manifiesta negativamente en la complejidad de los procedimientos de eliminación.

Una interesante alternativa es la representación de polinomios mediante circuitos aritméticos. Desde el punto de vista de la geometría, un polinomio es también una función que puede evaluarse y, en tal sentido, las diferentes opciones para evaluar polinomio concretos pueden realizarse mediante circuitos aritméticos.

La idea de representar polinomios mediante algoritmos que realizan su evaluación tiene sus raíces en los inicios de la complejidad algebraica, donde se aplicó como un modelo para algoritmos seminuméricos (cf. [109], [173]). Entre los precursores cabe mencionar a A.M. Ostrowski, quien en 1954 se preguntó sobre la optimalidad de la regla de Horner (cf. [136]). Desde entonces, la teoría de complejidad algebraica tuvo un relevante desarrollo, fundamentalmente relacionado con las cuestiones de la estimación de cotas inferiores para la evaluación de polinomios y los problemas de pertenencia a conjuntos construíbles.

A fines de los años setenta se descubrió que los circuitos aritméticos pueden jugar un importante rol en eliminación. Varios autores, entre los cuales se pueden citar a J. von zur Gathen, J. Heintz, O.H. Ibarra, E. Kaltofen, S. Moran, J. Morgenstern, C.P. Schnorr, J.T. Schwartz, M. Sieveking, V. Strassen y R. Zippel entre otros, consideraron la eliminación univariada tratando de obtener el mayor beneficio de la codificación de polinomios por circuitos aritméticos. Exiten varios trabajos que reflejan esta filosofía, como por ejemplo [76], [94], [95], [97], [98], [104], [163], [187].

A mediados de los años ochenta los circuitos aritméticos fueron aplicados al caso de la eliminación con polinomios multivariados, al influjo de las ideas desarrolladas por M. Giusti, J. Heintz, J. Morgenstern entre otros. Al respecto pueden mencionarse los siguientes trabajos: [79], [80], [65], [66], [67], [83], [114], [82], [81], [78].

Desde ya, entendiendo que la representación de polinomios mediante circuitos aritméticos puede resultar en una importante compresión de datos, la manipulación de polinomios en esta codificación resulta mas difícil de realizar. En lo que resta de la sección se desarrollarán los algoritmos necesarios para operar con polinomios representados por circuitos aritméticos.

Derivadas

Sea F ∈ Q[X_{1}, …, X_{n}] un polinomio dado mediante un circuito aritmético β de talla L y profundidad no escalar ℓ. El problema consiste en calcular F y sus derivadas parciales primeras \frac{∂F}{∂X_{1}} , …, \frac{∂F}{∂X_{n}}.

La idea es realizar el cálculo de cada derivada primera de F “paso a paso” en el circuito aritmético que calcula F. Para ello, por cada nodo ρ del grafo de computación de F se crean n nodos que contienen las derivadas primeras de la función calculada en ρ. A fin de calcular esas derivadas, basta tener en cuenta que en nodos anteriores se tienen calculadas las derivadas primeras de los nodos predecesores de ρ, por lo que el esquema de cálculo de las derivadas de la función calculada en ρ es una consecuencia directa de las reglas de derivación para funciones de tipo f op g con op ∈ {+, −, ·, ÷}.

Como consecuencia de la estrategia descripta, se puede concluir el siguiente resultado:

Lema 25 Sea F ∈ Q [X_{1}, …, X_{n}] un polinomio dado mediante un circuito aritmético β de talla L y profundidad no escalar ℓ. Entonces, existe un circuito aritmético β̃ que evalúa el conjunto de polinomios \{F, \frac{∂F}{∂X_{1}} , …, \frac{∂F}{∂X_{n}} \} con talla O(nL) y profundidad no escalar O(ℓ).

El proceso descripto es lo que se conoce como el “modo directo” (forward mode) en ámbito de diferenciación automática de programas (cf. [6]). Existe un procedimiento alternativo de mejor complejidad para la diferenciación, conocido como el “modo reverso” (backward mode), cuyos orígenes pueden situarse en un trabajo de W. Baur y V. Strassen ([10]) (ver también [84], [105], [106], [132]). Sin embargo, éste no ha sido tenido en cuenta dado que no es clara la uniformidad del mismo.

Interpolación y cálculo de componentes homogéneas

Sea nuevamente F ∈ Q [X_{1}, …, X_{n}] un polinomio de grado total acotado por d, representado mediante un circuito aritmético β de talla L y profundidad no escalar ℓ. El problema ahora es hallar la descomposición de F en componentes homogéneas, es decir, se desea calcular los polinomios F_{0}, …, F_{d} ∈ Q[X_{1}, …, X_{n}] que verifican las siguientes propiedades:

• F = ∑_{k=0}^{d} F_{k}

• Para k = 0, …, d, el polinomio F_{k} es el polinomio nulo o es homogéneo de grado k.

Claramente, es necesario evitar el cálculo de la representación densa de las componentes homogéneas de F, ya que esto podría resultar en un crecimiento exponencial de la complejidad debido a la cantidad de monomios distintos de grado d en n variables. Por esto, todas las componentes homogéneas de F se representarán por medio de un circuito aritmético.

Asimismo, a fin de evitar la introducción de parámetros enteros que puedan hacer crecer el tamaño binario de los números con que se opera, el proceso de interpolación que naturalmente aparece en el cálculo de las componentes homogéneas se reemplaza por un cálculo matricial.

La idea es la siguiente: en primer lugar se observa que F (tX_{1}, …, tX_{n}) = ∑_{k=0}^{d} t^{k}F_{k}(X_{1}, …, X_{n}) ya que F_{k} es homogéneo de grado k. Esto permite reducir el problema del cálculo de las componentes homogéneas a una cuestión de interpolación (escritura) con respecto a la variable t.

Dado que gr_{t}(F (tX_{1}, …, tX_{n})) ≤ d, calculando F (tX_{1}, …, tX_{n}) módulo t^{d+1} se obtiene nuevamente F (tX_{1}, …, tX_{n}). Las componentes homogéneas de F se hallarán como coordenadas de F (tX_{1}, …, tX_{n}) respecto de una cierta base de un espacio vectorial de dimensión finita adecuado.

Mas precisamente, se considera el Q(X_{1}, …, X_{n})–espacio vectorial de dimensión finita Q(X_{1}, …, X_{n})[t]/(t^{d+1}) y la base natural de este espacio vectorial dada por las potencias de t: B := {1, t, …, t^{d}}. Obsérvese que las coordenadas de F (tX_{1}, …, tX_{n}) en base B son precisamente las componentes homogéneas que se desea calcular.

Para hallarlas, se considera la homotecia η_{F} por F (tX_{1}, …, tX_{n}). La matriz M_{F} de esta homotecia en base B puede hallarse fácilmente teniendo en cuenta que, si M es la matriz de la homotecia por t en base B, entonces M_{F} = F (X_{1}·M, …, X_{n}·M). Finalmente, dado que η_{F} (¯1) = \overline{F (tX_{1}, …, tX_{n})} y ¯1 tiene coordenadas (1, 0, …, 0) en base B, se deduce que la primer columna de la matriz M_{F} contiene las componentes homogéneas a calcular.

En resumen, se realizan los siguientes pasos:

• Se halla un circuito aritmético β̃ que calcula F (tX_{1}, …, tX_{n}), reemplazando los nodos de entrada X_{1}, …, X_{n} por tX_{1}, …, tX_{n} (agregándose además el nodo de entrada adicional t).

• Se calcula M_{F} = F (X_{1} ·M, …, X_{n} ·M) transformando β̃ en un circuito aritmético “de matrices” sustituyendo de t por M.

Obsérvese que M = ( \begin{matrix}0 & 0 & … & 0 \\ 1 & 0 & … & 0 \\ & ... & ... & ⋮ \\ 0 & … & 1 & 0 \end{matrix} ), ya que es la matriz compañera

del polinomio t^{d+1}, y por lo tanto las matrices X_{1} ·M, …, X_{n} ·M se obtienen directamente sin realizar ninguna operación aritmética. Dado que cada nodo de β̃ se transforma en una operación de matrices de tamaño d + 1, la talla del circuito resultante puede estimarse por L(d + 1)^{3}. En conclusión, se tiene el siguiente resultado:

Lema 26 Las componentes homogéneas de F se pueden calcular por medio de un circuito aritmético de talla L(d + 1)^{3} y profundidad no escalar ℓ.

Cabe destacar que el proceso anterior puede aplicarse también en el caso que no se conoce una cota “a priori” del grado de F (en cuyo caso el grado de F queda acotado en forma exponencial con respecto a la profundidad no escalar ℓ) y se sólo se desea calcular las componentes homogéneas de F de grado no mayor que d.

El circuito descripto contiene un esquema de interpolación en una variable que se enuncia separadamente ya que será necesario independientemente de la descomposición en componentes homogéneas:

Lema 27 La representación densa de F respecto de una variable puede hallarse por medio de un circuito aritmético de talla L(d + 1)^{3} y profundidad no escalar ℓ.

Elusión de divisiones

Sean F_{0}, …, F_{m} polinomios de ZZ [X_{1}, …, X_{n}] de grado acotado por d que se evalúan por medio de un circuito aritmético β de talla L y profundidad no escalar ℓ. Supóngase además que F_{0} ≢ 0 y que F_{0} divide a F_{k} en Q[X_{1}, …, X_{n}] para k = 1, …, m. El problema es calcular los polinomios \frac{F_{1}}{F_{0}} , …, \frac{F_{m}}{F_{0}} sin divisiones. La idea es aplicar el conocido proceso de Strassen Vermeidung von divisionen ([171]) en la versión de [114] a fin de controlar la altura de los parámetros que se utilizan.

Proposición 7 Con las notaciones anteriores, existe un circuito aritmético sin divisiones β̃ de talla O((L + d + m)d^{3}), profundidad no escalar O(ℓ + log d) y parámetros de altura logarítmica acotada por O(log nd) que calcula un entero θ ∈ ZZ no nulo y polinomios P_{1}, …, P_{m} tales que θP_{k} = \frac{F_{k}}{F_{0}} para k = 1, …, m.

Demostración. Dado que el polinomio F_{0} es no nulo y tiene grado d, existe γ = (γ_{1}, …, γ_{n}) ∈ ZZ^{n} tal que |γ_{i}| ≤ 2nd para i = 1, …, n y F_{0}(γ) ≠ 0. Por el lema 20, eligiendo las coordenadas γ_{i} aleatoriamente con la propiedad que |γ_{i}| ≤ 2nd, con probabilidad mayor que \frac{1}{2} se halla un punto γ de ZZ^{n} tal que F_{0}(γ) ≠ 0.

Sea ρ := F_{0}(γ) y G_{0}, …, G_{m} los polinomios de ZZ [X_{1}, …, X_{n}] definidos por G_{k}(X_{1}, …, X_{n}) = F_{k}(X_{1} + γ_{1}, …, X_{n} + γ_{n}). Sea Q := ρ − G_{0} (obsérvese que Q(0, …, 0) = ρ − G_{0}(0, …, 0) = ρ − F_{0}(γ) = 0). Todos estos polinomios se evalúan por medio de un circuito aritmético de talla L+n+1 y profundidad no escalar ℓ. Sea finalmente θ := ρ^{d+1}.

Entonces, se tiene que

\frac{θG_{k}}{G_{0}} = \frac{θG_{k}}{ρ − Q} = \frac{1}{ρ} \frac{θG_{k}}{1 − \frac{Q}{ρ}} = ( ∑_{i=0}^{d} ρ^{d−i}Q^{i} + ∑_{i=d+1}^{∞} ρ^{d−i}Q^{i})G_{k}  (2.9)

Dado que

\frac{θG_{k}(X_{1}, …, X_{n})}{G_{0}(X_{1}, …, X_{n})} = \frac{θF_{k}(X_{1} + γ_{1}, …, X_{n} + γ_{n})}{F_{0}(X_{1} + γ_{1}, …, X_{n} + γ_{n})} = θP_{k}

y gr(F_{k}) ≤ d, se deduce que gr(\frac{θG_{k}}{G_{0}} ) ≤ d, lo cual implica que \frac{θG_{k}}{G_{0}} sólo depende de las componentes homogéneas de grado menor o igual que d del último miembro de la identidad (2.9). Dado que Q(0, …, 0) = 0, todas las componentes homogéneas del segundo sumando del último miembro de la identidad (2.9) tienen grado mayor que d, por lo que \frac{θG_{k}}{G_{0}} resulta igual a la suma de las componentes homogéneas de (∑_{i=0}^{d} ρ^{d−i}Q^{i})G_{k} de grado menor o igual que d.

Para concluir, sólo resta observar que

P_{k} = \frac{θF_{k}}{F_{0}} = \frac{θG_{k}(X_{1} − γ_{1}, …, X_{n} − γ_{n})}{G_{0}(X_{1} − γ_{1}, …, X_{n} − γ_{n})}

Por lo tanto, dado que la expresión ( ∑_{i=0}^{d} ρ^{d−i}Q^{i})G_{k} cuyas componentes homogéneas de grado a lo sumo d se extraen, se calcula con talla O(L+d+m) y profundidad no escalar ℓ + log d para k = 1, …, n, aplicando el lema 26 se demuestra el enunciado de la proposición 7. □

La construcción de un circuito aritmético β que verifica las propiedades del enunciado de la proposición 7 se realiza determinísticamente excepto por la elección del punto γ = (γ_{1}, …, γ_{n}) ∈ ZZ^{n} tal que F_{0}(γ) ≠ 0, como puede inferirse a partir de la demostración de la proposición 7. A fin de hallar un tal punto γ, puede aplicarse el lema 20, que genera probabilísticamente un punto γ ∈ ZZ^{n} con probabilidad mayor que \frac{1}{2} de hallar uno que verifica la condición F_{0}(γ) ≠ 0. Se concluye que la construcción del circuito aritmético β puede realizarse probabilísticamente con probabilidad mayor que \frac{1}{2} que β cumpla las condiciones requeridas por el enunciado de la proposición 7.

Construcción de un elemento primitivo

La construcción de un elemento primitivo y la solución geométrica asociada al mismo se basa en una versión algorítmica del conocido shape lemma. En esta subsubsección se sigue la estrategia desarrollada en [114] (ver también [80]), cuyos enunciados se redemuestran a fin de analizar la uniformidad de los algoritmos así obtenidos.

Cabe destacar que todos los circuitos que se describirán en esta subsubsección se componen fundamentalmente de rutinas de álgebra lineal. Por esta razón, sus “traducciones” al contexto booleano resultan uniformes.

En primer lugar se trata el caso particular de la solución geométrica de una variedad definida por dos polinomios en dos variables separadas.

Lema 28 ([114], Lemma 26) Sea R un dominio de característica cero con cuerpo de cocientes k. Sea K la clausura algebraica de k y X, Y indeterminadas sobre K. Sean F, G polinomios en R[T] libres de cuadrados en k[T], I := (F (X), G(Y)) el ideal generado por F (X) y G(Y) en k[X, Y] y W ⊂ K^{2} la variedad 0-dimensional definida por F (X) y G(Y). Sea u := αX + Y una forma lineal que constituye un elemento primitivo para W. Se nota δ := gr(F) · gr(G). Entonces, existe un circuito aritmético sin divisiones de talla δ^{O(1)} y profundidad no escalar O(log δ), consistente principalmente de operaciones de álgebra lineal con matrices de tamaño acotado por δ, que calcula polinomios q, v_{1}, v_{2} ∈ R[T] y un elemento ρ ∈ R con las siguientes propiedades:

• gr(q) = δ y max{gr(v_{1}), gr(v_{2})} < δ.

• (q(u), ρX − v_{1}(u), ρY − v_{2}(u)) ⊆ I

Demostración. Sea B la k-álgebra B := k[X, Y]/I. Dado h ∈ k[X, Y], se nota mediante \overline{h} la clase de h en B. Es claro que B es un k-espacio vectorial de dimensión δ y que la imagen en B del conjunto

B := {X^{i}Y^{j}/0 ≤ i ≤ gr(F) − 1, 0 ≤ j ≤ gr(G) − 1}

define una base de B como k-espacio vectorial.

Suponiendo ordenada la base B por medio del orden lexicográfico con X < Y, las matrices M_{X}, M_{Y} ∈ k^{δ×δ} de los endomorfismos η_{X} y η_{Y} en base B pueden obtenerse directamente a partir de los coeficientes de F y G. Obśervese que, siendo a, b ∈ R los coeficientes principales de F y G respectivamente, todas las entradas de M_{X} y M_{Y} son elementos de R, o bien de la forma \frac{r}{a} o de la forma \frac{r}{b} para algún r ∈ R respectivamente.

Luego, la matriz de la homotecia η_{u} en base B se obtiene directamente a partir de M_{X} y M_{Y} gracias a la identidad M_{u} = α · M_{X} + M_{Y}. En particular se deduce que los coeficientes que aparecen en M_{αX+Y} son elementos de R o tienen la forma \frac{r}{ab} para algún r ∈ R.

Como u es un elemento primitivo para W, se tiene entonces que el conjunto B′ := {1, u, …, u^{δ−1}} es una base del k-espacio vectorial B.

Además, por el Teorema de Cayley-Hamilton, el polinomio característico χ ∈ k[T] de la matriz M_{u} verifica que χ(η_{u}) es el endomorfismo nulo de B. En particular χ(η_{u}(\overline{1})) = χ(u) = 0 en B, y dado que gr(χ) = δ, resulta entonces χ la ecuación minimal de u sobre B.

Obsérvese que, debido a la forma especial de la matriz M_{u}, los coeficientes de χ son de la forma \frac{r}{a^{i}b^{j}} con i, j ∈ \{0, …, δ\} y r ∈ R. Luego, a^{δ}b^{δ}χ es un polinomio en R[T] que anula a la forma lineal u sobre B y tiene grado δ, lo cual implica que es el polinomio q buscado.

A fin de hallar ρ ∈ R y los polinomios v_{1}, v_{2} ∈ R[T] que verifican las condiciones del enunciado del lema, dadas las bases B′ := {1, u, …, u^{δ−1}} y B := {X^{i}Y^{j}/0 ≤ i ≤ gr(F) − 1, 0 ≤ j ≤ gr(G) − 1}, se tiene la relación:

( 1 ; u ; u^{2} ; ⋮ ; u^{δ−1} ) = M_{u} · ( 1 ; X ; Y ; ⋮ ; X^{gr(F)−1}Y^{gr(G)−1} )

Por lo tanto, multiplicando esta identidad por la matriz adjunta de M_{u} tenemos:

Adj(M_{u}) · ( 1 ; u ; u^{2} ; ⋮ ; u^{δ−1} ) = det(M_{u}) · ( 1 ; X ; Y ; ⋮ ; X^{gr(F)−1}Y^{gr(G)−1} )

Dado que cada coeficiente de la matriz adjunta de M_{u} es (salvo signos) el determinante de una submatriz de M_{u} de tamaño (δ − 1) × (δ − 1), se deduce que (ab)^{δ−1}Adj(M_{u}) = Adj(abM_{u}) es una matriz con coeficientes en R y (ab)^{δ} · det(M_{u}) pertenece a R. Luego, definiendo ρ := (ab)^{δ} · det(M_{u}) y v_{1}(u), v_{2}(u) como los polinomios de R[T] de grado menor que δ cuyo vector de coeficientes se obtiene multiplicando la segunda y tercera fila de abAdj(abM_{u}) por (1, u, …, u^{δ−1}) respectivamente, se obtienen las siguientes identidades en B:

\begin{matrix}ρ · X = v_{1}(u) \\ ρ · Y = v_{2}(u) \end{matrix}

Por último, puede utilizarse la identidad (ab)^{δ}χ_{M_{u}}(T) = χ_{abM_{u}}(abT) a fin de evitar divisiones durante el cálculo de (ab)^{δ}χ.

En resumen, el procedimiento puede describirse algorítmicamente de la siguiente manera:

Procedimiento 3 Shape lemma para 2 polinomios en 2 variables separadas.

• Calcular los coeficientes de abM_{X} y abM_{Y}.

• Calcular los coeficientes de abM_{αX+Y} = αabM_{X} + abM_{Y}.

• Calcular (los coeficientes de) el polinomio característico χ_{abM_{αX+Y}} (T).

• Calcular las potencias sucesivas {1, ab, …, (ab)^{δ}}.

• Calcular los coeficientes de χ_{abM_{αX+Y}} (abT) a partir de los resultados de los dos pasos anteriores.

• Calcular la segunda y tercera fila de abAdj(abM_{αX+Y}).

Utilizando los algoritmos de la sección 1.2, se obtiene un circuito aritmético sin divisiones que calcula la solución geométrica de W con talla δ^{O(1)} y profundidad no escalar O(log δ). □

En lo que resta de la sección se utilizarán las siguientes notaciones: R denotará un dominio de característica cero con cuerpo de cocientes k y K la clausura algebraica de k. Asimismo, se considerarán polinomios F_{1}, …, F_{s} ∈ R[X_{1}, …, X_{n}] que definen una variedad cero–dimensional V de cardinal δ sobre K^{n}, de modo tal que el ideal I generado por F_{1}, …, F_{s} es radical.

Siendo T_{1}, …, T_{n} indeterminadas sobre K[X_{1}, …, X_{n}], se notará por Z_{j}, para j = 1, …, n, la forma lineal

Z_{j} := T_{1}X_{1} + ⋯ + T_{j−1}X_{j−1} + T_{j+1}X_{j+1} + ⋯ + T_{n}X_{n}

. y por I_{T} el ideal generado por F_{1}, …, F_{s} en k(T_{1}, …, T_{n})[X_{1}, …, X_{n}]. Sea finalmente Y una nueva indeterminada.

Lema 29 ([114], Lemma 25) Supóngase dados los siguientes ítems:

• para cada j = 1, …, n, un polinomio G_{j} ∈ R[Y] libre de cuadrados en k[Y] de grado gr(G_{j}) ≤ δ tal que G_{j}(X_{j}) pertenece a I.

• para cada j = 1, …, n, un polinomio H_{j} ∈ R[T_{1}, …, T_{n}][Y] libre de cuadrados en k(T_{1}, …, T_{n})[Y], mónico en Y salvo factores en R de grado gr_{T} (H_{j}) ≤ δ, tal que H_{j}(Z_{j}) pertenece a I_{T}

Entonces, existe un circuito aritmético β de talla O(nδ^{O(1)}) y profundidad no escalar O( log(nδ)) que calcula un polinomio Q ∈ ZZ [T_{1}, …, T_{n}] que verifica la siguiente propiedad: para toda upla (λ_{1}, …, λ_{n}) ∈ R^{n} tal que Q(λ_{1}, …, λ_{n}) ≠ 0, la forma lineal u := λ_{1}X_{1} + ⋯, λ_{n}X_{n} es un elemento primitivo de V.

Demostración. Sean (t_{1}, …, t_{n}) ∈ R^{n} y x_{j}^{(1)}, x_{j}^{(2)}, z_{j}^{(1)}, z_{j}^{(2)} ∈ K tales que:

\begin{matrix}G_{j}(x_{j}^{(1)}) = G_{j}(x_{j}^{(2)}) = 0 \\ H_{j}(t_{1}, …, t_{n}, z_{j}^{(1)}) = H_{j}(t_{1}, …, t_{n}, z_{j}^{(2)}) = 0 \end{matrix}  (2.10)

La idea es que z_{j}^{(1)}, z_{j}^{(2)} corresponden a valores

z_{j}^{(1)} = t_{1}x_{1}^{(1)} + ⋯ + t̂_{j}x_{j}^{(1)} + ⋯ + t_{n}x_{n}^{(1)}
z_{j}^{(2)} = t_{1}x_{1}^{(2)} + ⋯ + t̂_{j}x_{j}^{(2)} + ⋯ + t_{n}x_{n}^{(2)}

donde (x_{1}^{(1)}, …, x_{n}^{(1)}) y (x_{1}^{(2)}, …, x_{n}^{(2)}) son dos puntos distintos de V. Luego, si se quieren determinar condiciones sobre (t_{1}, …, t_{n}) ∈ R^{n} para que u := t_{1}X_{1} + ⋯ + t_{n}X_{n} sea un elemento primitivo para V, deberá ocurrir que

t_{1}x_{1}^{(1)} + ⋯ + t_{n}x_{n}^{(1)} ≠ t_{1}x_{1}^{(2)} + ⋯ + t_{n}x_{n}^{(2)}

y por lo tanto, que

t_{j}x_{j}^{(1)} + z_{j}^{(1)} ≠ t_{j}x_{j}^{(2)} + z_{j}^{(2)}  (2.11)

Se hallarán entonces polinomios Q_{1}, …, Q_{n} que verifican que, para toda n-upla (t_{1}, …, t_{n}) ∈ R^{n} tal que Q_{j}(t_{1}, …, t_{n}) ≠ 0 y pares distintos (x_{j}^{(1)}, z_{j}^{(1)}) y (x_{j}^{(2)}, z_{j}^{(2)}) que cumplen la condición (2.10), resulta t_{j}x_{j}^{(1)}+z_{j}^{(1)} ≠ t_{j}x_{j}^{(2)}+z_{j}^{(2)}. Posteriormente se demostrará que el polinomio Q := ∏_{j=1}^{n} Q_{j} cumple con los requisitos del enunciado del lema.

Entonces, para cada j = 1, …, n se reemplazan x_{j}^{(1)}, x_{j}^{(2)}, z_{j}^{(1)}, z_{j}^{(2)} por nuevas indeterminadas X_{j}^{(1)}, X_{j}^{(2)}, Z_{j}^{(1)}, Z_{j}^{(2)}. En términos de estas indeterminadas, la condición (2.11) puede reescribirse como

T_{j}(X_{j}^{(1)} − X_{j}^{(2)}) + Z_{j}^{(1)} − Z_{j}^{(2)} ≠ 0

Y ésta última condición se puede reescribir por medio de matrices de homotecias.

Para esto, se consideran las homotecias η_{X_{j}^{(1)}−X_{j}^{(2)}} por X_{j}^{(1)} − X_{j}^{(2)} en

k(T_{1}, …, T_{n})[X_{j}^{(1)}, X_{j}^{(2)}]/(G_{j}(X_{j}^{(1)}), G_{j}(X_{j}^{(2)})) y η_{Z_{j}^{(1)}−Z_{j}^{(2)}} por Z_{j}^{(1)} − Z_{j}^{(2)} en

k(T_{1}, …, T_{n})[Z_{j}^{(1)}, Z_{j}^{(2)}]/(H_{j}(Z_{j}^{(1)}), H_{j}(Z_{j}^{(2)})).

Del mismo modo que en el lema 28, las matrices de las homotecias η_{X_{j}^{(1)}−X_{j}^{(2)}} y η_{Z_{j}^{(1)}−Z_{j}^{(2)}} pueden calcularse directamente (salvo múltiplos en R[T_{1}, …, T_{n}]) a partir de los coeficientes de G_{j} y H_{j}.

Sean χ_{X_{j}^{(1)}−X_{j}^{(2)}} y χ_{Z_{j}^{(1)}−Z_{j}^{(2)}} los polinomios característicos de estas matrices:

χ_{X_{j}^{(1)}−X_{j}^{(2)}}(Y) = Y^{D_{1}} + a_{D_{1}−1}Y^{D_{1}−1} + ⋯ + a_{m_{1}}Y^{m_{1}}
χ_{Z_{j}^{(1)}−Z_{j}^{(2)}}(Y) = Y^{D_{2}} + a_{D_{2}−1}Y^{D_{2}−1} + ⋯ + a_{m_{2}}Y^{m_{2}}

Si m_{1} = D_{1}, entonces resulta

(X_{j}^{(1)} − X_{j}^{(2)})^{D_{1}} ≡ 0 módulo (G_{j}(X_{j}^{(1)}), G_{j}(X_{j}^{(2)}))

Esto significa que todo par de elementos x_{j}^{(1)}, x_{j}^{(2)} ∈ K tales que G_{j}(x_{j}^{(1)}) = G_{j}(x_{j}^{(2)}) = 0 verifica que x_{j}^{(1)} = x_{j}^{(2)}. Por lo tanto, definir Q_{j}(T_{1}, …, T_{n}) := 1 será suficiente ya que, dados dos pares distintos (x_{j}^{(1)}, z_{j}^{(1)}) ≠ (x_{j}^{(2)}, z_{j}^{(2)}) tales que G_{j}(x_{j}^{(1)}) = G_{j}(x_{j}^{(2)}) = 0, resulta x_{j}^{(1)} = x_{j}^{(2)}. Luego, para que ambos pares sean distintos deberá ocurrir que z_{j}^{(1)} ≠ z_{j}^{(2)}, y por lo tanto, para todo t_{j} ∈ R se verifica la condición (2.11).

Análogamente, en el caso m_{2} = D_{2} se tiene que

(Z_{j}^{(1)} − Z_{j}^{(2)})^{D_{2}} ≡ 0 módulo (H_{j}(Z_{j}^{(1)}), H_{j}(Z_{j}^{(2)}))

lo cual significa que la condición

H_{j}(t_{1}, …, t_{n}, z_{j}^{(1)}) = H_{j}(t_{1}, …, t_{n}, z_{j}^{(2)}) = 0  (2.12)

implica z_{j}^{(1)} = z_{j}^{(2)}. Por lo tanto, dos pares distintos (x_{j}^{(1)}, z_{j}^{(1)}) y (x_{j}^{(2)}, z_{j}^{(2)}) en K^{2} que cumplen (2.12) tienen su segunda coordenada igual, es decir, z_{j}^{(1)} = z_{j}^{(2)}, lo cual implica que x_{j}^{(1)} ≠ x_{j}^{(2)}. Por lo tanto, siempre que t_{j} ≠ 0 se cumplirá la condición (2.11), de donde se desprende que alcanza con definir Q_{j}(T_{1}, …, T_{n}) := T_{j}.

Se analiza ahora el caso general D_{1} > m_{1} y D_{2} > m_{2}. Sean

g_{j}(Y_{1}) := \frac{χ_{X_{j}^{(1)}−X_{j}^{(2)}}(Y_{1})}{Y_{1}^{m_{1}}}

h_{j}(Y_{2}) := \frac{χ_{Z_{j}^{(1)}−Z_{j}^{(2)}}(Y_{2})}{Y_{2}^{m_{2}}}

para j = 1, …, n. Como antes, la matriz M_{T_{j}Y_{1}+Y_{2}} de la homotecia η_{T_{j}Y_{1}+Y_{2}} en la base monomial natural de k(T_{1}, …, T_{n})[Y_{1}, Y_{2}]/(g_{j}(Y_{1}), h_{j}(Y_{2})) con el orden lexicográfico se determina directamente a partir de los coeficientes de g_{j}(Y_{1}) y h_{j}(Y_{2}). La idea es que esta matriz tiene como autovalores todos los posibles valores T_{j}(x_{j}^{(1)} − x_{j}^{(2)}) + (z_{j}^{(1)} − z_{j}^{(2)}). Dado que es preciso que todos estos valores sean no nulos, debe ocurrir entonces que el polinomio característico de M_{T_{j}Y_{1}+Y_{2}} no tiene a 0 como raíz, lo cual se traduce en la condición que el término constante del mismo, det(M_{T_{j}Y_{1}+Y_{2}}) sea distinto de cero. Obsérvese que este polinomio no es constante, ya que, en un desarrollo en potencias de T_{j} del mismo, el término constante corresponde a det(M_{Y_{2}}), que es no nulo puesto que h_{j} no tiene a cero como raíz.

Por lo tanto, se define Q_{j} en la forma:

Q_{j}(T_{1}, …, T_{n}) := T_{j}det(M_{T_{j}Y_{1}+Y_{2}})

Se afirma que esta definición verifica lo pedido: sea (t_{1}, …, t_{n}) ∈ R^{n} tal que Q_{j}(t_{1}, …, t_{n}) ≠ 0 y dos pares en K^{2} distintos (x_{j}^{(1)}, z_{j}^{(1)}) y (x_{j}^{(2)}, z_{j}^{(2)}) con las condiciones (2.10).

Si z_{j}^{(1)} = z_{j}^{(2)} entonces debe ser x_{j}^{(1)} ≠ x_{j}^{(2)} y como t_{j} ≠ 0 resulta t_{j}x_{j}^{(1)} + z_{j}^{(1)}) ≠ t_{j}x_{j}^{(2)} + z_{j}^{(2)}. Por otro lado, esta conclusión es evidente si x_{j}^{(1)} = x_{j}^{(2)} (en cuyo caso vale que z_{j}^{(1)} ≠ z_{j}^{(2)}). De modo que se puede suponer que x_{j}^{(1)} ≠ x_{j}^{(2)} y z_{j}^{(1)} ≠ z_{j}^{(2)}.

En este caso se tiene que g_{j}(x_{j}^{(1)} −x_{j}^{(2)}) = 0 y h_{j}(t_{1}, …, t_{n}, z_{j}^{(1)} −z_{j}^{(2)}) = 0. Entonces t_{j}(x_{j}^{(1)} − x_{j}^{(2)}) + z_{j}^{(1)} − z_{j}^{(2)} es raíz del polinomio característico de M_{t_{j}Y_{1}+Y_{2}}, y dado que (t_{1}, …, t_{n}) fue elegida de modo que el término constante de este polinomio resulte no nulo, se deduce que t_{j}(x_{j}^{(1)}−x_{j}^{(2)})+z_{j}^{(1)}−z_{j}^{(2)} ≠ 0.

Resta ahora probar que para toda n-upla (t_{1}, …, t_{n}) ∈ R^{n} tal que Q(t_{1}, …, t_{n}) ≠ 0, la forma lineal u := t_{1}X_{1} + ⋯ + t_{n}X_{n} es un elemento primitivo de V.

Sean entonces (t_{1}, …, t_{n}) una n-upla tal que Q(t_{1}, …, t_{n}) ≠ 0 y (x_{1}^{(1)}, …, x_{n}^{(1)}), (x_{1}^{(2)}, …, x_{n}^{(2)}) dos puntos distintos de V. Luego, existe j ∈ {1, …, n} tal que x_{j}^{(1)} ≠ x_{j}^{(2)}. Si se define

z_{j}^{(i)} := t_{1}x_{1}^{(i)} + ⋯ + t̂_{j}x_{j}^{(i)} + ⋯ + t_{n}x_{n}^{(i)}

para i = 1, 2, vale que

G_{j}(x_{j}^{(1)}) = G_{j}(x_{j}^{(2)}) = 0
H_{j}(z_{j}^{(1)}) = H_{j}(z_{j}^{(2)}) = 0
(x_{j}^{(1)}, z_{j}^{(2)}) ≠ (x_{j}^{(2)}, z_{j}^{(2)})

Por lo tanto, se cumplen las condiciones de la afirmación anterior, de lo cual se deduce que

t_{1}x_{1}^{(1)} + ⋯ + t_{n}x_{n}^{(1)} = t_{j}x_{j} + z_{j}^{(1)} ≠ t_{j}x_{j}^{(2)} + z_{j}^{(2)} = t_{1}x_{1}^{(2)} + ⋯ + t_{n}x_{n}^{(2)}

.

Para concluir, se estima la complejidad de este proceso.

En primer lugar, se calculan los coeficientes de los polinomios característicos χ_{X_{j}^{(1)}−X_{j}^{(2)}} y χ_{Z_{j}^{(1)}−Z_{j}^{(2)}} aplicando el lema 7 con talla O(nδ^{8} log δ) y profundidad no escalar O(log δ). Con las ideas del lema 28 en mente, si a^{(j)} ∈ ZZ y b^{(j)} ∈ ZZ [T_{1}, …, T_{n}] son los coeficientes principales (en T) de G_{j} y H_{j} respectivamente, con el mismo tipo de complejidad se puede calcular (a^{(j)})^{δ^{2}}χ_{X_{j}^{(1)}−X_{j}^{(2)}}(T) y (b^{(j)})^{δ^{2}}χ_{Z_{j}^{(1)}−Z_{j}^{(2)}}(T) de manera que todo el proceso pueda realizarse sin divisiones.

Luego hay que determinar cual es la potencia de T correspondiente al menor coeficiente no nulo de (a^{(j)})^{δ^{2}}χ_{X_{j}^{(1)}−X_{j}^{(2)}}(T) y (b^{(j)})^{δ^{2}}χ_{Z_{j}^{(1)}−Z_{j}^{(2)}}(T), a fin

de obtener los polinomios g_{j} y h_{j}. Para esto se utiliza el lema 20 O(nδ^{O(1)}) operaciones aritméticas adicionales con profundidad no escalar O(log δ).

Finalmente, se calculan (ab)^{δ^{4}}det(M_{T_{j}X_{j}+Z_{j}}), siendo M_{T_{j}X_{j}+Z_{j}} un matriz de tamaño δ^{4}, con talla O(nδ^{16} log δ) y profundidad no escalar O(log δ), luego de lo cual se multiplican todos los polinomios F_{j} obtenidos, lo que implica una talla total de tipo O(nδ^{O(1)} log δ) y una profundidad no escalar O( log(nδ)), como se había enunciado. □

Este lema reduce el problema de hallar los coeficientes de una forma lineal que representa un elemento primitivo para la variedad V al del la determinación de una n–upla λ = (λ_{1}, …, λ_{n}) ∈ ZZ^{n} con la propiedad que Q(λ) ≠ 0, donde Q es el polinomio del enunciado del lema 29. Mediante la aplicación de la proposición 20, esta última cuestión puede resolverse en forma probabilística.

Supuestos dados tales coeficientes, se tiene el siguiente resultado:

Lema 30 ([114], Proposition 27) En las condiciones del lema 29, dado además un elemento primitivo u := λ_{1}X_{1} + ⋯ + λ_{n}X_{n} para V, existe un circuito aritmético β de talla nδ^{O(1)} y profundidad no escalar O(ℓ + log δ) tal que calcula elementos ρ_{1}, …, ρ_{n} ∈ R y polinomios q, v_{1}, …, v_{n} ∈ R[T] con las siguientes propiedades:

• gr_{T} (q) = δ y q verifica que q(λ_{1}X_{1} + ⋯ + λ_{n}X_{n}) ∈ I

• para todo i = 1, …, n vale que gr(v_{i}) ≤ δ y ρ_{i}X_{i} − v_{i}(u) ∈ I

Demostración : Sea Z_{j} := λ_{1}X_{1} + ⋯ + λ̂_{j}X_{j} + ⋯ + λ_{n}X_{n}. Reemplazando las variables (T_{1}, …, T_{n}) por (λ_{1}, …, λ_{n}) en los polinomios H_{1}, …, H_{n} se obtienen polinomios h_{1}(T) := H_{1}(λ_{1}, …, λ_{n}, T), …, h_{n}(T) := H_{n}(λ_{1}, …, λ_{n}, T) en R[T] que verifican h_{j}(Z_{j}) ∈ I.

Como u es un elemento primitivo de V, en particular separa puntos de {G_{j}(X_{j}) = 0, h_{j}(Z_{j})}. La idea es aplicar el lema 28, para lo cual es necesario previamente hallar una representación separable de los polinomios h_{j}(Z_{j}). La representación separable h̃_{j}(Z_{j}) de h_{j}(Z_{j}) se calcula utilizando la estrategia descripta en la sección 1.3.3.

Luego se aplica el lema 28 en k[T]/(G_{j}(X_{j}), h̃_{j}(Z_{j})) con u = λ_{j}X_{j} + Z_{j} como elemento primitivo para j = 1, …, n, y se obtiene un elemento ρ_{j} ∈ R y polinomios q̃_{j}, v_{j} ∈ R[T] tales que {ρ_{j}v_{j}(u), q_{j}(u)} ⊆ (G_{j}(X_{j}), h_{j}(z_{j})) ⊆ I.

De las estimaciones de complejidad de los lemas 18 y 28 se deduce que todo el proceso tiene talla O(nδ^{4} log δ) y profundidad no escalar O(log δ). □

Elusión de divisiones en la iteración del operador de Newton– Hensel

A fin de producir las entradas necesarias para la aplicación de los lemas 29 y 30, se aplicará el lema 24 que reduce al caso cero–dimensional. Para esto, como ha sido dicho en la subsección 2.1.4, es necesario calcular la expansión hasta grado δ de la serie de potencias de cierta función racional.

Esta expansión se calculará mediante el proceso de “elusión de divisiones” descripto en la proposición 7. A fin de poder aplicar esta proposición, es necesario calcular la función racional involucrada con una sola división al final de todo el proceso. Dado que las divisiones provienen de cada paso de iteración con el operador de Newton–Hensel, se redefinirán las funciones racionales que intervienen en el mismo a fin de evitar divisiones en pasos intermedios.

El operador de Newton–Hensel se da como un vector de r funciones racionales de Q(X_{1}, …, X_{n}). Lo mismo es cierto para la κ-ésima iteración de este operador, que se notará por N_{F}^{κ}. Escribiendo las r funciones racionales con un denominador común, existen entonces numeradores (g_{n−r+1}^{(κ)}, …, g_{n}^{(κ)}) ∈ Q[X_{1}, …, X_{n}] y un denominador h^{(κ)} ∈ Q[X_{1}, …, X_{n}] no nulo tales que N_{F}^{κ} puede escribirse como:

N_{F}^{κ} = (\frac{g_{n−r+1}^{(κ)}}{h^{(κ)}} , …, \frac{g_{n}^{(κ)}}{h^{(κ)}} ) ∈ Q(X_{1}, …, X_{n})^{r}

En el siguiente lema se muestra como pueden calcularse en forma uniforme sin divisiones en Q[X_{1}, …, X_{n}] los numeradores y el denominador de N_{F}^{κ}.

Lema 31 ([78], Lemma 27; [131]) Supuesto que F_{1}, …, F_{r} se representan mediante un circuito aritmético Γ sin divisiones de talla L y profundidad no escalar ℓ, es posible calcular los numeradores g_{n−r+1}^{(κ)}, …, g_{n}^{(κ)} y denominador h^{(κ)} correspondientes al κ-ésimo paso de iteración del operador de Newton–Hensel N_{F}^{κ} sin divisiones en Q[X_{1}, …, X_{n}] por medio de un circuito aritmético de talla L(κnrd)^{O(1)} y profundidad no escalar O(κ(ℓ + log r)).

Demostración. Considerando los polinomios F_{1}, …, F_{r} como elementos de Q [X_{1}, …, X_{n−r}][X_{n−r+1}, …, X_{n}], sea A(F) = (a_{ij})_{1≤i,j≤n} la matriz traspuesta de la matriz adjunta de D(F). Tanto A(F) como el determinante Jacobiano J(F) := det(D(F)) pueden evaluarse uniformemente mediante un circuito aritmético sin divisiones de talla O(Ln + r^{O(1)}) y profundidad no escalar O(ℓ + log r), combinando el lema 7 y el lema 25. El operador N_{F} puede escribirse de la manera siguiente

N_{F} = \frac{J(F) ( X_{n−r+1} ; ⋮ ; X_{n} ) − A(F) ( F_{1}(X_{n−r+1}, …, X_{n}) ; ⋮ ; F_{r}(X_{n−r+1}, …, X_{n}) )}{J(F)}  (2.13)

Las entradas a_{jk} de la matriz A(F) son polinomios del anillo Q[X_{1}, …, X_{n}] de grado a lo sumo (n − 1)(d − 1). Asimismo, el determinante Jacobiano J(F) es un polinomio de Q[X_{1}, …, X_{n}] de grado acotado por n(d − 1). Para 1 ≤ j ≤ n se considera

g_{n−r+j} := J(F)X_{n−r+j} − ∑_{k=1}^{n} a_{jk}F_{k}

Todos los polinomios que aparecen en el miembro derecho de la definición of g_{n−r+j} como sumandos tienen grado acotado por ν := nd + 1. Luego, el grado de cada g_{n−r+j} queda acotado por ν. Sean ^{h}g_{n−r+j}(X_{0}, X_{1}, …, X_{n}) y ^{h}J(F)(X_{0}, X_{1}, …, X_{n}) los polinomios de Q[X_{0}, X_{1}, …, , X_{n}] que resultan de homogeneizar los polinomios g_{n−r+j} y el determinante Jacobiano J(F) respecto de las variables X_{n−r+1}, …, X_{n} mediante una nueva variable X_{0}.

Se introducen entonces los siguientes polinomios homogéneos:

• G_{n−r+j}(X_{0}, …, X_{n}) := X_{0}^{ν−gr(g_{j})}(^{h}g_{j}),

• H(X_{0}, …, X_{n}) := X_{0}^{ν−gr(J(F))}(^{h}J(F)).

Del lema 26 se deduce que es posible calcular los polinomios G_{n−r+1}, ...,G_{n} y H con un circuito aritmético sin divisiones en Q[X_{1}, …, X_{n}] de talla L(nrd)^{O(1)} y profundidad no escalar O(ℓ + log r). Finalmente, se definen recursivamente los siguientes polinomios:

• para k = 1 y 1 ≤ j ≤ r sean g_{n−r+j}^{(1)} := G_{n−r+j}(1, X_{n−r+1}, …, X_{n}),

h^{(1)} := H(1, X_{n−r+1}, …, X_{n})

• para k ≥ 2 y 1 ≤ j ≤ r sean g_{n−r+j}^{(k)} := G_{n−r+j}(h^{(k−1)}, g_{n−r+1}^{(k−1)}, .., g_{n}^{(k−1)})

h^{(k)} := H(h^{(k−1)}, g_{n−r+1}^{(k−1)}, …, g_{n}^{(k−1)})

Por inducción en k se demuestra que los polinomios g_{n−r+1}^{(k)}, …, g_{n}^{(k)} son los numeradores y h^{(k)} es el denominador de la k-ésima iteración del operador de Newton–Hensel N_{F}^{k}.

El circuito aritmético que evalúa g_{n−r+1}^{(k)}, …, g_{n}^{(k)} se obtiene iterando k veces el circuito aritmético (sin divisiones) que calcula G_{n−r+1}, …, G_{n} y H, resultando su talla O(Lk(nrd)^{O(1)}) y su profundidad no escalar O(k(ℓ + log r)). Dado que no se introducen nuevos parámetros por este procedimiento, poniendo k := κ se tiene el enunciado del lema. □

Cabe destacar que el circuito aritmético descripto se compone fundamentalmente de operaciones de álgebra lineal con matrices de tamaño r × r, lo cual implica que su traducción booleana puede realizarse en forma uniforme.

2.1.6 El algoritmo para el cálculo de un elemento primitivo

En esta sección se desarrollará un algoritmo que calcula un elemento primitivo para V y la solución geométrica asociado al mismo. Este algoritmo se aplica recursivamente a las variedades V_{i} := V (F_{1}, …, F_{i}) para 1 ≤ i ≤ n, por lo que se describirá el i-ésimo paso de esta recursión.

Según lo desarrollado en la sección 2.1.1, se puede suponer que los polinomios input F_{1}, …, F_{n} forman una sucesión regular en Q[X_{1}, …, X_{n}] y los ideales I_{i} generados por F_{1}, …, F_{i} en Q[X_{1}, …, X_{n}] son radicales para todo i = 1, …, n − 1. Se asume asimismo que (F_{1}, …, F_{n}) es radical.

Los polinomios F_{1}, …, F_{n} ∈ ZZ[X_{1}, …, X_{n}] se representan mediante un circuito aritmético Γ en ZZ[X_{1}, …, X_{n}] de talla L y profundidad no escalar ℓ con parámetros enteros de altura máxima h que evalúa F_{1}, …, F_{n}. A fin de estimar la complejidad del i-ésimo paso recursivo del algoritmo, será necesario introducir los siguientes parámetros:

• δ_{i} := gr(V_{i})

• δ := max{δ_{i} : 1 ≤ i ≤ n}

• η_{i} := ht_{V_{i}}(C), donde C es un número natural de orden O((log n + ℓ) log δ) elegido de modo tal que Q[V_{i}] tiene un elemento primitivo de altura C con respecto a una posición de Noether adecuada para V_{i}

• η := max{η_{i} : 1 ≤ i ≤ n}

Sea i ∈ {1, …, n} fijo. A fin de simplificar las notaciones se supone que las variables X_{1}, …, X_{n} están en posición de Noether con respecto a la variedad V_{i}, siendo las variables X_{1}, …, X_{n−i} libres. También se supone dada la representación binaria de las coordenadas enteras de un punto de levantamiento P_{i}, de los coeficientes enteros de una forma lineal U_{i} que representa un elemento primitivo para V_{P_{i}} y de los coeficientes de los polinomios primitivos que constituyen la solución geométrica para V_{P_{i}} correspondiente al elemento primitivo definido por U_{i}. La siguiente proposición, que sigue las líneas generales de [78, Proposition 30] con la diferencia que realiza todo el proceso sin necesidad de pasar al espacio proyectivo, se describe el circuito aritmético Γ_{i} que realiza el i–ésimo paso recursivo del algoritmo:

Proposición 8 ([78], Theorem 28; [131]) Existe un circuito aritmético Γ_{i} en ZZ[X_{1}, …, X_{n}] sin divisiones de talla (idδ_{i}L)^{O(1)} y profundidad no escalar O((log i + ℓ) log δ_{i}) que utiliza parámetros de altura logarítmica acotada por max{h, η_{i}, O((log i + ℓ) log δ_{i})} el cual, teniendo como entrada

• una normalización de Noether para la variedad V_{i},

• un punto de levantamiento P_{i} para V_{i} y

• la solución geométrica de la fibra de levantamiento V_{P_{i}}

produce como salida • un cambio lineal de variables (X_{1}, …, X_{n}) ⟶ (Y_{1}, …, Y_{n}) tal que las

nuevas variables Y_{1}, …, Y_{n} están en posición de Noether con respecto a V_{i+1},

• un punto de levantamiento P_{i+1} para V_{i+1} y

• una solución geométrica para la fibra de levantamiento V_{P_{i+1}}.

Este circuito aritmético consiste fundamentalmente de operaciones de álgebra lineal con matrices cuyo tamaño máximo está acotado por δ^{4} × δ^{4}.

Demostración. El circuito aritmético Γ_{i} consta de dos etapas. En la primer etapa obtiene la solución geométrica de V_{i} a partir de la de V_{P_{i}}, es decir, se calculan los siguientes ítems:

• el polinomio minimal primitivo q_{i} ∈ ZZ[X_{1}, …, X_{n−i}, U_{i}] del elemento primitivo u_{i} de la extensión de anillos:

R_{i} := Q[X_{1}, …, X_{n−i}] ⟶ Q[X_{1}, …, X_{n}]/(F_{1}, …, F_{i}) =: Q[V_{i}] y

• polinomios ρ_{n−i+1}^{(i)}, …, ρ_{n}^{(i)} ∈ ZZ[X_{1}, …, X_{n−i}], ρ^{(i)} := ∏_{k=n−i+1}^{n} ρ_{k}^{(i)} y polinomios v_{r+1}^{(i)}, …, v_{n}^{(i)} ∈ ZZ[X_{1}, …, X_{n−i}, U_{i}] con las siguientes propiedades:

– max{gr_{U_{i}}v_{j}^{(i)} ; r < j ≤ n} < δ_{i},

– para k = 1, …, n − i el polinomio ρ_{n−i+k}X_{n−i+k} − v_{b−i+k}^{(i)} es primitivo, y

– se satisface la identidad:

(F_{1}, …, F_{i})_{ρ^{(i)}} = (q_{i}(U_{i}), ρ_{r+1}^{(i)}X_{r+1} − v_{r+1}^{(i)}(U_{i}), …, ρ_{n}^{(i)}X_{n} − v_{n}^{(i)}(U_{i}))_{ρ^{(i)}}

(donde I_{ρ} denota la localización del ideal I por el conjunto {1, ρ, …, ρ^{k}, …} de todas las potencias de ρ).

En la segunda etapa se interseca algorítmicamente la variedad V_{i} con la hipersurperficie V (F_{i+1}) a fin de producir:

• una normalización de Noether de las variables con respecto a la variedad V_{i+1} = V_{i} ∩ V (F_{i+1}),

• un punto de levantamiento P_{i+1} para la variedad V_{i+1} y • una forma lineal U_{i+1} que representa un elemento primitivo tanto de la

extensión R_{i+1} := Q[X_{1}, …, X_{n−i}] ⟶ Q[X_{1}, …, X_{n}]/(F_{1}, …, F_{i+1}) =: Q[V_{i+1}] como de la extensión Q ⟶ Q[V_{P_{i+1}}], y

• la solución geométrica de V_{P_{i+1}} asociada a elemento primitivo u_{i} inducido por U_{i+1} en Q[V_{P_{i+1}}].

1er. etapa: Dado que las variables X_{1}, …, X_{n} están en posición de Noether con respecto a la variedad V_{i}, siendo las variables X_{1}, …, X_{n−i} libres, se tiene que la extensión R_{i} ⟶ Q[V_{i}] es entera.

Sea P_{i} = (p_{1}, …, p_{n−i}) ∈ ZZ^{n−i} el punto de levantamiento dado y V_{P_{i}} = π_{i}^{−1}(P_{i}) la fibra de levantamiento. Entonces se tiene que D_{i} := gr(V_{P_{i}}) = rango_{R_{i}}Q[V_{i}] ≤ gr(V_{i}) = δ_{i}. Sea

U_{i} = λ_{n−i+1}X_{n−i+1} + ⋯ + λ_{n}X_{n} ∈ ZZ[X_{n−i+1}, …, X_{n}]

la forma lineal dada que genera un elemento primitivo de la extensión de anillos Q ⟶ Q[V_{P_{i}}] (es decir, U_{i} separa los puntos de V_{P_{i}}).

El polinomio minimal de la imagen u_{i} de U_{i} en Q[V_{i}] tiene grado mayor o igual que la cardinalidad del conjunto U_{i}(V_{P_{i}}). Como U_{i} separa los puntos de V_{P_{i}}, esta cardinalidad es gr(V_{P_{i}}) = rango_{R_{i}}Q[V_{i}]. Por lo tanto, el polinomio minimal m_{u_{i}} tiene grado D_{i}, lo cual significa que U_{i} genera también un elemento primitivo de la extensión de anillos R_{i} ⟶ Q[V_{i}].

En lo que sigue se notará indistintamente por u_{i} al elemento primitivo generado por U_{i} en las extensiones de anillos Q ⟶ Q[V_{P_{i}}] y R_{i} ⟶ Q[V_{i}].

Por hipótesis, los siguientes ítems están dados como input:

• la ecuación minimal primitiva q̃ ∈ ZZ[T] del elemento primitivo u_{i} de Q[V_{P_{i}}],

• la parametrización de V_{P_{i}} por los ceros de q̃, dada por las ecuaciones

X_{1} − p_{1} = 0, …, X_{n−i} − p_{n−i} = 0, q̃(T) = 0,
ρ̃_{n−i+1}X_{n−i+1} − ṽ_{n−i+1}(T) = 0, …, ρ̃_{n}X_{n} − ṽ_{n}(T) = 0,

donde ṽ_{n−i+1}, …, ṽ_{n} son polinomios de ZZ[T] de grado menor que D_{i} y ρ̃_{n−i+1}, …, ρ̃_{n} son números enteros no nulos tales que los polinomios ρ̃_{n−i+1}X_{n−i+1} − ṽ_{n−i+1}(T), …, ρ̃_{n}X_{n} − ṽ_{n}(T) son primitivos.

Sea a ∈ ZZ el coeficiente principal de q̃.

Considerando F_{1}, …, F_{i} como polinomios en las variables X_{n−i+1}, …, X_{n}, es decir, como elementos del anillo de polinomios R_{i}[X_{n−i+1}, …, X_{n}], se tiene el operador de Newton–Hensel N_{F} para F := (F_{1}, …, F_{i}) introducido en la sección 2.1.4. Este operador fue definido en la forma

N_{F} = ( X_{n−i+1} ; ⋮ ; X_{n} ) − D(F)^{−1} ( F_{1} ; ⋮ ; F_{i} ) .

donde D(F) es la matriz Jacobiana de F con respecto a las variables X_{n−i+1}, …, X_{n}, es decir:

D(F) := (\frac{∂F_{k}}{∂X_{j}} )_{{1≤k≤i \atop n−i+1≤j≤n}}

Del lema 31 se deduce la existencia de numeradores g_{n−i+1}^{(κ)}, …, g_{n}^{(κ)} y un denominador no nulo h^{(κ)} en el anillo de polinomios R_{i}[X_{n−i+1}, …, X_{n}] tal que la κ–ésima iteración del operador de Newton–Hensel es de la forma:

N_{F}^{κ} = ( ⋮_{\frac{g_{n}^{(κ)}}{h^{(κ)}}}^{\frac{g_{n−i+1}^{(κ)}}{h}} )

Sean M_{X_{n−i+1}}, …, M_{X_{n}} las matrices que describen el tensor de multiplicación de la Q–álgebra Q[V_{P_{i}}]. Siendo M la matriz compañera del polinomio a^{−1}q(T) ∈ Q[T], para 1 ≤ j ≤ i la siguiente identidad es inmediata:

ρ̃_{n−i+j}M_{X_{n−i+j}} = ṽ_{n−i+j}(M)

Dado que ṽ_{n−i+j} es un polinomio de grado menor o igual que D_{i}−1, se deduce que las matrices ρ̃_{n−i+j}a^{D_{i}−1}M_{X_{n−i+j}} tienen coeficientes enteros. Siguiendo la estrategia del lema 24, sea κ := 1 + log_{2}δ_{i} (nótese que κ ≥ 1 + log_{2}D_{i}). El circuito aritmético Γ_{i} ejecuta κ iteraciones del operador de Newton–Hensel en forma simbólica de la siguiente manera: Γ_{i} calcula numeradores y denominadores de las matrices N_{n−i+1}, …, N_{n} con entradas en Q(X_{1}, …, X_{n−i}) definidas por:

N_{n−i+k} := \frac{g_{n−i+k}^{(κ)}(X_{1}, …, X_{n−i}, \underline{M})}{h^{(κ)}(X_{1}, …, X_{n−i}, \underline{M})}

donde \underline{M} = (M_{X_{n−i+1}}, …, M_{X_{n}}) y g_{n−i+1}^{(κ)}, …, g_{n}^{(κ)} son los numeradores y h^{(κ)} el denominador del lema 31 (es decir, N_{n−i+1}, …, N_{n} son las matrices que resultan de aplicar κ pasos de iteración del operador de Newton a las matrices M_{X_{n−i+1}}, …, M_{X_{n}}).

A partir de éstas, se obtiene la matriz

M := U_{i}(N_{n−i+1}, …, N_{n}) = λ_{n−i+1}N_{n−i+1} + ⋯ + λ_{n}N_{n}

con coeficientes en Q(X_{1}, …, X_{n−i}) cuyo polinomio característico χ permite hallar una ecuación que anula a u_{i} en Q[V_{i}] (ver lema 24).

A fin de evaluar los coeficientes del polinomio característico χ de M sin divisiones por polinomios de Q[X_{1}, …, X_{n}] en pasos intermedios, es necesario retomar la demostración del lema 31: los polinomios g_{n−i+1}^{(κ)}, …, g_{n}^{(κ)}, h^{(κ)} se definen a partir de polinomios homogéneos

G_{n−i+1}(X_{0}, …, X_{n}), …, G_{n}(X_{0}, …, X_{n}), H(X_{0}, …, X_{n})

del mismo grado, siguiendo las siguientes reglas:

• para k = 1 y 1 ≤ j ≤ i, g_{n−i+j}^{(1)} := G_{n−i+j}(1, X_{n−i+1}, …, X_{n}),

h^{(1)} := H(1, X_{n−i+1}, …, X_{n})

• para k ≥ 2 y 1 ≤ j ≤ i, g_{n−i+j}^{(k)} := G_{n−i+j}(h^{(k−1)}, g_{n−i+j}^{(k−1)}, …, g_{n}^{(k−1)}),

h^{(k)} := H(h^{(k−1)}, g_{n−i+j}^{(k−1)}, …, g_{n}^{(k−1)})

Dado que los polinomios G_{n−i+j} y H son homogéneos del mismo grado, la fracción \frac{G_{n−i+j}}{H} (X_{0}, X_{n−i+1}, …, X_{n}) no varía si se reemplaza el vector (X_{0}, X_{n−i+1}, …, X_{n}) por cualquier múltiplo escalar del mismo. Entonces, si se define ρ̃^{(i)} := ∏_{j=1}^{i} ρ̃_{n−i+j}, comenzando el primer paso con las funciones:

para 1 ≤ j ≤ i, g_{n−i+j}^{(1)} := G_{n−i+j}(a^{D_{i}−1}ρ̃^{(i)}, a^{D_{i}−1}ρ̃^{(i)}X_{n−i+1}, …, a^{D_{i}−1}ρ̃^{(i)}X_{n})

h^{(1)} := H(a^{D_{i}−1}ρ̃^{(i)}, a^{D_{i}−1}ρ̃^{(i)}X_{n−i+1}, …, a^{D_{i}−1}ρ̃^{(i)}X_{n})

la sucesión de funciones racionales \frac{g_{n−i+j}^{(k)}}{h^{(k)}} coincide con la definida anteriormente. Esta nueva sucesión tiene la ventaja de estar en términos de los polinomios ρ̃^{(i)}X_{n−i+j}, cuyo tensor de multiplicación en Q[V_{P_{i}}] se tiene sin divisiones por polinomios de Q[X_{1}, …, X_{n}] y con coeficientes enteros.

Por lo tanto, si se calcula la siguiente sucesión

• para k = 1 y 1 ≤ j ≤ i sean g_{n−i+j}^{(1)} := G_{n−i+j}(a^{D_{i}−1}ρ̃^{(i)}, Y_{n−i+1}, …, Y_{n}),

h^{(1)} := H(a^{D_{i}−1}ρ̃^{(i)}, Y_{n−i+1}, …, Y_{n})

• para k ≥ 2 y 1 ≤ j ≤ i sean g_{n−i+j}^{(k)} := G_{n−i+j}(h^{(k−1)}, g_{n−i+j}^{(k−1)}, …, g_{n}^{(k−1)}),

h^{(k)} := H(h^{(k−1)}, g_{n−i+j}^{(k−1)}, …, g_{n}^{(k−1)})

las funciones resultantes del κ–ésimo paso verifican:

( \frac{g_{n−i+j}^{(κ)}}{h^{(κ)}} (a^{D_{i}−1}ρ̃^{(i)}X_{n−i+1}, …, a^{D_{i}−1}ρ̃^{(i)}X_{n}) ; ⋮ ; \frac{g_{n}^{(κ)}}{h^{(κ)}} (a^{D_{i}−1}ρ̃^{(i)}X_{n−i+1}, …, a^{D_{i}−1}ρ̃^{(i)}X_{n}) ) = N_{F}^{κ} ( X_{n−i+1} ; ⋮ ; X_{n} )

De aquí se deduce que las matrices que las matrices g_{n−i+k}^{(κ)}(a^{D_{i}−1}ρ̃^{(i)}\underline{M}) para k = 1, …, i y h^{(κ)}(a^{D_{i}−1}ρ̃^{(i)}\underline{M}) pueden utilizarse a fin de expresar las matrices N_{n−i+1}, …, N_{n} sin divisiones. En consecuencia, la matriz M se puede escribir en la forma:

M = (λ_{n−i+1}g_{n−i+1}^{(κ)}(a^{D_{i}−1}ρ̃^{(i)}\underline{M})+⋯+λ_{n}g_{n}^{(κ)}(a^{D_{i}−1}ρ̃^{(i)}\underline{M}))·h(a^{D_{i}−1}ρ̃^{(i)}\underline{M})^{−1}

Para evitar las divisiones en el cálculo de los coeficientes de χ que se producirían si M se calcula mediante el esquema de la identidad anterior, sea θ := det(h(a^{D_{i}−1}ρ̃^{(i)}\underline{M})) ∈ R_{i} y M_{1} la matriz con coordenadas en R_{i} definida por M_{1} := θM. Entonces, se tienen las siguientes identidades:

det(T · Id_{D_{i}} − M) = det(T · Id_{D_{i}} − θ^{−1}M_{1}) = θ^{−D_{i}}det((θT)Id_{D_{i}} − M_{1}).

Sea ϕ(T) = T^{D_{i}}+ϕ_{D_{i}−1}T^{D_{i}−1}+⋯+ϕ_{0} ∈ R_{i}[T] el polinomio característico de M_{1}. De las identidades anteriores se deduce que para 0 ≤ k ≤ D_{i} − 1 el k–ésimo coeficiente de χ puede escribirse como

a_{k} = \frac{θ^{k}ϕ_{k}}{θ^{D_{i}}}  (2.14)

Por lo tanto, en lugar de calcular los coeficientes a_{k} se calculan los coeficientes ϕ_{k}, los cuales poseen toda la información necesaria para recuperar los a_{k} mediante la identidad (2.14).

Sea ahora m_{u_{i}} := T^{D_{i}} +b_{D_{i}−1}T^{D_{i}−1}+⋯+b_{0}. A partir de las relaciones de congruencia (2.6) se concluye que los coeficientes a_{k} del polinomio χ verifican la siguiente propiedad:

a_{k} ≡ b_{k} módulo (X_{1} − p_{1}, …, X_{n−i} − p_{n−i})^{δ_{i}}

Asimismo, el lema 23 asegura que los grados de los coeficientes b_{k} del polinomio minimal m_{u_{i}} ∈ R_{i}[T] están acotados por δ_{i}. Por lo tanto, el desarrollo hasta grado δ_{i} del polinomio a_{k} es precisamente el polinomio b_{k} buscado para k = 0, …, D_{i} − 1. Dado que a_{k} se tiene como cociente de dos polinomios con coeficientes enteros, la escritura de a_{k} se recupera por medio de la proposición 7.

Resta estimar la complejidad de este proceso. En primer lugar, es necesario tener los numeradores y el denominador correspondiente al κ = 1+log_{2}δ_{i} paso de iteración del operador de iteración de Newton–Hensel, que se calculan según el esquema descripto en el lema 2.1.6, con talla Ldi^{O(1)} log δ_{i} y profundidad no escalar O( log δ_{i}(ℓ+log i)). Asimismo, la matriz aM y las matrices a^{D_{i}−1}ρ̃^{(i)}M_{X_{n−i+1}}, …, a^{D_{i}−1}ρ̃^{(i)}M_{X_{n}} se obtienen de la manera siguiente: siendo V_{n−i+j}(X_{0}, T) la homogeinización de ṽ_{n−i+j} con variable X_{0}, entonces se tiene

( ∏_{k≠j} ρ̃_{n−i+k})a^{D_{i}−1−gr(ṽ_{n−i+j})}V_{n−i+j}(a, aM) = a^{D_{i}−1}ρ̃^{(i)}M_{X_{n−i+j}}

Por lo tanto, aM, a^{D_{i}−1}ρ̃^{(i)}M_{X_{n−i+1}}, …, a^{D_{i}−1}ρ̃^{(i)}M_{X_{n}} se calculan con talla O(iδ_{i}^{3}) y profundidad no escalar O(log i + log δ_{i}).

A partir de estos datos se calculan las matrices g_{n−i+1}^{(κ)}(a^{D_{i}−1}ρ̃^{(i)}\underline{M}), …, g_{n}^{(κ)}(a^{D_{i}−1}ρ̃^{(i)}\underline{M}) y h^{(κ)}(a^{D_{i}−1}ρ̃^{(i)}\underline{M}) evaluando el circuito aritmético que calcula g_{n−i+1}^{(κ)}, …, g_{n}^{(κ)} y h^{(κ)} en a^{D_{i}−1}ρ̃^{(i)}M_{X_{n−i+1}}, …, a^{D_{i}−1}ρ̃^{(i)}M_{X_{n}}, y se calcula también θ = det(h(a^{D_{i}−1}ρ̃^{(i)}\underline{M})). Esto requiere Ld(iδ_{i})^{O(1)} operaciones aritméticas con profundidad no escalar O( log δ_{i}(ℓ + log i)).

Luego, la matriz M_{1} se calcula por medio de la identidad:

\begin{matrix}M_{1} = θM = \\ = (λ_{n−i+1}g_{n−i+1}^{(κ)} + ⋯ + λ_{n}g_{n}^{(κ)})(a^{D_{i}−1}ρ̃^{(i)}\underline{M}) · Adj(h(a^{D_{i}−1}ρ̃^{(i)}\underline{M})) \end{matrix}

y los coeficientes ϕ_{k} del polinomio característico de M_{1} se calculan sin divisiones vía el lema 7, con talla Ld(iδ_{i})^{O(1)} y profundidad no escalar O( log δ_{i}(ℓ+ log i)).

Finalmente se utiliza la proposición 7 a fin de evitar divisiones en el cálculo de \frac{θ^{k}ϕ_{k}}{θ^{D_{i}−1}} y se calcula el máximo común divisor del contenido de g_{0}, …, g_{D_{i}−1}, para luego dividir por éste número a g_{0}, …, g_{D_{i}−1} y obtener así el polinomio minimal primitivo q_{i} ∈ ZZ[X_{1}, …, X_{n−i}, T] buscado.

Dado que los cálculos de máximo común divisor entero exigen ramificaciones, se tiene una red aritmética sin divisiones Γ′_{i} en ZZ[X_{1}, …, X_{n−i}] de talla Ld(iδ_{i})^{O(1)} y profundidad no escalar O((log i+ℓ) log δ_{i}) que utiliza como parámetros las coordenadas p_{1}, …, p_{n−i} de P_{i}, los coeficientes del cambio de coordenadas de la normalización de Noether para V_{i}, los números enteros que aparecen como coeficientes en la solución geométrica de la fibra de levantamiento V_{P_{i}} y los parámetros de Γ.

El cálculo de las parametrizaciones v_{n−i+1}^{(i)}, …, v_{n}^{(i)} ∈ Q[X_{1}, …, X_{n−i}, T], se realiza combinando el esquema del circuito Γ′_{i} y la estrategia del lema 30. Para aplicar el lema 30 es necesario calcular el polinomio minimal m_{X_{n−i+k}} de las imágenes de las variables X_{n−i+k} en Q[V_{i}] y el polinomio minimal m_{Z_{n−i+k}} de las imágenes de las formas lineales Z_{n−i+k} := T_{n−i+1}X_{n−i+1}+⋯+ T̂_{n−i+k}X_{n−i+k} + ⋯ + T_{n}X_{n} en Q[V_{i}] ⊗ Q(T_{n−i+1}, …, T_{n}) para k = 1, …, i.

Dado que los endomorfismos que se consideran son homotecias, sus polinomios minimales se obtienen mediante una representación separable de su polinomio característico. A fin de calcular tales ecuaciones se utilizan los polinomios característicos de las matrices N_{n−i+k} anteriormente definidas y los polinomios característicos de las matrices

N_{n−i+k}^{(Z)} := Z_{n−i+k}(N_{n−i+k}, …, N_{n})

El cálculo de estos polinomios característicos sigue los lineamientos del cálculo de polinomio característico χ de la matriz M: en lugar de calcularlos directamente, a fin de evitar divisiones se calcula el polinomio característico de un múltiplo adecuado de las matrices a considerar.

Posteriormente, la representación separable de estos polinomios característicos se calcula utilizando la estrategia de la sección 1.3.3 a fin de evitar divisiones. De esta manera los coeficientes de los polinomio minimales buscados se obtienen por un circuito aritmético que tiene solamente una división al final del proceso. Por lo tanto, la proposición 7 permite calcular la expansión exacta de los coeficientes de los polinomios minimales hasta grado δ_{i}, que por el lema 23 resultan los coeficientes buscados.

Finalmente, operando como en el lema 30 se obtienen las parametrizaciones asociadas a las variables X_{n−i+k} y se completa la primera etapa. Obsérvese que el circuito aritmético en cuestión tiene talla (idδ_{i}L)^{O(1)} y profundidad no escalar O(log(dδ_{i}) + ℓ) con parámetros of altura logarítmica acotada por O(log(dδ_{i}) + ℓ).

2da. etapa: La segunda etapa se comienza con el cálculo de una normalización de Noether de las variables respecto de V_{i+1}. Esta posición consiste de un cambio lineal de las variables X_{1}, …, X_{n} (que se suponen normalizadas respecto de V_{i}) en nuevas variables Y_{1}, …, Y_{n} de forma tal que se cumplen los siguientes requisitos:

• Y_{1}, …, Y_{n−i−1} son libres respecto de V_{i+1}

• la siguiente extensión de anillos es entera

R_{i+1} := Q[Y_{1}, …, Y_{n−i−1}] ⟶ Q[Y_{1}, …, Y_{n}]/(F_{1}, …, F_{i+1})

• las coordenadas del cambio de coordenadas son enteras

Para tal fin, se considera la imagen de F_{i+1} en Q[V_{i}], y la homotecia que éste elemento define. El polinomio minimal m_{F_{i+1}} de esta homotecia tiene su término constante no nulo, ya que F_{i+1} no es divisor de cero en Q[V_{i+1}]. Y este término constante a_{0}(X_{1}, …, X_{n−i}) constituye una relación de dependencia de las variables X_{1}, …, X_{n−i} en Q[V_{i+1}]: dado que m_{F_{i+1}}(F_{i+1}) ≡ 0 en Q[V_{i}], se tiene que

F_{i+1}^{D_{i}} + a_{D_{i}−1}F_{i+1}^{D_{i}−1} + ⋯ + a_{0} ≡ 0

en Q[V_{i}]. Por lo tanto, a_{0} ≡ 0 en Q[V_{i+1}].

Si se realiza un cambio de variables

(X_{1}, …, X_{n−i}) → (Y_{1}, …, Y_{n−i})

de modo tal que a_{0} resulte mónico en Y_{n−i}, se tendrá entonces que Y_{n−i} es entera respecto de Y_{1}, …, Y_{n−i−1}. Dado que las variables X_{n−i+1}, …, X_{n} eran enteras respecto de X_{1}, …, X_{n−i} en Q[V_{i}] también lo son en Q[V_{i+1}], y por lo tanto X_{n−i+1}, …, X_{n} son enteras respecto de Y_{1}, …, Y_{n−i} en Q[V_{i+1}]. Pero además Y_{n−i} es entera respecto de Y_{1}, …, Y_{n−i+1}, de donde se deduce que las variables Y_{n−i}, X_{n−i+1}, …, X_{n} son enteras respecto de Y_{1}, …, Y_{n−i−1} en Q[V_{i+1}], lo cual implica que las variables Y_{1}, …, Y_{n−i}, X_{n−i+1}, …, X_{n} están en posición de Noether respecto de V_{i+1}.

Entonces, para obtener el cambio de variables buscado es necesario calcular el término constante a_{0} del polinomio minimal m_{F_{i+1}} de F_{i+1} respecto de Q[V_{i}].

Como la extensión R_{i} ⟶ Q[V_{i}] es entera y R_{i} es un anillo íntegramente cerrado, el minimal de F_{i+1} sobre Q[V_{i}] es igual al minimal de F_{i+1} como elemento de Q(X_{1}, …, X_{n−i})[X_{n−i+1}, …, X_{n}]/(F_{1}, …, F_{i}). Este espacio vectorial tiene una base B := {1, u_{i}, …, u_{i}^{D_{i}−1}}, siendo u_{i} el elemento primitivo hallado, en la cual el tensor de multiplicación es conocido. Esto es el hecho fundamental que permite calcular los coeficientes el polinomio minimal m_{F_{i+1}}.

Sea ahora A_{0} ∈ Q[X_{1}, …, X_{n−i}] la componente homogénea de mayor grado de a_{0}, y γ := (γ_{1}, …, γ_{n−i}) una (n − i)–upla que verifica que A_{0}(γ_{1}, …, γ_{n−i−1}, γ_{n−i}) ≠ 0. Se introduce entonces el cambio de variables:

X_{1} = Y_{1} + γ_{1}Y_{n−i}
⋮
X_{n−i+1} = Y_{n−i+1} + γ_{1}Y_{n−i}
X_{n−i} = Y_{n−i}
⋮
X_{n} = Y_{n}

Dado que el coeficiente de a_{0} en el monomio Y_{n−i}^{gr(a_{0})} es A_{0}(γ_{1}, …, γ_{n−i}, 1), se deduce que el polinomio a_{0} es mónico en Y_{n−i}. Por lo tanto, este cambio de variables es una normalización de Noether respecto de V_{i+1}.

A fin de calcular la componente de mayor grado A_{0} de a_{0}, es importante observar que a_{0} tiene grado acotado por dδ_{i}: sea Φ el morfismo de variedades algebraicas definido por:

\begin{matrix}Φ : V_{i} & ⟶ & Q^{n−i+1} \\ (x_{1}, …, x_{n}) & ⟼ & (x_{1}, …, x_{n−i}, F_{i+1}(x_{1}, …, x_{n})) \end{matrix}

Dado que ningún polinomio en X_{1}, …, X_{n−i} se anula sobre V_{i}, se deduce que \overline{Φ(V_{i})} = V (m_{F_{i+1}}). Por lo tanto, gr(m_{F_{i+1}}) = gr(\overline{Φ(V_{i})}) = gr(Φ(V_{i})) (cf. [88]).

Siendo \overline{Φ(V_{i})} una hipersuperficie de C^{n−i+1}, existe un hiperplano afín H := {c_{1}X_{1}+⋯+c_{n−i+1}X_{n−i+1} = c_{0}} de C^{n−i+1} tal que el conjunto Φ(V_{i})∩H es finito y verifica: #\overline{Φ(V_{i})} ∩ H = #Φ(V_{i}) ∩ H = gr(Φ(V_{i})).

Entonces, se tiene que

Φ^{−1}(H) = Φ^{−1}(Φ(V_{i}) ∩ H) =
= {c_{1}X_{1} + ⋯ c_{n−i}X_{n−i} + c_{n−i+1}F_{i+1}(X_{1}, …, X_{n}) = 0} ∩ V_{i}

Por lo tanto, aplicando la desigualdad de Bézout (ver por ejemplo [88], Theorem 1 o [70], Example 8.4.6) resulta

gr(Φ^{−1}(H)) ≤ gr(V_{i}) · gr(F_{i+1})

Pero además se verifica que

gr(Φ(V_{i})) = #(Φ(V_{i}) ∩ H) ≤ gr(Φ^{−1}(H))

ya que, siendo Φ^{−1}(H) = ∪_{C∈C}C la descomposición de Φ^{−1}(H) en componentes irreducibles, como la imagen Φ(Φ^{−1}(H)) = Φ(V_{i}) ∩ H es cero– dimensional, se tiene que la imagen por Φ de cada componente C ∈ C es un punto.

Se deduce entonces la siguiente cadena de desigualdades:

gr(Φ(V_{i})) = #(Φ(V_{i}) ∩ H) ≤ #C ≤ ∑_{C∈C} gr(C) =

= gr(ϕ^{−1}(ϕ(V_{i}) ∩ H)) ≤ gr(V_{i}) · gr(F_{i+1})

En consecuencia, se tiene que

gr(m_{F_{i+1}}) ≤ gr(Φ(V_{i})) ≤ dδ_{i}

como se había afirmado.

Luego, la descomposición en componentes homogéneas de a_{0} se halla con cotas de complejidad admisible gracias a la cota de grado de a_{0} y posteriormente se genera aleatoriamente la (n − i)–upla γ que no anula A_{0} por medio del lema 20.

Desde el punto de vista algorítmico, el procedimiento que realiza el primer paso de la segunda etapa calcula en primer lugar el polinomio característico χ_{F_{i+1}}. A fin de evitar divisiones por elementos de ZZ[X_{1}, …, X_{n−i}], en lugar de utilizar el polinomio característico de la homotecia por F_{i+1}, se opera con el de la homotecia por (a^{D_{i}−1}ρ^{(i)})^{d}F_{i+1}, cuyo cálculo puede realizarse sin divisiones de la manera siguiente: si F_{i+1} = ∑_{k=0}^{d} F_{i+1}^{(k)} es la descomposición de F_{i+1} en componentes homogéneas con respecto a las variables X_{n−i+1}, …, X_{n} (cf. sección 2.1.5), entonces

\begin{matrix}(a^{D_{i}−1}ρ^{(i)})^{d}F_{i+1} = \\ = ∑_{k=1}^{d}(a^{D_{i}−1}ρ^{(i)})^{d−k}F_{i+1}^{(k)}(X_{1}, …, X_{n−i}, a^{D_{i}−1}ρ^{(i)}X_{n−i+1}, …, a^{D_{i}−1}ρ^{(i)}X_{n}) \end{matrix}

Luego, la matriz de la homotecia por (a^{D_{i}−1}ρ^{(i)})^{d}F_{i+1} en la base B de Q[V_{i}] formada por las potencias de u_{i}, B := {1, u_{i}, …, u_{i}^{D_{i}−1}}, es la siguiente:

\begin{matrix}M_{(a^{D_{i}−1}ρ^{(i)})^{d}F_{i+1}} = \\ ∑_{k=1}^{d}(a^{D_{i}−1}ρ^{(i)})^{d−k}F_{i+1}^{(k)}(X_{1}, …, X_{n−i}, a^{D_{i}−1}ρ^{(i)}M_{X_{n−i+1}}, …, a^{D_{i}−1}ρ^{(i)}M_{X_{n}}) \end{matrix}

Para calcular esta matriz, se escribe en primer lugar la matriz aM, siendo M ∈ Q[X_{1}, …, X_{n−i}]^{D_{i}×D_{i}} la matriz compañera de a^{−1}q_{i}, cuyas entradas pueden obtenerse directamente a partir de los coeficientes de a^{−1}q_{i}. Posteriormente, se hallan las matrices a^{D_{i}−1}ρ^{(i)}M_{X_{n−i+k}} de la manera siguiente: si V_{n−i+j}^{(i)}(X_{0}, T) es la homogeinización respecto de T de v_{n−i+j}^{(i)} con variable X_{0}, entonces se tiene la identidad:

a^{D_{i}−1}ρ^{(i)}M_{X_{n−i+k}} = ( ∏_{j≠k} ρ_{n−i+k}^{(i)})a^{D_{i}−1−gr(v_{n−i+j)}}V_{n−i+k}^{(i)}(a, aM)

la cual sugiere un esquema de cálculo que puede llevarse a cabo con talla O(iδ_{i}^{3}) y profundidad no escalar O( log(iδ_{i})). Por otro lado, los polinomios F_{i+1}^{(k)} se calculan por medio del circuito aritmético desarrollado en el lema 26 con talla O(Ld^{3}) y profundidad no escalar O(ℓ). Luego, la matriz M_{a^{D_{i}−1}(ρ^{(i)})^{d}F_{i+1}} se obtiene simplemente reemplazando en el circuito aritmético para la evaluación de F_{i+1}^{(0)}, …, F_{i+1}^{(d)} las variables X_{n−i+1}, …, X_{n} por las matrices a^{D_{i}−1}ρ^{(i)}M_{X_{n−i+1}}, …, a^{D_{i}−1}ρ^{(i)}M_{X_{n}} y realizando algunas multiplicaciones adicionales, lo cual conlleva O(Ld^{3}δ_{i}^{3}) operaciones aritméticas adicionales con profundidad no escalar O(ℓ + log(iδ_{i})).

Luego, se aplica el lema 7 a fin de calcular los coeficientes del polinomio característico de la homotecia por (a^{D_{i}−1}ρ^{(i)})^{d}F_{i+1} con talla O(δ_{i}^{4}) y profundidad no escalar O(log δ_{i}). Dado que M_{(a^{D_{i}−1}ρ^{(i)})^{d}F_{i+1}} = (a^{D_{i}−1}ρ^{(i)})^{d}M_{F_{i+1}}, se deduce que χ_{(a^{D_{i}−1}ρ^{(i)})^{d}F_{i+1}}((a^{D_{i}−1}ρ^{(i)})^{d}T) = (a^{D_{i}−1}ρ^{(i)})^{dD_{i}}χ_{F_{i+1}}(T), de donde se desprende que el coeficiente correspondiente al monomio T^{k} del polinomio χ_{(a^{D_{i}−1}ρ^{(i)})^{d}F_{i+1}}(T) tiene la forma (a^{D_{i}−1}ρ^{(i)})^{d(D_{i}−k)}b_{k}, siendo b_{k} el k–ésimo coeficiente de χ_{F_{i+1}}. Por lo tanto, multiplicando el k–ésimo coeficiente de χ_{(a^{D_{i}−1}ρ^{(i)})^{d}F_{i+1}} por (a^{D_{i}−1}ρ^{(i)})^{dk}, se obtienen los coeficientes del polinomio (a^{D_{i}−1}ρ^{(i)})^{dD_{i}}χ_{F_{i+1}}.

Finalmente, a fin de obtener los coeficientes del polinomio m_{F_{i+1}}, siguiendo el esquema de la sección 1.3.3 se calcula sin divisiones un polinomio θ ∈ R_{i} y una representación separable del polinomio (a^{D_{i}−1}ρ^{(i)})^{dD_{i}}χ_{F_{i+1}} respecto de T multiplicada por θ con O(δ_{i}^{4}) operaciones aritméticas y profundidad no escalar O(log δ_{i}).

En definitiva, siendo m_{F_{i+1}} := T^{D} + a_{D−1}T^{D−1} + ⋯ + a_{0}, se calculan sin divisiones los polinomios θ(a^{D_{i}−1}ρ^{(i)})^{dD_{i}}a_{k} ∈ R_{i} los cuales, divididos por θ(a^{D_{i}−1}ρ^{(i)})^{dD_{i}} dan los coeficientes a_{D}, …, a_{0} buscados. Aquí se aplica entonces la proposición 7 a fin de evitar divisiones, con lo cual se tiene una talla total de tipo Li(dδ_{i})^{O(1)} con profundidad no escalar O(ℓ + log(iδ_{i})).

En particular, se obtiene un circuito aritmético con parámetros enteros sin divisiones en Q[X_{1}, …, X_{n−i}] de talla Li(dδ_{i})^{O(1)} y profundidad no escalar O( log(iδ_{i}) + ℓ) que calcula el coeficiente constante a_{0} ∈ Q[X_{1}, …, X_{n−i}], de m_{F_{i+1}}.

Como gr(a_{0}) ≤ dδ_{i}, con Li(dδ_{i})^{O(1)} operaciones aritméticas en profundidad no escalar O( log(iδ_{i}) + ℓ) es posible calcular todas las componentes homogéneas del polinomio a_{0}. Del lema 20 se desprende que eligiendo aleatoriamente una (n − i)–upla γ cuyas coordenadas tengan talla binaria acotada por O( log(iδ_{i}) + ℓ), con probabilidad mayor que \frac{1}{2} se obtiene una tal que A_{0}(γ) ≠ 0. Esta (n − i)–upla es la que se utiliza para definir el cambio de variables que realiza la normalización de Noether respecto de V_{i+1}.

El siguiente paso en la segunda etapa consiste en obtener un punto de levantamiento P_{i+1} ∈ ZZ^{n−i−1}.

Para tal propósito, se considera el polinomio

J(F_{1} …, F_{i+1}) := det (\frac{∂F_{k}}{∂X_{j}} )_{{1≤k≤i+1 \atop n−i≤j≤n}}

el cual no es divisor de cero en Q[V_{i+1}], dado que el ideal (F_{1}, …, F_{i+1}) es radical.

Sea μ ∈ Q[X_{1}, …, X_{n−i−1}] el término constante del polinomio característico de la homotecia definida por J := J(F_{1} …, F_{i+1}) en Q[V_{i+1}]. Dado que J representa un elemento que no es divisor de cero en Q[V_{i+1}], se concluye que μ no es el polinomio nulo. La importancia de este polinomio μ radica en el hecho que, siendo π_{i+1} el morfismo de variedades algebraicas π_{i+1} : V_{i+1} ⟶ C^{n−i−1} que proyecta las primeras n − i coordenadas de los puntos de V_{i+1}, un punto de levantamiento P_{i+1} ∈ ZZ^{n−i+1} tiene fibra π_{i+1}^{−1}({P_{i+1}}) suave si y sólo si μ(P_{i+1}) ≠ 0: siendo u_{i+1} un elemento primitivo para Q[V_{P_{i+1}}], cada raíz del polinomio característico χ_{J} corresponde a la evaluación de J(F_{1} …, F_{i+1}) en un punto de Q[V_{P_{i+1}}]. Por lo tanto, una condición suficiente para que la evaluación de J(F_{1}, …, F_{i+1}) en cada punto de V_{P_{i+1}} resulte distinta de cero es que χ_{J} no contenga a cero entre sus raíces, siendo esta última afirmación equivalente a que el término constante de χ_{J}, es decir μ, verifique μ(P_{i+1}) ≠ 0.

Por otro lado, la suavidad de la fibra V_{P_{i+1}} asegura también que el cardinal de la misma es igual al rango de Q[V_{i+1}] como R_{i+1}–módulo: como Q[V_{i+1}] es un R_{i+1}–módulo libre de tipo finito (ver por ejemplo [83]) de rango D_{i+1}, se tiene que Q[V_{i+1}] es isomorfo como R_{i}–módulo a (R_{i+1})^{D_{i}}. Luego, para cualquier punto (p_{1}, …, p_{n−i−1}) ∈ Q^{n−i−1}, se tiene que Q[V_{i+1}]/(Y_{1} − p_{1}, …, Y_{n−i−1} − p_{n−i−1}) es un Q–espacio vectorial de dimensión finita isomorfo a (R_{i+1}/(Y_{1}−p_{1}, …, Y_{n−i−1}−p_{n−i−1}))^{D_{i}} ≃ Q^{D_{i}}, y por lo tanto, de dimensión D_{i}.

Ahora bien, si el punto P_{i+1} de coordenadas (p_{1}, …, p_{n−i−1}) tiene fibra suave, se tiene entonces que

Q[V_{i+1}]/(Y_{1} − p_{1}, …, Y_{n−i−1} − p_{n−i−1}) =

= Q[Y_{1}, …, Y_{n}]/(F_{1}, …, F_{i+1}, Y_{1} − p_{1}, …, Y_{n−i−1} − p_{n−i−1}) ≃

≃ Q[Y_{n−i}, …, Y_{n}]/(F_{1}(P_{i+1}, Y_{n−i}, …, Y_{n}), …, F_{i+1}(P_{i+1}, Y_{n−i}, …, Y_{n}))

Siendo P_{i+1} un punto de fibra suave, se tiene que μ(P_{i+1}) ≠ 0 de lo cual se deduce, gracias al criterio del jacobiano, que el anillo

Q[Y_{1}, …, Y_{n}]/(F_{1}, …, F_{i+1}, Y_{1} − p_{1}, …, Y_{n−i−1} − p_{n−i−1})

es reducido. En consecuencia, el ideal (F_{1}, …, F_{i+1}, Y_{1} − p_{1}, …, Y_{n−i−1} − p_{n−i−1}) es radical y define la variedad cero–dimensional V_{P_{i+1}}. Por lo tanto, el cardinal de la fibra V_{P_{i+1}} es igual a la dimensión del Q–espacio vectorial Q[Y_{1}, …, Y_{n}]/(F_{1}, …, F_{i+1}, Y_{1} − p_{1}, …, Y_{n−i−1} − p_{n−i−1}), y es entonces D_{i} como se había afirmado.

Se observa entonces que cualquier punto P_{i+1} ∈ ZZ^{n−i−1} que verifica μ(P_{i+1}) ≠ 0 cumple los requerimientos necesarios para ser un punto de levantamiento para V_{i+1}. Luego, un tal punto puede conseguirse aplicando el lema 20, para lo cual es preciso estimar la complejidad aritmética de la evaluación del polinomio μ. Obsérvese que μ es el coeficiente de un polinomio característico de una homotecia en Q[V_{i+1}], cuyo tensor de multiplicación todavía no ha sido calculado.

El esquema que se aplicará en la resolución de esta cuestión se utilizará reiteradamente en lo que sigue. Si bien no se tiene el polinomio característico de la homotecia por J(F_{1}, …, F_{i+1}) en Q[V_{i+1}], es posible calcular sin divisiones los coeficientes del polinomio característico de la homotecia por este mismo polinomio en Q[V_{i}] con las mismas ideas con que se ha calculado el polinomio característico χ_{F_{i+1}} (para estimar la complejidad de este proceso es importante observar que gr J(F_{1}, …, F_{i+1}) ≤ (d − 1)(i + 1)). La idea es “eliminar” la variable Y_{n−i} de χ_{J}, para lo cual se utiliza la relación de dependencia a_{0}(Y_{1}, …, Y_{n−i}) que verifican las variables Y_{1}, …, Y_{n−i} en V_{i+1}.

En primer lugar, los coeficientes de a_{0}(Y_{1}, …, Y_{n−i}) respecto de su escritura en la variable Y_{n−i} puede conseguirse siguiendo el esquema de la sección 2.1.5. A partir de estos coeficientes se escribe la matriz compañera M_{Y_{n−i}} del polinomio a_{0}(Y_{1}, …, Y_{n−i}) (como polinomio en Y_{n−i}) y se calcula la matriz M_{J} := χ_{J}(Y_{1}, …, Y_{n−i+1}, M_{Y_{n−i}}, T). Se afirma que el determinante det(M_{J}) de la matriz M_{J} es una ecuación que anula a J(F_{1}, …, F_{i+1}) en Q[V_{i+1}]: de su definición, se tiene que el polinomio χ_{J} ∈ Q[Y_{1}, …, Y_{n−i}][T] verifica χ_{J}(J(F_{1}, …, F_{i+1})) ≡ 0 módulo (F_{1}, …, F_{i}). Para eliminar la variable Y_{n−i} de esta ecuación, se calcula el polinomio det(M_{J}) ∈ Q[Y_{1}, …, Y_{n−i−1}][T]. Este polinomio satisface que det(M_{J})(T) ≡ 0 módulo el ideal generado por a_{0}: la matriz M_{J} describe la homotecia por χ_{J} en Q(Y_{1}, …, Y_{n−i+1}, T)[Y_{n−i}]/(a_{0}) en la base natural formada por las potencias de Y_{n−i}. Si se aplica esta homotecia al polinomio cuyas coordenadas son las de la primer columna de la matriz adjunta de M_{J} se obtienen las coordenadas de un múltiplo de χ_{J} módulo a_{0}. De la definición de Adj(M_{J}) se deduce que estas coordenadas son nulas salvo por la coordenada correspondiente al término de grado cero en Y_{n−i}, la cual da el polinomio det(M_{J}). Por lo tanto, este polinomio es un múltiplo de χ_{J} módulo (a_{0}) que tiene grado cero en Y_{n−i}. Se deduce entonces que

det(M_{J})(Y_{1}, …, Y_{n−i−1}, J(F_{1}, …, F_{i+1})) ∈ (F_{1}, …, F_{i}, a_{0}) ⊆ (F_{1}, …, F_{i+1})

y es, por tanto, una ecuación que anula J en V_{i+1}. En particular, el coeficiente constante μ̃ (respecto de T) de esta ecuación es múltiplo del polinomio μ y por lo tanto la condición μ(P_{i+1}) ≠ 0 puede reemplazarse por μ̃(P_{i+1}) ≠ 0.

El proceso descripto opera con la solución geométrica de V_{i}, que sólo tiene validez en un abierto Zariski de C^{n} (el definido por ρ^{(i)} ≠ 0). Esto podría introducir divisiones por cero en pasos posteriores del algoritmo que deben evitarse. Este inconveniente se soluciona si se impone la condición adicional que el punto P_{i+1} a hallar no anule el polinomio ρ^{(i)}.

A fin de estimar la complejidad aritmética del polinomio μ̃ · ρ^{(i)}, se observa que en primer lugar que el polinomio J(F_{1}, …, F_{i+1}) puede evaluarse mediante un circuito aritmético sin divisiones de talla ((i + 1)^{5} + L) y profundidad no escalar O(log i + ℓ), combinando los lemas 7 y 25. Además, J(F_{1}, …, F_{i+1}) tiene grado acotado por (i + 1)(d − 1).

Luego, mediante consideraciones similares a las realizadas para el cálculo del polinomio minimal de F_{i+1} se obtiene un circuito aritmético sin divisiones en Q[X_{1}, …, X_{n−i−1}] que calcula μ̃ con talla L(idδ_{i})^{O(1)} y profundidad no escalar O(ℓ + log iδ_{i}), y esto mismo es cierto para el producto ρ^{(i)} · μ̃.

Aplicando el lema 20, se generan aleatoriamente números enteros p_{1}, …, p_{n−i−1} de altura logarítmica O(ℓ + log n + log iδ_{i}) tales que el punto P_{i+1} := (p_{1}, …, p_{n−i−1}) ∈ ZZ^{n−i−1} satisface la condición (ρ · μ̃)(P_{i+1}) ≠ 0 con probabilidad mayor que \frac{1}{2}. Claramente, P_{i+1} resulta un punto de levantamiento para la variedad V_{i+1}.

La segunda etapa se completa con el cálculo de una solución geométrica de V_{P_{i+1}}. Para esto, se generarán las entradas necesarias para la aplicación de los lemas 29 y 30. En la demostración del lema 29 se calcula un polinomio F (T_{n−i}, …, T_{n}) de talla O(iδ_{i}^{O(1)}) y profundidad no escalar O( log(iδ_{i})) con la propiedad siguiente: cualquier vector de coeficientes (λ_{n−i}, …, λ_{n}) ∈ ZZ^{i+1} que verifica la condición F (λ_{n−i}, …, λ_{n}) ≠ 0 define una forma lineal U_{i+1} := λ_{n−i}Y_{n−i} + ⋯ + λ_{n}Y_{n} que induce un elemento primitivo u_{i+1} de V_{P_{i+1}}. Por lo tanto, aplicando el lema 20 se obtienen los coeficientes (λ_{n−i}, …, λ_{n}) de U_{i+1} buscados.

Luego se utiliza el lema 30, a fin de calcular la solución geométrica de V_{P_{i+1}} asociada al elemento primitivo u_{i+1}.

Resta entonces resolver la cuestión de generar las entradas necesarias para la aplicación de los lemas 29 y 30. Especializando (Y_{1}, …, Y_{n−i−1}) en P_{i+1} en los polinomios obtenidos como resultado de la aplicación del método de Newton–Hensel (primera etapa) y el polinomio a_{0}(Y_{1}, …, Y_{n−i}) resultante de la normalización de Noether respecto de V_{i+1} (primera parte de la segunda etapa), se tienen los siguientes ítems:

• Para cada j = n − i + 1, …, n, un polinomio g_{j} ∈ ZZ[Y_{n−i}][T] tal que g_{j}(Y_{j}) pertenece a I^{(P_{i+1})}, donde I^{(P_{i+1})} es el ideal definido por los polinomios F_{1}(P_{i+1}, Y_{n−i}, …, Y_{n}), …, F_{i+1}(P_{i+1}, Y_{n−i}, …, Y_{n}).

• Para cada j = n − i + 1, …, n, un polinomio

h_{j} ∈ ZZ[T_{n−i+1}, …, T_{n}, Y_{n−i}, …, Y_{n}][T] tal que h_{j}(T_{n−i+1}Y_{n−i+1} + ⋯ + T̂_{j}X_{j} + ⋯ T_{n}Y_{n}) pertenece al ideal I^{(P_{i+1})} ⊗ Q(T_{n−i+1}, …, T_{n}).

• Un polinomio h_{n−i} ∈ ZZ[T_{n−i+1}, …, T_{n}, Y_{n−i}, …, Y_{n}][T] tal que

h_{j}(T_{n−i+1}Y_{n−i+1}+⋯ T_{n}Y_{n}) pertenece al ideal I^{(P_{i+1})}⊗Q(T_{n−i+1}, …, T_{n}).

• Un polinomio A_{0} ∈ ZZ[T] tal que A_{0}(Y_{n−i}) pertenece a I^{(P_{i+1})}.

A fin de calcular los polinomios minimales de las variables Y_{n−i}, …, Y_{n} en Q[V_{P_{i+1}}], se realiza un proceso similar al aplicado para hallar una ecuación para J(F_{1}, …, F_{i+1}) en V_{P_{i+1}}, utilizando el polinomio A_{0} como forma “eliminante” de la variable Y_{n−i}. Así, operando con A_{0} y g_{j} se obtiene un polinomio G_{j}ZZ[T] tal que G_{j}(X_{j}) ∈ I^{(P_{i+1})} para j = n − i + 1, …, n. La representación separable de los polinomios obtenidos de esta manera y A_{0} da un múltiplo entero del polinomio minimal de las variables X_{n−i}, …, X_{n} que se quieren hallar. De la misma forma se calcula el polinomio minimal de T_{n−i+1}Y_{n−i+1} + ⋯ + T_{n}Y_{n} a partir de h_{n−i} y A_{0}.

Finalmente, los polinomios minimales en Q[V_{P_{i+1}}] ⊗ Q(T_{n−i}, …, T_{n}) de las formas T_{n−i}Y_{n−i} + ⋯ + T̂_{j}Y_{j} + ⋯ + T_{n}Y_{n} para j = n − i + 2, …, n se calculan por medio del lema 28 aplicado a los polinomios h_{j} y a_{0}, utilizando el elemento primitivo T_{n−i}Y_{n−i} + ⋯ + T_{n}Y_{n}.

Podría ocurrir que la altura de los coeficientes de estos polinomios minimales fuera excesiva. En tal caso, dividiendo por sus contenidos se los hace primitivos, lo cual requiere cálculos de máximo común divisor entero que no modifican el comportamiento asintótico de la complejidad del algoritmo.

De las estimaciones de complejidad de los lemas 28 y 30 se concluye que este proceso puede realizarse con talla L(idδ_{i})^{O(1)} y profundidad no escalar O(ℓ + log iδ_{i}). Por lo tanto, el i–ésimo paso recursivo se realiza mediante un circuito aritmético de talla total L(idδ_{i})^{O(1)} y profundidad no escalar O( log δ_{i}(ℓ + log i)). □

Habiendo descripto el circuito que realiza el i–ésimo paso recursivo del algoritmo, es posible enunciar el resultado principal de esta sección:

Teorema 11 Sea F := {F_{(n,L,ℓ,d,h,δ,η)}} una familia de subconjuntos finitos de polinomios con las siguientes propiedades:

• F_{(n,L,ℓ,d,h,δ,η)} := {F_{1}, …, F_{n}} ⊆ ZZ[X_{1}, …, X_{n}]

• d = max{gr(F_{i}) : 1 ≤ i ≤ n} es el máximo grado total de los polinomios F_{1}, …, F_{n}.

• δ = max{gr(V (F_{1}, …, F_{i})) : 1 ≤ i ≤ n} es el grado geométrico del sistema definido por F_{1}, …, F_{n}.

• η := max{ht_{V (F_{1},...,F_{i})}(c((log n + ℓ) log δ) : 1 ≤ i ≤ n} es la altura geométrica del sistema definido por F_{1}, …, F_{n}, donde c > 0 es una constante universal que no depende del input F_{1}, …, F_{n} considerado (ni de su tamaño).

• Los polinomios F_{1}, …, F_{n} están dados mediante un circuito aritmético Γ_{(n,L,ℓ,d,h,δ,η)} de talla L y profundidad no escalar ℓ, que utiliza parámetros enteros de talla h.

• La familia de circuitos {Γ_{(n,L,ℓ,d,h,δ,η)}} es uniforme en espacio log(nLh).

• F_{1}, …, F_{n} definen una sucesión regular en Q[X_{1}, …, X_{n}]

• para todo i = 1, …, n, el ideal (F_{1}, …, F_{i}) es un ideal radical de Q[X_{1}, …, X_{n}]

Sea V := V_{(n,L,ℓ,d,h,δ,η)} ⊂ C^{n} la variedad algebraica intersección completa de dimensión cero definida por F_{(n,L,ℓ,d,h,δ,η)}. Entonces existe una máquina de Turing probabilística de error acotado que calcula una forma lineal U que representa un elemento primitivo u para V y la solución geométrica asociada al elemento primitivo u en espacio O(n log(nδ)(ℓ + log(ηnhδ))) y tiempo L(ℓndhδ)^{O(n log δ+ℓ)}.

Demostración. La idea es utilizar el circuito descripto en la proposición 8, para luego aplicar el teorema 1. Este circuito contiene entradas que se determinan aleatoriamente, las cuales se generan en el momento necesario y se alojan en memoria.

Por tal motivo, es necesario “expandir” el circuito de la proposición 8 a un circuito booleano y demostrar la uniformidad del mismo.

La estimación de la profundidad no escalar del subcircuito que realiza i– ésimo paso recursivo permite deducir que el circuito global opera con números enteros cuya altura logarítmica está acotada por O(nhηδ2^{ℓ})). Asimismo, todas las matrices que se utilizan tienen tamaño de tipo nδ^{O(1)}. Por lo tanto, el álgebra lineal puede llevarse a cabo con profundidad (booleana) máxima de tipo O( log(nδ) log (nδ(nhηδ2^{ℓ}))). Dado que el algoritmo funciona en n etapas recursivas, es necesario componer n máquinas de Turing, lo cual puede realizarse en el espacio correspondiente a la suma de las mismas y tiempo correspondiente al producto del tiempo que utiliza cada una (lema 2).

La uniformidad de las familias de circuitos consideradas depende fundamentalmente de la uniformidad del circuito que evalúa F_{1}, …, F_{n} y del álgebra lineal. Las cotas para el tamaño del álgebra lineal considerada y la longitud binaria de los números enteros involucrados permiten concluir que el código del circuito puede generarse en espacio de tipo O( log(Lnhℓηδ)).

Aplicando el teorema 1 se deducen las cotas de espacio y tiempo enunciadas. □

Cabe destacar que el aporte novedoso introducido en esta tesis con referencia a los resultados demostrados en la proposición 8 y el teorema 11 se circunscribe exclusivamente a los aspectos de espacio y uniformidad de los algoritmos considerados.

Obsérvese que en el peor caso (es decir, cuando el grado geométrico δ del sistema es de la misma magnitud que el número de Bézout gr(F_{1}) ⋯ gr(F_{n}) ≤ d^{n}), el espacio (y por ende el tiempo) utilizado puede mejorarse a cantidades de tipo n^{2} log(hLℓδη), aplicando las técnicas basadas en deformaciones homotópicas del sistema descriptas en 1.4.4. Desafortunadamente estas técnicas tienen la desventaja de no distinguir los sistemas bien condicionados de los mal condicionados, por lo que la complejidad de la resolución de cualquier sistema cuyas ecuaciones tienen grado y cantidad de variables prefijados corresponde a la del peor caso y queda en función de parámetros “sintácticos” (como la regularidad de la función de Hilbert de cierto ideal o el número de Bezout) que no tienen relación con la geometría del conjunto de soluciones.

Por otro lado, el control del tamaño del álgebra lineal involucrada que se realiza en el algoritmo que se ha descripto es una puerta abierta a la posibilidad de mejoras la complejidad espacio–tiempo de la resolución de sistemas de ecuaciones polinomiales: una mayor eficiencia (en el sentido de tradeoff espacio–tiempo) para la resolución de problemas de álgebra lineal tendría consecuencias inmediatas importantes sobre la complejidad espacio– tiempo del algoritmo descripto.

2.2 La división módulo un ideal intersección completa reducido

En esta sección se trata un problema crucial para las aplicaciones que involucran cuestiones de representación: el problema del calcular el cociente de una división en un anillo que es intersección completa reducido.

El ingrediente principal para el teorema de división es una técnica de dualidad basada en la existencia de trazas para álgebras de Gorenstein.

2.2.1 Traza y dualidad

Fórmulas de traza aparecen en varios trabajos recientes que tratan problemas algorítmicos en teoría de eliminación. En algunos de estos trabajos se utilizan fórmulas de traza a fin de calcular un cociente como el resultado de la división de dos polinomios dados módulo un ideal intersección completa (ver [68], [114]). En otros trabajos se usan fórmulas de traza o de residuos para diseñar algoritmos para la resolución geométrica o algebraica de álgebras de Gorenstein cero–dimensionales dadas por ideales intersección completa ([4], [12], [43], [44], [57], [58]). En [155] se aplica una fórmula de traza para obtener una cota superior para los grados en el Nullstellensatz (ver también [15], [16],

[17] por aspectos aritméticos).

Sin embargo, todas estas aplicaciones de fórmulas de traza requieren el uso de una familia de monomios de grado acotado que genera el álgebra de Gorenstein como un espacio vectorial sobre un cuerpo adecuado. En consecuencia, tales fórmulas no proveen cotas de complejidad intrínseca. En esta sección, siguiendo el desarrollo realizado en [78], se utiliza una fórmula de traza alternativa que permite obtener cotas de complejidad polinomiales para álgebras de Gorenstein geométricamente bien condicionadas.

Se comienza recordando los hechos básicos de teoría de traza que se necesitan. Para sus demostraciones se refiere al lector a [116], Apéndices E y F.

Teoría general de traza

Sea R un anillo de polinomios sobre Q. Sea K el cuerpo de cocientes de R y R[X_{1}, …, X_{n}] el anillo de polinomios en n variables con coeficientes en R. Sea F_{1}, …, F_{n} una sucesión regular suave de polinomios en R[X_{1}, …, X_{n}] de grado en las variables X_{1}, …, X_{n} acotado por d, que genera un ideal radical (F_{1}, …, F_{n}).

Se considera R–álgebra B dada como el cociente de R[X_{1}, …, X_{n}] por este ideal:

B := R[X_{1}, …, X_{n}]/(F_{1}, …, F_{n})

Se supone además que la extensión de anillos entera R → B representa una normalización de Noether de la variedad V (F_{1}, …, F_{n}) definida por los polinomios F_{1}, …, F_{n} en un espacio afín adecuado. Por lo tanto, B es un R–módulo libre de rango acotado por el grado de la variedad V (F_{1}, …, F_{n}). Mas aún, la R–álgebra B es Gorenstein y los siguientes enunciados se basan en este hecho.

Se considera B^{∗} := Hom_{R}(B, R) con la estructura de B–módulo definida a partir del producto escalar

B × B^{∗} ⟶ B^{∗}

que asocia a cada (b, τ) en B × B^{∗} el morfismo R–lineal b · τ : B ⟶ R definido por (b · τ)(x) := τ(bx) para cada elemento x de B.

Dado que la R–álgebra B es Gorenstein, su dual B^{∗} es un B-módulo libre de rango 1. Cada elemento σ de B^{∗} que genera B^{∗} como B-módulo se dice una traza de B. Existen dos elementos relevantes de B^{∗} que se denotan por Tr y σ. El primero, Tr, se llama la traza estándar de B y se define de la siguiente manera: dado b ∈ B, sea η_{b} : B ⟶ B la homotecia por b. La imagen Tr(b) por Tr se define como la traza ordinaria del endomorfismo η_{b} de B (nótese que esta definición tiene sentido ya que B es un R–módulo libre).

Para introducir σ (que será llamado una traza de B), se necesitan algunas notaciones adicionales. Para cualquier elemento G ∈ R[X_{1}, …, X_{n}] se denota por Ḡ su imagen en B, es decir la clase residual de G módulo el ideal (F_{1}, …, F_{n}). Sean Y_{1}, …, Y_{n} nuevas variables e Y := (Y_{1}, …, Y_{n}). Sea 1 ≤ j ≤ n y F_{j}^{(Y)} := F_{j}(Y_{1}, …, Y_{n}) el polinomio de R[Y_{1}, …, Y_{n}] obtenido sustituyendo en F_{j} las variables X_{1}, …, X_{n} por Y_{1}, …, Y_{n}. Se considera el polinomio

F_{j}^{(Y)} − F_{j} = ∑_{k=1}^{n} l_{jk}(Y_{k} − X_{k}) ∈ R[X_{1}, …, X_{n}, Y_{1}, …, Y_{n}]

donde los l_{jk} son polinomios que pertenecen a R[X_{1}, …, X_{n}, Y_{1}, …, Y_{n}] de grado total acotado por (d − 1) (obsérvese que los l_{jk} no están unívocamente determinados por la sucesión F_{1}, …, F_{n}). Se considera ahora el determinante Δ de la matriz (l_{jk})_{1≤j,k≤n} el cual puede escribirse en la forma

Δ = ∑_{m} a_{m}(X_{1}, …, X_{n})b_{m}(Y_{1}, …, Y_{n}) ∈ R[X_{1}, …, X_{n}, Y_{1}, …, Y_{n}],

siendo los a_{m} elementos de R[X_{1}, …, X_{n}] y los b_{m} elementos of R[Y_{1}, …, Y_{n}]. (cabe destacar que no será necesario hallar los polinomios a_{m} y b_{m}, sólo es necesaria su existencia para la argumentación). El polinomio Δ se llama el determinante seudo-jacobiano de la sucesión regular F_{1}, …, F_{n}. Obsérvese que los polinomios a_{m} y b_{m} pueden elegirse con grados acotados por n(d − 1) en las variables X_{1}, …, X_{n} e Y_{1}, …, Y_{n} respectivamente.

Sea c_{m} ∈ R[X_{1}, …, X_{n}] el polinomio que se obtiene sustituyendo las variables Y_{1}, …, Y_{n} por X_{1}, …, X_{n} en b_{m}. Si J̄ es la clase del determinante jacobiano J(F_{1}, …, F_{n}) en B se tiene la siguiente identidad

J̄ = ∑_{m} ā_{m} · c̄_{m}

Mas aún, la imagen del polinomio Δ en el anillo de clases de residuos R[X_{1}, …, X_{n}, Y_{1}, …, Y_{n}] módulo el ideal (F_{1}, …, F_{n}, F_{1}^{(Y)}, …, F_{n}^{(Y)}) es independiente de la elección particular de la matriz (l_{kj})_{1≤k,j≤n}. Esto justifica el nombre “seudo-jacobiano” para el polinomio Δ. Con estas notaciones existe una única traza σ ∈ B^{∗} tal que la siguiente identidad vale en B:

¯1 = ∑_{m} σ(ā_{m}) · c̄_{m}

La principal propiedad de la traza σ, conocida como la “fórmula de traza” (“fórmula de traza de Tate” [116, Appendix F], siendo [100] un caso especial de la misma) es el siguiente enunciado: para cada G ∈ R[X_{1}, …, X_{n}] se verifica la siguiente identidad en B:

Ḡ = ∑_{m} σ(Ḡ · ā_{m}) · c̄_{m}  (2.15)

Obsérvese que el polinomio ∑_{m} σ(Ḡ · ā_{m}) · c_{m} ∈ R[X_{1}, …, X_{n}] de la identidad (2.15) tiene grado en las variables X_{1}, …, X_{n} acotado por n(d−1).

Esta fórmula de traza se utilizará para resolver el problema del “levantamiento” de una clase residual: dado un polinomio G ∈ R[X_{1}, …, X_{n}] de grado arbitrario en X_{1}, …, X_{n}, se quiere hallar un polinomio G_{1} ∈ R[X_{1}, …, X_{n}] de grado en las variables X_{1}, …, X_{n} acotado por n(d − 1), tal que vale Ḡ_{1} = Ḡ en B.

Como ya se ha visto, la fórmula de traza (2.15) resuelve este problema dado que se puede elegir para G_{1} el polinomio

G_{1} := ∑_{m} σ(Ḡ · ā_{m}) · c_{m}.  (2.16)

Sin embargo, la definición del polinomio G_{1} mediante la fórmula (2.16) tiene la desventaja que es necesario calcular los polinomios a_{m} y c_{m}, para lo cual hay que operar con todos los monomios de grado acotado por n(d − 1). En consecuencia, se reemplazará la fórmula (2.15) por medio de la siguiente alternativa:

Proposición 9 ([78], Proposition 31; [131]) Con las notaciones anteriores, se considera el R[X_{1}, …, X_{n}]–módulo libre B[X_{1}, …, X_{n}] y el polinomio Δ_{1} ∈ R[X_{1}, …, X_{n}] definido por:

Δ_{1} := ∑_{m} ā_{m} · c_{m} ∈ B[X_{1}, …, X_{n}]

Entonces, para cada G ∈ R[X_{1}, …, X_{n}] se satisface la siguiente identidad en R[X_{1}, …, X_{n}]:

∑_{m} σ(Ḡ · ā_{m}) · c_{m} = T̃r(J̄^{−1}Ḡ · Δ_{1})

(donde T̃r := Tr ⊗Id_{R[X_{1},...,X_{n}]} : B[X_{1}, …, X_{n}] ⟶ R[X_{1}, …, X_{n}] es la traza estándar que se obtiene a partir de la traza estándar Tr : B ⟶ R por extensión de escalares).

Claramente se ve que, para H ∈ R[X_{1}, …, X_{n}, Y_{1}, …, Y_{n}], T̃r(H̄) es la traza estándar de la imagen H̄ de H en el R[Y_{1}, …, Y_{n}]–módulo B[Y_{1}, …, Y_{n}]. Esta observación en conjunto con la proposición 9 representa la herramienta básica para la evaluación de la fórmula (2.16) y por lo tanto para la solución del problema del cálculo de una clase residual. Este es el contenido de las siguientes observaciones.

Sea B′ = K ⊗_{R} B la K–álgebra obtenida localizando B en los elementos no nulos de R. Dada una base fija del K–espacio vectorial de dimensión finita B′, sean M_{X_{1}}, …, M_{X_{n}} las matrices de las homotecias η_{X_{i}} : B′ ⟶ B′ con respecto a la base dada de B′ y sea Tr la función que asocia a la matriz dada su traza usual. Con estas convenciones, el polinomio G_{1} de 2.16 se puede hallar de la siguiente manera:

G_{1} = Tr(J(F_{1}, …, F_{n})(M_{X_{1}}, …, M_{X_{n}})^{−1} · G(M_{X_{1}}, …, M_{X_{n}}) ·
·Δ(M_{X_{1}}, …, M_{X_{n}}, X_{1}, …, X_{n}))  (2.17)

Se ve entonces que G_{1} pertenece a R[X_{1}, …, X_{n}] y que se satisface la igualdad Ḡ_{1} = Ḡ en B.

2.2.2 Un paso de división

El proceso de levantamiento descripto en la subsección anterior se utilizará a fin de calcular el cociente de dos polinomios módulo un ideal intersección completa reducida. Mas precisamente, sea F ∈ R[X_{1}, …, X_{n}] un polinomio que no es divisor de cero en B y G ∈ R[X_{1}, …, X_{n}] un polinomio tal que la clase residual F̄ divide a la clase residual Ḡ en B. En la siguiente proposición se demuestra como se puede calcular un cociente de levantamiento Q ∈ R[X_{1}, …, X_{n}] para la división de Ḡ por F̄ en B.

Proposición 10 (Paso de división) ([78], [131]) Con las notaciones y suposiciones de la subsección previa, sea D el rango de B como R–módulo libre. Sean dados los siguientes ítems como entrada:

• un circuito aritmético Γ′ de talla L y profundidad no escalar ℓ que evalúa los polinomios F, G, F_{1}, …, F_{n}, y

• las matrices M_{X_{1}}, …, M_{X_{n}} que describen el tensor de multiplicación de B con respecto a la base dada de B′ = K ⊗_{R} B.

Supóngase que F̄ no es un divisor de cero de B̄ y que F̄ divide Ḡ en B. Entonces, existe un circuito aritmético Γ sin divisiones en K[X_{1}, …, X_{n}] de talla L(nD)^{O(1)} y profundidad no escalar O(ℓ + log_{2}D + log_{2}n) que calcula, a partir de las entradas de las matrices M_{X_{1}}, …, M_{X_{n}} y los parámetros de Γ′ un elemento no nulo θ de R, y un polinomio Q de R[X_{1}, …, X_{n}] tal que θ divide Q en R[X_{1}, …, X_{n}] y tal que se satisface la identidad Q̄F̄ = θ̄Ḡ en B.

Demostración. Obsérvese en primer lugar que cualquier base de B como R–módulo libre induce una base de B[Y_{1}, …, Y_{n}] como R[Y_{1}, …, Y_{n}]–módulo libre. Mas aún, si M_{X_{i}} es la matriz que representa la homotecia por X̄_{i} en B con respecto a la base dada, M_{X_{i}} representa también la homotecia por X̄_{i} en B[Y_{1}, …, Y_{n}] con respecto a la misma base. Además, dado que los polinomios F y J(F_{1}, …, F_{n}) no son divisores de cero módulo (F_{1}, …, F_{n}), las siguientes matrices son no singulares:

F := F (M_{X_{1}}, …, M_{X_{n}})
J_{1} := J(F_{1}, …, F_{n})(M_{X_{1}}, …, M_{X_{n}})

Finalmente, se nota por G_{1} y Δ_{1} las siguientes matrices:

G_{1} := G(M_{X_{1}}, …, M_{X_{n}})
Δ_{1} := Δ(M_{X_{1}}, …, M_{X_{n}}, X_{1}, …, X_{n})

donde Δ es el determinante seudo–jacobiano de F_{1}, …, F_{n}. Obsérvese que las matrices F, J_{1} y G_{1} tienen entradas en K mientras que Δ_{1} tiene entradas en K[Y_{1}, …, Y_{n}]. A partir de la fórmula (2.17) de la sección anterior se deduce que Q_{1} := Tr(J_{1}^{−1} · F^{−1} · G_{1} · Δ_{1}(X_{1}, …, X_{n})) es un polinomio de R[X_{1}, …, X_{n}] que satisface en B la identidad Q̄_{1}F̄ = Ḡ en B (donde Tr denota ahora la traza usual de matrices).

Por último, se traspone la matriz adjunta de F y J_{1}:

F̃ := ^{t}Adj(F), and J_{2} := ^{t}Adj(J_{1})

El cociente Q ∈ R[X_{1}, …, X_{n}] y la constante no nula θ ∈ R que se buscan están dadas por:

• Q := Tr(F̃ · J_{2} · G_{1} · Δ_{1})

• θ := det(F̃) · det(J_{2})

Claramente, el polinomio Q_{1} es el cociente de \frac{Q}{θ}, y además Q̄F̄ = θ̄Ḡ se satisface en B. Mas aún, Q puede calcularse por medio de un circuito aritmético Γ sin divisiones en K[X_{1}, …, X_{n}] a partir de las entradas de M_{X_{1}}, …, M_{X_{n}} y los parámetros de Γ′ (nótese que para el cálculo de Q_{1} se necesitan divisiones). La cota de complejidad en el enunciado de la proposición sigue de la reconstrucción del circuito aritmético que evalúa F, G, J(F_{1}, …, F_{n}), Δ y los determinantes involucrados. □

2.3 Aplicaciones a la eliminación

En esta sección se aplican las técnicas desarrolladas a problemas de eliminación. Se estudiarán el problema de la consistencia de un sistema de ecuaciones polinomiales y la identidad de Bézout en caso que el sistema no posee soluciones comunes, la pertenencia de un polinomio y su representación en el caso de ideales intersección completa, se calculará el grado de una variedad algebraica y finalmente se dará una versión algorítmica del teorema de Quillen–Suslin.

2.3.1 El problema de la consistencia y la representación

Sean F_{1}, …, F_{t+1} polinomios en ZZ[X_{1}, …, X_{n}], siendo t ≤ n, tales que F_{1}, …, F_{t} forman una sucesión regular en Q[X_{1}, …, X_{n}] y los ideales generados por F_{1}, …, F_{i} sobre Q[X_{1}, …, X_{n}] son radicales para i = 1, …, t (de la sección 2.1.1 se deduce que pueden suponerse tales hipótesis). Supóngase además que los polinomios F_{1}, …, F_{t+1} tienen grado acotado por d, coeficientes de talla binaria no mayor que h y se evalúan por medio de un circuito aritmético de talla L y profundidad no escalar ℓ, cuya codificación puede generarse en espacio determinístico de tipo O(ℓLh). Sean finalmente δ y η el grado geométrico y la altura geométrica del sistema definido por F_{1}, …, F_{t}.

El problema a tratar es el siguiente:

1. Decidir si el sistema definido por F_{1}, …, F_{t+1} es consistente, es decir, si la variedad algebraica V (F_{1}, …, F_{t+1}) constituída por los ceros comunes de F_{1}, …, F_{t+1} en C^{n} es vacía.

2. En caso de respuesta afirmativa en 1, hallar una identidad de Bézout:

1 = P_{1}F_{1} + ⋯ + P_{t+1}F_{t+1}

donde los polinomios P_{1}, …, P_{t+1} pertenecen a Q[X_{1}, …, X_{n}].

A efectos de resolver ambas cuestiones, supóngase calculada una solución geométrica de la variedad V_{t} := V (F_{1}, …, F_{t}) (lo cual implica que se ha calculado una solución geométrica para las variedades V_{i} := V (F_{1}, …, F_{i}) para i = 1, …, t − 1, que se supone alojada en memoria).

Sean X_{1}, …, X_{n−t} las variables libres respecto de V_{t} y M_{X_{n−t+1}}^{(t)}, …, M_{X_{n}}^{(t)} las matrices que describen el tensor de multiplicación en Q[X_{1}, …, X_{n}]/(F_{1}, …, F_{t}) con respecto a la base definida por el elemento primitivo u_{t} que resulta de la solución geométrica de V_{t}. Se define la matriz M_{F_{t+1}} por:

M_{F_{t+1}} = F_{t+1}(X_{1}, …, X_{n−t}, M_{X_{n−t+1}}^{(t)}, …, M_{X_{n}}^{(t)})

Entonces, se tiene que la siguiente observación: V (F_{1}, …, F_{t+1}) es vacía si y sólo si det(M_{F_{t+1}}) ∈ Q \ {0}.

En primer lugar se supone que V (F_{1}, …, F_{t+1}) es vacía. Dado que las variables X_{1}, …, X_{n} están en posición de Noether con respecto a a F_{1}, …, F_{t}, se deduce que estos polinomios, considerados en Q(X_{1}, …, X_{n−t})[X_{n−t+1}, …, X_{n}], definen una variedad cero–dimensional V_{t} = \{η^{(1)}, …, η^{(δ)}\} en \overline{Q(X_{1}, …, X_{n−t})}^{t}.

Con respecto a una base adecuada de Q[X_{1}, …, X_{n}]/(F_{1}, …, F_{t}), la matriz M_{F_{t+1}} toma la forma:

( \begin{matrix}F_{t+1}(η^{(1)}) \\ & F_{t+1}(η^{(2)}) \\ & & . & . & . \\ & & & & & F_{t+1}(η^{(δ)}) \end{matrix} )

Por lo tanto det(M_{F_{t+1}}) = ∏_{k=1}^{δ} F_{t+1}(η^{(k)}). Si det(M_{F_{t+1}}) ∉ Q\{0}, existe un punto α := (α_{1}, …, α_{n−t}) ∈ C^{n−t} tal que det(M_{F_{t+1}})(α_{1}, …, α_{n−t}) está definido y es igual a 0.

Dado que el morfismo π : V_{t} → C^{n−t} definido por π(x_{1}, …, x_{n}) = (x_{1}, …, x_{n−t}) es finito de rango δ, la fibra de α tiene a lo sumo δ puntos η^{(1,α)}, …, η^{(δ,alpha)}.

Considérese ahora un elemento ũ_{t} de modo tal que la solución geométrica asociada al mismo está definida en α. Dado que esta solución geométrica describe ahora la π–fibra de α se deduce que la matriz M̃_{F_{i+1}} que representa la homotecia por F_{i+1} en la base inducida por la potencias de ũ_{t} verifica la siguiente identidad:

det(M̃_{F_{t+1}})(α) = ∏_{k=1}^{δ} F_{t+1}(η^{(k,α)})

Debido a la invariancia de det(M_{F_{i+1}}) por cambios de base, se tiene que

det(M_{F_{t+1}}) = det(M̃_{F_{t+1}})

En consecuencia, como det(M_{F_{t+1}})(α) = det(M̃_{F_{t+1}}) = 0 existe 1 ≤ k ≤ δ tal que F_{t+1}(η^{(k,α)}) = 0. Este punto η^{(k,α)} es un cero común de F_{1}, …, F_{t+1} contrariamente a lo supuesto. De aquí se deduce que det(M_{F_{t+1}}) ∈ Q \ {0}.

Recíprocamente, si det(M_{F_{t+1}}) ∈ Q \ {0} entonces la inversa de M_{F_{t+1}} tiene coeficientes en Q[X_{1}, …, X_{n−t}]. Por lo tanto, las coordenadas de la primer columna de M_{F_{t+1}}^{−1} representan un polinomio P_{t+1} ∈ Q[X_{1}, …, X_{n−t}] que verifica ¯1 = P̄_{t+1}F̄_{t+1}, lo cual implica que V (F_{1}, …, F_{t+1}) es vacía.

En consecuencia, es suficiente con calcular el determinante det(M_{F_{t+1}}) y chequear si es un número racional no nulo. Para esto, se calcula det(M_{F_{t+1}}) evaluado en un punto (p_{1}, …, p_{n−t}) de ZZ^{n−t} adecuado y se determina si el polinomio det(M_{F_{t+1}}) es el polinomio constante det(M_{F_{t+1}})(p_{1}, …, p_{n−t}) por medio del test de Schwartz–Zippel (lema 20). Estos procesos de realizan sin divisiones por números enteros y polinomios en Q[X_{1}, …, X_{n}] empleando el mismo tipo de técnicas de la demostración del teorema 11. En conclusión, se tiene el siguiente resultado:

Teorema 12 El problema de la consistencia puede resolverse mediante una máquina de Turing probabilística de error acotado en espacio O(n log δ(ℓ +

log(ηnh)δ)) y tiempo L(ℓndhδ)^{O(n log δ+ℓ)}

Supóngase ahora que V (F_{1}, …, F_{t+1}) es vacía. El problema de la representación de la unidad en el ideal generado por F_{1}, …, F_{t+1} se resolverá por medio de la aplicación de la proposición 10 a fin de realizar divisiones módulo ciertos ideales intersección completa.

La idea es la siguiente: como F̄_{t+1}|¯1 módulo (F_{1}, …, F_{t}), por medio de la proposición 10 es posible calcular un elemento θ_{t+1} ∈ R_{t} := Q[X_{1}, …, X_{n−t}] y un polinomio Q_{t+1} ∈ Q[X_{1}, …, X_{n}] de grado acotado por nd tal que θ_{t+1}|Q_{t+1} y se satisface la condición

\overline{θ_{t+1} · 1} = \overline{Q_{t+1}F_{t+1}} módulo (F_{1}, …, F_{t})

Esto significa que θ_{t+1}(1 − F_{t+1} \frac{Q_{t+1}}{θ_{t+1}} ) pertenece a (F_{1}, …, F_{t}) que es un ideal equidimensional de dimensión n − t (lo cual implica que θ_{t} no es divisor de cero módulo (F_{1}, …, F_{t})). Por lo tanto, se tiene que 1−F_{t+1} \frac{Q_{t+1}}{θ_{t+1}} pertenece a (F_{1}, …, F_{t}), de donde se deduce que F_{t}|1 − F_{t+1} \frac{Q_{t+1}}{θ_{t+1}} en (F_{1}, …, F_{t−1}), lo cual implica a su vez que θ_{t+1}F_{t}|θ_{t+1} · 1 − Q_{t+1}F_{t+1} ∈ (F_{1}, …, F_{t−1}).

Posteriormente se divide el polinomio θ_{t+1}·1−Q_{t+1}F_{t+1} por θ_{t+1}F_{t} módulo (F_{1}, …, F_{t−1}), consiguiéndose de esta manera un elemento θ_{t} ∈ R_{t−1} := Q[X_{1}, …, X_{n−t+1}] y un polinomio Q_{t} ∈ Q[X_{1}, …, X_{n}] de grado no mayor que nd tal que θ_{t}|Q_{t} en R_{t−1} y

θ_{t}θ_{t+1} · 1 − θ_{t}Q_{t+1}F_{t+1} − Q_{t}θ_{t+1}F_{t} ∈ (F_{1}, …, F_{t−1})

Prosiguiendo con este esquema en forma recursiva, se calculan polinomios θ_{1}, …, θ_{t+1}, Q_{1}, …, Q_{t+1} ∈ Q[X_{1}, …, X_{n}], tales que se verifican las siguientes propiedades:

• θ_{i} ∈ R_{i−1} := Q[X_{1}, …, X_{n−i−1}] para i = 1, …, t + 1.

• Q_{i} ∈ Q[X_{1}, …, X_{n}] y tiene grado acotado por nd para todo i = 1, …, t + 1.

• θ_{i}|Q_{i} en R_{i−1}.

• θ_{t−i} ⋯ θ_{t+1}·1−Q_{t−i} ⋯ θ_{t+1}F_{t−i}−⋯−θ_{t−i} ⋯ θ_{t}Q_{t+1}F_{t+1} ∈ (F_{1}, …, F_{t−i−1})

En consecuencia, al final del último paso recursivo se tiene la identidad:

θ_{1} ⋯ θ_{t+1} · 1 = Q_{1}θ_{2} ⋯ θ_{t+1}F_{1} + θ_{1}Q_{2}θ_{3} ⋯ θ_{t+1}F_{1} + ⋯ + θ_{1} ⋯ θ_{t}Q_{t+1}F_{t+1}

(2.18)

donde cada θ_{i}|Q_{i} en R_{i−1}. Por lo tanto, aplicando la proposición 7, se calcula sin divisiones un entero no nulo a ∈ ZZ^{∗} y polinomios P_{1}, …, P_{t+1} ∈ ZZ[X_{1}, …, X_{n}] tales que P_{i} = a\frac{Q_{i}}{θ_{i}} para i = 1, …, t + 1.

Reemplazando esta identidad en (2.18) se obtiene la representación:

a = P_{1}F_{1} + ⋯ + P_{t+1}F_{t+1}

Para estimar la complejidad de este proceso, se estudia el i–ésimo paso recursivo. En este paso, se calculan polinomios θ_{t−i+2} ∈ R_{t−i+1} y Q_{t−i+2} ∈ Q[X_{1}, …, X_{n}] a partir de θ_{t−i+3} y Q_{t−i+3} de la siguiente manera: si M_{X_{n−t+i−1}}, …, M_{X_{n}} son las matrices con coeficientes en Q(X_{1}, …, X_{n−t+i−1}) que describen el tensor de multiplicación en Q[X_{1}, …, X_{n}]/(F_{1}, …, F_{t−i+1}), se calculan el determinante jacobiano J(X_{1}, …, X_{n}) y el determinante seudo– jacobiano Δ(X_{1}, …, X_{n}, Y_{1}, …, Y_{n}) del ideal (F_{1}, …, F_{t−i+1}) definidos en la proposición 10 y se reemplazan las variables X_{n−t+i−1}, …, X_{n} por las matrices M_{X_{n−t+i−1}}, …, M_{X_{n}} en los polinomios J, Δ y Q_{t−i+3} (no es necesario realizar este reemplazo en θ_{t−i+3}, ya que este polinomio no depende de X_{n−t+i−1}, …, X_{n}).

Los polinomios J = J^{(i)}, Δ = Δ^{(i)} correspondientes a la i–ésima etapa recursiva pueden calcularse simultáneamente para todo i = 1, …, n. En consecuencia, el reemplazo matricial en éstos no produce un incremento de la complejidad asintótica del proceso. No ocurre lo mismo con Q_{t−i+3}.

Sin embargo, observando que:

• Q_{t−i+3} = T r(Q̃ · J̃ · P̃ · Δ̃) = T r(Q̃ · J̃ · P̃) · T r(Δ̃),

• sólo T r(Δ̃) depende de las variables X_{n−t+i−1}, …, X_{n}, y

• Δ̃ = Δ̃ se calcula simultáneamente para todo i = 1, …, n,

se deduce que la talla del circuito que resulta del proceso recursivo crece de manera aditiva, lo cual implica una talla total aritmética de tipo L(ndδ)^{O(1)} (que a su vez implica una talla booleana de tipo L(dhηδ)^{O(1)}).

La profundidad no escalar es de tipo O(n^{2} log(nδ)(ℓ + log(nδ))), ya que, una vez calculada la solución geométrica de las variedades V (F_{1}, …, F_{i}) para i = 1, …, n, se tiene un proceso recursivo que en cada etapa opera con matrices de tamaño no superior a δ^{O(1)} y manipulaciones algebraicas similares a las realizadas en la construcción del circuito que calcula la solución geométrica de V (F_{1}, …, F_{t}). Asimismo, debido a la talla binaria de los números con que se opera, se tiene una profundidad booleana de tipo O(n^{2} log(nδ)(ℓ +

log(nhηδ))).

Aplicando la demostración del teorema 1, se deduce el siguiente teorema:

Teorema 13 El problema de la representación de 1 en el caso de un sistema no consistente puede resolverse por medio de una máquina de Turing probabilística de error acotado en espacio O(n^{2} log(nδ)(ℓ + log(nhηδ))).

2.3.2 El problema de la pertenencia y la representación en el caso de ideales intersección completa

Sean F, F_{1}, …, F_{t} polinomios en ZZ[X_{1}, …, X_{n}] tales que F_{1}, …, F_{t} forman una sucesión regular en Q[X_{1}, …, X_{n}] y los ideales generados por F_{1}, …, F_{i} sobre Q[X_{1}, …, X_{n}] son radicales para i = 1, …, t. Se supone que los polinomios F, F_{1}, …, F_{t} tiene grados acotado por d, coeficientes de talla binaria no mayor que h y se evalúan por medio de un circuito aritmético de talla L y profundidad no escalar ℓ, cuya codificación puede generarse en espacio determinístico de tipo O(ℓLh). Sean finalmente δ y η el grado geométrico y la altura geométrica del sistema definido por F_{1}, …, F_{t}.

El problema a tratar es la pertenencia de F al ideal generado por F_{1}, …, F_{t} y su representación en este ideal. Es decir, se desea determinar si F pertenece al ideal generado por F_{1}, …, F_{t} en Q[X_{1}, …, X_{n}], y en tal caso, hallar polinomios P_{1}, …, P_{t} ∈ ZZ[X_{1}, …, X_{n}] tales que se verifica la siguiente identidad:

F = P_{1}F_{1} + ⋯ + P_{t}F_{t}

En primer lugar se estudia el problema de la pertenencia. Se observa que F ∈ (F_{1}, …, F_{t}) si y sólo si la homotecia definida por F en Q[X_{1}, …, X_{n}] es nula. Para calcular la matriz de esta homotecia, se utiliza la base definida por un elemento primitivo u de la variedad V (F_{1}, …, F_{t}). Si M_{X_{n−t+1}}, …, M_{X_{n}} son las matrices que representan el tensor de multiplicación con respecto a esta base, se tiene entonces que la matriz de la homotecia por F en esta base es F (X_{1}, …, X_{n−t}, M_{X_{n−t+1}}, …, M_{X_{n}}).

Finalmente, para chequear que esta matriz tiene todas sus entradas nulas, será necesario utilizar δ^{2} puntos elegidos aleatoriamente en cierto conjunto de acuerdo con la estrategia del lema 20.

Una vez establecida la pertenencia de F a (F_{1}, …, F_{t}), la representación de F en el ideal se realiza con la técnica descripta en la sección anterior, comenzando con F en lugar del polinomio 1.

De acuerdo con los teoremas 11 y 13, se deduce el siguiente resultado:

Teorema 14 El problema de la pertenencia y la representación para ideales intersección completa puede resolverse por medio de una máquina de Turing probabilística de error acotado en espacio O(n^{2} log(nδ)(ℓ + log(nhηδ))).

2.3.3 Cálculo del grado de una variedad

Sea r la dimensión de V y V = V_{r} ∪ ⋯ ∪ V_{0} la descomposición de V en componentes equidimensionales donde V_{i} tiene dimensión i para i = 1, …, r (ver sección 1.4.7). Para cada componente V_{i}, se define el grado de V_{i} como usualmente (ver sección 2.1.2) y se nota esta cantidad por gr(V_{i}). Siguiendo [88], se define el grado de una variedad algebraica arbitraria V como la suma de los grados de sus componentes equidimensionales, es decir, gr(V) := gr(V_{r}) + ⋯ + gr(V_{0}).

Según se demuestra en [88], si se eligen i hiperplanos genéricos H_{1}^{(i)}, …, H_{i}^{(i)} se verifican las siguientes condiciones:

1. V_{i}∩H_{1}^{(i)}∩⋯∩H_{i}^{(i)} es una variedad cero–dimensional de cardinal gr(V_{i}).

2. V_{j} ∩ H_{1}^{(i)} ∩ ⋯ ∩ H_{i}^{(i)} = ∅ si j < i.

3. V_{j} ∩H_{1}^{(i)} ∩⋯∩H_{i}^{(i)} es una variedad equidimensional de dimensión j −i si j > i.

En consecuencia, los puntos aislados de V ∩ H_{1}^{(i)} ∩ ⋯ ∩ H_{i}^{(i)} (es decir, las componentes irreducibles de dimensión cero) son los puntos de V_{i} ∩ H_{1}^{(i)} ∩ ⋯ ∩ H_{i}^{(i)}. Por lo tanto, calculando esta cantidad se obtiene gr(V_{i}).

A fin de realizar el proceso descripto en forma algorítmica, es necesario estimar el grado de los polinomios que representan la condición genérica requerida para los coeficientes de los hiperplanos H_{1}^{(i)}, …, H_{i}^{(i)}.

De los resultados de la sección 1.4.7 se deduce que cada componente V_{i} se puede describir por medio de polinomios G_{1}^{(i)}, …, G_{t_{i}}^{(i)} en ZZ[X_{1}, …, X_{n}] de grado acotado por d^{n}. Se introducen nuevas variables A_{jk}, B_{j} para 1 ≤ j ≤ i y 1 ≤ k ≤ n y los hiperplanos H_{k}^{(i)} definidos por:

H_{j}^{(i)} := ∑_{k=1}^{n} A_{jk}X_{k} + B_{j}

para k = 1, …, j.

El hecho que la condición 1 vale genéricamente significa que reemplazando las variables A_{jk}, B_{j} por puntos de un abierto Zariski de C^{ni+1}, los hiperplanos así construídos intersecan a V_{i} en gr(V_{i}) puntos (ver [88]). Por lo tanto, la variedad W que consiste de las soluciones en \overline{C[A_{jk}, B_{j}; 1 ≤ j ≤ i, 1 ≤ k ≤ n]}^{n} del siguiente sistema:

W := {G_{1}^{(i)} = 0, …, G_{t_{i}}^{(i)} = 0, H_{1}^{(i)} = 0, …, H_{i}^{(i)} = 0}

es cero–dimensional y consiste de gr(V_{i}) puntos. De [114, Section 4], se deduce que existe un circuito aritmético bien paralelizable de profundidad no escalar O(n^{2} log d) que calcula los coeficientes en ZZ[A_{jk}, B_{j}; 1 ≤ j ≤ i, 1 ≤ k ≤ n] de los siguientes polinomios:

• una forma lineal u ∈ ZZ[A_{jk}, B_{j}; 1 ≤ j ≤ i, 1 ≤ k ≤ n][X_{1}, …, X_{n}], y

• un polinomio p ∈ ZZ[A_{jk}, B_{j}; 1 ≤ j ≤ i, 1 ≤ k ≤ n][T] de grado gr(V_{i})

tales que u separa los puntos de W y \frac{1}{α}p es el polinomio minimal que anula a u sobre W, donde α ∈ ZZ[A_{jk}, B_{j}; 1 ≤ j ≤ i, 1 ≤ k ≤ n] es el coeficiente principal de p.

Sea γ un vector de ZZ^{ni+1} tal que si se reemplaza en p las variables A_{jk}, B_{j} por γ el polinomio resultante de ZZ[T] tiene grado gr(V_{i}) y es libre de cuadrados. Entonces los hiperplanos que se obtienen a partir de γ cortan a V_{i} en exactamente gr(V_{i}). Por lo tanto, la condición genérica que deben cumplir los coeficientes de los hiperplanos a elegir es no anular al coeficiente principal α de p y al discriminante Δ ∈ ZZ[A_{jk}, B_{j}; 1 ≤ j ≤ i, 1 ≤ k ≤ n] de p. Y el producto de ambos polinomios puede calcularse en profundidad no escalar O(n^{2} log d) (para el cálculo de Δ se utilizan las ideas de la sección 1.3.2).

Ahora es necesario introducir una condición genérica sobre los coeficientes de los hiperplanos H_{1}^{(i)}, …, H_{i}^{(i)} que asegure que se cumple la condición 2. Para esto, es necesario apelar a una versión diofántica del Nullstellensatz efectivo. Dado que genéricamente ocurre que (V_{i−1} ∪ ⋯ ∪ V_{0}) ∩ (H_{1}^{(i)} ∪ … ∪ H_{i}^{(i)}) es vacía, esto mismo ocurre cuando se considera la situación en \overline{C[A_{jk}, B_{j}; 1 ≤ j ≤ i, 1 ≤ k ≤ n]}^{n}. Aplicando el Nullstellensatz efectivo en la versión de [114], se deduce la existencia de un polinomio no nulo a ∈ ZZ[A_{jk}, B_{j}; 1 ≤ j ≤ i, 1 ≤ k ≤ n], calculable por un circuito aritmético de profundidad no escalar O(n^{2} log d), que pertenece al ideal generado por los polinomios que definen V_{i−1} ∪ ⋯ ∪ V_{0} (ver sección 1.4.7) y H_{1}^{(i)}, …, H_{i}^{(i)}.

Cualquier evaluación de las variables A_{jk}, B_{j} en un vector γ ∈ ZZ^{ni+1} tal que a(γ) ≠ 0 asegura que la variedad lineal definida por los hiperplanos H_{1}^{(i)}(γ), …, H_{i}^{(i)}(γ) no corta a V_{i−1} ∪ ⋯ ∪ V_{0}. Por lo tanto, el polinomio a es la condición genérica que se busca.

Finalmente, resta imponer la tercera condición, es decir, que W_{j} := V_{j} ∩ H_{1}^{(i)}∩…∩H_{i}^{(i)} no tenga puntos aislados si j > i. Con los mismos argumentos de antes, se considera la situación en \overline{C[A_{jk}, B_{j}; 1 ≤ j ≤ i, 1 ≤ k ≤ n]}^{n}. Aplicando [114] nuevamente, con profundidad no escalar O(n^{2} log d) se obtiene la solución geométrica de una variedad cero–dimensional W̃_{j} que contiene los puntos aislados de W_{j}. Sea u ∈ ZZ[A_{jk}, B_{j}; 1 ≤ j ≤ i, 1 ≤ k ≤ n][X_{1}, …, X_{n}] la forma lineal que se calcula y p ∈ ZZ[A_{jk}, B_{j}; 1 ≤ j ≤ i, 1 ≤ k ≤ n][T] el polinomio minimal de la misma. Dado que la variedad W_{j} no posee puntos aislados, la intersección entre la variedad calculada W̃_{j} y W_{j} debe ser vacía. Para constatar esta condición será suficiente con reemplazar las variables X_{1}, …, X_{n} en los polinomios que definen W_{j} por las parametrizaciones obtenidas en la solución geométrica de W̃_{j} (que de esta manera se transforman en polinomios de ZZ[A_{jk}, B_{j}; 1 ≤ j ≤ i, 1 ≤ k ≤ n][u]) y chequear que el máximo común divisor de los mismos y p(u) sea 1.

Según la estrategia desarrollada en la subsección 1.3.2, se halla un polinomio b ∈ ZZ[A_{jk}, B_{j}; 1 ≤ j ≤ i, 1 ≤ k ≤ n] que se escribe como una combinación polinomial de los polinomios involucrados. La no anulación de este polinomio asegura que la intersección W_{j} ∩ W̃_{j} es vacía, por lo cual b constituye la condición genérica restante.

En conclusión, multiplicando las O(n) condiciones obtenidas se obtiene un polinomio P_{i} ∈ ZZ[A_{jk}, B_{j}; 1 ≤ j ≤ i, 1 ≤ k ≤ n], calculable con profundidad O(n^{2} log n log d), que verifica que cualquier vector γ ∈ ZZ^{ni+1} tal que P_{i}(γ) ≠ 0 provee los coeficientes de i hiperplanos con todas las condiciones requeridas. Aplicando el lema 20, se obtiene un tal vector aleatoriamente con talla binaria O(n^{2} log n log d).

Luego, es necesario calcular los puntos aislados de V ∩ H_{1}^{(i)} ∩ ⋯ ∩ H_{i}^{(i)} para i = 1, …, n. Se sigue entonces esencialmente el procedimiento descripto en la sección 1.4.4. En primer lugar, se genera aleatoriamente una n–upla en ZZ^{n} a partir de la cual se hallan los coeficientes de n polinomios que definen una variedad W que difiere de V ∩ H_{1}^{(i)} ∩ ⋯ ∩ H_{i}^{(i)} sólo en finitos puntos. Por medio de una deformación homotópica posterior se pasa al caso cero– dimensional proyectivo. Dada una forma lineal ℓ, según se demuestra en [80], el polinomio p ∈ ZZ[T] que se calcula verifica que p(ℓ) se anula sobre los puntos aislados de V ∩ H_{1}^{(i)} ∩ ⋯ ∩ H_{i}^{(i)}.

Una vez que se tiene un mecanismo para calcular proyecciones sobre rectas, éste se utiliza a fin de calcular las proyecciones necesarias para la aplicación de los lemas 29 y 30. De esta manera, se halla la solución geométrica de los puntos aislados de W (que contienen a los puntos aislados de V ∩ H_{1}^{(i)} ∩⋯∩H_{i}^{(i)}). Finalmente, reemplazando las parametrizaciones obtenidas por la solución geométrica de W en las ecuaciones que definen la variedad V ∩ H_{1}^{(i)} ∩ ⋯ ∩ H_{i}^{(i)}, se obtienen ciertos polinomios univariados cuyo máximo común divisor tiene grado igual a la cantidad de puntos aislados de V ∩ H_{1}^{(i)} ∩ ⋯ ∩ H_{i}^{(i)}.

Teniendo en cuenta que el procedimiento opera con matrices de tamaño (nd)^{O}(n) cuyas entradas tienen talla binaria de tipo shd^{n}, se deduce el siguiente teorema:

Teorema 15 Existe una máquina de Turing probabilística de error acotado que calcula el grado de V en espacio O(n^{2} log^{2}(hsd)).

2.3.4 Una versión efectiva del Teorema de Quillen-Suslin

Una matriz F en ZZ[X_{1}, …, X_{n}]^{r×s} con s ≥ r se dice unimodular si y sólo si el ideal generado en Q[X_{1}, …, X_{n}] por todos sus menores de tamaño r × r es el ideal trivial.

Sea F una matriz unimodular en ZZ[X_{1}, …, X_{n}]^{r×s}. Denótese por gr(F) el máximo de los grados de las entradas de F y sea d = 1+deg(F). Del teorema de Quillen–Suslin se deduce la existencia de una matriz M unimodular de tamaño s × s tal que F M = [I_{r}, 0], donde [I_{r}, 0] denota la matriz de r × s que se obtiene agregando a la matriz identidad I_{r} de r × r, s − r columnas nulas.

El problema es hallar algorítmicamente la matriz M. El proceso que se realiza para tal fin consta de n etapas, en las que se construyen matrices M_{1}, …, M_{n} unimodulares de tamaño s × s que verifican la siguiente propiedad:

F · M_{n} ⋯ M_{i+1} = (F_{ij}(X_{1}, …, X_{i}, 0, …, 0))_{1≤i≤r,1≤j≤s}

donde F := (F_{ij}(X_{1}, …, X_{n}))_{1≤i≤r,1≤j≤s}.

Dado que la matriz F · M_{1} ⋯ M_{n} es unimodular y tiene entradas en Q, mediante un proceso estándar de triangulación ésta puede reducirse a la forma [I_{r}, 0]. Si M_{0} es la matriz (unimodular) que realiza esta triangulación, M := M_{n} ⋯ M_{0} es la matriz buscada.

Obsérvese que las matrices (F_{ij}(X_{1}, …, X_{i}, 0, …, 0))_{1≤i≤r,1≤j≤s} pueden producirse simultáneamente, por lo que el cálculo de las matrices M_{0}, …, M_{n} puede realizarse en paralelo.

Siguiendo el esquema propuesto en [64] (ver también [65]), el proceso del cálculo de cada matriz M_{i} se divide en cuatro etapas. A fin de simplificar la notación, se describirá solamente el cálculo de M_{n}.

En la primera etapa, se construye una sucesión c_{1}, …, c_{N} de polinomios de grado acotado por (rd)^{2} (donde N se determinará posteriormente) tales que:

• 1 ∈ (c_{1}, …, c_{N})

• Para todo k ∈ {1, …, N}, existe una matriz no singular Λ_{k} ∈ GL_{s}(Q) tal que:

c_{k} = Res(det[F_{1}^{(k)}, …, F_{r}^{(k)}], det[F_{1}^{(k)}, …, F_{r−1}^{(k)}, F_{r+1}^{(k)}])

donde F_{1}^{(k)}, …, F_{r+1}^{(k)} denota las columnas de la matriz F^{(k)} := F · Λ_{k}.

Se elegirán matrices Λ_{k} con el siguiente aspecto:

Λ_{k} = ( \begin{matrix}1 \\ α_{1} & 1 \\ α_{1}β_{1} & α_{2} \\ α_{1}β_{1}^{2} & α_{2}β_{2} & ... \\ ⋮ & ⋮ & & 1 \\ & & & α_{r−1} & 1 \\ & & & α_{r−1}β_{r−1} & 0 & 1 \\ ⋮ & ⋮ & & ⋮ & ⋮ & α_{r} \\ . & . & . \\ α_{1}β_{1}^{s−2} & α_{2}β_{2}^{s−3} & … & α_{r−1}β_{r−1}^{s−r} & 0 & α_{r}^{s−r−1} & … & 1 \end{matrix} ) (2.19)

donde α_{1}, …, α_{r}, β_{1}, …, β_{r−1} son números enteros.

Se trata entonces de hallar enteros α_{1}^{(k)}, …, α_{r}^{(k)}, β_{1}^{(k)}, …, β_{r−1}^{(k)} para k = 1, …, N de talla binaria controlada y en la menor cantidad posible de manera que la variedad definida por c_{1}, …, c_{N} sea vacía.

Se consideran indeterminadas S_{1}, …, S_{r}, T_{1}, …, T_{r−1} y la matriz Λ ∈ ZZ[S_{i}, T_{j}; 1 ≤ i ≤ r, 1 ≤ j ≤ r − 1] que se obtiene si se reemplaza en la matriz Λ_{k} de (2.19) cada α_{i} por S_{i} y cada β_{j} por T_{j}. Asimismo, se definen:

• F′ := [F′_{1}, …, F′_{r+1}] = F · Λ

• D′_{1} := det[F′_{1}, …, F′_{r}]

• D′_{2} := det[F′_{1}, …, F′_{r−1}, F′_{r+1}]

• c := Res_{X_{n}}(D′_{1}, D′_{2})

El punto clave es que, para cada x ∈ C^{n}, existe un vector (α, β) ∈ IN^{2r−1} tal que c(x, α, β) ≠ 0 ([64, Proposition 5.6]). Por lo tanto, se tiene que c(x, S_{1}, …, S_{r}, T_{1}, …, T_{r−1}) es un polinomio de ZZ[S_{i}, T_{j}; 1 ≤ i ≤ r, 1 ≤ j ≤ r − 1] no nulo para cada x ∈ C^{n}. Además, c(x, S_{1}, …, S_{r}, T_{1}, …, T_{r−1}) se calcula con talla (aritmética) de tipo O(s^{3}r^{4}(rd)^{2n}) y profundidad no escalar O(n log(sd)). Por la proposición 5 existe un conjunto questor de N := O(s^{7}(rd)^{5n}) elementos (α^{(k)}, β^{(k)}) ∈ {1, …, u}^{2r−1} para k = 1, …, t, donde u := (sd)^{O(n)}, tal que para todo x ∈ C^{n} existe k ∈ {1, …, N} que verifica c(x, α^{(k)}, β^{(k)}) ≠ 0. Mas aún, un tal conjunto questor puede ser hallado aleatoriamente con probabilidad mayor que 1 − u^{\frac{N}{6}} ≫ \frac{1}{2}.

Entonces se define c_{k} := c(X_{1}, …, X_{n}, α^{(k)}, β^{(k)}) para k = 1, …, N. Obsérvese que los polinomios c_{1}, …, c_{N} tienen grado acotado por (rd)^{2} y su cómputo involucra el cálculo del determinante de O(s^{7}(rd)^{5n}) matrices polinomiales de r × r.

En la segunda etapa se halla una representación:

X_{n} = a_{1}c_{1} + ⋯ + a_{N}c_{N}

de la variable X_{i} en el ideal generado por los polinomios c_{1}, …, c_{N} generados en la primera etapa.

En la tercer etapa se construyen N matrices unimodulares M_{n}^{(1)}, …, M_{n}^{(N)} en Q[X_{1}, …, X_{n}]^{s×s} de modo tal que, definiendo b_{k} := ∑_{h=1}^{k} a_{h}c_{h} para k = 1, …, N, se tiene la identidad:

F^{(k)}(b_{k})M_{n}^{(k)} = F^{(k)}(b_{k−1})  (2.20)

donde F^{(k)} = F · Λ_{k} y F^{(k)}(b_{k}) denota la matriz que se obtiene a partir de F^{(k)} cuando se evalúa la variable X_{n} de las entradas de F^{(k)} en b_{k}.

A partir de la identidad (2.20) se deduce que la matriz E_{k} := Λ_{k} ·M_{k} ·Λ_{k}^{−1} verifica la propiedad:

F (b_{k})E_{k} = F (b_{k−1})  (2.21)

Como c_{k} = Res_{X_{n}}(D_{1}^{(k)}, D_{2}^{(k)}), existen polinomios g, h ∈ Q[X_{1}, …, X_{n}] tales que

c_{k} = g · D_{1}^{(k)} + h · D_{2}^{(k)}

Dado que c_{k} no depende de X_{k}, se deduce que:

c_{k} = g(b_{k}) · D_{1}^{(k)}(b_{k}) + h(b_{k}) · D_{2}^{(k)}(b_{k})  (2.22)

Siguiendo la demostración del Lemma 4.5 en [64], si F_{j}^{(k)} denota la j– ésima columna de F^{(k)}, dado que b_{k} ≡ b_{k−1} módulo c_{k}·Q[X_{1}, …, X_{n}], mediante un desarrollo en series de Taylor de los coeficientes de F_{j}^{(k)} se demuestra la existencia de un vector columna G_{j}^{(k)} ∈ Q[X_{1}, …, X_{n}]^{r×1} que verifica

F_{j}^{(k)}(b_{k}) − F_{j}^{(k)}(b_{k−1}) = c_{k}G_{j}^{(k)}  (2.23)

Combinando (2.22) y (2.23) se obtiene la identidad:

F_{j}^{(k)}(b_{k}) − F_{j}^{(k)}(b_{k−1}) = D_{1}^{(k)}(g(b_{k})G_{j}^{(k)}) + D_{2}^{(k)}(h(b_{k})G_{j}^{(k)})  (2.24)

Sean B_{1} y B_{2} las siguientes matrices:

B_{1}^{(k)} := Adj[F_{1}^{(k)}(b), …, F_{r}^{(k)}(b_{k})]
B_{2}^{(k)} := Adj[F_{1}^{(k)}(b), …, F_{r−1}^{(k)}(b_{k}), F_{r+1}^{(k)}(b_{k})]

Entonces, se tienen las identidades:

D_{1}^{(k)}(b_{k})g(b_{k})G_{j}^{(k)} = [F_{1}^{(k)}(b_{k}), …, F_{r}^{(k)}(b_{k})]B_{1}^{(k)}g(b_{k})G_{j}^{(k)} := ∑_{j=1}^{r} η_{j}F_{j}^{(k)}(b_{k})

\begin{matrix}D_{2}^{(k)}(b_{k})h(b_{k})G_{j}^{(k)} = [F_{1}^{(k)}(b_{k}), …, F_{r−1}^{(k)}(b_{k}), F_{r+1}^{(k)}(b_{k})]B_{2}^{(k)}h(b_{k})G_{j}^{(k)} \\ := ∑_{j≠r} η̃_{j}F_{j}^{(k)}(b_{k}) \end{matrix}

donde (η_{1}, …, η_{r})^{t} := B_{1}^{(k)}g(b_{k})G_{j}^{(k)} y (η̃_{1}, …, η̃_{r−1}, η̃_{r+1})^{t} := B_{2}^{(k)}h(b_{k})G_{j}^{(k)}. Estas identidades, aplicadas en (2.24), dan la siguiente igualdad:

F_{j}^{(k)}(b_{k}) − F_{j}^{(k)}(b_{k−1}) = (η_{1} + η̃_{1})F_{1}^{(k)}(b_{k}) + ⋯ + η_{r}F_{r}^{(k)}(b_{k}) + η̃_{r+1}F_{r+1}^{(k)}(b_{k})

Utilizando esta ecuación para j = r + 2, …, s se construye una matriz unimodular M̃^{(k)} que verifica:

F^{(k)}(b_{k})M̃^{(k)} = [F_{1}^{(k)}(b_{k}), …, F_{r+1}^{(k)}(b_{k}), F_{r+2}^{(k)}(b_{k−1}), …, F_{s}^{(k)}(b_{k−1})]

Para concluir la construcción de la matriz M^{(k)}, se define la siguiente matriz unimodular T^{(k)} de tamaño (r + 1) × (r + 1):

\begin{matrix}T^{(k)} := \frac{1}{c_{k}} Adj ( \begin{matrix}F_{1}^{(k)}(b_{k}) & … & F_{r}^{(k)}(b_{k}) & F_{r+1}^{(k)}(b_{k}) \\ 0 & … & −h(b_{k}) & g(b_{k}) \end{matrix} ) · \\ · ( \begin{matrix}F_{1}^{(k)}(b_{k−1}) & … & F_{r}^{(k)}(b_{k−1}) & F_{r+1}^{(k)}(b_{k−1}) \\ 0 & … & −h(b_{k−1}) & g(b_{k−1}) \end{matrix} ) \end{matrix}

Luego, M^{(k)} := M̃^{(k)} · (T^{(k)} ⊕ I_{s−r−1}) es la matriz buscada.

Finalmente, en la cuarta etapa se calcula el producto M_{n} := ∏_{k=1}^{N} E_{k} = ∏_{k=1}^{N} Λ_{k}M^{(k)}Λ_{k}^{−1}. Dado que se tienen las identidades:

F = F (X_{n}) = F (b_{N})
F (b_{N})E_{n} = F (b_{N−1})
⋮
F (b_{1})E_{1} = F (b_{0}) = F (0)

se tiene que la matriz M_{n} verifica las condiciones requeridas.

Luego de n procesos paralelos como el descripto, se obtiene una familia uniforme de circuitos booleanos que satisface las condiciones requeridas por el teorema 1. Entonces, se puede aplicar la estrategia de la sección 1.2 y concluir:

Teorema 16 El Teorema de Quillen-Suslin puede realizarse en forma algorítmica por medio de una máquina de Turing probabilística de error acotado en espacio O(n^{4} log^{2}(shd)).

Tradeoffs espacio–tiempo

Las medidas mas naturales de complejidad computacional son el espacio y el tiempo, donde el tiempo se mide –generalmente hablando– por el número de pasos discretos en una computación y el espacio por el tamaño de las distintas locaciones de memoria que se acceden durante la computación.

Lo que se intenta es clasificar la complejidad intrínseca de un problema dado, pero un problema puede ser resuelto de muchas maneras diferentes. ¿Cual debería ser la solución óptima para un problema? El deseo natural es elegir aquella que posea las menores complejidades posibles, las cuales se identificarían como las inherentes al problema.

Dado que se consideran dos medidas de complejidad, las cuales se representan mediante funciones y no mediante números naturales, es posible que no existan soluciones que puedan identificarse como óptimas para la resolución de un problema dado. Podrían existir relaciones o tradeoffs entre el espacio y el tiempo requerido por cualquier solución (algoritmo) de determinado problema que hagan imposible la tarea de elegir una medida de espacio o tiempo como inherente al problema.

A fin de entender mejor las posibilidades y las dificultades que se aparecen en la búsqueda de las mejores soluciones de cada problema, es necesario estudiar el tradeoff espacio–tiempo del mismo. De esta manera, se podrá identificar una clase de soluciones que son óptimas en cierto sentido, de las cuales puede elegirse aquella que mejor se adapta a las facilidades disponibles.

En este capítulo se estudiarán tradeoffs espacio–tiempo en teoría de complejidad algebraica. Mas precisamente, se estudiarán tradeoffs para los procedimientos de evaluación de polinomios, caso que es central ya que los polinomios representan los objetos básicos del lenguaje de la teoría de complejidad algebraica.

En particular, el análisis de los tradeoffs espacio–tiempo brindará la posibilidad de obtener cotas inferiores para la complejidad de espacio de los procedimientos de álgebra computacional, cuyo estudio parece estar relegado en el ámbito de la computación algebraica.

Es claro que todo polinomio puede evaluarse con un número constante de registros por medio de la regla de Horner, y observaciones similares pueden realizarse en otros modelos de complejidad algebraica (ver [13], [127] por ejemplo). Esto aparentemente indicaría que el espacio no es un recurso significativo en el estudio de la complejidad de la evaluación de polinomios, lo cual constituye al mismo tiempo una paradoja.

En este capítulo se tratará de arrojar alguna luz en esta dirección, mostrando cotas inferiores de complejidad para el espacio requerido en procesos de evaluación polinomial. Por ejemplo, se concluirá que la “mayoría” de los polinomios univariados de grado d requiere Ω(d^{\frac{1}{4}} ) registros de memoria para realizar una estrategia de evaluación óptima en términos de complejidad no escalar (como la de [140]).

3.1 Espacio y tiempo para circuitos aritméticos

En primer lugar, se discutirá como las medidas de complejidad de espacio y tiempo pueden representarse adecuadamente en el modelo básico de computación, es decir, el de los circuitos aritméticos. Intuitivamente se podría decir que espacio y tiempo computacionales de un circuito aritmético tienen una representación natural en cualquier pebble game realizado sobre el grafo de computación (ver por ejemplo [25]).

Sin embargo, esta definición combinatoria del espacio y el tiempo no es conveniente para la aplicación de los métodos geométricos que se utilizarán a fin de demostrar cotas inferiores de complejidad –el principal objetivo de este capítulo. Por este motivo, se transformará el modelo de complejidad basado en los pebble games primero en un modelo de locación de registros, y posteriormente éste último en un modelo geométrico de computación.

3.1.1 Del modelo de pebble games al de locación de registros

Sea K un cuerpo infinito y X_{1}, …, X_{n} indeterminadas sobre K. Por K[X_{1}, …, X_{n}] se denota el anillos de polinomios en n variables sobre K y por K(X_{1}, …, X_{n}) su cuerpo de cocientes.

Sea F un elemento de K(X_{1}, …, X_{n}), es decir, una función racional sobre K en las variables X_{1}, …, X_{n}. Se recuerdan las siguientes nociones estándar de teoría de complejidad algebraica (ver [31], [173], [169], [89], [72], [75], [139], [37]).

Definición 6 Un straight–line program en K(X_{1}, …, X_{n}) que calcula una función racional F es una sucesión β = (Q_{1}, …, Q_{r}) de elementos del cuerpo K(X_{1}, …, X_{n}) con las siguientes propiedades:

1. Q_{r} = F,

2. Para cada 1 ≤ ρ ≤ r, la función racional Q_{ρ} pertenece a K∪{X_{1}, …, X_{n}} o existen 1 ≤ ρ_{1}, ρ_{2} < ρ y una operación aritmética op_{ρ} en {+, −, ·, ÷} tales que vale Q_{ρ} = Q_{ρ_{1}} op_{ρ} Q_{ρ_{2}}.

Las funciones racionales Q_{1}, …, Q_{r} se llaman los resultados intermedios del straight–line program β y la función racional F = Q_{r} es el resultado final o salida de β. En lo sucesivo, se asumirá sin pérdida de generalidad que todos los resultados intermedios Q_{1}, …, Q_{r} de β son no nulos.

A un straight–line program β = (Q_{1}, …, Q_{r}) dado en K(X_{1}, …, X_{n}) se le asocia como usualmente un grafo dirigido acíclico que se notará por Γ(β) y será llamado el grafo de computación del straight–line program β. El grafo de computación Γ(β) tiene r vértices llamados nodos. Cada nodo de Γ(β) tiene indegree 0 o 2 y está etiquetado por un elemento de K ∪ {X_{1}, …, X_{n}} en el primer caso y por una operación aritmética en el segundo caso. Los nodos de indegree 0 se llaman los nodos fuente de Γ(β). Los nodos fuente marcados con una variable X_{1}, …, X_{n} se llaman nodos de entrada y los marcados con un elemento de K se llaman nodos parámetros. Los elementos de K que aparecen de esta manera de llaman parámetros del grafo de computación Γ(β) (o del straight–line program β).

Los nodos de Γ(β) se numeran por 1 ≤ ρ ≤ r. Si para un nodo ρ de Γ(β) existen nodos 1 ≤ ρ_{1}, ρ_{2} < ρ y una operación aritmética op_{ρ} tal que vale Q_{ρ} = Q_{ρ_{1}} op_{ρ} Q_{ρ_{2}}, entonces el nodo ρ se marca con op_{ρ}, su indegree es 2 y Γ(β) contiene dos ejes dirigidos de los vértices ρ_{1} y ρ_{2} al vértice ρ (los nodos ρ_{1} y ρ_{2} se llaman los nodos predecesores de ρ). Los nodos que no son fuente se dicen nodos internos de Γ(β). El nodo r se denomina nodo de salida del grafo de computación Γ(β).

A cada nodo ρ de Γ(β) se asocia la función racional Q_{ρ} que aparece en la sucesión β como resultado intermedio. Esta función racional se calcula recursivamente por el grafo Γ(β) comenzando por los nodos fuente. En particular, la función racional que corresponde al nodo de salida r es Q_{r} = F.

Un nodo ρ de Γ(β) es no escalar si tiene la siguiente propiedad: el nodo ρ tiene indegree 2, la operación aritmética op_{ρ} es una multiplicación o división y los resultados intermediatos Q_{ρ_{1}}, Q_{ρ_{2}} de β asociados a los nodos predecesores ρ_{1}, ρ_{2} de ρ satisfacen la condicioń Q_{ρ_{1}}, Q_{ρ_{2}} ∉ K si op_{ρ} es una multiplicación y Q_{ρ_{2}} ∉ K si op_{ρ} es una división.

Sobre el grafo dirigido acíclico Γ(β) se puede jugar un pebble game de acuerdo con las siguientes reglas (ver [25]):

P1 cualquier nodo fuente puede recibir un pebble,

P2 si los nodos predecesores de un nodo ρ de Γ(β) tienen ambos un pebble, entonces ρ puede recibir un nuevo pebble o uno de los pebbles de alguno de sus predecesores,

P3 todo pebble puede ser removido de un nodo de Γ(β).

El pebble game finaliza cuando el nodo de salida deΓ(β) recibe un pebble. En general es posible jugar varios pebble games distintos sobre un grafo de computación dado Γ(β). Esto significa que el grafo de computación Γ(β) típicamente admite más de un pebble game, o en otras palabras: los pebble games no están únicamente determinados por el grafo de computación.

Para un pebble game particular sobre un grafo de computación Γ(β) se tienen las siguientes medidas de complejidad:

C1 una medida de espacio dada por el máximo número de pebbles utilizado en cualquier momento del juego,

C2 una medida de tiempo total dada por el número de ubicaciones de pebbles realizados durante el juego según las reglas P1 y P2, C3 una medida de tiempo no escalar dada por la cantidad de ubicaciones

de pebbles sobre los nodos no escalares de Γ(β) realizadas durante el juego siguiendo la regla P2.

Se extiende esta noción de straight–line program en la forma siguiente: a partir de ahora, un straight–line program será un un circuito aritmético β en el sentido de la Definición 6 junto con un pebble game fijo jugado sobre su grafo de computación Γ(β). Se utilizará la misma notación, es decir β, para el nuevo objeto matemático: el straight–line program junto con el pebble game fijado.

Se introduce el siguiente modelo de complejidad combinatorio que refleja tiempo secuencial y espacio en el contexto aritmético:

Definición 7 Sea F ∈ K(X_{1}, …, X_{n}) una función racional. Un straight– line program en el cuerpo de las funciones racionales K(X_{1}, …, X_{n}) que evalúa F en tiempo total T, tiempo no escalar L y espacio S es un straight– line program β para F en el sentido de la Definicion 6 junto con un pebble game realizado sobre Γ(β) en tiempo total T, tiempo no escalar L y espacio S, donde estas medidas de complejidad están determinadas en términos de las condiciones C2, C3 y C1.

De esta manera se obtiene un modelo de complejidad puramente combinatorio que mide tiempo total y no escalar utilizado por un pebble game realizado sobre un grafo de computación. Se construirá ahora un modelo de locación de registros a fin de derivar cotas inferiores sobre el tradeoff espacio–tiempo de la evaluación de polinomios.

Supóngase dado un straight–line program β como antes junto con su grafo de computación Γ(β). Supóngase además que se tiene un pebble game sobre Γ(β) que usa S pebbles 1, …, S y se juega en tiempo total T sobre el grafo de Γ(β). En lo que sigue se piensa el pebble game dado como una sucesión de T instrucciones de locación de registros en las cuales las nuevas variables R_{1}, …, R_{S} aparecen como nombres de registros. Las instrucciones de locación de registros se marcan con los símbolos (1), …, (T). Se las define de la manera siguiente:

1. Si un nodo fuente ρ de Γ(β) recibe el pebble 1 ≤ j ≤ S en el instante de tiempo 1 ≤ t ≤ T del juego siguiendo la regla P1 entonces la instrucción (t) tiene la forma

“R_{j} := X_{i}” en caso en que el nodo ρ esté marcado por la variable de entrada X_{i}. Si el nodo ρ está marcado por el parámetro α ∈ K la instrucción de locación de registros (t) toma la forma

“R_{j} := α”

2. Si el nodo interno ρ de Γ(β) recibe el pebble 1 ≤ j ≤ S en el instante 1 ≤ t ≤ T del juego siguiendo la regla P2, entonces la instrucción de locación de registros (t) tendrá la forma

“R_{j} := R_{k} op_{ρ} R_{l}”

donde op_{ρ} es la operación aritmética asociada con el nodo ρ y 1 ≤ k, l ≤ S son los pebbles ubicados sobre los nodos predecesores ρ_{1}, ρ_{2} de ρ.

De acuerdo con las reglas de locación de registros introducida se puede redefinir la noción de un straight–line program de tiempo total T (resp. tiempo no escalar L) y espacio S de la siguiente manera:

Definición 8 Un straight–line program β en K(X_{1}, …, X_{n}) que utiliza tiempo total T y espacio S es una sucesión de instrucciones de locación de registros (1), …, (T) tales que para 1 ≤ t ≤ T la instrucción (t) es de uno de los siguientes dos tipos:

(i) “R_{j} := a” con a ∈ K ∪ {X_{1}, …, X_{n}} y 1 ≤ j ≤ S

(ii) “R_{j} := R_{k} op R_{l}” con op ∈ {+, −, ·, ÷} y 1 ≤ k, l < j ≤ S.

Aquí R_{1}, …, R_{S} son las (distintas) variables que denotan los registros que usa el straight–line program β.

El tiempo total utilizado por un straight–line program β es en consecuencia el número T de instrucciones de locación de registros que contiene. El tiempo no escalar utilizado por β (o su longitud no escalar) es el número de intrucciones de locación de registros de la forma (ii) que aparecen en β sujetas a las siguientes restricciones: la operación aritmética op es una multiplicación o división, los contenidos de los registros R_{k}, R_{l} –noción que se introducirá mas adelante– no pertenece al dominio K de los parámetros en caso en que op es una multiplicación y el contenido del registro R_{l} no pertenece a K si op es una división. En lo que sigue se notará L(β) el tiempo no escalar y por S(β) el espacio utilizado por el straight–line program β.

Dado un straight–line program β en el sentido de la Definición 8 se puede definir de la manera más obvia para cada instante de tiempo 1 ≤ t ≤ T y cada registro R_{j} con 1 ≤ j ≤ S su contenido R_{j}^{t} como la función racional de K(X_{1}, …, X_{n}) que se obtiene aplicando paso a paso las intrucciones de locación de registros (1), …, (T). En el caso en que el registro j permanece sin especificar de esta manera al instante t se define su contenido como el valor constante 1 del cuerpo K. Por lo tanto en cualquier instante el contenido de cualquier registro es el valor constante 1 ∈ K o una función racional de K(X_{1}, …, X_{n}) que aparece como resultado intermedio del circuito aritmético β correspondiente en el sentido de la Definición 6. Se denomina (R_{j}^{t})_{1≤j≤S,1≤t≤T} la matriz de computación del straight–line program β.

3.1.2 Del modelo de locación de registros al modelo de complejidad geométrico

En esta subsección se introduce un modelo geométrico para la evaluación de polinomios que refleja el espacio y el tiempo computacional cuando las operaciones aritméticas se cuentan con costo uno. El modelo es algo grosero con respecto a cotas superiores de complejidad pero es conveniente para inferir cotas inferiores para la complejidad intrínseca de la función de tradeoff espacio–tiempo de una serie de polinomios explícitos los cuales –al menos al conocimiento del autor– se estudian por primera vez bajo el aspecto de espacio versus tiempo.

El método para obtener cotas inferiores para el tradeoff espacio–tiempo de procesos de evaluación de polinomios se basa en una interpretación geométrica de la noción de un straight–line program que utiliza tiempo no escalar y espacio no superior a cantidades prefijadas L y S respectivamente. En lo que sigue se restringirá el estudio al caso n := 1. Esto significa que se tratará con polinomios y funciones racionales univariadas definidas sobre el cuerpo K. Se denota por X := X_{1} la única variable de los polinomios y funciones racionales que aparecen como resultados intermedios en los straight–line programs que se considerarán a partir de ahora.

En primer lugar, obsérvese que, sobre el grafo de computación asociado a la regla de Horner para un polinomio univariado F ∈ K[X] de grado d, puede jugarse un pebble game en tiempo total time 2d y tiempo no escalar d usando exactamente dos pebbles. Sean L y S el tiempo no escalar y el espacio utilizado por el algoritmo de Horner que evalúa el polinomio F. Entonces L y S satisfacen la relación de tradeoff LS^{2} = 4d.

Esta consideración conduce a la siguiente pregunta: dado cualquier polinomio F ∈ K[X] de grado no mayor que d, ¿existe un straight–line program β in K(X) que utiliza tiempo no escalar L(β) y espacio S(β) tal que el tradeoff espacio–tiempo LS^{2}(β) := L(β)S^{2}(β) es considerablemente menor que d? Por medio de un simple argumento de dimensión se demostrará que la respuesta a esta cuestión es negativa. Esto significa que existe una constante universal c > 0 tal que (en un sentido preciso) casi todos los polinomios F ∈ K[X] de grado acotado por d tienen la propiedad que cualquier straight–line program β en K(X) que evalúa F tiene un tradeoff espacio– tiempo LS^{2}(β) que satisface la desigualdad LS^{2}(β) ≥ cd (ver Teorema 17). En lo sucesivo se abreviará un tal enunciado como LS^{2}(F) ≥ cd.

De forma similar a [172] y [89], se dirá que una familia de polinomios univariados (F_{d})_{d∈IN} tal que F_{d} tiene grado d es difícil de evaluar en términos de tradeoff si existe una constante c′ > 0 tal que cualquier familia de circuitos aritméticos (β_{d})_{d∈IN} en K[X] tal que β_{d} evalúa el polinomio F_{d} satisface la siguiente desigualdad de tradeoff espacio–tiempo:

LS^{2}(β_{d}) ≥ d^{c′}.

En lo sucesivo tal enunciado se abreviará en la forma:

LS^{2}(F_{d}) = d^{Ω(1)}.

El método geométrico que se desarrollará permitirá exhibir familias de polinomios univariados específicas que son difíciles de evaluar en este sentido.

Sean L y S números naturales fijos y sea β un straight–line program que calcula la función racional F ∈ K(X) en tiempo no escalar L(β) ≤ L y espacio S(β) ≤ S.

A fin de homogeneizar notaciones se comienza el cálculo formalmente en el instante cero fijando para 1 ≤ j ≤ S el contenido R_{j}^{0} de cada registro R_{j} como R_{j}^{0} := 0. Además del espacio se tendrá en cuenta solamente el tiempo no escalar como medida de complejidad. El tiempo no escalar será indicado por el nuevo parámetro l que varía de 1 a L. Mas aún, se utilizarán dos registros adicionales R_{−1} y R_{0} cuyos contenidos en cualquier instante de tiempo 0 ≤ l ≤ L se fija como R_{−1}^{l} := 1 y R_{0}^{l} := X. Dado que en el modelo no escalar operaciones K−lineales son libres y que sólo se toman en cuenta operaciones no escalares en el straight–line program β, se puede describir β por una sucesión recursiva de instrucciones de locación de registros (I_{j}^{l}) del tipo siguiente: para 1 ≤ j ≤ S y 1 ≤ l ≤ L la instrucción (I_{j}^{l}) tiene la forma

R_{j}^{l} := ( ∑_{−1≤k≤S} a_{k}^{(j,l)}R_{k}^{l−1}) op ( ∑_{−1≤k≤S} b_{k}^{(j,l)}R_{k}^{l−1}) ,

donde op es una multiplicación o división y los a_{k}^{(j,l)} y b_{k}^{(j,l)} son elementos adecuados de K.

La salida F de β se da por la siguiente instrucción final de locación de registros (I):

F := ∑_{−1≤k≤S} c_{k}R_{k}^{L}

donde los c_{k} son ciertos elementos de K.

Los elementos a_{k}^{(j,l)}, b_{k}^{(j,l)}, c_{k} de K que aparecen en estas instrucciones de locación de registros se llaman los parámetros del straight–line program β. Mas aún, los resultados intermedios de β se representan por medio de la matriz de computación

M(β) := (R_{j}^{l})_{−1≤j≤S,0≤l≤L}

El circuito β queda determinado por sus parámetros y la indicación sobre cual operación aritmética, multiplicación o división, se aplica en cada instrucción de locación de registros (I_{j}^{l}).

Obsérvese que la intrucción de locación de registros (I_{j}^{l}) no refleja exactamente un pebble game sobre el grafo de computación Γ(β) dado que en este modelo se supone que todos los registros cambian sus contenidos simultáneamente. Por el contrario, un pebble game en cada instante de tiempo afecta sólo un registro y no todos simultáneamente.

En consecuencia, el modelo de computación en K(X) definido por las reglas de locación de registros de tipos (I_{j}^{l}) e (I) para 1 ≤ j ≤ S y 1 ≤ l ≤ L es algo mas grosero que el modelo dado por las Definiciones 7 y 8. Esto significa que de esta manera pueden aparecer funciones racionales como el resultado de computaciones que no pueden ser efectuadas por medio de un straight–line program que utiliza solamente tiempo no escalar L y espacio S. Dado que el propósito final es demostrar cotas inferiores para el tradeoff entre espacio y tiempo no escalar requerido para calcular ciertos polinomios univariados, esta falta de precisión del modelo de complejidad no afectará la correctitud de los resultados que enunciaremos en el sentido de las Definiciones 7 y 8.

Sean L y S cantidades fijas. Supóngase que los parámetros a_{k}^{(j,l)}, b_{k}^{(j,l)}, c_{k} que aparecen para −1 ≤ k ≤ S, 1 ≤ j ≤ S y 1 ≤ l ≤ L en las instrucciones de locación de registros (I_{j}^{l}) y (I) se consideran como variables, es decir, se reemplazan estos parámetros por nuevas indeterminadas. Entonces las entradas de la matriz de computación M(β) y la función racional F que representa los resultados intermedios y la salida del straight–line program β se transforman en expresiones racionales en los parámetros del circuito β (y por supuesto en la variable X).

De esta manera el straight–line program β se transforma en un esquema de computación genérico de tiempo no escalar L y espacio S el cual queda únivocamente determinado por las cantidades L y S y la elección de la operación aritmética realizada (multiplicación o división) para cada 1 ≤ j ≤ S y 1 ≤ l ≤ L en la instrucción de locación de registros (I_{j}^{l}).

Se simplificará algo mas el esquema de computación de tiempo no escalar L y espacio S. Para este propśito se introduce para cada 1 ≤ j ≤ S y 1 ≤ l ≤ L un nuevo parámetro d^{(j,l)} el cual se interpretará de la manera siguiente: el valor asignado al parámetro d^{(j,l)} es 1 si la operación aritmética op de la instrucción (I_{j}^{l}) es una multiplicación y el valor es 0 si esta operación aritmética es una división.

Ahora se reemplaza para cada 1 ≤ j ≤ S, 1 ≤ l ≤ L la instrucción de locación de registros (I_{j}^{l}) por la siguiente que se denotará (J_{j}^{l}) :

R_{j}^{l} = ( ∑_{−1≤k≤S} a_{k}^{(j,l)}R_{k}^{l−1}) · (d^{(j,l)}( ∑_{−1≤k≤S} b_{k}^{(j,l)}R_{k}^{l−1}) +

+ (1 − d^{(j,l)})( ∑_{−1≤k≤S} b_{k}^{(j,l)}R_{k}^{l−1})^{−1})

(obsérvese que tomar en la instrucción de locación de registros (J_{j}^{l}) la inversa de la subexpresión ∑_{−1≤k≤S} b_{k}^{j,l}R_{k}^{l−1} es consistente con la suposición general que las computaciones que se consideran no contienen la función racional cero como resultado intermedio). Como siempre, cada parámetro d^{(j,l)} se representa por medio de una nueva indeterminada.

3.1.3 Una descripción geométrica del conjunto de los polinomios evaluables con recursos prefijados

En la subsección anterior se obtuvo un esquema de computación genérico que sólo depende del tiempo no escalar L y el espacio S. Los parámetros de este esquema de computación son a_{k}^{(j,l)}, b_{k}^{(j,l)}, d^{(j,l)} y c_{k} con −1 ≤ k ≤ S, 1 ≤ j ≤ S y 1 ≤ l ≤ L.

Se analizará ahora como la salida F depende de estos parámetros si F es un polinomio que pertenece a K[X]. Para este fin se aplica una idea cuyo origen puede situarse en el trabajo [172] (ver también [162]).

A fin de enunciar el siguiente resultado técnico se recuerda que el peso de un polinomio con coeficientes enteros es la suma de los valores absolutos de estos coeficientes.

Lema 32 Sean d, L, S números naturales dados, sea N := 8LS^{2} y sean Z_{1}, …, Z_{N} nuevas indeterminadas. Entonces existen polinomios P_{d}, …, P_{0} ∈ ZZ[Z_{1}, …, Z_{N}] de grado y peso acotados por 2(Ld + 1) y (4(S + 1))^{(d+1)^{L+1}} respectivamente, tales que el morfimo de espacios afines

Φ_{d,L,S} : K^{N} → K^{d+1}

definido por estos polinomios tiene la siguiente propiedad: para cada polinomio F ∈ K[X] de grado acotado por d que puede evaluarse por medio de un straight–line program en K(X) que utiliza tiempo no escalar L y espacio S, existe un subconjunto cofinito (no vacío) U_{F} de K tal que para cada elemento η ∈ U_{F} el punto (f_{d}(η), …, f_{0}(η)) ∈ K^{d+1} dado por la representación

F = ∑_{0≤i≤d} f_{i}(η)(X − η)^{i}

pertenece a la imagen del morfismo Φ_{d,L,S}.

Demostración. Sea β un straight–line program arbitrario en K(X) que calcula un polinomio dado F ∈ K[X] de grado acotado por d en tiempo no escalar L y espacio S. Se supone que β está dado como antes por una sucesión de instrucciones locación de registros (J_{j}^{l}) con 1 ≤ j ≤ S y 1 ≤ l ≤ L y una instrucción final (I). Por lo tanto, los resultados intermedios de β son funciones racionales R_{k}^{l} ∈ K(X) con −1 ≤ k ≤ S y 0 ≤ l ≤ L que satisfacen las siguientes relaciones recursivas:

R_{−1}^{l} = 1 para cada 0 ≤ l ≤ L

R_{0}^{l} = X para cada 0 ≤ l ≤ L

R_{j}^{0} = 0 para cada 1 ≤ j ≤ S

y

R_{j}^{l} = ( ∑_{−1≤k≤S} a_{k}^{(j,l)}R_{k}^{l−1}) · (d^{(j,l)}( ∑_{−1≤k≤S} b_{k}^{(j,l)}R_{k}^{l−1}) +

+ (1 − d^{(j,l)})( ∑_{−1≤k≤S} b_{k}^{(j,l)}R_{k}^{l−1})^{−1}) (3.1)

para cada 1 ≤ j ≤ S y cada 1 ≤ l ≤ L.

Finalmente, el polinomio de salida F ∈ K[X] se representa como

F = ∑_{−1≤k≤S} c_{k}R_{k}^{L}  (3.2)

Aquí a_{k}^{(j,l)}, b_{k}^{(j,l)}, d^{(j,l)}, c_{k} son elementos adecuados de K with −1 ≤ k ≤ S, 1 ≤ j ≤ S y 1 ≤ l ≤ L, los parámetros del straight–line program β.

Cada una de las funciones racionales ∑_{−1≤k≤S} a_{k}^{(j,l)}R_{k}^{l−1} y ∑_{−1≤k≤S} b_{k}^{(j,l)}R_{k}^{l−1} que aparecen como subexpresiones en la ecuación (3.1) están bien definidas y son diferentes de cero en todos los puntos de algún subconjunto cofinito U_{F} de K. Dado que K es infinito el conjunto U_{F} es no vacío. Sea η un punto arbitrario de U_{F} y j y l números naturales con 1 ≤ j ≤ S y 1 ≤ l ≤ L. Entonces las funciones racionales R_{−1}^{l−1}, …, R_{S}^{l−1}, ∑_{−1≤k≤S} a_{k}^{(j,l)}R_{k}^{l−1} y ∑_{−1≤k≤S} b_{k}^{(j,l)}R_{k}^{l−1} están definidas en η y son diferentes de cero en η. Por medio de un cambio adecuado de los parámetros a_{j}^{(j,l)}, b_{j}^{(j,l)} y c_{k} en las ecuaciones (3.1) y (3.2) se puede suponer sin pérdida de generalidad que vale ∑_{−1≤k≤S} a_{k}^{(j,l)}R_{k}^{l−1}(η) = 1 y ∑_{−1≤k≤S} b_{k}^{(j,l)}R_{k}^{l−1}(η) = 1. El parámetro d^{(j,l)} toma por hipótesis solamente los valores 0 o 1. Esto implica que la función racional R_{j}^{l} está definida en η y que se satisface la condición R_{j}^{l}(η) = 1. Esto permite representar R_{j}^{l} como una serie de potencias formal en X − η con coeficientes en K. Más precisamente, se puede escribir la función racional R_{j}^{l} unívocamente como la serie de potencias

R_{j}^{l} = 1 + ∑_{i≥1} R_{j,i}^{l}(X − η)^{i}

con coeficientes R_{j,i}^{l} pertenecientes al cuerpo K. Obsérvese que R_{0}^{l} = X tiene también una representación en series de potencias de la forma R_{0}^{l} = η + (X − η) = η + ∑_{i≤1} R_{0,i}^{l}(X − η)^{i} con R_{0,1}^{l} = 1 y R_{0,i}^{l} = 0 para i > 1. De las hipótesis realizadas se deduce:

∑_{−1≤k≤S} a_{k}^{(j,l)}R_{k}^{l−1} = ∑_{−1≤k≤S} a_{k}^{(j,l)}R_{k,i}^{l−1}(η) + ∑_{0≤k≤S} a_{k}^{(j,l)} ∑_{i≥1} R_{k,i}^{l−1}(X − η)^{i} =
= 1 + ∑_{0≤k≤S} a_{k}^{(j,l)} ∑_{i≥1} R_{k,i}^{l−1}(X − η)^{i}  (3.3)

y similarmente

∑_{−1≤k≤S} b_{k}^{(j,l)}R_{k}^{l−1} = 1 + ∑_{0≤k≤S} b_{k}^{(j,l)} ∑_{i≥1} R_{k,i}^{l−1}(X − η)^{i}  (3.4)

La ecuación (3.4) implica la siguiente:

( ∑_{−1≤k≤S} b_{k}^{(j,l)}R_{k}^{l−1})^{−1} = 1 + ∑_{v≥1} (− ∑_{0≤k≤S} b_{k}^{(j,l)} ∑_{i≥1} R_{k,i}^{l−1}(X − η)^{i})^{v}

Esto permite expresar la ecuación (3.1) en términos de series de potencias. Para 1 ≤ j ≤ S y 1 ≤ l ≤ L se tiene

1 + ∑_{i≥1} R_{j,i}^{l}(X − η)^{i} =

= (1 + ∑_{0≤k≤S} a_{k}^{(j,l)} ∑_{i≥1} R_{k,i}^{l−1}(X − η)^{i})·

·(d^{(j,l)}(1 + ∑_{0≤k≤S} b_{k}^{(j,l)} ∑_{i≥1} R_{k,i}^{l−1}(X − η)^{i})+

+(1 − d^{(j,l)})(1 + ∑_{v≥1}(− ∑_{0≤k≤S} b_{k}^{(j,l)} ∑_{i≥1} R_{k,i}^{l−1}(X − η)^{i})^{v}))

(3.5)

De la ecuación (3.5) se deduce inductivamente que los coeficientes R_{j,i}^{l} son expresiones polinomiales con coeficientes enteros en los parámetros a_{k}^{(j′,l′)}, b_{k}^{(j′,l′)}, d^{(j′,l′)} del straight–line program β donde k, j′ y l′ varían en 0 ≤ k ≤ S, 1 ≤ j′ ≤ S y 1 ≤ l′ ≤ l. Estas expresiones polinomiales dependen solamente de L y S y son independientes de la elección particular de η y del straight–line program particular β.

Dado que no puede aparecer ninguna ambigüedad, se denotará tal expresión polinomial con el mismo símbolo que el coeficiente de la serie de potencias que representa, es decir R_{j,i}^{l}.

Comparando coeficientes en la ecuación (3.5) se ve que cada coeficiente R_{j,i}^{l} es, salvo signos, una suma de expresiones monomiales de uno de los dos tipos siguientes:

(d^{(j,l)})^{ϵ} ∏_{1≤v≤μ} b_{k_{v}}^{(j,l)}R_{k_{v},i_{v}}^{l−1}  (3.6)

o

a_{k_{μ}}^{(j,l)}R_{k_{μ},i_{μ}}^{l−1}(d^{(j,l)})^{ϵ} ∏_{1≤v<μ} b_{k_{v}}^{(j,l)}R_{k_{v},i_{v}}^{l−1}  (3.7)

con ∑_{1≤v≤μ} i_{v} = i, 1 ≤ i_{v} ≤ i, 1 ≤ μ ≤ i, 0 ≤ k_{v} ≤ S y ϵ ∈ {0, 1}.

A partir de esta observación se deduce la siguiente cota de grados recursiva: gr(R_{j,i}^{l}) ≤ max{μ + 1 + ∑_{1≤v≤μ} gr(R_{k_{v},i_{v}}^{l−1}) :

∑_{1≤v≤μ} i_{v} = i, 1 ≤ i_{v} ≤ i, 1 ≤ μ ≤ i, 0 ≤ k_{v} ≤ S}  (3.8)

De la construcción realizada se deduce inmediatamente que para cada 0 ≤ k ≤ S y cada i ≥ 1 se satisface la siguiente estimación:

gr(R_{k,i}^{0}) ≤ 0  (3.9)

Si se resuelven las relaciones de recurrencia (3.8) tomando en cuenta las condiciones iniciales (3.9) se obtiene:

gr(R_{j,i}^{l}) ≤ i(2l − 1) + 1  (3.10)

para cada 1 ≤ j ≤ S, 1 ≤ l ≤ L y i ≥ 1.

Se estima ahora el peso de los polinomios R_{j,i}^{l}. Para tal propósito se observa que el número de expresiones monomiales (3.6) y (3.7) que aparecen en R_{j,i}^{l} no excede 2^{i+1}(S + 1)^{i}. Por lo tanto, se deduce la siguiente cota recursiva para el peso:

peso(R_{j,i}^{l}) ≤ 2^{i+1}(S + 1)^{i} max{∏_{1≤v≤μ} peso(R_{k_{v},i_{v}}^{l−1}) :

∑_{1≤v≤μ} i_{v} = i, 1 ≤ i_{v} ≤ i, 1 ≤ μ ≤ i, 0 ≤ k_{v} ≤ S}  (3.11)

Por inspección directa se verifica fácilmente que para cada 1 ≤ l ≤ L y cada 0 ≤ k ≤ S vale la estimación:

peso(R_{k,1}^{l}) ≤ 4^{l}(S + 1)^{l}  (3.12)

Tomando en cuenta las condiciones iniciales (3.12), la resolución de las relaciones de recurrencia (3.11) da:

peso(R_{j,i}^{l}) ≤ 2^{(i+1)((i+1)^{l}−1)}(S + 1)^{i(i+1)^{l}−1)}  (3.13)

Los coeficientes R_{j,i}^{l} de la serie de potencias que aparece en la ecuación (3.5) son expresiones polinomiales sobre ZZ en los 2LS^{2} + 3LS parámetros a_{k}^{(j,l)}, b_{k}^{(j,l)}, d^{(j,l)} con 0 ≤ k ≤ S, 1 ≤ j ≤ S y 1 ≤ l ≤ L. En consecuencia, se los considerará como polinomios en (2LS^{2} + 3LS) variables sobre ZZ.

El polinomio F ∈ K[X] tiene grado no mayor que d y por lo tanto posee una expansión finita en series de Taylor en (X − η) del tipo:

F = ∑_{0≤i≤d} f_{i}(η)(X − η)^{i}

con coeficientes f_{i}(η) pertenecientes al cuerpo K.

De la ecuación (3.2) se deduce:

F = ∑_{0≤i≤d} f_{i}(η)(X − η)^{i} = ∑_{−1≤k≤S} c_{k}R_{k}^{L} =

= (c_{−1} + c_{0}η + ∑_{1≤k≤S} c_{k}) + ∑_{0≤k≤S} c_{k} (∑_{i≥1} R_{k,i}^{L}(X − η)^{i}) =

= (c_{−1} + c_{0}η + ∑_{1≤k≤S} c_{k}) + ∑_{i≥1} ( ∑_{0≤k≤S} c_{k}R_{k,i}^{L}) (X − η)^{i}.

Esto implica

f_{i}(η) = ∑_{0≤k≤S} c_{k}R_{k,i}^{L}  (3.14)

para 1 ≤ i ≤ d y

f_{0}(η) = c_{−1} + c_{0}η + ∑_{1≤k≤S} c_{k}  (3.15)

para i = 0.

Obsérvese que la ecuación (3.14) es independiente del parámetro c_{−1}. Esto permite considerar c_{−1} + c_{0}η como un nuevo parámetro c del cual depende el straight–line program β que reemplaza al viejo parámetro c_{−1}. En este sentido se puede reescribir la ecuación (3.15) como

f_{0}(η) = c + ∑_{1≤k≤S} c_{k}.  (3.16)

El lado derecho de las ecuaciones (3.14) y (3.16) son expresiones polinomiales en los 2LS^{2} + 3LS + S + 2 ≤ 8LS^{2} parámetros c, c_{k}, a_{k}^{(j,l)}, b_{k}^{(j,l)}, d^{(j,l)} con 0 ≤ k ≤ S, 1 ≤ j ≤ S y 1 ≤ l ≤ L. Estas expresiones polinomiales dependen solamente de L y S y son independientes de la elección del punto η ∈ U_{F}.

Sea N := 8LS^{2} y let Z_{1}, …, Z_{N} nuevas indeterminadas. De las ecuaciones (3.10), (3.13), (3.14) y (3.16) se deduce que existen polinomios P_{0}, …, P_{d} ∈ ZZ[Z_{1}, …, Z_{N}] tales que para cada 0 ≤ i ≤ d el grado y el peso de P_{i} puede estimarse por

gr(P_{i}) ≤ i(2L − 1) + 2 ≤ 2(Ld + 1)
peso(P_{i}) ≤ (4(S + 1))^{(d+1)^{L+1}}

tales que se satisface la siguiente afirmación: para cada polinomio F ∈ K[X] de grado a lo sumo d que puede evaluarse por medio de un straight–line program en tiempo no escalar L y espacio S existe un conjunto cofinito (no vacío) U_{F} en K tal que para cada valor η ∈ U_{F} hay un punto z ∈ K^{N} con

F = ∑_{0≤i≤d} f_{i}(η)(X − η)^{i} = ∑_{0≤i≤d} P_{i}(z)(X − η)^{i}

Sea ahora

Φ_{d,L,S} : K^{N} ⟶ K^{d+1}

el morfismo de espacios afines definido por Φ_{d,L,S}(z) := (P_{d}(z), …, P_{0}(z)) para z ∈ K^{N} arbitrario. Este morfismo tiene todas las propiedades anunciadas en el enunciado del lema 32. □

En las aplicaciones se necesitará una formulación mas comprensible del lema 32 en la cual el valor genérico η y el conjunto cofinito U_{F} al cual η pertenece no aparezcan explícitamente. Tal formulación puede obtenerse fácilmente incluyendo el valor genérico η en la lista de parámetros del straight–line program β hipotético analizado en la demostración del lema 32. De esta observación se deduce el próximo resultado.

Lema 33 Sean d, L, S números naturales dados, N := 8LS^{2} + 1 y sean Z_{1} …, Z_{N} nuevas indeterminadas. Entonces existen polinomios P_{d}, …, P_{0} ∈ ZZ[Z_{1}, …, Z_{N}] de grado y peso acotados por

2(Ld + 1)

y

(d + 1)!(4(S + 1))^{(d+1)^{L+1}}

respectivamente tales que el morfismo espacios afines

Φ_{d,L,S} : K^{N} ⟶ K^{d+1}

definido por estos polinomios tiene la siguiente propiedad: para cada polinomio F ∈ K[X] de grado menor o igual que d que puede evaluarse por medio de un straight–line program en tiempo no escalar L y espacio S, el punto (f_{d}, …, f_{0}) ∈ K^{d+1} dado por la representación F = ∑_{0≤i≤d} f_{i}X^{i} pertenece a la imagen de Φ_{d,L,S}.

En lo sucesivo se identificará cada polinomio F = ∑_{0≤i≤d} f_{i}X^{i} ∈ K[X] de grado a lo sumo d con su vector de coeficientes (f_{d}, …, f_{0}) que se considerará como un punto del espacio afín K^{d+1}. En este sentido una afirmación como “F ∈ K^{d+1}” deberá entenderse como “(f_{d}, …, f_{0}) ∈ K^{d+1}”.

Del lema 32 se deducen las siguientes consecuencias geométricas que representan la principal herramienta para derivar cotas inferiores sobre el tradeoff espacio–tiempo intrínseco de polinomios univariados (comparar con [95]).

Lema 34 Sean d, L, S números naturales dados. Existe un Subconjunto cerrado Zariski irreducible Q–definible W_{d,L,S} de K^{d+1} tal que se satisfacen las siguientes afirmaciones:

(i) dim(W_{d,L,S}) ≤ 8LS^{2}.

(ii) gr(W_{d,L,S}) ≤ (2(Ld + 1))^{8LS^{2}}.

(iii) el vector de coeficientes de todo polinomio F ∈ K[X] de grado no mayor que d que puede evaluarse por medio de un straight–line program en K(X) de tiempo no escalar L y espacio S pertenece a la variedad algebraica W_{d,L,S}.

Demostración Sea W := W_{d,L,S} la clausura Zariski en K^{d+1} de la imagen del morfismo Φ := Φ_{d,L,S} del lema 32. Se ve inmediatamente que W es un conjunto cerrado Zariski irreducible del espacio afín K^{d+1}. Este subconjunto es también Q–definible dado que el morfismo Φ está dado por polinomios P_{d}, …, P_{0} que tienen coeficientes enteros. Durante el resto de la demostración se interpretará Φ como un morfismo de variedades afines K^{N} en W. En esta interpretación Φ es dominante. y por lo tanto esto implica dim(W) ≤ N = 8LS^{2}. En consecuencia, la variedad algebraica W = W_{d,L,S} satisface la condición (i).

Se verifica ahora la condición (ii). Sea r := dim W. Dado que el morfismo Φ es dominante existe un subconjunto Zariski abierto no vacío de W que está contenido en Im Φ, la imagen de Φ. Por lo tanto, se deduce de [88] que existen r hiperplanos afines H_{1}, …, H_{r} de K^{d+1} que intersecan Im Φ en gr(W) puntos. Sea M := H_{1} ∩ … ∩ H_{r} ∩ Im Φ. Entonces se tiene #M = gr(W). Del lema 32 se deduce inmediatamente que Φ^{−1}(H_{1}), …, Φ^{−1}(H_{r}) son hipersurperficies de K^{N} de grado a lo sumo 2(Ld + 1). Sea

C := {C : C es una componente irreducible de Φ^{−1}(H_{1}) ∩ … ∩ Φ^{−1}(H_{r})}

Por la desigualdad de Bézout (ver [88], o [70]) se tiene

# C ≤ ∑_{C∈C} gr(C) ≤ ((2(Ld + 1))^{r} ≤ ((2(Ld + 1))^{8LS^{2}}

donde gr(C) denota el grado (geométrico) del cerrado irreducible C de K^{N}.

Para cada C ∈ C la clausura Zariski de la imagen Φ(C) es un subconjunto irreducible de K^{d+1} contenido en M, y por lo tanto un punto de M. Dado que el conjunto M está contenido en Im Φ se concluye que

gr(W_{d,L,S}) = gr(W) = #M ≤ #C ≤ (2(Ld + 1))^{8LS^{2}}

Finalmente, resta verificar la condición (iii). Sea F = ∑_{0≤i≤d} f_{i}X^{i} ∈ K[X] un polinomio de grado acotado por d que puede evaluarse por un straight–line program en K(X) en tiempo no escalar L y espacio S. Para cada η ∈ K sea F = ∑_{0≤i≤d} f_{i}(η)(X −η)^{i} la expansión de Taylor de F en X −η. El vector (f_{d}(η), …, f_{0}(η)) depende en forma polinomial del parámetro η. Sea U := U_{F} el subconjunto cofinito no vacío introducido en el lema 32. Para cada η ∈ U se tiene:

(f_{d}(η), …, f_{0}(η)) ∈ Im Φ_{d,L,S} = Im Φ ⊂ W,

por este lema. Dado que U es infinito y W es un cerrado Zariski de K^{d+1} se concluye que (f_{d}, …, f_{0}) = (f_{d}(0), …, f_{0}(0)) pertenece a la variedad algebraica W = W_{d,L,S}. □

3.1.4 Algunas consecuencias en términos de tradeoffs

A partir del lema 34 se deducirán cotas inferiores para el tradeoff espacio– tiempo. El primer resultado que se obtendrá caracteriza la complejidad intrínseca del tradeoff espacio–tiempo de “casi todos” los polinomios univariados de grado acotado por d generalizando en consecuencia el resultado principal de [140] y mostrando que la regla de Horner es asintóticamente optimal en términos de tradeoff espacio–tiempo.

Teorema 17 Sea d un número natural dado. Existe subconjunto abierto Zariski no vacío U de K^{d+1} tal que para cada polinomio F ∈ K[X] de grado a lo sumo d con F ∈ U vale la estimación de tradeoff

LS^{2}(F) ≥ \frac{d}{8}

Demostración Sea d fijo. Para cada número racional positivo t ≤ d se considera el suconjunto cerrado Zariski W_{d,t} de K^{d+1} definido por

W_{d,t} := ⋃_{L,S∈IN, LS^{2}≤t} W_{d,L,S}

Del lema 34 (i) se deduce:

dim(W_{d,t}) ≤ max{dim(W_{d,L,S}) : L, S ∈ IN, LS^{2} ≤ t} ≤ 8t

Por lo tanto, para t := \frac{d}{8} se tiene

dim(W_{d, \frac{d}{8}} ) ≤ d

Esto implica que el subconjunto abierto Zariski U := K^{d+1}\W_{d, \frac{d}{8}} es no vacío. Del lema 34 (iii) se deduce finalmente que para polinomio F de K[X] cuyo grado no excede d que pertenece al conjunto U satisface la estimación de tradeoff LS^{2}(F) ≥ \frac{d}{8}. □

Siguiendo [140] existe una constante c > 0 tal que cualquier polinomio F ∈ K[X] de grado arbitrario d puede evaluarse con un straight–line program en K[X] en tiempo no escalar no superior c\sqrt{d}. Combinando este resultado con el teorema 17 se obtiene la siguiente conclusión:

Corolario 1 Existe una constante c′ > 0 con las siguientes propiedades: sea d un número natural dado y sea U el subconjunto abierto Zariski de K^{d+1} introducido en el teorema 17. Entonces para cada polinomio F ∈ K[X] de grado no mayor que d que satisface la condición F ∈ U y para cada straight– line program β en K(X) que evalúa F en tiempo no escalar óptimo, el espacio S(β) requerido por el procedimiento β se acota inferiormente por

S(β) ≥ c′ ^{4} \sqrt{d}

Se puede reenuciar el contenido del corolario 1 de la siguiente manera: casi todos los polinomios de K[X] de grado a lo sumo d requieren espacio c′ ^{4} \sqrt{d} si se evalúan optimalmente con respecto al tiempo no escalar. Por otro lado, siguiendo [140] existe una constante c′′ > 0 tal que casi todos los polinomios de K[X] de grado no superior a d necesitan tiempo no escalar c′′\sqrt{d} para su evaluación. Esto explica en que sentido el teorema 17 contiene el mejor resultado de tradeoff espacio–tiempo genérico posible.

3.2 Herramientas de eliminación geométrica y teoría de intersección

En este capítulo frecuentemente se enfrentarán situaciones como la siguiente: supóngase dado un polinomio F ∈ K[X] de grado d. Solamente a partir del conocimiento de los coeficientes de F se debe deducir una cota inferior para la cantidad LS^{2} donde L y S son números naturales arbitrarios que satisfacen la condición F ∈ W_{d,L,S} o F ∈ ImΦ_{d,L,S} con W_{d,L,S} y Φ_{d,L,S} definidos como en el lema 34 y el lema 33 respectivamente. Estos dos lemas establecen una relación entre el tamaño de los parámetros de complejidad L y S y el grado o la altura de la variedad algebraica W_{d,L,S} o el morfismo algebraico Φ_{d,L,S}. Por lo tanto, se necesitan herramientas que permitan estimar estos invariantes geométricos: el grado y la altura de W_{d,L,S} y Φ_{d,L,S} respectivamente a partir de los coeficientes de un sólo punto específico que pertenece a la variedad algebraica W_{d,L,S} o la imagen del morfismo Φ_{d,L,S}. Tales herramientas se desarrollarán por medio del uso de un Nullstellensätz adecuado y una Desigualdad de Bézout de teoría de eliminación geométrica y aritmética (comparar con [140], [172], [162], [95], [76], [94], [89], [90], [168], [169], [121], [129], [130], [9], por un punto de vista similar).

En esta sección técnica se explicarán los resultados de eliminación y teoría de intersección que se aplicarán. En primer lugar, recuérdese que la altura de un polinomio con coeficientes enteros es el máximo valor absoluto de sus coeficientes. Similarmente, la altura logarítmica de un polinomio es la máxima longitud bit de sus coeficientes.

El principal resultado de esta sección es el siguiente:

Proposición 11 Sean N, d, D y η números naturales y sea

Φ := (P_{d}, …, P_{0}) : C^{N} ⟶ C^{d+1}

un morfismo de espacios afines donde P_{0}, …, P_{d} son polinomios que pertenecen a ZZ[Z_{1}, …, Z_{N}]. Sea F un punto dado de ZZ^{d+1}. Considérese la Φ–fibra V := Φ^{−1}(F) del punto F como una subvariedad cerrada Zariski Q–definible de C^{N}. Supóngase que V es no vacía. Sean h_{1}, …, h_{s} ∈ ZZ[Z_{1}, …, Z_{N}] polinomios que satisfacen las siguientes condiciones:

1. V := {z ∈ C^{N} : h_{1}(z) = 0, …, h_{s}(z) = 0}

2. max{gr(h_{i}) : 1 ≤ i ≤ s} ≤ D y

3. max{log_{2} height(h_{i}) : 1 ≤ i ≤ s} ≤ η

Entonces, existe un punto θ = (θ_{1}, …, θ_{N}) de la fibra V que satisface la estimación

log_{2} max{| θ_{i} | : 1 ≤ i ≤ N} ≤ D^{cN}(log_{2} s + η),

donde c > 0 es una constante universal adecuada.

El resto de esta sección se dedicará a la demostración de este resultado. Para este propósito se necesitan una serie de resultados intermedios técnicos de teoría de eliminación geométrica. El primero de ellos es una forma adecuada de un Nullstellensatz efectivo, el cual se vuelve a enunciar para comodidad del lector.

Teorema 18 (Nullstellensatz efectivo) Sean D ≥ 3 y N ≥ 3 números naturales y h_{1}, …, h_{s} ∈ ZZ[Z_{1}, …, Z_{N}] polinomios de grado a lo sumo D. Considérese el ideal I = (h_{1}, …, h_{s}) generado por estos polinomios en Q[Z_{1}, …, Z_{N}]. Entonces, el ideal I es trivial si y sólo si existen polinomios g_{1}, …, g_{s} ∈ ZZ[Z_{1}, …, Z_{N}] que satisfacen la cota de grados

max{gr(g_{i}) : 1 ≤ i ≤ s} ≤ D^{N} − D

tales que vale la siguiente identidad de Bézout:

1 = ∑_{1≤i≤s} g_{i}h_{i}  (3.17)

Cabe destacar que recientes Nullstellensätze “intrínsecos” como los demostrados en [115] y [167] permitirían establecer leves mejoras en las cotas de tradeoff.

La cota sobre el grado de los polinomios g_{1}, …, g_{s} en el teorema 18 permite reducir la cuestión de la vacuidad de la variedad algebraica V definida por los polinomios h_{1}, …, h_{s} al problema de la compatibilidad de un sistema inhomogéneo de ecuaciones lineales de tamaño D^{N^{2}} × sD^{N^{2}} con entradas racionales, las cuales están dadas por los coeficientes de los polinomios h_{1}, …, h_{s}. Este sistema de ecuaciones lineales permite calcular un polinomio adecuado de grado acotado que expresa una cierta propiedad de eliminación de la variedad V. Esta observación conduce al siguiente resultado:

Lema 35 Sean D ≥ 3 y N ≥ 3 números naturales dados y sea V un subconjunto cerrado Zariski de C^{N} que es Q–definible y tiene dimensión positiva r. Supóngase que V está dado como el conjunto de ceros comunes de finitos polinomios en ZZ[Z_{1}, …, Z_{N}] de grado a lo sumo D. Se introducen para 1 ≤ i ≤ r y 1 ≤ j ≤ N + 1 nuevas indeterminadas T_{i,j} y polinomios

L_{i} := T_{i,1}Z_{1} + ⋯ + T_{i,N}Z_{N} + T_{i,N+1}

Bajo estas condiciones existe un polinomio no nulo E ∈ ZZ[T_{i,j}; 1 ≤ i ≤ r, 1 ≤ j ≤ N + 1] de grado a lo sumo D^{N^{2}} con la siguiente propiedad: cualquier matriz t = (t_{i,j})_{{1≤i≤r, 1≤j≤N+1}} de C^{r×(N+1)} que define r polinomios lineales afines

L_{1}(t, Z_{1}, …, Z_{N}) = t_{1,1}Z_{1} + ⋯ + t_{1,N}Z_{N} + t_{1,N+1},
⋮
L_{r}(t, Z_{1}, …, Z_{N}) = t_{r,1}Z_{1} + ⋯ + t_{r,N}Z_{N} + t_{r,N+1}

verifica que la intersección de V con el subespacio lineal afín de C^{N} dado por estos polinomios

V ∩ {z ∈ C^{N} : L_{1}(t, z) = 0, …, L_{r}(t, z) = 0},

es no vacío si se satisface la condición Zariski abierta (consistente) E(t) ≠ 0.

Notación 1 Por el resto de esta sección se fijan las siguientes notaciones:

T := (T_{i,j})_{1≤i≤r,1≤j≤N+1} y Z := (Z_{1}, …, Z_{N}).

Demostración del lema 35 Por hipótesis existen finitos polinomios h_{1}, …, h_{s} ∈ ZZ[Z_{1}, …, Z_{N}] de grado no mayor que D que definen la variedad V. Dado que r es la dimensión (positiva) de V existe un subconjunto abierto Zariski no vacío U de C^{r×(N+1)} tal que para cada t ∈ U la intersección

V ∩ {z ∈ C^{N} : L_{1}(t, z) = 0, …, L_{r}(t, z) = 0},

contiene al menos un punto (ver por ejemplo [88], Lemma 1). Esto implica que el ideal J generado por los polinomios h_{1}, …, h_{s},L_{1}, …, L_{r} en el anillos de polinomios Q(T)[Z] es propio. Del teorema 18 se deduce entonces que no pueden existir polinomios g_{1}, …, g_{r+s} ∈ Q(T)[Z] tales que para cada 1 ≤ k ≤ r + s el polinomio g_{k} tiene la forma

g_{k}(Z) := ∑_{ν_{1}+···+ν_{N} ≤D^{N} −D} Y_{ν_{1},...,ν_{N}}^{(k)} Z_{1}^{ν_{1}} … Z_{N}^{ν_{N}}

con coeficientes Y_{ν_{1},...,ν_{N}}^{(k)} en el cuerpo Q(T) y tal que se satisface la identidad de Bézout:

1 = g_{1}(Z)h_{1}(Z) + ⋯ + g_{s}(Z)h_{s}(Z) +
+ g_{s+1}(Z)L_{1}(T, Z) + ⋯ + g_{r+s}(Z)L_{r}(T, Z) (3.18)

en Q(T)[Z].

La identidad polinomial (inconsistente) (3.18) puede interpretarse como un sistema inhomogéneo de ecuaciones lineales en las indeterminadas Y_{ν_{1},...,ν_{N}}^{(k)} que aparecen como coeficientes de los polinomios “potenciales” g_{1}, …, g_{r+s} en las variables Z_{1}, …, Z_{N}. Este sistema de ecuaciones tiene tamaño de tipo D^{N^{2}} × sD^{N^{2}} y su matriz, que se denota por A, contiene como entradas los coeficientes de los polinomios h_{1}, …, h_{s} y L_{1}, … L_{r} con respecto a las variables Z_{1}, …, Z_{N}.

En consecuencia, la matriz A se construye con enteros e indeterminadas T_{i,j}. Nótese por

AY = B  (3.19)

el sistema inhomogéneo de ecuaciones lineales que representa la identidad polinomial (3.18). Aquí B e Y son vectores columna de longitud a lo sumo D^{N^{2}} y sD^{N^{2}} respectivamente, todas las entradas de B son 0 excepto una que es 1, e Y es el vector columna de indeterminadas del sistema. Estas indeterminadas pueden escribirse como Y_{ν_{1},...,ν_{N}}^{(k)} con 1 ≤ k ≤ r+s y ν_{1}+⋯+ν_{n} ≤ D^{N}. La inconsistencia de la identidad polinomial (3.18) implica la inconsistencia del sistema de ecuaciones lineales (3.19). Por lo tanto, el rango de la matriz A es estrictamente inferior al rango, m, de la matriz A^{∗} que se obtiene agregando a la matriz A el vector columna B. Esto significa que A^{∗} contiene un menor regular m×m con determinante no nulo E ∈ ZZ[T] mientras que todos los menores de m × m de A son singulares. Este determinante E(T) expresa un propiedad de eliminación adecuada de la variedad algebraica definida en C^{r×(N+1)} × C^{N} por los polinomios h_{1}(Z), …, h_{s}(Z), L_{1}(T, Z), …, L_{r}(T, Z) si se proyecta esta variedad en el espacio afín C^{r×(N+1)}. El siguiente argumento contiene el sentido preciso de este enunciado y su justificación: para cada t ∈ C^{r×(N+1)} tal que vale E(t) ≠ 0 el sistema de ecuaciones lineales que se obtiene a partir de (3.19) especializando la matriz genérica T en t es inconsistente. En virtud del teorema 18 esto significa que el ideal generado por los polinomios h_{1}(Z), …, h_{s}(Z), L_{1}(t, Z), …, L_{r}(t, Z) en el anillo de polinomios C[Z] es propio. Por lo tanto, la variedad

V ∩ {z ∈ C^{N} : L_{1}(t, z) = 0, …, L_{r}(t, z) = 0} = = {z ∈ C^{N} : h_{1}(z) = 0, …, h_{s}(z) = 0, L_{1}(t, z) = 0, …, L_{r}(t, z) = 0}

es no vacía.

Obsérvese que las entradas de la matriz A^{∗} son constantes o polinomios lineales de ZZ[T] y que A^{∗} tiene a lo sumo D^{N^{2}} filas lo que implica m ≤ D^{N^{2}}. En consecuencia, el grado del polinomio E(T) está acotado por D^{N^{2}}. □

El lema 35 representa el principal paso en la demostración del próximo resultado.

Lema 36 Sean D ≥ 3 y N ≥ 3 números naturales y sea V un subconjunto de C^{N} cerrado Zariski Q–definible de dimensión positiva r. Supóngase que V está dada como el conjunto de ceros de finitos polinomios de ZZ[Z_{1}, …, Z_{N}] de grado a lo sumo D. Entonces existen r polinomios lineales afines L_{1}, …, L_{r} ∈ ZZ[Z_{1}, …, Z_{N}] de altura logarítmica acotada por N(N +1) log_{2} D, tal que para cada 1 ≤ k ≤ r la variedad algebraica

V ∩ {z ∈ C^{N} : L_{1}(z) = 0, …, L_{k}(z) = 0}

es no vacía de dimensión r − k.

Obsérvese aquí que los resultados de [114], Subsection 4.8 implican una mejora de la estimación para la altura logarítmica de los polinomios lineales afines L_{1}, …, L_{r} en el lema 36 a cN log_{2} D donde c > 0 es una constante universal adecuada. Sin embargo se trabajará con la cota de altura del enunciado del lema 36, dado que el impacto de la mejora mencionada sobre los resultados de complejidad que se obtendrán es bastante modesto y la cota hallada es mucho mas fácil de demostrar.

En la siguiente demostración se utilizará nuevamente la matriz

T := (T_{i,j})_{1≤i≤r,1≤j≤N+1}

de indeterminadas T_{i,j} introducida anteriormente.

Demostración del lema 36 Aplicando el lema 35 se construyen en forma recursiva con respecto a la dimensión r de la variedad V polinomios lineales afines L_{1}, …, L_{r} ∈ ZZ[Z] que satisfacen los requirimientos del lema a demostrar.

Antes de comenzar esta construcción recursiva obsérvese que la hipótesis que V se define por medio de polinomios en N variables de grado acotado por D y la Desigualdad de Bézout (ver por ejemplo, [88], Theorem 1 o [70], Example 8.4.6) implican en conjunto que el grado de V está acotado por D^{N}.

Se considera en primer lugar el caso r := 1.

Dado que gr(V) ≤ D^{N} es posible elegir un conjunto Γ de a lo sumo D^{N} puntos de V tales que para cada componente irreducible de máxima dimensión r = 1 de V existe al menos un punto en esta componente que pertenece a Γ. Sea

Q := ∏_{(γ_{1},...,γ_{N})∈Γ}(γ_{1}T_{1,1} + ⋯ + γ_{N}T_{1,N} + T_{1,N+1}) ∈ C[T_{1,1}, …, T_{1,N+1}]

y sea E_{1} ∈ ZZ[T_{1,1}, …, T_{1,N}] el polinomio de eliminación del lema 35. Entonces QE_{1} es un polinomio no nulo de C[T_{1,1}, …, T_{1,N+1}] de grado no mayor que D^{N^{2}} + D^{N} < D^{N(N+1)}. Por lo tanto, existe en el conjunto

{(t_{1,1}, …, t_{1,N+1}) ∈ ZZ^{N+1} : max{| t_{1,j} |: 1 ≤ j ≤ N + 1} ≤ D^{N(N+1)}}

un punto (t_{1,1}, …, t_{1,N+1}) tal que se satisface la condición

QE_{1}(t_{1,1}, …, t_{1,N+1}) ≠ 0

Sea L_{1} := t_{1,1}Z_{1} + ⋯ + t_{1,N}Z_{N} + t_{1,N+1}.

Dado que Q(t_{1,1}, …, t_{1,N+1}) ≠ 0 se deduce que el hiperplano afín {z ∈ C^{N} : L_{1}(z) = 0} corta propiamente todas las componentes irreducibles de V de dimensión maximal r = 1 y E_{1}(t_{1,1}, …, t_{1,N+1}) ≠ 0 implica que V ∩ {z ∈ C^{N} : L_{1}(z) = 0} es no vacía. En consecuencia, por el Teorema de la Dimensión (ver por ejemplo [164]) la dimensión de la variedad algebraica V ∩ {z ∈ C^{N} : L_{1}(z) = 0} es r − 1 = 0. Mas aún, la altura logarítmica del polinomio lineal afín L_{1} satisface los requerimientos en la conclusión del lema 36.

En el caso general r > 1 se procede similarmente. Se asume inductivamente que para cada subvariedad cerrada de C^{N} de dimensión r − 1 que es definible por polinomios de ZZ[Z_{1}, …, Z_{N}] de grado a lo sumo D se ha hallado un conjunto de r − 1 polinomios lineales afines de ZZ[Z_{1}, …, Z_{N}] que satisfacen los requirimientos en la conclusión del lema 36.

Nuevamente se elige un conjunto Γ de a lo sumo D^{N} puntos de V tal que para cada componente de dimensión maximal r de V existe al menos un punto en esta componente que pertenece a Γ.

Sea

Q := ∏_{(γ_{1},...,γ_{N})∈Γ}(γ_{1}T_{1,1} + ⋯ + γ_{N}T_{1,N} + T_{1,N+1}) ∈ C[T_{1,1}, …, T_{1,N+1}]

y sea E_{r} ∈ ZZ[T] el polinomio de eliminación del lema 35. Entonces QE_{r} es nuevamente un polinomio no nulo de C[T] de grado estrictamente menor que D^{N(N+1)}. Por lo tanto, existe en el conjunto

{(t_{i,j})_{1≤i≤r, 1≤j≤N+1} ∈ ZZ^{r×(N+1)} :
: max{| t_{i,j} |: 1 ≤ i ≤ r, 1 ≤ j ≤ N + 1} ≤ D^{N(N+1)}}

un punto t = (t_{i,j})_{1≤i≤r, 1≤j≤N+1} tal que QE_{r}(t) ≠ 0. Sea L_{1} := t_{1,1}Z_{1} + ⋯ + t_{1,N}Z_{N} + t_{1,N+1}.

Dado que Q(t) = Q(t_{1,1}, …, t_{1,N+1}) ≠ 0 se deduce que el hiperplano afín {z ∈ C^{N} : L_{1}(z) = 0} corta propiamente todas las componentes de V de dimensión maximal r. Por otro lado, si se nota por T^{∗} la matriz obtenida a partir de T reemplazando el primer vector fila (T_{1,1}, …, T_{1,N+1}) en T by (t_{1,1}, …, t_{1,N+1}) puede inferirse de E_{r}(t) ≠ 0 que el polinomio (r − 1)(N + 1)–variado E_{r}(T^{∗}) es no nulo. Del lema 35 se deduce fácilmente que cada selección de r−1 polinomios lineales afines de C[Z_{1}, …, Z_{n}] cuyos coeficientes satisfacen la condición abierta Zariski E_{r}(T^{∗}) ≠ 0 define una intersección no vacía con la variedad algebraica W := V ∩ {z ∈ C^{N} : L_{1}(z) = 0}. Esto implica que W es no vacía y que dim W = r − 1. Por otro lado, W es definible por polinomios de ZZ[Z_{1}, …, Z_{N}] de grado a lo sumo D. En consecuencia, aplicando la hipótesis inductiva a la variedad W se hallan polinomios lineales afines L_{2}, …, L_{r} ∈ ZZ[Z_{1}, …, Z_{N}] de altura logarítmica acotada por N(N + 1) log_{2} D tales que para cada 2 ≤ k ≤ r el subconjunto cerrado Zariski

W ∩ {z ∈ C^{N} : L_{2}(z) = 0, …, L_{k}(z) = 0} =
= V ∩ {z ∈ C^{N} : L_{1}(z) = 0, …, L_{k}(z) = 0}

es no vacío de dimensión dim(W) − (k − 1) = (r − 1) − (k − 1) = r − k. Juntando toda esta información se ve que los polinomios lineales afines L_{1}, …, L_{r} satisfacen los requirimientos en la conclusión del lema 36. □

A fin de finalizar la demostración de la proposición 11 se necesario el siguiente resultado que estima los valores absolutos de las coordenadas de los coordenadas de los puntos aislados de un subconjunto del espacio afín C^{N} cerrado Zariski Q–definible.

Proposición 12 Sean N, D, η y s números naturales dados con D ≥ N y sean h_{1}, …, h_{s} polinomios de grado a lo sumo D y altura logarítmica acotada por η, que pertenecen a ZZ[Z_{1}, …, Z_{N}]. Sea V el subconjunto de C^{N} cerrado Zariski definido por estos polinomios, es decir:

V := {z ∈ C^{N} : h_{1}(z) = 0, …, h_{s}(z) = 0}

Entonces cualquier punto aislado θ := (θ_{1}, …, θ_{N}) de V satisface la estimación

max{log_{2} | θ_{i} |: 1 ≤ j ≤ N} ≤ D^{c′N}(log_{2} s + η),

donde c′ > 0 es una constante universal adecuada.

Por una demostración de este resultado ver [114], Corollary 7.

Ahora se puede demostrar la Proposición 11:

Demostración de la proposición 11 Sea r := dim V. Dado que V es no vacía por hipótesis se tiene que 0 ≤ r ≤ N. En caso en que r = 0 todos los puntos de V son puntos aislados y se puede aplicar directamente la proposición 12 a fin de obtener un punto θ de V que satisface la estimación requerida.

Supóngase ahora que r > 0. Del lema 36 se deduce que existen r polinomios lineales afines en ZZ[Z_{1}, …, Z_{N}], L_{1}, …, L_{r}, de altura logarítmica no mayor que N(N + 1) log_{2} D tales que

W := V ∩ {z ∈ C^{N} : L_{1}(z) = 0, …, L_{r}(z) = 0} = = {z ∈ C^{N} : h_{1}(z) = 0, …, h_{s}(z) = 0, L_{1}(z) = 0, …, L_{r}(z) = 0}

es una subvariedad algebraica de C^{N} cero–dimensional. En particular W es no vacía. La variedad W se define por s + r ≤ s + N polinomios que pertenecen a ZZ[Z_{1}, …, Z_{N}] y que tienen grado acotado por D y altura logarítmica no mayor que max{η, N(N + 1) log_{2} D}. Sea θ = (θ_{1}, …, θ_{N}) un punto cualquiera de W. Aplicando la proposición 12 a la variedad W se deduce la estimación

max{log_{2} | θ_{i} |: 1 ≤ j ≤ N} ≤ D^{c′N}(log_{2}(s+N)+max{η, N(N +1) log_{2} D})

≤ D^{cN}(log_{2} s + η)

donde c > 0 es una constante universal adecuada (aquí se usa la hipótesis D ≥ N). Dado que W está contenida en V el punto θ pertenece a la variedad V. Mas aún, los valores absolutos de las coordenadas de θ satisfacen los requirimientos en la conclusión de la proposición 11. □

3.3 Polinomios difíciles de evaluar

En esta última sección de este capítulo se exhibirán algunos ejemplos de familias de polinomios univariados específicas que son difíciles de evaluar desde el punto de vista del tradeoff espacio–tiempo. En estos ejemplos se exhibirán cotas inferiores significativas para los requerimientos de espacio de cualquier procedimiento oṕtimo con respecto al tiempo no escalar que evalúa estos polinomios. Se pueden dividir los ejemplos en dos grupos principales según la forma en que están dados los polinomios en consideración: por sus coeficientes o por sus raíces. El interés del último grupo de ejemplos está motivado por la búsqueda de cotas inferiores de complejidad en teoría de eliminación geométrica donde la representación de los polinomios por sus raíces aparece naturalmente (ver [90], [166]). Se puede realizar una segunda división de los ejemplos en dos clases que agrupan a los polinomios que tienen coeficientes algebraicos o racionales. Se ha tratado de hallar una presentación casi unificada para estas clases de ejemplos.

3.3.1 Polinomios dados por sus coeficientes

En esta subsección se presenta una serie de técnicas para mostrar cotas inferiores para el tradeoff espacio–tiempo y aplicarlas a familias específicas de polinomios con coeficientes enteros y algebraicos. Se comenzará con dos familias de polinomios particulares con coeficientes enteros y se demostrará que estas familias son difíciles de evaluar en términos de tradeoff espacio–tiempo. Luego, se obtendrá el mismo tipo de resultados para familias de polinomios específicos con coeficientes algebraicos. Finalmente se demostrará que existen muchas familias de polinomios con coeficientes {0, 1} que son difíciles de evaluar en términos de tradeoff espacio–tiempo.

Polinomios con coeficientes enteros

En [172] se presentan varias familias explícitas de polinomios con coeficientes enteros que son difíciles de evaluar en el sentido de complejidad de tiempo secuencial. Este tipo de resultados se extiende y se mejora en [162] y [169]. Se aplicará la proposición 11 a fin de obtener resultados de tradeoff espacio– tiempo en el espíritu de las referencias citadas.

Ejemplo 1 Sea F_{1} := (F_{d})_{d∈IN} la familia de los polinomios F_{d} ∈ ZZ[X] de grado d definida por

F_{d} := ∑_{0≤j≤d} 2^{j!}X^{j}.

Entonces esta familia F_{1} es difícil de evaluar en el sentido del tradeoff espacio–tiempo. Más precisamente, se tiene

LS^{2}(F_{d}) = Ω(d)

Demostración Sea d fijo y sea F := F_{d}. Sean además L y S números naturales arbitrarios tales que el polinomio F puede evaluarse por medio de un straight–line program en Q(X), que utiliza tiempo no escalar L y espacio S. Entonces el polinomio F pertenece a la imagen del morfismo

Φ := Φ_{d,L,S} := (P_{d}, …, P_{0}) : C^{N} ⟶ C^{d+1}

introducido en el lema 33, con N := 8LS^{2} + 1 y P_{0}, …, P_{d} ∈ ZZ[Z_{1}, …, Z_{N}] (recuérdese que se identifica el polinomio F ∈ ZZ[X] con el punto (f_{j})_{0≤j≤d} := (2^{j!})_{0≤j≤d} de C^{d+1} dado por el vector de coeficientes de F). Se observa que (f_{j})_{0≤j≤d} es el único punto de C^{d+1} contenido en la variedad algebraica

{(f_{d}, …, f_{0}) ∈ C^{d+1} : f_{0} − 2 = 0, f_{1} − f_{0} = 0, …, f_{d} − f_{d−1}^{d} = 0}.

Sea Z = (Z_{1}, …, Z_{N}) y considérense los polinomios Q_{0}, …, Q_{d} ∈ ZZ[Z] definidos Q_{0} := P_{0}(Z)−2 y Q_{j}(Z) := P_{j}(Z)−P_{j−1}^{j}(Z) con 1 ≤ j ≤ d. Nótese que la Φ–fibra V := Φ^{−1}(F) del punto F ∈ C^{d+1} es el conjunto algebraico

V = {z ∈ C^{N} : Q_{0}(z) = 0, …, Q_{d}(z) = 0}

Sea

D := max{gr(Q_{i}) : 0 ≤ j ≤ d}

y

η := max{log_{2} height(Q_{j}) : 0 ≤ j ≤ d}

Del lema 33 se deduce que vale

gr(Q_{j}) ≤ jgr(P_{j}) ≤ 2j(Ld + 1) ≤ 2d(Ld + 1)

para 0 ≤ j ≤ d.

Esto implica

D ≤ 2d(Ld + 1)  (3.20)

Además, del lema 33 se concluye

log_{2}(height(Q_{0})) ≤ 1 + log_{2}(peso(P_{0})) ≤
≤ 1 + (d + 1) log_{2}(d + 1) + (d + 1)^{L+1}(2 + log_{2}(S + 1)),

y

log_{2}(height(Q_{j})) ≤ log_{2}(peso(P_{j})) + log_{2}(peso(P_{j−1}))^{j} ≤
≤ (d + 1) log_{2}(d + 1) + (d + 1)^{L+1}(2 + log_{2}(S + 1)) +
+ d((d + 1) log_{2}(d + 1) + (d + 1)^{L+1}(2 + log_{2}(S + 1))) ≤
≤ (d + 1)^{2} log_{2}(d + 1) + (d + 1)^{L+2}(2 + log_{2}(S + 1))

para 1 ≤ j ≤ d. Esto implica la cota de altura

η ≤ (d + 1)^{2} log_{2}(d + 1) + (d + 1)^{L+2}(2 + log_{2}(S + 1)) + 1  (3.21)

Aplicando la proposición 11 a la variedad algebraica V definida y tomando en cuenta las estimaciones de profundidad y altura (3.20) y (3.21), se concluye que V contiene un punto θ = (θ_{1}, …, θ_{N}) que satisface la estimación:

log_{2} max{| θ_{i} |: 1 ≤ i ≤ N} ≤ D^{cN}(log_{2}(d + 1) + η)},

donde c > 0 es una constante universal adecuada. Sea | θ |:= max{| θ_{i} |: 1 ≤ i ≤ N}. A fin de terminar la demostración se considera para 0 ≤ j ≤ d el j–ésimo coeficiente f_{j} del polinomio F. Dado que la imagen del punto θ bajo el morfismo Φ es F, se tiene que f_{j} = P_{j}(θ) para 0 ≤ j ≤ d. Por lo tanto, por el lema 33, el valor absoluto de f_{j} está acotado como sigue:

log_{2} | f_{j} | ≤ log_{2} peso(P_{j}) + gr(P_{j}) · log_{2} | θ | ≤
≤ (d + 1) log_{2} (d + 1) + (d + 1)^{L+1}(2 + log_{2}(S + 1)) +
+ 2(Ld + 1)D^{cN}(η + log_{2}(d + 1)).

Por la regla de Horner se puede asumir sin pérdida de generalidad que LS^{2} ≤ c_{1}d, donde c_{1} es una constante universal adecuada. Combinando esta observación con las estimaciones (3.20) y (3.21) para D y η, se concluye que el valor absoluto de las coordenadas f_{0}, …, f_{d} del polinomio F satisfacen la desigualdad

d! ≤ max{log_{2} | f_{j} | : 0 ≤ j ≤ d} ≤ d^{c_{2}N}

donde c_{2} > 0 es una constante universal adecuada. En consecuencia, se obtiene por un lado que d! ≤ d^{c_{2}N} y por el otro que N = 8LS^{2} + 1. Esto implica c_{3}d ≤ LS^{2} para una constante universal adecuada c_{3} > 0. Dado que L y S son los requerimientos de tiempo y espacio de un straight–line program arbitrario que evalúa el polinomio F = F_{d} se obtiene finalmente LS^{2}(F_{d}) = Ω(d). □

Ejemplo 2 Sea F_{2} := (F_{d})_{d∈IN} la familia de polinomios F_{d} ∈ ZZ[X] de grado d definida por

F_{d} := ∑_{0≤j≤d} 2^{2^{j}}X^{j}

Entonces, esta familia F_{2} es difícil de evaluar en el sentido del tradeoff espacio–tiempo. Más precisamente, se tiene

LS^{2}(F_{d}) = Ω (\frac{d}{log_{2} d})

La demostración de esta cota puede establecerse en la misma forma que en el ejemplo 1. Para d, L, S ∈ IN dados se considera la variedad algebraica

{(f_{d}, …, f_{0}) ∈ C^{d+1} : f_{0} − 2 = 0, f_{1} − f_{0}^{2} = 0, …, f_{d} − f_{d−1}^{2} = 0}

cuyos único punto es el vector de coeficientes del polinomio F_{d}. La Φ_{d,L,S}-fibra de esta variedad se define por P_{0}(Z)−2 y los polinomios P_{j}(Z)−P_{j−1}^{2}(Z) con 1 ≤ j ≤ d. Los restantes argumentos son los mismos que en la demostración de la cota inferior del ejemplo 1.

Cabe destacar que el ejemplo 2 se analiza en [172] donde se demuestra la cota inferior de tiempo secuencial L(F_{d}) = Ω ( ^{3} \sqrt{\frac{d}{log_{2} d}}).

Polinomios con coeficientes algebraicos

En esta subsubsección se adaptan dos métodos generales para demostrar cotas inferiores de complejidad para polinomios con coeficientes no racionales al contexto del tradeoff espacio–tiempo. El primer método que se presenta fue recientemente introducido por W. Baur [9]. La descripción de una idea similar puede hallarse en [37], Chapter 9, Exercise 9.11.

Proposición 13 Existe una constante universal c > 0 con la siguiente propiedad: sea D un número natural dado y sea

F := ∑_{0≤j≤d} f_{j}X^{j}

un polinomio de grado a lo sumo d con coeficientes complejos. Supóngase que existen polinomios g_{1}, …, g_{m} ∈ Q[Y_{d}, …, Y_{0}] de grado a lo sumo D, y que los números complejos g_{1}(f_{d}, …, f_{0}), …, g_{m}(f_{d}, …, f_{0}) son Q–linealmente independientes. Bajo estas hipótesis se tiene

LS^{2}(F) ≥ c · \frac{log_{2} m}{log_{2} d + log_{2} D}

Demostración Sea dado un straight-line program arbitrario β en C(X) que evalúa el polinomio F en tiempo no escalar L y espacio S. Como antes, en virtud de la regla de Horner se puede asumir sin pérdida de generalidad que vale L ≤ d. Sea N := 8LS^{2} + 1 y δ := (2Ld + 1). Sean Z_{1}, …, Z_{N} nuevas indeterminadas. Entonces por el lema 33 existen polinomios P_{d}, …, P_{0} ∈ ZZ[Z_{1}, …, Z_{N}] de grado a lo sumo δ tales que el vector de coeficientes (f_{d}, …, f_{0}) de F está en la imagen del morfismo de espacios afines Φ_{d,L,S} : C^{N} ⟶ C^{d+1} dado por (P_{d}, …, P_{0}).

Dado que los números complejos g_{1}(f_{d}, …, f_{0}), …, g_{m}(f_{d}, …, f_{0}) son Q– linealmente independientes por hipótesis y existe un punto θ ∈ C^{N} tal que vale

(f_{d}, …, f_{0}) = (P_{d}(θ), …, P_{0}(θ))

se concluye que los polinomios g_{1}(P_{d} …, P_{0}), …, g_{m}(P_{d}, …, P_{0}) también deben ser Q–linealmente independientes. Nótese que estos polinomios tienen grado acotado por δD. Esto implica que el Q–espacio vectorial:

P := {G ∈ Q[Z_{1}, …, Z_{N}] : gr(G) ≤ δD}

tiene dimensión al menos m. Por otro lado, se tiene

dim(P) = \binom{N + δD}{N} ≤ (δD)^{N}

Teniendo en cuenta que L ≤ d se deduce de ésta la estimación

m ≤ (δD)^{N} = (2(Ld + 1)D)^{8LS^{2}+1} ≤ (2(d^{2} + 1)D)^{8LS^{2}+1}

Tomando logaritmos, se concluye que existe una constante universal c > 0 tal que vale LS^{2} ≥ c\frac{log_{2} m}{log_{2} d+log_{2} D}. Dado que β era un straight-line program arbitrario en C(X) calculando el polinomio F en tiempo no escalar L y espacio S sigue la proposición 13. □

El segundo método para demostrar cotas inferiores del tradeoff espacio– tiempo del polinomios con coeficientes racionales tiene su origen en [95].

Proposición 14 Existe una constante universal c > 0 con la siguiente propiedad: sea D un número natural y sea

F := ∑_{0≤j≤d} f_{j}X^{j}

un polinomio de grado a lo sumo d con coeficientes complejos algebraicos. Sea ρ el cardinal de la órbita del punto (f_{d}, …, f_{0}) ∈ C^{d+1} bajo la acción del grupo de automorfismos de C over Q. Supóngase que existen polinomios g_{1}, …, g_{m} ∈ Q[Y_{d}, …, Y_{0}] de grado a lo sumo D, tales que el conjunto de ceros comunes de esos polinomios en C^{d+1} es finito y contiene el punto (f_{d}, …, f_{0}). Bajo estas hipótesis se tiene

LS^{2}(F) ≥ c · \frac{log_{2} ρ}{log_{2} d + log_{2}D}

Demostración Sea β un straight–line program arbitrario en C(X) que evalúa el polinomio F en tiempo no escalar L y espacio S. Obsérvese que el vector de coeficientes (f_{d}, …, f_{0}) del polinomio F pertenece a la subvariedad algebraica W := W_{d,L,S} de C^{d+1} introducida en el lema 34. Sea r := dim(W) y obsérvese que vale r ≤ 8LS^{2} por el mismo lema. Se eligen ahora r combinaciones Q–lineales genéricas

B_{k} := β_{1}^{(k)}g_{1} + … + β_{m}^{(k)}g_{m} ∈ Q[Y_{d}, …, Y_{0}]

de los polinomios g_{1}, …, g_{m} para 1 ≤ k ≤ r con coeficientes β_{1}^{(k)}, …, β_{m}^{(k)} ∈ Q. La genericidad de esta elección y el hecho que los polinomios g_{1}, …, g_{m} definen un subconjunto no vacío finito (es decir una subvariedad cero–dimensional) de C^{d+1} implican, junto con el hecho que r = dim(W), que el conjunto

V := W ∩ {(y_{d}, …, y_{0}) ∈ C^{d+1} : B_{1}(y_{d}, …, y_{0}) = 0, …, B_{r}(y_{d}, …, y_{0}) = 0}

es finito. Obsérvese que vale que (f_{d}, …, f_{0}) ∈ V y que B_{1}, …, B_{r} son polinomios de Q[Y_{d}, …, Y_{0}] de grado acotado por D.

En consecuencia V es una subvariedad de C^{d+1} cero–dimensional Q– definible que contiene a la órbita del punto (f_{d}, …, f_{0}) bajo la acción del grupo de automorfismos de C sobre Q. Esto implica ρ ≤ #V = gr(V).

De la Desigualdad de Bézout y el lema 34 (ii) se infiere

gr(V) ≤ gr(W) · D^{r} ≤ gr(W) · D^{8LS^{2}} ≤ (2(Ld + 1)D)^{8LS^{2}}

Como antes se puede asumir sin pérdida de generalidad que vale L ≤ d. Juntando toda esta información se obtiene la estimación

ρ ≤ (2(d^{2} + 1)D)^{8LS^{2}}

Tomando logaritmos, se concluye que existe una constante universal c > 0 tal que se satisface la condición LS^{2} ≥ c · \frac{log_{2} ρ}{log_{2} d+log_{2} D}.

Dado que β es un straight–line program arbitrario en C(X) que calcula el polinomio F en tiempo no escalar L y espacio S sigue la proposición 14. □

Usando las proposiciones 13 y 14 se exhibirán dos familias de polinomios con coeficientes algebraicos que son difíciles de evaluar en el sentido del tradeoff espacio–tiempo. Estas familias han sido analizadas en [95] y [76], Application 2 desde el punto de vista de la complejidad de tiempo secuencial.

Ejemplo 3 1. Sea F_{3} := (F_{d})_{d∈IN} la familia de polinomios F_{d} ∈ IR[X] de grado d definida por

F_{d} := ∑_{1≤j≤d} \sqrt{p_{j}}X^{j−1}

donde p_{j} denota el j–ésimo número primo. Entonces esta familia F_{3} es difícil de evaluar en el sentido del tradeoff espacio–tiempo. Más precisamente, se tiene

LS^{2}(F_{d}) = Ω (\frac{d}{log_{2} d})

2. Sea F_{4} := (F_{d})_{d∈IN} la familia de polynomios F_{d} ∈ C[X] de grado d definida por

F_{d} := ∑_{1≤j≤d} e^{\frac{2πi}{j}} X^{j−1}

donde e^{\frac{2πi}{j}} denota la j–ésima raíz de la unidad (canónica) contenida en C. Entonces esta familia F_{4} es difícil de evaluar en el sentido del tradeoff espacio–tiempo. Más precisamente, se tiene

LS^{2}(F_{d}) = Ω (\frac{d}{log_{2} d})

Demostración Sean Y_{d}, …, Y_{0} nuevas indeterminadas.

Se discute en primer lugar la cota inferior asintótica para la familia F_{3}. Para ello, se aplicará la proposición 13.

Para cada S ⊆ {1, …, d} se considera el polinomio

g_{S} := ∏_{j∈S} Y_{j} ∈ Q[Y_{d}, …, Y_{0}]

Obsérvese que el grado de g_{S} está acotado por d. De [76] se deduce fácilmente que la familia de valores complejos

\{g_{S}(\sqrt{p_{1}}, …, \sqrt{p_{d}}) : S ⊆ \{1, …, d\}\}

es Q–linealmente independiente. La cota inferior para el tradeoff espacio– tiempo de la familia F_{3} se deduce ahora fácilmente de la proposición 13 tomando m := 2^{d} y D := d.

Con respecto a la familia F_{4}, se aplicará la proposición 14. Considérense los polinomios

g_{1} := Y_{0}, g_{2} := Y_{1} − 1, g_{3} := Y_{2}^{2} − 1, …, g_{d+1} := Y_{d}^{d} − 1

Obsérvese que estos polinomios se anulan en el punto θ := (0, e^{\frac{2πi}{1}} , …, e^{\frac{2πi}{d}}) de C^{d+1} que representa los coeficientes del d–ésimo miembro de la familia F_{4}, es decir, el polinomio F_{d} = ∑_{1≤j≤d} e^{\frac{2πi}{j}} X^{j−1}. Más áun, los polinomios g_{1}, …, g_{d+1} pertenecen a Q[Y_{d}, …, Y_{0}], tienen grado a lo sumo d y definen un subconjunto finito de C^{d+1}.

Sea ρ el cardinal de la órbita del punto θ bajo la acción del grupo de automorfismos de C sobre Q. Denótese por φ la función de Euler y por [1, 2, …, d] el mínimo común múltiplo de los 1, 2, …, d. Con estas notaciones se deduce fácilmente la siguiente identidad

ρ = [Q(e^{\frac{2πi}{1}} , …, e^{\frac{2πi}{d}}) : Q] = φ([1, 2, …, d])

Del Teorema de los Números Primos (ver por ejemplo [45] se infiere que

log_{2}ρ = log_{2} φ([1, 2, …, d]) = Ω(d)

La cota inferior para el tradeoff espacio–tiempo de la familia F_{4} es una consecuencia inmediata de la proposición 14 tomando D := d. □

Polinomios con coeficientes {0, 1}

En esta subsubsección se demuestra que casi todos los polinomios con coeficientes {0, 1} son difíciles de evaluar en el sentido del tradeoff espacio–tiempo. El método que se utilizará en la demostración de este resultado fue aplicado en una forma levemente diferente en [94] a fin de demostrar cotas inferiores para la complejidad en tiempo no escalar de estos polinomios. Se introduce la siguiente notación: para cada número natural d sea

LS_{{0,1}}^{2}(d) := max {LS^{2}( ∑_{0≤j≤d} f_{j}X^{j}) : (f_{d}, …, f_{0}) ∈ {0, 1}^{d+1}}

Teorema 19 Sean d ≥ 2 y k números naturales con d > k log_{2} d. Entonces se tiene:

(i) #\{(f_{d}, …, f_{0}) ∈ \{0, 1\}^{d+1} : LS^{2}(∑_{0≤j≤d} f_{j}X^{j}) ≤ \frac{1}{16}(\frac{d}{log_{2} d} − k)\} ≤ \frac{2^{d}}{d^{k}},

(ii) LS_{\{0,1\}}^{2}(d) ≥ \frac{1}{16} \frac{d}{log_{2} d}.

Demostración Sean d, k, L, S números naturales dados sujetos a las condiciones d ≥ 2, d > k log_{2} d y LS^{2} ≤ \frac{1}{16}(\frac{d}{log_{2} d} − k). Obsérvese que el conjunto {0, 1}^{d+1} puede ser definido como la intersección de d + 1 hipersuperficies de C^{d+1} de grado 2, es decir como

{0, 1}^{d+1} = {(f_{d}, …, f_{0}) ∈ C^{d+1} : f_{d}^{2} − f_{d} = 0, …, f_{0}^{2} − f_{0} = 0}

Aplicando [94], Proposition 2.3 y el lema 34 de la subsección 3.1.3 se deduce de la Desigualdad de Bézout las siguientes estimaciones:

#(W_{d,L,S} ∩ {0, 1}^{d+1}) ≤ gr(W_{d,L,S}) · 2^{dim(W_{d,L,S})} ≤
≤ (4(Ld + 1))^{8LS^{2}} ≤ (8Ld)^{8LS^{2}} ≤
≤ (8LS^{2}d)^{8LS^{2}}.

Tomando logaritmos y usando la hipótesis LS^{2} ≤ \frac{1}{16}(\frac{d}{log_{2} d}−k), se concluye

log_{2}(#(W_{d,L,S} ∩ {0, 1}^{d+1})) ≤ 8LS^{2} log_{2}(8LS^{2}d) ≤
≤ \frac{1}{2} (\frac{d}{log_{2} d} − k) log_{2} (\frac{1}{2} (\frac{d}{log_{2} d} − k) d) ≤
≤ \frac{1}{2} (\frac{d}{log_{2} d} − k) log_{2} (\frac{1}{2}d^{2} (\frac{1}{log_{2} d} − \frac{k}{d} )) ≤
≤ \frac{1}{2} (\frac{d}{log_{2} d} − k) (2 log_{2} d + log_{2} (\frac{1}{2} (\frac{1}{log_{2} d} − \frac{k}{d} ))) .

De la suposición que d > k log_{2} d se deduce 0 < \frac{1}{2}(\frac{1}{log_{2} d} − \frac{k}{d}) ≤ 1. Esto implica

log_{2}(#(W_{d,L,S} ∩ {0, 1}^{d+1})) ≤ d − k log_{2} d

Del lema 2.6 (iii) se infiere que

#\{(f_{d}, …, f_{0}) ∈ \{0, 1\}^{d+1} : LS^{2}( ∑_{0≤j≤d} f_{j}X^{j}) ≤ \frac{1}{16}(\frac{d}{log_{2} d} − k)\} ≤ \frac{2^{d}}{d^{k}}

lo cual constituye la aserción (i) del teorema. (ii) sigue de (i) tomando k := 1 y observando que el conjunto \{0, 1\}^{d+1} tiene 2^{d+1} > \frac{2^{d}}{d} elementos. □

3.3.2 Polinomios dados por sus raíces

El estudio de las cotas inferiores de complejidad para la evaluación de familias polinomios dados por sus raíces está motivada por su relación con la complejidad intrínseca de los procedimientos de eliminación de cuantificadores. Puede hallarse evidencia de esta relación en [90], [139] y [166]. En esta subsección se exhiben dos ejemplos de familias de polinomios dados por sus raíces que son difíciles de evaluar en términos del tradeoff espacio–tiempo.

Sean Y_{d−1}, …, Y_{0} nuevas indeterminadas y sea G := X^{d}+Y_{d−1}X^{d−1}+⋯+ Y_{0} el polinomio genérico mónico en la variable X con coeficientes Y_{d−1}, …, Y_{0}. Sea además D(Y_{d−1}, …, Y_{0}) el discriminante del polinomio G con respecto a la variable X.

Lema 37 Sea F_{5} := (F_{d})_{d∈IN} la familia de polinomios F_{d} ∈ ZZ[X] de grado d definida por

F_{d} := ∏_{1≤j≤d}(X − 2^{2^{j}}).

Entonces F_{d} es el único polinomio mónico F = X^{d}+f_{d−1}X^{d−1}+⋯+f_{0} de grado d con coeficientes reales que satisface las siguientes cuatro condiciones:

1. F (0) ≠ 0, F (1) ≠ 0, F (−1) ≠ 0

2. D(f_{d−1}, …, f_{0}) ≠ 0 (esto significa que F tiene solamente raíces simples)

3. el polinomio F tiene solamente ceros reales 4. existe un número real t_{0} con t_{0}^{2} ≠ 4 tal que vale

(−1)^{d}4f_{0} = t_{0}^{2}
y (−1)^{d}F (X)F (−X)(X^{2} − 4) = (X^{2} − t_{o}^{2})F (X^{2})

Demostración Tomando t_{0} := 2^{2^{d}} se puede chequear fácilmente que el polinomio F_{d} satisface las cuatro condiciones del lema. En consecuencia es suficiente demostrar que existe al menos un polinomio mónico F = X^{d} + f_{d−1}X^{d−1} + ⋯ + f_{0} ∈ IR[X] de grado d que satisface las condiciones.

Supóngase ahora que tal polinomio F está dado y fíjese un número real t_{0} que satisface la cuarta condición con respecto a este F. Esta condición implica que para cada raíz x de F, o bien x^{2} = t_{0}^{2} o F (x^{2}) = 0 se satisface. Por lo tanto, para cada raíz x de F ocurre uno de los dos siguientes casos:

(i) existe un número natural k con x^{2^{k}} = t_{0}^{2}, o

(ii) cualquier elemento del conjunto S(x) := {x^{2^{m}} : m ∈ IN} es una raíz de F.

En el caso (ii) las hipótesis sobre F implican que el conjunto S(x) es infinito. Esto elimina este caso ya que F es mónico. En consecuencia cualquier raíz x de F satisface (i).

Se ve fácilmente que F (4) = 0. Sea r un entero no negativo maximal tal que 2^{2}, 2^{2^{2}}, …, 2^{2^{r}} son raíces de F. Dado que F (4) = 0 y gr(F) = d se concluye que 1 ≤ r ≤ d. La maximalidad de r implica que F (2^{2^{r+1}}) ≠ 0 de donde 2^{2^{r+1}} = t_{0}^{2} = (−1)^{d}4f_{0}. En consecuencia se tiene | t_{0} |> 1.

Ahora se demostrará que r = d. Supóngase que este no es el caso. De la hipótesis que F tiene solamente raíces simples que son todas reales se deduce que deben existir d − r ceros reales distintos x_{r+1}, …, x_{d} de F no contenidos en el conjunto {2^{2}, 2^{2^{2}}, …, 2^{2^{r}}}. Por lo tanto, las raíces de F son los números reales 2^{2}, 2^{2^{2}}, …, 2^{2^{r}}, x_{r+1}, …, x_{d}. Esto implica

2^{2^{r+1}} = (−1)^{d}4f_{0} = 4 · 2^{2} · 2^{2^{2}} ⋯ 2^{2^{r}} · x_{r+1} ⋯ x_{d}

y consecuentemente x_{r+1} ⋯ x_{d} = 1.

Sea r < m ≤ d. Dado que la raíz x_{m} de F satisface (i) existe un número natural k_{m} tal que x_{m}^{2^{km}} = t_{0}^{2}. Por lo tanto, como | t_{0} |> 1 se tiene que | x_{m} |> 1 para cada r < m ≤ d. Pero esto contradice la conclusión x_{r+1} ⋯ x_{d} = 1.

La demostración de la aserción r = d se concluye observando que 2^{2}, 2^{2^{2}}, …, 2^{2^{d}} son todas las raíces del polinomio mónico F de grado d. En otras palabras, se tiene

F = ∏_{1≤j≤d}(X − 2^{2^{j}}) = F_{d}

□

Sea n un número natural y sean X_{1}, …, X_{n} indeterminadas sobre ZZ. Un subconjunto S de IR^{n} se dice semialgebraico si existe un conjunto finito de polinomios G ∈ ZZ[X_{1}, …, X_{n}] tales que S es definible como una expresión booleana contruída a partir de fórmulas atómicas de tipo G = 0 o G > 0 con G ∈ G. En este caso se dirá también que S es un conjunto semialgebraico Gdefinible. Un conjunto semialgebraico tiene sólo finitas componentes conexas que son a su vez conjuntos semialgebraicos (por más detalles ver [22]).

En lo sucesivo se utilizará la siguiente estimación que puede hallarse en [180] (comparar con [93], Theorem 4):

Proposición 15 Existe una constante universal c_{0} > 0 con la siguiente propiedad: sean n, D, s, h números naturales y sea G un conjutno de s polinomios de ZZ[X_{1}, …, X_{n}] de grado acotado por D y altura logarítmica acotada por h, que define un conjunto semialgebraico S de IR^{n}. Entonces la bola de IR^{n} de radio 2^{(sD)^{c_{0}n}·h} centrada en el origen interseca cada componente conexa de S en al menos un punto.

Ahora se tienen todas las herramientas necesarias para demostrar que la familia F_{5} es difícil de evaluar en el sentido del tradeoff espacio–tiempo si se restringe el cuerpo de parámetros a K := IR (ver subsección 3.1.2):

Proposición 16 Existe una constante universal c > 0 con la siguiente propiedad: sean d, L, S números naturales y sea

F := ∏_{1≤j≤d}(X − 2^{2^{j}})

Sea γ un straight–line program en IR(X) que evalúa el polinomio F en tiempo no escalar L y espacio S. Entonces se tiene

LS^{2} ≥ c\frac{d}{log_{2} d}

Demostración Sea F = f_{d}X^{d} +f_{d−1}X^{d−1} +⋯+f_{0} con (f_{d}, …, f_{0}) ∈ ZZ^{d+1} y f_{d} = 1. Obsérvese que F y (f_{d−1}, …, f_{0}) satisfacen las cuatro condiciones del lema 37. Se aplica ahora el lema 33 con K := IR. Siguiendo la demostración de este resultado se ve que existen para N := 8LS^{2} + 1 polinomios P_{d}, …, P_{0} ∈ ZZ[Z_{1}, …, Z_{N}] de grado a lo sumo 2(Ld + 1) y peso acotado por (d+1)!(4(S +1))^{(d+1)^{L+1}} tales que el morfismo de espacios afines Φ_{d,L,S} : IR^{N} → IR^{d+1} introducido en este lema manda los parámetros del straight–line program γ en (f_{d}, …, f_{0}) ∈ ZZ^{d+1}.

Sea (ζ_{1}, …, ζ_{N}) el punto de IR^{N} que representa los parámetros de γ, sea Φ := Φ_{d,L,S} y sea V := Φ^{−1}((f_{d}, …, f_{0})) la Φ-fibra del punto entero (f_{d}, …, f_{0}). Dado que (ζ_{1}, …, ζ_{N}) está contenido en V, se concluye que V es no vacío.

Se verifica inmediatamente que V es un subconjunto semialgebraico de IR^{N}. Sean T, U_{1}, U_{2}, U_{3}, U_{4}, U_{5} nuevas indeterminadas. Usando la notación del lema 37 se considera el siguiente sistema de ecuaciones polinomiales:

P_{d} − 1 = 0
P_{0}U_{1} − 1 = 0
(∑_{0≤j≤d} P_{j})U_{2} − 1 = 0
(∑_{0≤j≤d} P_{j}(−1)^{j})U_{3} − 1 = 0
D(P_{d−1}, …, P_{0})U_{4} − 1 = 0
(T^{2} − 4)U_{5} − 1 = 0
(−1)^{d}4P_{0} − T^{2} = 0
(−1)^{d}R(k)R(−k)(k^{2} − 4) = (k^{2} − T^{2})R(k^{2})

para 0 ≤ k ≤ 2d con R := P_{d}X^{d} +⋯+P_{0}. Obsérvese que los polinomios que aparecen en este sistema pertenecen al anillo ZZ[Z_{1}, …, Z_{N}, T, U_{1}, U_{2}, U_{3}, U_{4}, U_{5}] y tienen grado acotado por D := c′Ld^{3} y altura logarítmica acotada por h := c′(d + 1)^{L+2}(2 + log S) para una constante universal c′ > 0 adecuada. Además hay a lo sumo s := c′d de estos polinomios.

Estos polinomios codifican las cuatro condiciones del lema 37 y definen un subconjunto semialgebraico W de IR^{N} × IR^{6}. Sea π : IR^{N} × IR^{6} → IR^{N} la proyección canónica que manda cada punto de IR^{N} × IR^{6} en sus primeras N componentes.

De los lemas 37 y 33 se deduce fácilmente que π(W) = V. En particular W es no vacía. Aplicando la proposición 15 se ve que W contiene un punto ω := (θ_{1}, …, θ_{N}, t, u_{1}, u_{2}, u_{3}, u_{4}, u_{5}) ∈ IR^{N} × IR^{6} con

|| ω ||:= (θ_{1}^{2} + ⋯ + θ_{N}^{2} + t^{2} + u_{1}^{2} + u_{2}^{2} + u_{3}^{2} + u_{4}^{2} + u_{5}^{2})^{\frac{1}{2}} ≤ 2^{(sD)^{c_{0}(N+6)·h}}

donde c_{0} > 0 es la constante universal de dicha proposición. Esto implica que el conjunto semialgebraico contiene un punto θ := ((θ_{1}, …, θ_{N}) ∈ IR^{N}, que se nota por θ = π(ω), el cual satisface

log_{2} | θ |= log_{2} max{| θ_{i} |: 1 ≤ i ≤ N} ≤ (sD)^{c_{0}(N+6)·h}

Sin pérdida de generalidad se puede suponer L ≤ d. En consecuencia, tomando en consideración que N = 8LS^{2} + 1, s = c′d, D = c′Ld^{3} y h = c′(d+1)^{(L+2)}(2+log S) se concluye que existe una constante universal c′′ > 0 tal que vale la estimación log_{2} | θ |≤ d^{c′′LS^{2}}. Dado que el punto θ pertenece a la Φ-fibra V de (f_{d}, …, f_{0}) se tiene

(−1)^{d}2^{2^{d+1}−2} = (−1)^{d} ∏_{1≤j≤d} 2^{2^{j}} = f_{0} = P_{0}(θ)

.

Razonando como en la demostración de la cota inferior de tradeoff del ejemplo 1 se obtienen las siguientes desigualdades:

2^{d+1} − 2 = log_{2} | f_{0} |≤ log_{2} peso(P_{0}) + gr(P_{0}) · log_{2} | θ |≤

(d + 1) log_{2}(d + 1) + (d + 1)^{L+1}(2 + log_{2}(S + 1)) + 2(Ld + 1)d^{c′′LS^{2}}

Tomando logaritmos en estas desigualdades se deduce de L ≤ d que existe una constante universal c > 0 tal que

LS^{2} ≥ c\frac{d}{log_{2} d}

□

Ejemplo 4 Sea como antes F_{5} := (F_{d})_{d∈IN} la familia de polinomios F_{d} ∈ ZZ[X] de grado d definida por

F_{d} := ∏_{1≤j≤d}(X − 2^{2^{j}})

Entonces esta familia F_{5} es difícil de evaluar en el sentido del tradeoff espacio–tiempo. Más precisamente se tiene

LS^{2}(F_{d}) = Ω(\frac{d}{log_{2} d})

Demostración La cota inferior anunciada en este ejemplo se refiere a straight–line programs en C(X) y no en IR(X) como en la proposición 16. Sin embargo, esta cota inferior se deduce fácilmente a partir de esa proposición: es suficiente observar que cualquier straight–line program β en C(X) que calcula el polinomio F_{d}, puede transformarse en un straight–line program γ que evalúa F_{d} en tiempo no escalar 5L(β) y espacio 4S(β) usando solamente parámetros reales.

Este straight–line program γ se obtiene calculando la parte real e imaginaria de cada resultado intermedio de β separadamente (nótese que, en virtud de [122], estas estimaciones de tiempo y espacio para γ son incluso bastante groseras).

El enunciado sigue entonces fácilmente de la proposición 16. □

Se considera ahora un segundo ejemplo de una familia de polinomios dados por su raíces que es difícil de evaluar en el sentido del tradeoff espacio– tiempo. Los polinomios de esta segunda familiar tienen coeficientes algebraicos. Un ejemplo similar fue analizado en [90] desde el punto de vista de la complejidad en tiempo secuencial.

Ejemplo 5 Sea F_{6} := (F_{d})_{d∈IN} la familia de polinomios F_{d} ∈ ZZ[X] de grado d definido por

F_{d} := ∏_{1≤j≤d}(X − \sqrt{p_{j}}),

donde p_{j} denota el j-ésimo número primo. Entonces, esta familia F_{6} es difícil de evaluar en el sentido del tradeoff espacio–tiempo. Más precisamente, se tiene

LS^{2}(F_{d}) = Ω(\frac{d}{log_{2} d})

Demostración La cota inferior anunciada sigue de una adaptación de un argumento introducido en [9] al contexto de los tradeoffs espacio–tiempo. Sea d ∈ IN dado y sea F := F_{d}. Para 1 ≤ j ≤ d se nota por σ_{j} la j–ésima función simétrica elemental en d argumentos y f_{j} := σ_{j}(\sqrt{p_{1}}, …, \sqrt{p_{d}}) por su valor en el punto (\sqrt{p_{1}}, …, \sqrt{p_{d}}) ∈ IR^{d}. Se tiene entonces

F = ∏_{1≤j≤d}(X − \sqrt{p_{j}}) = X^{d} − f_{1}X^{d−1} + ⋯ + (−1)^{d}f_{d}

para ciertos números reales algebraicos f_{1}, …, f_{d}. Sean X_{1}, …, X_{d} e Y_{1}, …, Y_{d} nuevas indeterminadas y sea 1 ≤ j ≤ d. El polinomio N_{j} := X_{1}^{2j+1} + ⋯ + X_{d}^{2j+1} es simétrico y por lo tanto existe un (único) polinomio Q_{j} ∈ ZZ[Y_{1}, …, Y_{d}] de grado a lo sumo 2j + 1 tal que

N_{j}(X_{1}, …, X_{d}) = Q_{j}(σ_{1}(X_{1}, …, X_{d}), …, σ_{d}(X_{1}, …, X_{d}))

(ver por ejemplo [181]). Sea b_{j} el número real

b_{j} := Q_{j}(f_{1}, …, f_{d})

Se verifica inmediatamente que

b_{j} = N_{j}(\sqrt{p_{1}}, …, \sqrt{p_{d}}) = p_{1}^{j}\sqrt{p_{1}} + ⋯ + p_{d}^{j}\sqrt{p_{d}}

Por lo tanto, los valores b_{1}, …, b_{d} pueden escribirse como combinaciones ZZ-lineales de los valores \sqrt{p_{1}}, …, \sqrt{p_{d}}. La matriz correspondiente es una matriz de Vandermonde no singular (p_{k}^{j})_{1≤j,k≤d}. Esto implica que existen formas Q–lineales H_{1}, …, H_{d} en d argumentos tales que vale \sqrt{p_{j}} = H_{j}(b_{1}, …, b_{d}) para 1 ≤ j ≤ d.

Para cada subconjunto S ⊂ {1, …, d} se considera el polinomio

g_{S} := ∏_{j∈S} H_{j}(Q_{1}(Y_{1}, …, Y_{d}), …, Q_{d}(Y_{1}, …, Y_{d}))

Obsérvese que gr(g_{S}) ≤ d(2d + 1) y

g_{S}(f_{1}, …, f_{d}) = ∏_{j∈S} \sqrt{p_{j}}

Por lo tanto,

{g_{S}(f_{1}, …, f_{d}) : S ⊂ {1, …, d}}

forma una familia de 2^{d} valores reales que son Q–linealmente independientes. La cota inferior para el tradeoff espacio–tiempo de la familia F_{6} sigue ahora de la proposición 13 tomando m := 2^{d} and D := d(2d + 1). □

3.3.3 Cotas inferiores de espacio para una evaluación óptima en tiempo

De la regla de Horner se deduce que cualquier polinomio univariado puede evaluarse en espacio constante (ver en este contexto también [13]). En consecuencia, el espacio puede reducirse arbitrariamente en la evaluación de polinomios si no se considera el tiempo.

Sin embargo, restringiéndose a procedimientos óptimos en tiempo se obtiene como consecuencia inmediata de los resultados de tradeoff demostrados en este capítulo el siguiente enunciado concerniente a cotas inferiores de espacio (comparar con el corolario 1):

Proposición 17 Sean 1 ≤ i ≤ 6 y F_{i} := (F_{d}^{(i)})_{d∈IN} cualquiera de las familias de polinomios F_{d}^{(i)} ∈ C[X] introducidas en los ejemplos 1, 2, 3, 4, 5. Entonces, existe una constante universal c > 0 con la siguiente propiedad: para cada sucesión (β_{d})_{d∈IN} de circuitos aritméticos en C(X) tal que β_{d} evalúa el polinomio F_{d}^{(i)} en tiempo no escalar L(β_{d}) ≤ \sqrt{d}, el espacio S(β_{d}) utilizado por β_{d} satisface la cota inferior

S(β_{d}) ≥ c · \begin{matrix}^{4} & \sqrt{d} \\ √ & \overline{log_{2} d} \end{matrix}.

Para el caso de la familia F_{1} esta cota puede incluso mejorarse a

S(β_{d}) ≥ c · \sqrt[4]{d}.

La complejidad intrínseca de la eliminación

La clasificación de un problema de acuerdo a la dificultad computacional de su resolución involucra dos disciplinas de carácter diferente. Una de ellas, la teoría de algoritmos, se ocupa de dar cotas superiores sobre la cantidad de recursos necesarios para resolver un problema dado.

La otra disciplina, conocida como teoría de la complejidad computacional, intenta demostrar que ciertos problemas no pueden ser resueltos eficientemente estableciendo para ello cotas inferiores sobre su complejidad computacional inherente.

En este capítulo se analizará la complejidad computacional de los problemas de eliminación desde el punto de vista del tiempo secuencial. Combinando este estudio con los resultados sobre el tradeoff espacio–tiempo obtenidos en el capítulo 3 se obtiene información sobre la complejidad computacional desde el punto de vista del espacio.

Usualmente los enunciados de cotas inferiores se entienden como resultados sobre cotas inferiores para un problema. Sin embargo, esto no es completamente cierto, ya que las cotas inferiores para un problema también dependen del aspecto sintáctico del mismo.

Esto se hace patente en el caso de los problemas de eliminación. Si se consideran los problemas de representación en un ideal polinomial con la codificación densa de los polinomios se tienen respuestas definitivas: no existen algoritmos polinomiales para los problemas de representación:

Teorema 20 ([126]) Dados k, d ∈ IN, d ≥ 5, n := 10k, existen n + 1 polinomios P_{1}, …, P_{n+1} en ZZ [X_{1}, …, X_{n}] de grado acotado por d (en realidad, los polinomios P_{i} se construyen como la diferencia entre dos monomios), tales que X_{1} − X_{n} pertenece al ideal generado por P_{1}, …, P_{n+1} en Q[X_{1}, …, X_{n}] y se verifica la siguiente condición:

si X_{1} − X_{n} := ∑_{i=1}^{n+1} g_{i}P_{i} entonces max{gr(g_{i}); 1 ≤ i ≤ n + 1} ≥ (d − 2)^{2^{k−1}}

La cota inferior se basa entonces en una estimación de la longitud de la salida: la cota de grado del enunciado del teorema 20 determina la longitud de un polinomio de salida en representación densa.

Este teorema dice que la codificación densa de polinomios hace que el problema de la representación en el caso de ideales arbitrarios resulte fuera del alcance de cualquier clase de complejidad tratable. Pueden hallarse cotas inferiores de orden similar con la representación densa de las salidas para el problema de la eliminación de cuantificadores sobre cuerpos algebraicamente cerrados o real cerrados de característica dada (ver [54], [66], [88], [183]) y la decisión en la teoría de los cuerpos algebraicamente cerrados ([63]).

Incluso si se considera el problema de la representación en el Nullstellensatz en representación densa, se tienen cotas inferiores exponenciales en tiempo. Varios autores (D. Lazard, T. Mora, W. Masser, P. Philippon entre otros) han encontrado el siguiente ejemplo :

Proposición 18 Considérese el siguiente sistema de ecuaciones polinomiales sobre Q[X_{1}, …, X_{n}]:

f_{1} = X_{1}^{d}, f_{2} = X_{1} − X_{2}^{d}, …, f_{n−1} = X_{n−2} − X_{n−1}^{d}, f_{n} = 1 − X_{n−1}X_{n}^{d−1}

(4.1)

Entonces son ciertas las siguientes afirmaciones:

• el sistema definido en (4.1) no posee soluciones comunes en C^{n}.

• toda representación 1 := ∑_{i=1}^{n} g_{i}f_{i} verifica que gr(g_{1}) ≥ d^{n} − d^{n−1}.

Dado que la cantidad de monomios del polinomio g_{1} es de tipo exponencial d^{O(n^{2})} = (d^{O(n)})^{n} con respecto a la cantidad d^{O(n)} de monomios de grado d en n variables, se concluye la cota inferior anunciada.

Cabe destacar que este resultado implica la optimalidad (salvo factores logarítmicos) de la versión probabilística del algoritmo desarrollado en la sección 1.4.4 con respecto al espacio y al tiempo secuencial.

A fin de evitar la notable simplificación de la cuestión de la complejidad computacional de los problemas de eliminación que se introduce cuando se consideran modelos con una fuerte estructura involucrada, se considerará la cuestión sobre un modelo más general: se codificarán los polinomios por medio de programas (=circuitos) aritméticos que los evalúen.

Es claro que cualquier cota inferior en este modelo se traslada inmediatamente a una cota inferior en representación densa (así como también en representación rala (sparse)), ya que la codificación de cualquier polinomio por medio de un programa es más económica que la representación densa del mismo (si bien en el caso genérico ambas representaciones poseen aproximadamente el mismo tamaño, en ciertos casos especiales –que eventualmente podrían ser los casos de los polinomios que aparecen como resultado de un proceso de eliminación– la diferencia puede ser importante).

4.1 Resultados de complejidad estructural

Un primer intento de clasificar la complejidad computacional de la resolución de un problema consiste en relacionarlo con clases de complejidad. De la existencia de teoremas de jerarquía de espacio y tiempo (cf. [7]) se deducen cotas inferiores para el problema considerado.

En tal sentido, la tarea de la complejidad estructural es establecer relaciones en términos de clases de complejidad. Para esto es necesario tener una herramienta que permita comparar la dificultad de dos problemas dados, la cual viene dada con el concepto de reducibilidad.

Una vez que se ha fijado algún tipo de reducción, se pueden definir los conceptos de dureza y completitud para miembros de una clase de complejidad: siendo A una clase de complejidad, se dice que un problema o lenguaje P es A–duro si todo problema de la clase A es reducible P, y P se dice A–completo si es A–duro y además pertenece a la clase A.

En forma intuitiva se puede decir que los problemas A–completos son aquellos miembros de la clase A de máxima dificultad, y que la resolución de un problema A–duro ofrece al menos tanta dificultad como la de cualquier otro problema de la clase A. Si bien no es clara la existencia de problemas A– completos para una clase A arbitraria, en el caso de las principales clases de complejidad ésta ha sido establecida por medio de la exhibición de ejemplos concretos.

Una observación obvia es la siguiente: dado un problema P, si existe un problema P̃ que es A–duro o A–completo y reducible a P, entonces P es A–duro. Por lo tanto, a fin de demostrar que la resolución de cierto problema ofrece tanta dificultad como la de cualquier miembro de una clase de complejidad A dada, es suficiente con demostrar que existe una problema A–duro o A–completo que es reducible a éste.

En lo que sigue se estudiarán distintos modelos de complejidad desde el punto de vista de la complejidad estructural. Se demostrará que los problemas de eliminación son “duros” en ciertas clases, reduciendo para ello problemas completos en esas clases a cuestiones de eliminación.

De esta manera, se aportarán indicios a la conjetura que la complejidad de los problemas de eliminación tiene un comportamiento inherente simplemente exponencial si la entrada se mide mediante parámetros sintácticos (como el grado o la talla de circuito de los polinomios de entrada, la altura de sus coeficientes o el número de variables).

4.1.1 Cotas inferiores relativas sobre modelos binarios

Para el primer indicio sobre la intratabilidad de los problemas de eliminación que se han considerado se utilizarán las herramientas que provee la teoría de la NP–completitud. La idea es demostrar que los problemas de eliminación son “al menos tan duros” como una larga lista de problemas de diferentes ámbitos, los cuales son ampliamente reconocidos como problemas probablemente intratables: los problemas NP–completos (cf. [71]).

Todos estos problemas poseen una característica común: pueden resolverse en forma polinomial, si se considera una variante mas “poderosa” que las máquinas de Turing determinísticas: las máquinas de Turing no determinísticas.

Una máquina de Turing no determinística M es un dispositivo de características similares a una máquina determinística excepto por el hecho que cada paso de computación puede elegirse entre varias posibilidades codificadas en la función de transición δ.

Por lo tanto, sobre cada entrada x no existe una sola computación sino un conjunto de posibles computaciones. En tal sentido, se dice que una entrada x es aceptada por M si y sólo si existe una computación de M sobre x que finaliza en un estado de aceptación.

El tiempo requerido por M sobre una entrada x se define como el mínimo, sobre todas las posibles computaciones aceptantes sobre x, del número de pasos de computación realizados. En estos términos se define la clase NP, como la clase de los problemas que pueden ser resueltos por una máquina de Turing no determinística en tiempo polinomial.

Dados dos lenguajes L_{1}, L_{2} ⊆ Σ^{∗}, se dice que L_{1} es reducible (o polinomialmente reducible) a L_{2} si existe una máquina de Turing de determinística que calcula en tiempo polinomial una función f : Σ^{∗} → Σ^{∗} con siguiente propiedad:

f(x) ∈ L_{2} si y sólo si x ∈ L_{1}

La clase de los problemas NP–completos se define en términos de esta reducción. El mérito de haber descubierto el concepto de la NP–completitud se debe a S. Cook, quien demostró que el siguiente problema, conocido como SAT, es NP–completo [49]:

Problema 1 Dada una fórmula booleana Φ en las variables X_{1}, …, X_{n} libre de cuantificadores, decidir si Φ es satisfactible, es decir, si existe una asignación de valores booleanos

α : {X_{1}, …, X_{n}} ⟶ {0, 1}

tal que Φ(α(X_{1}), …, α(X_{n})) = 1.

Aquí se utilizará una variante de este problema, conocida como 3SAT, más fácil de manipular, cuya completitud en NP es conocida (ver [107]):

Problema 2 Sea Φ una fórmula booleana en las variables X_{1}, …, X_{n} dada en forma 3–conjuntiva normal, es decir:

Φ = c_{1} ∧ ⋯ ∧ c_{s}

donde cada cláusula c_{i} es de la forma

c_{i} = u_{i_{1}} ∨ u_{i_{2}} ∨ u_{i_{3}}

siendo u_{i_{j}} una variable X_{k} o su negación \overline{X_{k}}. Decidir si Φ es satisfactible.

Se tienen ahora todas las herramientas necesarias para demostrar el primer resultado concerniente a la complejidad relativa de los procedimientos de eliminación. Se enuncia en primer lugar el problema de eliminación que se estudiará:

Problema 3 : El Problema de la Consistencia (PC) Dada una sucesión finita de polinomios F_{1}, …, F_{s} en ZZ [X_{1}, …, X_{n}], decidir si el siguiente sistema de ecuaciones polinomiales tiene una solución en C^{n}:

F_{1}(X_{1}, …, X_{n}) = 0 , …, F_{s}(X_{1}, …, X_{n}) = 0

La NP–dureza del problema PC es bien conocida en el ámbito de teoría de eliminación (ver [90], [139] por ejemplo). La demostración de este hecho se reproduce aquí por motivos didácticos:

Teorema 21 PC es NP–duro.

Demostración Siguiendo el esquema estándar de demostración de este tipo de enunciados, se exhibirá una reducción polinomial de 3SAT a PC. Para ello, sea Φ = c_{1} ∧ ⋯ ∧ c_{s} una fórmula booleana sin cuantificadores sobre las variables U := {U_{1}, …, U_{n}}.

A fin de definir la función f que realizará la reducción de 3SAT a PC, a cada variable U_{i} ∈ U se le asigna una indeterminada X_{i} sobre C. A fin de simular un comportamiento “discreto” de las variables “continuas” X_{1}, …, X_{n}, estas variables estarán sujetas a las condiciones:

(X_{1})^{2} − X_{1} = 0, …, (X_{n})^{2} − X_{n} = 0

que asegura que todos los posibles valores que toman X_{1}, …, X_{n} son los enteros 0 o 1.

Se construirá ahora un polinomio F_{Φ} en ZZ [X_{1}, …, X_{n}] de forma tal que F_{Φ} posee una solución en {0, 1}^{n} si y sólo si la fórmula Φ es satisfactible. Cada cláusula c_{i} que aparece en Φ es de alguno de los siguientes tipos:

\begin{matrix}X ∨ Y ∨ Z \\ X ∨ Y ∨ \overline{Z} \\ X ∨ \overline{Y} ∨ \overline{Z} \\ \overline{X} ∨ \overline{Y} ∨ \overline{Z} \end{matrix}

Para cada una de estas clásulas, se definen los siguientes polinomios:

\begin{matrix}X + Y + Z − XY − XZ − Y Z + XY Z \\ 1 − Z + XZ − XY Z \\ 1 − Y Z + XY Z \\ 1 − XY Z \end{matrix}  (4.2)

Es fácil corroborar que los polinomios así definidos toman solamente los valores 0 o 1 sobre cada upla en el conjunto {0, 1}^{3}, y toman el valor 1 sobre una tal upla si y sólo ésta corresponde a una asignación de valores booleanos a las variables X, Y, Z que satisface la cláusula en consideración. Por lo tanto, por cada cláusula c_{i} que aparece en Φ existe un polinomio p_{i}(X_{i_{1}}, X_{i_{2}}, X_{i_{3}}) de alguno de los tipos definidos en 4.2 que verifica las propiedades mencionadas.

En consecuencia, la compatibilidad del siguiente sistema de ecuaciones polinomiales con coeficientes enteros:

\begin{matrix}(X_{1})^{2} − X_{1} = 0, …, (X_{n})^{2} − X_{n} = 0 \\ F_{Φ} := ∏_{i=1}^{s} p_{i}(X_{i_{1}}, X_{i_{2}}, X_{i_{3}}) − 1 = 0 \end{matrix}  (4.3)

es equivalente a la satisfactibilidad de la fórmula Φ. Nótese que los polinomios que definen el sistema (4.3) pueden calcularse por medio de O(s) operaciones aritméticas.

Debido a la forma especial del sistema definido en (4.3) es claro que éste puede ser generado en tiempo polinomial a partir de la fórmula Φ. Dado que 3SAT es un problema NP–completo, se ha demostrado el enunciado del teorema. □

El siguiente resultado constituye una mejora con respecto a la NP–dureza de los problemas de eliminación: se demostrará que la hipótesis de la polinomialidad de los problemas de eliminación implica no sólo que P=NP, como se deduce del teorema 21, sino también que la clase #P, de complejidad presumiblemente superior a NP, también colapsa a P.

La clase #P, introducida por L. Valiant en [178], se describe en términos de las máquinas de Turing contadoras. Una máquina de Turing contadora es una máquina no determinística estándar que posee un dispositivo auxiliar que (mágicamente) imprime en notación binaria sobre una cinta especial el número de computaciones aceptantes inducidas por la entrada. Una tal máquina tiene complejidad en tiempo f(n) si la más larga computación aceptante inducida por el conjunto de todas las entradas de tamaño n toma f(n) pasos de computación (cuando la máquina se mira como una máquina no determinística estándar sin dispositivo auxiliar).

La clase #P consiste de todas las funciones que pueden computarse por medio de máquinas de Turing contadoras en tiempo polinomial.

Se define una noción de reducción por medio de oráculos, en un sentido similar a la noción en [49]. Una máquina de Turing con oráculo es una que posee dos cintas especiales: una de consulta y una de respuesta. Para consultar al oráculo la máquina imprime una palabra sobre la cinta de consulta y, yendo a un estado especial de consulta, retorna una respuesta en una unidad de tiempo sobre la cinta de respuesta.

Con esta terminología, un problema L se dice #P–duro si todo problema #P puede calcularse en tiempo polinomial con una maq́uina con oráculo L. Por supuesto, un problema #P–completo es uno que es #P–duro y pertenece a #P.

En [178] se demostró que el problema de calcular el permanente de una matriz A ∈ ZZ^{n×n} es #P –completo. El permanente de una matriz A en ZZ^{n×n} se define en la forma

Perm A := ∑_{σ∈S_{n}} ∏_{i=1}^{n} a_{i,σ(i)}

donde a_{i,j} denota el coeficiente (i, j) de la matriz A y S_{n} denota el conjunto de todas las permutaciones de (1, 2, …, n).

Se relacionará la dificultad de la resolución de los problemas de eliminación con la de los problemas #P–completos mediante una reducción al cálculo del permanente. El problema de eliminación que se utilizará a tal efecto es el siguiente:

Problema 4 : El problema general de eliminación (PGE) Dados polinomios F_{1}, …, F_{s} en ZZ [X_{1}, …, X_{n}], hallar una fórmula sin cuantificadores en el lenguaje de cuerpos algebraicamente cerrados que describa la siguiente proyección sobre C^{r} (r ≤ n):

(∃X_{r+1}) ⋯ (∃X_{n}){F_{1}(X_{1}, …, X_{n}) = 0, …, F_{s}(X_{1}, …, X_{n}) = 0}

Se tiene entonces el siguiente resultado, el cual es una versión mejorada de [90, Proposition 13]:

Teorema 22 Si PGE es resoluble en tiempo polinomial entonces P=#P.

Demostración La idea es mostrar que a partir de una instancia de PGE se obtiene el permanente de cualquier matriz A ∈ ZZ^{n×n}. Dado que el problema del cálculo del permanente de matrices enteras es #P–duro, se deducirá el enunciado del teorema.

Para esto, se considera la siguiente fórmula definida sobre las variables X_{11}, …, X_{nn}, Z_{11}, …, Z_{nn}, T, Y:

\begin{matrix}(∃X_{11}) ⋯ (∃X_{nn})\{ ⋀_{1≤i,j≤n}(X_{ij})^{2} − X_{ij} = 0 \\ ⋀_{i=1}^{n} ( ∑_{j=1}^{n} X_{ij} = 1) \\ ⋀_{j=1}^{n} ( ∑_{i=1}^{n} X_{ij} = 1) \\ Y = T ∏_{i=1}^{n} ( ∑_{j=1}^{n} X_{ij}Z_{ij})\} \end{matrix}  (4.4)

En primer lugar, obśervese que si las variables X_{11}, …, X_{nn} se piensan como coordenadas de una matriz X de n × n, las condiciones

⋀_{1≤i,j≤n}(X_{ij})^{2} − X_{ij} = 0 , ⋀_{i=1}^{n} ( ∑_{j=1}^{n} X_{ij} = 1) , ⋀_{j=1}^{n} ( ∑_{i=1}^{n} X_{ij} = 1)  (4.5)

implican que la matriz X es una matriz de permutación: X sólo tiene 0 o 1 como entradas, y existe una permutación σ en S_{n} tal que X_{ij} = 1 si y sólo si σ(i) = j. Más aún, todas las posibles matrices definidas por las condiciones (4.5) corresponden exactamente a todas las permutaciones σ en S_{n}.

A fin de determinar que conjunto resulta de la proyección definida en (4.4), se reemplaza el polinomio:

Y = T ∏_{i=1}^{n} ( ∑_{j=1}^{n} X_{ij}Z_{ij})

(que es el único polinomio que aparece en (4.4) que no depende exclusivamente de X_{11}, …, X_{nn}) por todos los posibles valores que pueden tomar las variables X_{11}, …, X_{nn} de acuerdo con las restricciones impuestas por la fórmula (4.4).

Así se obtienen n! conjuntos, cuya unión constituye la proyección definida en (4.4):

⋃_{σ∈S_{n}} (Y − T ∏_{i=1}^{n} Z_{i,σ(i)})

Esta unión se puede expresar en forma mas compacta por medio de los ceros del siguiente polinomio “eliminante”:

G_{n} := ∏_{σ∈S_{n}} (Y − T ∏_{i=1}^{n} Z_{i,σ(i)})

Se demostrará que el permanente de cualquier matriz n × n puede calcularse con un oráculo que resuelve la instancia del problema PGE definida por la fórmula (4.4). Por lo tanto, dado que esta fórmula tiene longitud O(n^{2}) (y se calcula por medio de O(n^{2}) operaciones aritméticas) se tienen las dos alternativas siguientes: o bien la instancia del problema PGE definida por la fórmula (4.4) no es resoluble en tiempo polinomial; o ésta si es resoluble en tiempo polinomial, lo cual implicará que el problema PGE es #P–duro, ya que se demostrará que la respuesta a la fórmula (4.4) puede utilizarse como oráculo para el cálculo del permanente. En ambos casos se deduce el enunciado del teorema.

A fin de demostrar como puede calcularse el permanente a partir del polinomio eliminante G_{n}, se observa que la escritura de G_{n} como polinomio en Q[T, Z_{11}, …, Z_{nn}][Y] está dada por la siguiente expresión:

G_{n} = Y^{n!} + a_{1}T Y^{n!−1} + a_{2}T^{2}Y_{+}^{n!−2} ⋯ + a_{0}T^{n!}

donde el coeficiente a_{1} toma la forma:

a_{1} = ∑_{σ∈S_{n}} ( ∏_{i=1}^{n} Z_{i,σ(i)}) = P erm(Z_{ij})

Supóngase que G_{n} viene representado por un circuito aritmético sin divisiones β_{n} de talla L_{n}. Si no existe ningún circuito aritmético β_{n} que evalúe G_{n} en tiempo L_{n} polinomial, entonces se habrá demostrado que PGE es intrínsecamente exponencial en cuyo caso el enunciado del teorema es cierto. En consecuencia, se puede suponer que L_{n} está acotado por un polinomio en n.

Aplicando el teorema de Baur–Strasen [10] (ver también [132]), es posible transformar en tiempo polinomial en n el circuito β_{n} en uno β̃_{n} que calcula la derivada \frac{∂G_{n}}{∂T}. Dado que este polinomio tiene la forma:

\frac{∂G_{n}}{∂T} = a_{1}Y^{n!−1} + 2a_{2}T Y_{+}^{n!−2} ⋯ + n!a_{0}T^{n!}

especializando Y en 1 y T en 0, se obtiene el coeficiente a_{1}, es decir, el permanente Perm((Z_{ij})_{1≤i,j≤n}). Por lo tanto, PGE es #P–duro, de donde se deduce que un algoritmo polinomial para su resolución implica uno polinomial para la resolución de cualquier problema #P. En consecuencia, se tiene que P=#P. □

4.1.2 Cotas inferiores relativas sobre modelos aritméticos

En esta subsección se considerarán los problemas de eliminación sobre el modelo aritmético introducido por L. Valiant en [177] (ver también [179], [73]), el cual constituye un análogo aritmético de la teoría booleana de P versus NP, que se pone en términos de las clases de familias de polinomios p–computables versus p–definibles.

En la teoría de Valiant, los polinomios se evalúan (y representan) por medio de circuitos aritméticos, de los cuales sólo se considera su talla de circuito como medida de complejidad. Dado que los circuitos aceptan solamente un número fijo de entradas, es natural considerar familias de circuitos como modelo de computación.

El objeto de estudio son las familias F = (F_{n})_{n∈IN} de polinomios de grado polinomial en n con coeficientes en un cuerpo (que aquí se restringirá a Q), en una cantidad polinomial de variables. Es decir, cada polinomio F_{n} de la familia F pertenece a Q[X_{1}, …, X_{v(n)}], donde v(n) es una función acotada en forma polinomial con respecto a n y tiene grado total polinomial en n.

Se dice que una función t : IN → IN es p–acotada (“polinomialmente acotada”) si existen constantes c_{1}, c_{2} tales que t(n) ≤ c_{1}n^{c_{2}} y qp–acotada (“cuasi– polinomialmente acotada”) si existen constantes c_{1}, c_{2} tales que t(n) ≤ c_{1}2^{(log n)^{c_{2}}}.

Las clases centrales –los análogos aritméticos de P y NP– son las formadas por las familias de polinomios p–computables y p–definibles.

Una familia F = (F_{n})_{n∈IN} de polinomios con F_{n} ∈ Q[X_{1}, …, X_{v(n)}] es p– computable si v(n) y gr(F_{n}) son funciones p–acotadas y la función L(F_{n}) que mide la talla del polinomio F_{n} es p–acotada. Estas familias son consideradas “factibles”, es decir, el análogo aritmético de la clase P.

La definición de la clase de las familias p–definibles involucra algunos conceptos técnicos previos. En primer lugar, una familia F = (F_{n})_{n∈IN} se dice p–expresable si v(n) y gr(F_{n}) son funciones p–acotadas y la función E(F_{n}) que mide el tamaño de fórmula de F_{n} es también p–acotada.

Las reducciones se establecen por medio de las p–proyecciones. Un polinomio F ∈ Q[X_{1}, …, X_{n}] es una proyección de G ∈ Q[X_{1}, …, X_{m}], si existen a_{1}, …, a_{m} ∈ Q ∪ {X_{1}, …, X_{n}} tales que

F = G(a_{1}, …, a_{m})

Dadas dos familias F = (F_{n})_{n∈IN} y G = (G_{n})_{n∈IN} de polinomios sobre Q, con F_{n} ∈ Q[X_{1}, …, X_{v(n)}] y G_{m} ∈ Q[X_{1}, …, X_{w(m)}], y una función t : IN → IN, se dice F es una t–proyección de G si, para todo n ∈ IN, existe m ≤ t(n) tal que tal que v(n), w(m) ≤ t(n) y F_{n} es una proyección de G_{m}.

Finalmente, siendo F y G familias como antes, se dice que F es una p– proyección de G si F es una t–proyección de G para alguna función t que es p–acotada.

En estos términos se puede definir el concepto de p–definabilidad: si G = (G_{n})_{n∈IN} y H = (H_{n})_{n∈IN} son dos familias de polinomios sobre Q , entonces G define a H si para todo n ∈ IN se tiene

H_{n} = ∑_{e∈{0,1}^{n}} G_{n}(e)X^{e}

donde X^{e} denota el monomio X_{1}^{e_{1}} ⋯ X_{n}^{e_{n}}. Una familia F de polinomios sobre Q es p–definible si existe una familia p–expresable G sobre Q tal que F es una p–proyección de la familia H definida por G.

Las familias p–definibles son el análogo aritmético de NP. Los miembros mas difíciles de esta clase, bajo el concepto de p–proyección, se denominan las familias p–completas. La Hipótesis de Valiant afirma que existen familias de polinomios p–definibles sobre Q que no son p–computables. Claro está, la hipótesis de Valiant es cierta si y sólo si existe una familia p–completa que no es p–computable.

A fin de aportar mas evidencia sobre la intratabilidad de los problemas de eliminación, se demostrará que cualquier familia de polinomios p–completa es la p–proyección del resultado de un proceso de eliminación del tipo PGE:

Teorema 23 El problema de eliminación PGE es resoluble en tiempo (=cantidad de operaciones aritméticas) polinomial si y sólo si la hipótesis de Valiant es falsa.

Demostración La prueba del enunciado del teorema se basa en demostrar que es posible obtener cualquier polinomio de la forma

H = ∑_{e∈{0,1}^{n}} G(e)X^{e}

donde G es un polinomio cualquiera, como el resultado de un proceso de eliminación del tipo PGE aplicado a un sistema de ecuaciones polinomiales que se calcula con O(n + L(G)) operaciones aritméticas, donde L(G) denota la talla de circuito del polinomio G.

Para esto, siendo G un polinomio computable por medio de un circuito aritmético de talla L, se considera la siguiente fórmula Φ_{G}:

(∃X_{1}) ⋯ (∃X_{n}){ ⋀_{i=1}^{n}(X_{i})^{2} − X_{i} = 0, Y = T G(X_{1}, …, X_{n}) ∏_{i=1}^{n} (1 + X_{i}(Z_{i} − 1))}

(4.6)

Obsérvese que todos los polinomios que forman la fórmula Φ_{G} pueden calcularse por medio de un circuito aritmético de talla O(n + L). A fin de hallar un polinomio eliminante para Φ_{G}, se utilizará la técnica aplicada en el teorema 22.

En primer lugar, se observa que las condiciones

⋀_{i=1}^{n}(X_{i})^{2} − X_{i} = 0

implican que el vector de variables (X_{1}, …, X_{n}) toma exactamente todos los posibles valores del conjunto {0, 1}^{n}. Reemplazando cada uno de estos valores en el polinomio

Y = T G(X_{1}, …, X_{n}) ∏_{i=1}^{n} (1 + X_{i}(Z_{i} − 1))

se obtienen 2^{n} conjuntos, cuya unión constituye el conjunto resultante del proceso de eliminación PGE aplicado a la fórmula (4.6). Esta unión puede expresarse como el conjunto de ceros del siguiente polinomio:

Q := ∏_{(ε_{1},...,ε_{n})∈{0,1}^{n}} (Y − T G(ε_{1}, …, ε_{n})Z_{1}^{ε_{1}} ⋯ Z_{n}^{ε_{n}})

La escritura del polinomio Q con respecto a la variable Y tiene la siguiente forma:

Q = Y^{n!} + a_{1}T Y^{n!−1} + a_{2}T^{2}Y^{n!−2} + ⋯ + a_{0}T^{n!}

donde el coeficiente a_{1} viene dado por la expresión:

a_{1} = ∑_{(ε_{1},...,ε_{n})∈{0,1}^{n}} G(ε_{1}, …, ε_{n})Z_{1}^{ε_{1}} ⋯ Z_{n}^{ε_{n}}

Si no existe ningún circuito aritmético que evalúe Q en tiempo L polinomial en n, entonces se deduce que no existen algoritmos polinomiales para PGE, lo cual implica el enunciado del teorema. En consecuencia, se puede suponer que la evaluación del polinomio Q puede realizarse por medio de un circuito aritmético β de talla polinomial en n y L.

Aplicando nuevamente el teorema de Baur–Strasen [10] se transforma el circuito β en uno β̃ que calcula el polinomio \frac{∂Q}{∂T}. Dado que este polinomio tiene la forma:

\frac{∂Q}{∂T} = a_{1}Y^{n!−1} + 2a_{2}T Y_{+}^{n!−2} ⋯ + n!a_{0}T^{n!}

se concluye que, especializando Y en 1 y T en 0, se obtiene el coeficiente a_{1}, es decir, el polinomio

∑_{(ε_{1},...,ε_{n})∈{0,1}^{n}} G(ε_{1}, …, ε_{n})Z_{1}^{ε_{1}} ⋯ Z_{n}^{ε_{n}}

Considérese entonces una familia F := (F_{n})_{n∈IN} de polinomios sobre Q p-completa. Sin pérdida de generalidad, puede suponerse directamente que la familia F está p–definida por medio de una familia G := (G_{n})_{n∈IN} que es p–expresable (y por lo tanto, p-computable).

En consecuencia, en virtud de la hipótesis de la polinomialidad del problema PGE, dado que la familia de polinomios que conforman la familia de fórmulas {Φ_{G_{n}}} definidas según (4.6) es p–computables, se concluye que la familia de polinomios eliminantes

F_{n} = ∑_{(ε_{1},...,ε_{n})∈{0,1}^{n}} G_{n}(ε_{1}, …, ε_{n})Z_{1}^{ε_{1}} ⋯ Z_{n}^{ε_{n}}

es p–computable.

Luego, dado que la familia F es p–completa, se tiene que la hipótesis de Valiant es falsa, lo que concluye la demostración del teorema. □

Cabe destacar el modelo aritmético de las máquinas reales introducido por L. Blum, M. Shub y S. Smale ([21]), el cual realiza un desarrollo análogo de la teoría booleana P versus NP por medio de las clases P_{C} y NP_{C}. En [21] se demuestra que PC es un problema NP_{C}–completo, lo cual avala la conjetura sobre la intratabilidad de los problemas de eliminación (ver también [166]).

4.2 Resultados de complejidad absoluta

En esta sección se darán argumentos absolutos a favor de la hipótesis de la intratabilidad de los problemas de eliminación, es decir, argumentos que no dependen de la supuesta intratabilidad de alguna clase de complejidad.

Desafortunadamente, estos argumentos requieren ciertas hipótesis sobre el tipo de algoritmos que se utilizan en la resolución de los problemas de eliminación. Sin embargo, los resultados que se demostrarán en esta sección tendrán un gran impacto desde el punto de vista práctico –al menos en la opinión del autor– ya que las hipótesis necesarias son aplicables a todos los algoritmos hasta ahora conocidos y posibles variantes de los mismos.

Como se puede apreciar del contenido de la sección anterior, existen varias propuestas diferentes para modelar el concepto de algoritmo. Cada modelo posee clases de problemas “probablemente intratables” de gran interés práctico, cuya conjeturada intratabilidad no ha sido demostrada en forma concluyente.

Es posible que este fenómeno se deba a la generalidad con que se aborda la palabra “algoritmo”. De esta manera, se incluyen en esta categoría procedimientos que muy probablemente no serán jamás implementados (o siquiera imaginados!).

La intención de esta sección es pragmática: no se pretende dar un cota inferior para la cantidad de operaciones que realiza cualquier posible algoritmo de eliminación, sino mas bien sobre el tipo de algoritmos que se ha desarrollado hasta ahora. La conclusión que debería extraerse es: “no es posible desarrollar algoritmos polinomiales generalistas para resolver los problemas de eliminación con este tipo de técnicas”.

Es por tanto necesario encontrar un modelo general de algoritmo que incluya a todos los hasta ahora desarrollados y todas las posibles variantes de los mismos. Para este fin, se introduce el concepto de robustez algebraica. Informalmente, un procedimiento general de eliminación se dice algebraicamente robusto si, para familias playas de instancias de problemas, produce soluciones continuas o estables (en un cierto sentido a precisar).

Por supuesto, esta noción de robustez algebraica depende del contexto (algebraico o geométrico). Si bien no se dará una definición general de este concepto, la idea se explicará en la siguiente subsección en un ejemplo típico.

4.2.1 Familias playas de problemas de eliminación

Sean T_{1}, …, T_{m}, U_{1}, …, U_{r}, X_{1}, …, X_{n}, Y indeterminadas sobre C y sean G_{1}, …, G_{n}, F polinomios que pertenecen a Q[T_{1}, …, T_{m}, U_{1}, …, U_{r}, X_{1}, …, X_{n}]. Supóngase que los polinomios G_{1}, …, G_{n} forman una sucesión regular en Q [T_{1}, …, T_{m}, U_{1}, …, U_{r}, X_{1}, …, X_{n}], y definen una variedad (equidimensional)

V := {G_{1} = 0, …, G_{n} = 0}

de C^{m+r+n} de dimensión m + r, cuyo grado (afín) se nota por δ. Supóngase asimismo que las variables T_{1}, …, T_{m}, U_{1}, …, U_{r}, X_{1}, …, X_{n} están en posición de Noether con respecto a V, y denótese por π : V ⟶ C^{m+r} el morfismo de variedades algebraicas definido por

π(t_{1}, …, t_{m}, u_{1}, …, u_{r}, x_{1}, …, x_{n}) := (t_{1}, …, t_{m}, u_{1}, …, u_{r})

para todo (t_{1}, …, t_{m}, u_{1}, …, u_{r}, x_{1}, …, x_{n}) ∈ V. Este morfismo π es finito y genéricamente no ramificado, lo cual implica, en particular, que π es playo.

Sea π̃ : V ⟶ C^{m+r+1} el morfismo definido por

π̃(z) := (π(z), F (z))

para todo z ∈ V. La imagen de π̃ es una hipersuperficie de C^{m+r+1} cuya ecuación minimal es un polinomio P ∈ Q[T_{1}, …, T_{m}, U_{1}, …, U_{r}, Y]. Obsérvese que P es mónico en Y y que gr_{Y} (P) ≤ δ. Más aún, gr_{Y} (P) es el cardinal de la imagen de la restricción de F al conjunto {w} × π^{−1}{w} definido por un punto w ∈ C^{m+r} genérico.

Considérese un punto arbitrario t = (t_{1}, …, t_{m}) de C^{m}. Para polinomios B ∈ Q[T_{1}, …, T_{m}, U_{1}, …, U_{r}, X_{1}, …, X_{n}] y C ∈ Q[T_{1}, …, T_{m}, U_{1}, …, U_{r}, Y] arbitrarios se nota:

B^{(t)} := B(t_{1}, …, t_{m}, U_{1}, …, U_{r}, X_{1}, …, X_{n})

y

C^{(t)} := C(t_{1}, …, t_{m}, U_{1}, …, U_{r}, Y)

Los polinomios G_{1}^{(t)}, …, G_{n}^{(t)} forman una sucesión regular en Q(t_{1}, …, t_{m})[U_{1}, …, U_{r}, X_{1}, …, X_{n}] y definen una variedad equidimensional

V^{(t)} := {G_{1}^{(t)} = 0, …, G_{n}^{(t)} = 0}

de C^{r+n} cuyo grado está acotado por δ. Sean

π^{(t)} : V^{(t)} ⟶ C^{r+n}
π̃^{(t)} : V^{(t)} ⟶ C^{r+n+1}

los morfismos inducidos por π y π̃ sobre la variedad V^{(t)}. Entonces el morfismo π^{(t)} es finito y playo pero no necesariamente genéricamente no ramificado. Mas aún, la imagen de π̃^{(t)} es una hipersuperficie de C^{r+1} sobre la cual se anula el polinomio P^{(t)} (sin ser necesariamente la ecuación minimal de esta superficie).

Definición 9 El sistema de ecuaciones G_{1} = 0, …, G_{n} = 0 y el polinomio F se llaman (la instancia general de) una familia playa del problema de eliminación m–dimensional dependiente de los parámetros T_{1}, …, T_{m}. El polinomio P se dice la solución general del problema de eliminación dado.

Cada elemento t de C^{m} se considera como un punto paramétrico que determina una instancia particular del problema de eliminación dado. Esta instancia está entonces definida por los siguientes ítems:

• las ecuaciones G_{1}^{(t)} = 0 , …, G_{n}^{(t)} = 0

• el polinomio F^{(t)}

y su solución (particular) es P^{(t)}.

Dos puntos paramétricos t, t′ ∈ C^{m} se dicen equivalentes (y se nota t ∼ t′) si satisfacen las identidades:

G_{1}^{(t)} = G_{1}^{(t′)} , …, G_{n}^{(t)} = G_{n}^{(t′)} , F^{(t)} = F^{(t′)}

Obsérvese que t ∼ t′ implica que P^{(t)} = P^{(t′)}.

Asimismo, polinomios A ∈ Q[T_{1}, …, T_{m}], B ∈ Q[T_{1}, …, T_{m}, U_{1}, …, U_{r}, X_{1}, …, X_{m}] y C ∈ Q [T_{1}, …, T_{m}, U_{1}, …, U_{r}, Y] se denominan invariantes (con respecto a ∼) si para todo par de puntos paramétricos t, t′ ∈ C^{m} tales que t ∼ t′, se satisfacen las identidades A(t) = A(t′), B^{(t)} = B^{(t′)} y C^{(t)} = C^{(t′)}.

Sean β y β′ circuitos aritméticos en Q [T_{1}, …, T_{m}, U_{1}, …, U_{r}, X_{1}, …, X_{n}] y Q[T_{1}, …, T_{m}, U_{1}, …, U_{r}, Y] respectivamente, con parámetros pertenecientes al anillos de polinomios Q[T_{1}, …, T_{m}]. Los circuitos aritméticos β y β′ se dicen invariantes (con respecto a ∼) si todos sus parámetros son elementos invariantes de Q [T_{1}, …, T_{m}]. Obsérvese que los resultados intermedios de un circuito aritmético invariante son polinomios invariantes.

Se tienen ahora todos los elementos necesarios para caracterizar, en la situación dada, el significado de un procedimiento de eliminación algebraicamente robusto.

Definición 10 Supóngase que los polinomios G_{1}, …, G_{n}, F se dan por medio de un circuito aritmético (típicamente invariante) β en Q[T_{1}, …, T_{m}][U_{1}, …, U_{r}, X_{1}, …, X_{n}]. Un procedimiento de eliminación se dice algebraicamente robusto si produce, a partir del circuito aritmético β como entrada, un circuito aritmético Γ invariante en Q[T_{1}, …, T_{m}, U_{1}, …, U_{r}, Y] como salida tal que Γ representa el polinomio P.

El requerimiento de invariancia en esta definición de robustez algebraica tiene el siguiente significado: sea t = (t_{1}, …, t_{m}) un punto paramétrico de C^{m} y sea Γ^{(t)} el circuito aritmético en Q(t_{1}, …, t_{m})[U_{1}, …, U_{r}, Y] obtenido a partir de Γ por medio de la evaluación en t de los elementos de Q[T_{1}, …, T_{m}] que aparecen como parámetros de Γ. Entonces el circuito Γ^{(t)} depende solamente de la instancia particular del problema determinado por el punto paramétrico t y no de t en sí mismo. Dicho de otra manera, un procedimiento de eliminación algebraicamente robusto produce la solución de una instancia particular del problema de forma independiente de los posibles diferentes puntos paramétricos que definen la misma instancia del problema dado.

Obsérvese que por definición un procedimiento de eliminación algebraicamente robusto produce siempre la solución general del problema de eliminación en consideración.

Habiendo definido el concepto de robustez algebraica, se demostrará que cualquier procedimiento general de eliminación algebraicamente robusto tiene una complejidad intrínsecamente no polinomial con respecto al tamaño de la entrada, si ésta se mide solamente por medio de parámetros sintácticos. Para esto, se considera la siguiente familia playa de problemas de eliminación 1–dimensional.

Ejemplo 6 Sean S, T, U, X_{1}, …, X_{n}, Y indeterminadas sobre Q. Sea F la familia playa de problemas de eliminación 1–dimensional dependiente de los parámetros S y T, definida por los siguientes polinomios:

G_{1} := (X_{1})^{2} − X_{1}, …, G_{n} := (X_{n})^{2} − X_{n}

F := (1 + S ∏_{i=1}^{n} (T^{2^{i−1}} + ( ∑_{j=1}^{n} 2^{j−1}X_{j})^{2^{i−1}})) ∏_{k=1}^{n} ((U^{2^{k−1}} − 1)X_{k} + 1)

Estos polinomios se consideran como elementos de anillo de polinomios Q [S, T][U, X_{1}, …, X_{n}]. En consecuencia, se tiene que m = 2 y r = 1 en esta situación.

Es claro a partir de su representación que los polinomios G_{1}, …, G_{n}, F pueden evaluarse por medio de un circuito aritmético β en Q[S, T, U, X_{1}, …, X_{n}] de longitud O(n). La variedad V := {G_{1} = 0, …, G_{n} = 0} es la unión de 2^{n} subespacios afines lineales de C^{n+3}: V = C^{3} × {0, 1}^{n}. El morfismo π : V ⟶ C^{3} es la proyeccíon canónica de C^{4} × {0, 1}^{n} en C^{4}. Obviamente el morfismo π es finito y genéricamente no ramificado. Más aún, todas las fibras de π tienen cardinal 2^{n}.

Con estas notaciones se tiene el siguiente resultado:

Teorema 24 Todo procedimiento general de eliminación algebraicamente robusto aplicado a la familia F de problemas del ejemplo 6 produce un circuito invariante solución cuya talla es de tipo 2^{Ω(n)}.

Demostración. Sea (ℓ_{1}, …, ℓ_{n}) un punto de {0, 1}^{n} y sea ℓ := ∑_{j=1}^{n} 2^{j−1}ℓ_{j} el número entero con representación binaria ℓ_{n}ℓ_{n−1} … ℓ_{1}. Se verifica inmediatamente que vale la siguiente identidad:

F (S, T, U, ℓ_{1}, …, ℓ_{n}) := (1 + S ∑_{k=0}^{2^{n}−1} T^{k}ℓ^{2^{n}−1−k})U^{ℓ}

En consecuencia, para cualquier punto (s, t, u, ℓ_{1}, …, ℓ_{n}) ∈ V con ℓ := ∑_{j=1}^{n} 2^{j−1}ℓ_{j} se tiene:

F (s, t, u, ℓ_{1}, …, ℓ_{n}) := (1 + s ∑_{k=0}^{2^{n}−1} t^{k}ℓ^{2^{n}−1−k})u^{ℓ}

A partir de esta consideración se deduce fácilmente que el polinomio de eliminación P ∈ Q[S, T, U, Y] requerido es

P := ∏_{ℓ=0}^{2^{n}−1} (Y − (1 + S ∑_{k=0}^{2^{n}−1} T^{k}ℓ^{2^{n}−1−k})U^{ℓ})

Este polinomio puede expresarse en la forma:

P := Y^{2^{n}} + a_{1}(S, T, U)Y^{2^{n}−1} + ⋯ + a_{2^{n}}(S, T, U)

donde cada a_{i} ∈ Q[S, T, U] y a_{1} es el siguiente polinomio:

a_{1} := − ∑_{ℓ=0}^{2^{n}−1} (1 + S ∑_{k=0}^{2^{n}−1} T^{k}ℓ^{2^{n}−1−k})U^{ℓ}

Supóngase dado un procedimiento de eliminación algebraicamente robusto, el cual produce a partir del circuito aritmético de entrada β un circuito aritmético invariante Γ en Q [S, T, U, Y] que evalúa el polinomio P. Recuérdese que la invariancia de Γ significa que los parámetros de Γ son polinomios invariantes A_{1}, …, A_{N} de Q[S, T].

Sea L(Γ) la talla de Γ y L(Γ) la talla no escalar de Γ con respecto a Q[S, T]. Se tiene entonces que L(Γ) ≤ L(Γ) y N ≤ (L(Γ) + 3)^{2} (ver [172] o [162] por ejemplo). Sean Ω_{1}, …, Ω_{N} nuevas indeterminadas. De la estructura del grafo del circuito Γ se deduce que, para cada 0 ≤ ℓ < 2^{n}, existe un polinomio Q_{ℓ} ∈ ZZ [Ω_{1}, …, Ω_{N}] tal que Q(A_{1}, …, A_{N}) es el coeficiente del monomio U^{ℓ}Y^{2^{n}−1} de P, es decir:

Q_{ℓ}(A_{1}, …, A_{N}) = 1 + S ∑_{k=0}^{2^{n}−1} T^{k}ℓ^{2^{n}−1−k}

para ℓ = 0, …, 2^{n} − 1.

Obsérvese que para todo par de puntos t ∼ t′ se verifica la relación (0, t) ∼ (0, t′). A partir de la invariancia de A_{1}, …, A_{N} se deduce que

A_{1}(0, t) = A_{1}(0, t′) , …, A_{N}(0, t) = A_{N}(0, t′)

Esto significa que los elementos

α_{1} := A_{1}(0, T) , …, α_{N} := A_{N}(0, T)  (4.7)

son valores constantes de Q.

Se consideran los siguientes morfismos de espacios afines:

\begin{matrix}ψ : C^{N} & ⟶ & C^{2^{n}} \\ (Ω_{1}, …, Ω_{n}) & ⟼ & (Q_{ℓ}(Ω_{1}, …, Ω_{n}))_{0≤ℓ≤2^{n}−1} \end{matrix}

\begin{matrix}μ : C^{2} & ⟶ & C^{N} \\ (S, T) & ⟼ & (A_{1}(S, T), …, A_{N}(S, T)) \end{matrix}

Obsérvese que

\begin{aligned}ψ ∘ μ(S, T) & = & (Q_{ℓ}(A_{1}(S, T), …, A_{N}(S, T)))_{0≤ℓ≤2^{n}−1} = \\ & = & (1 + S ∑_{k=0}^{2^{n}−1} T^{k}ℓ^{2^{n}−1−k})_{0≤ℓ≤2^{n}−1} \end{aligned}

Sea α := (α_{1}, …, α_{N}) el punto de CC^{N} cuyas coordenadas son las definidas en 4.7 y ε := (1, …, 1) ∈ C^{2^{n}}. A partir de la argumentación previamente desarrollada se deducen las identidades:

(ψ ∘ μ)(0, T) = (Q_{ℓ}(A_{1}(0, T), …, A_{N}(0, T)))_{0≤ℓ≤2^{n}−1} =
= (Q_{ℓ}(α_{1}, …, α_{N}))_{0≤ℓ≤2^{n}−1} =
= (Q_{ℓ}(α))_{0≤ℓ≤2^{n}−1} = (1, …, 1) = ε

En particular se tiene que ψ(α) = ϵ.

Se analiza ahora el morfismo ψ localmente en el punto α ∈ C^{N}. Sean T_{α} y T_{ε} los espacios tangentes de los puntos α y ε de los espacios afines C^{N} y C^{2} respectivamente. Se denota por (D_{ψ})_{α} : T_{α} ⟶ T_{ε} el diferencial del morfismo ϕ en el punto α. Tomando las proyecciones canónicas de C^{N} y C^{2^{n}} como coordenadas locales en los puntos α y ε respectivamente, se identifica T_{α} con C^{N} y T_{ε} con C^{2^{n}}. Para todo t ∈ C^{1}, se consideran las siguientes curvas paramétricas:

\begin{matrix}γ_{t} : C & ⟶ & C^{N} \\ S & ⟼ & (A_{1}(S, t), …, A_{N}(S, t)) \end{matrix}

\begin{matrix}δ_{t} : C & ⟶ & C^{2^{n}} \\ S & ⟼ & (1 + S ∑_{k=0}^{2^{n}−1} t^{k}ℓ^{2^{n}−1−k})_{0≤ℓ2^{n}−1} \end{matrix}

Obsérvese que ψ ∘ γ_{t} = δ_{t} y vale que —independientemente del valor de t— γ_{t}(0) = α y δ_{t}(0) = ε.

Para t ∈ C fijo, los vectores tangentes a las curvas γ_{t} y δ_{t} en S = 0 tienen la forma:

γ′_{t}(0) = (\frac{∂A_{1}}{∂S} (0, t), …, \frac{∂A_{N}}{∂S} (0, t))

δ′_{t}(0) = ( ∑_{k=0}^{2^{n}−1} t^{k}ℓ^{2^{n}−1−k})_{0≤ℓ≤2^{n}−1}

Es claro que γ′_{t}(0) ∈ T_{α} y δ′_{t}(0) ∈ T_{ε}. Más aún, dado que ψ ∘ γ_{t} = δ_{t} se tiene que

(D_{ψ})_{α}(γ′_{t}(0)) = δ′_{t}(0) = ( ∑_{k=0}^{2^{n}−1} t^{k}ℓ^{2^{n}−1−k})_{0≤ℓ≤2^{n}−1}

Eligiendo 2^{n} puntos diferentes t_{0}, …, t_{2^{n}−1} de C se obtienen 2^{n} vectores tangentes de T_{α}:

ω_{0} := γ′_{t_{0}}(0) , …, ω_{2^{n}−1} := γ′_{t_{2^{n}−1}}(0)

Obsérvese que la matriz M de tamaño 2^{n} × 2^{n} cuyas filas son los vectores

(D_{ψ})_{α}(ω_{0}) , …, (D_{ψ})_{α}(ω_{2^{n}−1})

tiene la forma

M = (t_{h}^{2^{n}−1−p})_{0≤h,p≤2^{n}−1} · (ℓ^{q})_{0≤ℓ,q≤2^{n}−1}

Luego, M es no singular ya que es el producto de dos matrices Vandermonde no singulares. Esto significa que los vectores tangentes (D_{ψ})_{α}(ω_{0}) , …, (D_{ψ})_{α}(ω_{2^{n}−1}) de T_{ε} son linealmente independientes sobre C. Por lo tanto, los vectores tangentes ω_{0}, …, ω_{2^{n}−1} de T_{α} deben ser también C–linealmente independientes. En consecuencia, se tiene que 2^{n} ≤ dim T_{α} = N, lo cual implica que 2^{n} ≤ N ≤ (L + 3)^{2}, de donde se deduce la estimación 2^{\frac{n}{2}} − 4 ≤ L(Γ) ≤ L(Γ).

De esta manera se ha demostrado que cualquier procedimiento de eliminación algebraicamente robusto aplicado a la familias de problemas del ejemplo 6 (que tiene talla de entrada O(n^{)} o O(n^{2}) según el contexto) produce un circuito solución de talla al menos 2^{\frac{n}{2}} − 4, es decir, un circuito de talla no polinomial con respecto a la longitud de la entrada. □

Cabe destacar que las hipótesis del teorema 24 son aplicables a todos los procedimientos de eliminación conocidos, es decir, todos los procedimientos de eliminación conocidos (tanto los basados en álgebra lineal como en técnicas de bases de Gröbner) son algebraicamente robustos sobre familias playas de problemas de eliminación si la solución general del problema dado se requiere como salida. La propiedad de invariancia de estos algoritmos se verifica fácilmente en la situación de una familia playa de problemas de eliminación m–dimensionales anteriormente considerados. Para ésto, es suficienten observar que todos los algoritmos de eliminación conocidos aceptan los polinomios de entrada G_{1}, …, G_{n}, F en su representación densa o esparsa o por evaluación “black box” con respecto a las variables U_{1}, …, U_{m}, X_{1}, …, X_{n}.

En consecuencia, ninguno de los métodos de eliminación conocido puede mejorarse a fin de obtener un procedimiento de tiempo polinomial para eliminación geométrica (o algebraica).

Si bien la noción de procedimientos de eliminación algebraicamente robustos excluye ramificaciones en el programa de salida, la familia de polinomios del ejemplo exhibido parece indicar que un algoritmo de eliminación de tiempo polinomial (si existe) debe tener una gran complejidad topológica incluso si se aplica solamente a familias playas de problemas de eliminación. Por lo tanto, la eficiencia implicaría una muy complicada casuística en eliminación geométrica.

También se podría analizar si la admisión de divisiones en los circuitos de salida permitiría mejorar su talla minimal. Si bien ciertas divisiones son compatibles con el método exhibido en la demostración del teorema 24, en el caso general es necesario garantizar que las funciones parámetricas están racionalmente definidas para cualquier instancia del problema.

Finalmente, cabe destacar que el método de demostración aquí desarrollado no contribuye en absoluto a la cuestión fundamental de la teoría de complejidad algebraica sobre la no polinomialidad de la eliminación geométrica en el modelo no uniforme de complejidad o a la cuestión P_{C} ≠ NP_{C} en el modelo de las máquinas reales. De hecho, sólo se señala que todos los procedimientos de eliminación conocidos poseen una propiedad de uniformidad muy limitante (llamada robustez algebraica) y que esta propiedad implica la imposibilidad de transformar esto procedimientos en algoritmos de tiempo polinomial.

4.2.2 La complejidad de eliminación de un sistema de ecuaciones polinomiales

En esta subsección se analizará desde un punto de vista no uniforme el funcionamiento de los algoritmos desarrollados en el capítulo 2 sobre una familia playa de problemas de eliminación cero–dimensional. Como consecuencias de dicho análisis se propondrá un nuevo parámetro de complejidad, la complejidad de eliminación de un sistema de ecuaciones polinomiales, con el cual se intenta medir la dificultad intrínseca de la resolución de un sistema de ecuaciones polinomiales dado.

Sean T_{1}, …, T_{m}, X_{1}, …, X_{n}, Y indeterminadas sobre Q y sean G_{1}, …, G_{n}, y F polinomios de Q[T_{1}, …, T_{m}, X_{1}, …, X_{n}]. Sea d el máximo de los grados de los polinomios G_{1}, …, G_{n}. Supóngase que G_{1}, …, G_{n} y F están dados por medio de dos circuitos aritméticos en Q[T_{1}, …, T_{m}, X_{1}, …, X_{n}] de talla L y K respectivamente. Se asume además que G_{1}, …, G_{n} forman una sucesión regular en Q[T_{1}, …, T_{m}, X_{1}, …, X_{n}] y definen una variedad equidimensional

V := {G_{1} = 0, …, G_{n} = 0}

de C^{m+n} de dimensión m y grado afín δ. Finalmente, se supone que el morfismo π : V ⟶ C^{m} inducido por la proyección canónica de C^{n+m} en C^{m} es finito, genéricamente no ramificado y tiene grado δ.

Sea π′ : V ⟶ C^{m+n} el morfismo de variedades afines definido por π′(z) = (π(z), F (z)) para todo z ∈ V y sea P ∈ Q [T_{1}, …, T_{m}, Y] el polinomio minimal de la imagen de π′. El polinomio P es mónico en Y y se ve inmediatamente que gr(P) ≤ δgr(F) y gr_{Y} (P) ≤ δ. El método básico desarrollado en el capítulo 2 requiere Kδ^{O(1)} + L(ndΛ)^{O(1)} operaciones aritméticas, donde Λ es el grado del sistema de ecuaciones G_{1} = 0, …, G_{n} = 0 (obsérvese que siempre se verifica Λ ≤ gr(G_{1}) ⋯ gr(G_{n})). La salida es un circuito aritmético Γ_{1} en Q[T_{1}, …, T_{m}, Y] de longitud (K + L)(nδ)^{O(1)} que representa el polinomio P. Se analizará si una complejidad (cantidad de operaciones) de tipo Kδ^{O(1)} es intrínseca para los problemas de eliminación en consideración.

Para tal fin, se exhibirá un ejemplo de un problema de eliminación cero– dimensional para el cual la cantidad Kδ representa una cota inferior para la complejidad no escalar de la salida polinomial en el modelo no uniforme de complejidad.

Ejemplo 7 Sean S, T_{1}, …, T_{δ}, X, Y indeterminadas sobre Q. Sea G la familia de problemas de eliminación definida por los siguientes polinomios:

G := ∏_{j=1}^{δ}(X − T_{j}) , F := SX^{2^{K}}

Sea V := {G = 0} la hipersuperficie de C^{δ+2} definida por el polinomio G y sea π : V ⟶ C^{δ+1} el morfismo finito y genéricamente no ramificado inducido por la proyección canónica de C^{δ+2} en C^{δ+1}. Obsérvese que δ es el grado de la hipersuperficie V de C^{δ+2} y del morfismo π (de hecho, V es la unión de δ hiperplanos distintos de C^{δ+2}).

Los polinomios G y F tienen complejidad (talla de circuito) no escalar intrínseca δ y K respectivamente, y constituyen una familia playa de problemas de eliminación con m := δ + 1 y n := 1. La longitud de la entrada es δ +K. La solución general de este problema de eliminación se representa por medio del polinomio

P := ∏_{ℓ=1}^{δ}(Y − ST_{i}^{2^{K}}) = Y^{δ} − Y^{δ−1}S ∑_{ℓ=1}^{δ} T_{ℓ}^{2^{k}} + O(S^{2})

que pertenece a Q[T_{1}, …, T_{δ}, Y].

Sea Γ el circuito aritmético en Q[T_{1}, …, T_{δ}, S, Y] de talla no escalar L(Γ) que calcula el polinomio P. Derivando este circuito con respecto a S y especializando S en 0 e Y en 1 se obtiene un circuito aritmético Γ^{∗} de talla L(Γ^{∗}) ≤ 3L(Γ) que calcula el polinomio

R := ∑_{ℓ=1}^{δ} T_{ℓ}^{2^{k}}

Analizando la complejidad del polinomio R por medio del método del grado de Strassen [172], en el estilo de [10], se concluye que L(Γ^{∗}) ≥ Kδ. Esto implica que L(Γ) ≥ \frac{1}{3}Kδ.

Desafortunadamente el carácter del parámetro δ es ambiguo, ya que éste es el grado de la variedad V y del morfismo π así como también la complejidad no escalar del polinomio G.

En consecuencia, cualquier procedimiento de eliminación optimal (incluso no uniforme) que produce la solución general de una familia playa dada de problemas de eliminación cero–dimensional tiene una complejidad inherente que depende linealmente de la complejidad no escalar del polinomio que define la proyección que se considera. El factor de proporcionalidad de esta dependencia lineal aparece como un invariante de la parte ecuacional del problema de eliminación. Por el momento, el autor no es capaz de interpretar sin ambigüedad este factor de proporción. El mismo está siempre acotado superiormente por una función polinomial en el tamaño del circuito aritmético, el número de variables eliminadas y el grado de la variedad de entrada, y en algunos casos aparece acotado inferiormente por una cantidad que puede ser interpretada alternativamente como el grado del sistema de entrada o su complejidad no escalar.

La discusión realizada en torno a los ejemplos 6 y 7 justifica la necesidad de introducir parámetros significativos a fin de estimar la complejidad computacional de cada problema de eliminación. En tal sentido se propondrá el concepto de complejidad de eliminación.

Sean T_{1}, …, T_{m}, X_{1}, …, X_{n}, Y indeterminadas sobre Qy sean G_{1}, …, G_{n} polinomios de Q [T_{1}, …, T_{m}, X_{1}, …, X_{n}] que forman una sucesión regular en Q [T_{1}, …, T_{m}, X_{1}, …, X_{n}] y definen una variedad equidimensional V := {G_{1} = 0, …, G_{n} = 0} de C^{m+n} de dimensión m y grado afín, y sea π : V ⟶ C^{m} el morfismo de variedades afines inducido por la proyección canónica de C^{m+n} en C^{m}. Supóngase que π es finito y genéricamente no ramificado.

Para cada polinomio F ∈ Q[T_{1}, …, T_{m}, X_{1}, …, X_{n}] se considera la familia playa de problemas de eliminación cero–dimensional definida por las ecuaciones G_{1} = 0, …, G_{n} = 0 y el polinomio F. La solución general de este problema se representa por medio de un polinomio de Q[T_{1}, …, T_{m}, X_{1}, …, X_{n}] que se denota por P_{F}. Sean L(F) y L(P_{F}) la complejidad no escalar de los polinomios F y P_{F} respectivamente. En esta situación, se observa que el conjunto:

N_{G_{1},...,G_{n}} := \{\frac{L(P_{F})}{L(F)}; F ∈ Q[T_{1}, …, T_{m}, X_{1}, …, X_{n}]\}

está acotado (por una cantidad que depende en forma polinomial de la talla no escalar del circuito aritmético que evalúa G_{1}, …, G_{n} y gr(V)).

Definición 11 Se define la complejidad de eliminación del sistema de ecuaciones

G_{1} = 0 , …, G_{n} = 0

como la cantidad

r(G_{1}, …, G_{n}) := sup N_{G_{1},...,G_{n}}

Del contenido del capítulo 2 se deduce que la complejidad de eliminación del sistema G_{1} = 0 , …, G_{n} = 0 está acotada superiormente por una función polinomial en el grado del sistema, el grado y la complejidad de G_{1}, …, G_{n} y la cantidad de variables. Asimismo, el ejemplo 7 muestra una cota inferior para la complejidad de eliminación del sistema que, como ya ha sido señalado, puede interpretarse tanto como la complejidad o el grado (del sistema) de G_{1}, …, G_{n}.

Conclusiones

Retomando la discusión del capítulo 4, se deduce que existen graves obstáculos (probablemente insalvables) para el desarrollo de algoritmos generalistas polinomiales que resuelvan los problemas de eliminación geométrica. Es entonces necesario reorientar el estudio hacia algoritmos y el software específicos para problemas particulares.

Las técnicas desarrolladas en el capítulo 2 constituyen un paso en tal dirección. En lugar de cantidades algebraicas como número de Bézout o la regularidad de la función de Hilbert de un ideal homogéneo apropiado, se han introducido invariantes geométricos que permiten, en casos geométricamente bien condicionados, reducir considerablemente el tamaño de las matrices en los algoritmos (y por lo tanto, la complejidad de los procedimientos).

Otra importante característica de los algoritmos desarrollados radica en la selección de la estructura de datos que se utiliza. La representación de polinomios por medio de circuitos aritméticos es indispensable para evitar el crecimiento exponencial de la complejidad de los algoritmos que ocurre cuando se codifican polinomios multivariados por su escritura densa.

Desde ya, quedan varios problemas por resolver: el primero de ellos es hallar familias infinitas de ejemplos de interés práctico en los cuales el grado y la altura geométrica del sistema son bajos. Esto demostraría concluyentemente la utilidad de las técnicas aquí desarrolladas.

Una segunda cuestión se refiere a la búsqueda de nuevos invariantes que permitan reducir la complejidad de los procedimientos en casos particulares. En particular, sería interesante hallar invariantes continuos que introduzcan mejoras de la complejidad.

Asimismo, permanece sin respuesta la cuestión de la (conjeturada) intratabilidad de los problemas de eliminación geométrica.

Bibliografía

[1] J. Abdeljoued: Sur l’algorithm de Berkowitz pour le calcul du déterminant dans un anneau conmutatif arbitraire. Preprint Université de Franche Compté, Besançon (1995).

[2] K.R. Abrahamson: Time–space tradeoffs for algebraic problems on general sequential machines. Journal of Computer and System Sciences 43 (1991) 269–289.

[3] M. Aldaz, J. Heintz, J.L. Montaña, G. Matera, L.M. Pardo: Time–space trade–offs in algebraic complexity theory. Sometido a Computational Complexity (1997).

[4] M.E. Alonso, E. Becker, M.-F. Roy, T. Wörman: Zeroes, multiplicities and idempotents for zerodimensional systems. Algorithms in Algebraic Geometry and Applications, Proceedings MEGA’94 (L. Gonzalez Vega, T. Recio, Eds.), Progress in Mathematics 143, Birkhäusser Verlag (1996).

[5] F. Amoroso: Test d’appartenance d’après un théorème de Kollár. Comptes Rendus de l’Académie des Sciences de Paris 309, Série I (1989) 691–694.

[6] Automatic differentiation of algorithms: theory, implementation and application Proceedings of the first SIAM Workshop on Automatic Differentiation, held in Breckenridge, Colorado (1991).

[7] J. Balcázar, J. Díaz, J. Gabarró: Structural complexity I. EATCS Monographs on Theoretical Computer Science 11, Springer–Verlag (1988).

[8] J. Balcázar, J. Díaz, J. Gabarró: Structural complexity II. EATCS Monographs on Theoretical Computer Science 22, Springer– Verlag (1990).

[9] W. Baur: Simplified lower bounds for polynomials with algebraic coefficients. Aparecerá en Journal of Complexity (1996).

[10] W. Baur, V. Strassen: The complexity of partial derivatives. Theoretical Computer Science 22 (1982) 317–330.

[11] P. Beame: A general sequential time–space tradeoff for finding unique elements. Proceedings 21st Annual ACM Symposium on Theory of Computing (1989) 197–203.

[12] E. Becker, J.P. Cardinal, M.–F. Roy, Z. Szafraniec: Multivariate Bezoutians, Kronecker symbol and Eisenbud–Levine formula. Algorithms in Algebraic Geometry and Applications, Proceedings MEGA’94 (L. Gonzalez Vega, T. Recio, Eds.), Progress in Mathematics 143, Birkhäusser Verlag (1996).

[13] M. Ben-Or, R. Cleve: Computing algebraic formulas using a constant number of registers. Proceedings 20th Annual ACM Symposium on Theory of Computing (1988) 254–257. También en SIAM Journal of Computing 21(1) (1992) 54–58.

[14] M. Ben-Or, M. Kozen, J. Reif: The complexity of elementary algebra and geometry. Journal of Computer and System Sciences 32 (1986) 251–264.

[15] C. Berenstein, A. Yger: Bounds for the degrees in the division problem. The Michigan Mathematical Journal 37 (1990) 25–43.

[16] C. Berenstein, A. Yger: Effective Bézout identities in C[z_{1}, …, z_{n}]. Acta Mathematica 166 (1991) 69–120.

[17] C. Berenstein, A. Yger: Une formule de Jacobi et ses conséquences. Ann. Sci. E.N.S., 4ième série, 24 (1991) 363–377.

[18] C. Berenstein, A. Yger: Green currents and analytic continuation. Preprint, University of Maryland, 1995.

[19] S.J. Berkowitz: On computing the determinant in small parallel time using a small number of processors. Information Processing Letters 18 (1984) 147–150.

[20] D. Bini, V.Y. Pan: Polynomial and matrix computations, Volume 1: Fundamentals algorithms. Progress in Theoretical Computer Science, Birkhaüser, Boston (1994).

[21] L. Blum, M. Shub, S. Smale: On a theory of computation and complexity over the real numbers: NP–completeness, recursive functions and universal machines. Bulletin of the American Mathematical Society 21(1) (1989) 1–46.

[22] J. Bochnak, M. Coste, M.–F. Roy: Géométrie algébrique réelle. Ergebnisse der Mathematik und ihrer Grenzgebiete, 3. Folge, Band 12, Springer Verlag (1987).

[23] R.B. Boppana, M. Sipser: The complexity of finite functions. Handbook of theoretical computer science (J. Van Leeuwen, Ed.), Volumen A: Algorithms and Complexity. North–Holland, Amsterdam (1990) 759– 804.

[24] A. Borodin: On relating time and space to size and depth. SIAM Journal of Computing 6 (1977) 733–744.

[25] A. Borodin: Time–space tradeoffs (getting closer to the barriers?). Proceedings 4th ACM-SIGSAM International Symposium on Symbolic and Algebraic Computation (1993) (K.W. Ny et al., Eds.), Lecture Notes in Computer Science 762, Springer–Verlag (1993) 209–220.

[26] A. Borodin, S. Cook: A time–space tradeoff for sorting on a general sequential model of computation. SIAM Journal of Computing 11 (1982) 287–297.

[27] A. Borodin, S. Cook, N. Pippenger: Parallel computation for wellendowed rings and space-bounded probabilistic machines. Information and Control 58 (1983) 113–136.

[28] A. Borodin, M. J. Fischer, D. J. Kirkpatrick, N. A. Lynch, M. Tompa: A time–space tradeoff for sorting on non–oblivious machines. Journal of Computer and System Sciences 22(3) (1981) 351–364.

[29] A. Borodin, M. J. Fischer, F. Meyer auf der Heide, E. Upfal, A. Wigderson: A time–space tradeoff for element distinctness. SIAM Journal of Computing 16(1) (1987) 97–99.

[30] A. Borodin, J. von zur Gathen, J. Hopcroft: Fast parallel matrix and GCD computations. Information and Control 52 (1982) 241– 256.

[31] A. Borodin, I. Munro: The computational complexity of algebraic and numeric problems. American Elsevier, New York (1975).

[32] J.-B. Bost, H. Gillet, C. Soulé: Un analogue arithmétique du théorème de Bézout. Comptes Rendus de l’Académie des Sciences de Paris 312, Série I (1991) 845–848.

[33] J.-B. Bost, H. Gillet, C. Soulé: Heights of projective varieties and positive Green forms. Manuscript I.H.E.S. (1993).

[34] D. Brownawell: Bounds for the degrees in the Nullstellensatz. Annals of Mathematics, Second Series, 126(3) (1987) 577–591.

[35] D. Brownawell: A prime power version of the Nullstellensatz. Manuscrito Penn State University (1989).

[36] B. Buchberger: Gröbner bases: an algorithmic method in polynomial ideal theory. Multidimensional System Theory (N.K. Bose, Ed.), Reidel, Dordrecht (1985) 374–383.

[37] P. Bürgisser, M. Clausen, A. Shokrollahi: Algebraic complexity theory. A Series of Comprehensive Studies in Mathematics 315, Springer–Verlag (1996).

[38] L. Caniglia, A. Galligo, J. Heintz: Borne simple exponentielle pour les degrés dans le théorème des zéros sur un corps de caractéristique quelconque. Comptes Rendus de l’Académie des Sciences de Paris 307, Série I (1988) 255–258.

[39] L. Caniglia, A. Galligo, J. Heintz: Some new effectivity bounds in computational geometry. Proceedings 6th International Conference on Applied Algebra, Algebraic Algorithms and Error–Correcting Codes, Springer Lectures Notes in Computer Science 357 (1989) 131–151.

[40] L. Caniglia, A. Galligo, J. Heintz: Equations for the projective closure and effective Nullstellensatz. Discrete and Applied Mathematics 33 (1991) 11–23.

[41] L. Caniglia, J.A. Guccione, J.J. Guccione: Local membership problems for polynomial ideals. Effective Methods in Algebraic Geometry (T. Mora, C. Traverso, Eds.), Progress in Mathematics 94, Birkhäuser (1991) 31–45.

[42] J. Canny: Some algebraic and geometric computations in PSPACE. Proceedings 20th Annual ACM Symposium on Theory of Computing (1988) 460-467.

[43] J.P. Cardinal: Dualité et algorithmes itératives pour la solution des systémes polynomiaux. Thése, Université de Rennes I (1993).

[44] E. Cattani, A. Dickenstein, B. Sturmfels: Computing multidimensional residues. Algorithms in Algebraic Geometry and Applications, Proceedings MEGA’94 (L. Gonzalez Vega, T. Recio, Eds.), Progress in Mathematics 143, Birkhäusser Verlag (1996) 135–164.

[45] K. Chandrasekharan: Introduction to analytic number theory. Grundlehren der Math. Wissenschaften, Springer Verlag (1968).

[46] A.L. Chistov: Polynomial-time computation of the dimension of the components of algebraic varieties in zero-characteristic. Preprint Université Paris Val de Marne.

[47] A.L. Chistov: Fast parallel calculation of the rank of matrices over a field of arbitrary characteristic. Lecture Notes in Computer Science 199 (1985) 63–69.

[48] A.L. Chistov, D.Yu. Grigor’ev: Subexponential time solving systems of algebraic equations. LOMI Preprints E-9-83, E-10-83, Leningrad (1983).

[49] S. Cook: The complexity of theorem proving procedures. Proceedings 3rd. Annual Symposium on Theory of Computing (1971) 151–158.

[50] D. Coppersmith, S. Winograd: Matrix multiplication via arithmetic progression. Proceedings 19th. Annual ACM Symposium on Theory of Computing (1987) 1–16.

[51] D. Cox, J. Little, D. O’Shea: Ideals, varieties and algorithms. An introduction to computational algebraic geometry and commutative algebra. Springer–Verlag (1992).

[52] L. Csanky: Fast parallel matrix inversion algorithms. SIAM Journal of Computing 5(4) (1976) 618–623.

[53] F. Cucker, M. Karpinski, P. Koiran, T. Lickteig, K. Werther : On real Turing machines that toss coins. Manuscrito University Bonn (1995).

[54] J. Davenport, J. Heintz: Real quantifier elimination is doubly exponential. Journal of Symbolic Computation 5 (1988) 29–35.

[55] R.A. De Millo, R.J. Lipton: A probabilistic remark on algebraic program testing. Information Processing Letters 7(4) (1978) 193–195.

[56] A. Dickenstein, M. Giusti, N. Fitchas, C. Sessa: The membership problem for unmixed polynomial ideals is solvable in single exponential time. Discrete and Applied Mathematics 33 (1991) 73–94.

[57] A. Dickenstein, C. Sessa: An effective residual criterion for the membership problem in C[Z_{1}, …, Z_{n}]. Journal of Pure and Applied Algebra 74 (1991) 149–158.

[58] A. Dickenstein, C. Sessa: Duality methods for the membership problem. Effective Methods in Algebraic Geometry (T. Mora, C. Traverso, Eds.), Progress in Mathematics 94, Birkhäuser (1991) 89–103..

[59] A. Dickenstein, C. Sessa: Résidus de formes méromorphes et cohomologie modérée. Géométrie Complexe, Prépublication Université Paris 7 (1994).

[60] T.W. Dubé: A combinatorial proof of Effective Nullstellensatz. Journal of Symbolic Computation 15 (1993) 277–296.

[61] P. Duris, Z. Galil: A time–space tradeoff for language recognition. Proceedings 22nd. Annual IEEE Symposium on Foundations of Computer Science (1981) 53–57.

[62] G. Faltings: Diophantine approximation on abelian varieties. Ann. of Math. 133 (1991) 549–576.

[63] M.J. Fischer, M.D. Rabin: Super–exponential complexity of Presburger arithmetic. Complexity of Computation (R.M. Karp, Ed.), American Mathematical Society , Providence, RI (1974) 27–41.

[64] N. Fitchas: Algorithmic aspects of Suslin’s solution of Serre’s Conjecture. Computational Complexity 3 (1993) 31–55.

[65] N. Fitchas, A. Galligo: Nullstellensatz effectif et conjecture de Serre (théorème de Quillen–Suslin) pour le Calcul Formel. Math. Nachrichten 149 (1990) 231-253.

[66] N. Fitchas, A. Galligo, J. Morgenstern: Algorithmes rapides en séquentiel et parallèle pour l’élimination des quantificateurs en géométrie élémentaire. Sélection d’exposes 1986-1987, Vol. I (F. Delon, M. Dickman, D. Gondard, Eds.), Publications Mathematiques de L’Universite Paris 7 32 103–145.

[67] N. Fitchas, A. Galligo, J. Morgenstern: Precise sequential and parallel complexity bounds for the quantifier elimination over algebraically closed fields. Journal of Pure and Applied Algebra 67 (1990) 1-14.

[68] N. Fitchas, M. Giusti, G. Smietanski: Sur la complexité du théoreme des zéros. Approximation and Optimization 8 (J. Guddat et al., Eds.), Peter Lange Verlag, Frankfurt am Main (1995) 274–329.

[69] S. Fortune, J. Wyllis: Parallelism in random access machines. Proceedings 10th. ACM Symposium on Theory of Computing (1978) 114– 118.

[70] W. Fulton: Intersection theory. Ergebnisse der Mathematik, 3 Folge Band 2, Springer Verlag (1984).

[71] M. Garey, D. Johnson: Computers and intractability : a guide to the theory of NP–completeness. Freeman, San Francisco (1979).

[72] J. von zur Gathen: Parallel arithmetic computations: a survey. Proceedings 12th International Symposium on Mathematical Foundations on Computer Science, Bratislava, Springer Lecture Notes in Computer Science 233 (1986) 93–112.

[73] J. von zur Gathen: Feasible arithmetic computations: Valiant’s Hypothesis Journal of Symbolic Computation 4 (1987) 137–172.

[74] J. von zur Gathen: Parallel algorithms for algebraic problems. Proceedings 13th Conference on Mathematical Foundations of Computer Science, Springer Lecture Notes in Computer Science 356 (1989) 269– 300.

[75] J. von zur Gathen: Parallel linear algebra. Synthesis of Parallel Algorithms, chapter 8, Morgan Kauffmann Publishers (1993) 573–617.

[76] J. von zur Gathen, V. Strassen: Some polynomials that are hard to compute. Theoretical Computer Science 11(3) (1981) 159–171.

[77] P. Gianni, T. Mora: Algebraic solution of systems of polynomial equations using Gröbner bases. Proceedings 5th International Conference on Applied Algebra, Algebraic Algorithms and Error–Correcting Codes, Springer Lectures Notes in Computer Science 356 (1989) 247– 257.

[78] M. Giusti, K. Hägele, J. Heintz, J.L. Montaña, J.E. Morais, L.M. Pardo: Lower bounds for diophantine approximation. Aparecerá en Journal of Pure and Applied Algebra (1997).

[79] M. Giusti, J. Heintz: Algorithmes –disons rapides– pour la décomposition d’une variété algébrique en composantes irréductibles et équidimensionnelles. Effective Methods in Algebraic Geometry (T. Mora, C. Traverso, Eds.), Progress in Mathematics 94, Birkhäuser (1991) 169–193.

[80] M. Giusti, J. Heintz: La détermination des points isolés et de la dimension d’une variété algébrique peut se faire en temps polynomial. Computational Algebraic Geometry and Commutative Algebra, Proceedings of the Cortona Conference on Computational Algebraic Geometry and Commutative Algebra (D. Eisenbud, L. Robbiano, Eds.), Symposia Matematica, vol. XXXIV, Istituto Nazionale di Alta Matematica, Cambridge University Press (1993) 216–256.

[81] M. Giusti, J. Heintz, J.E. Morais, J. Morgenstern, L.M. Pardo: Straight–line programs in geometric elimination theory. Aparecerá en Journal of Pure and Applied Algebra (1996).

[82] M. Giusti, J. Heintz, J.E. Morais, L.M. Pardo: When polynomial equation systems can be ’solved’ fast? Proceedings 11th. International Conference on Applied Algebra, Algebraic Algorithms and Error–Correcting Codes, Springer Lectures Notes in Computer Science 948 (1995) 205–231.

[83] M. Giusti, J. Heintz, J. Sabia: On the efficiency of the effective Nullstellensätze. Computational Complexity 3 (1993) 56–95.

[84] A. Griewank: Achieving logarithmic growth of temporal and spatial complexity in reverse automatic differentiation. Preprint MCS–P228– 0491, Mathematics and Computer Science Division, Argonne National Laboratory, Argonne, III (1991).

[85] D. Grigoriev: An application of separability and independence notions for proving lower bounds of circuit complexity. Notes of Scientific Seminars 60 Leningrad Departament, Steklov Mathematical Institute (1976) 36–48 (in Russian).

[86] A. Grosso, N. Herrera, G. Matera, M.E. Stefanoni, J.M. Turull: Un algoritmo para el cálculo del rango de matrices enteras en espacio polilogarítmico. Procedimientos 25^{o} Jornadas Argentinas de Informática e Investigación Operativa (1996) 29–48.

[87] K. Haegele, J.L. Montaña: Polynomial random test for the equivalence problem of integers given by arithmetic circuits. Publicación Universidad de Cantabria (1995).

[88] J. Heintz: Definability and fast quantifier elimination in algebraically closed fields. Theoretical Computer Science 24 (1983) 239–277.

[89] J. Heintz: On the computational complexity of polynomials and bilinear mappings. Proceedings 5th. International Conference on Applied Algebra, Algebraic Algorithms and Error–Correcting Codes, Springer Lectures Notes in Computer Science 356 (1989) 269–300.

[90] J. Heintz, J. Morgenstern: On the intrinsic complexity of elimination theory. Journal of Complexity 9 (1993) 471–498.

[91] J. Heintz, M.-F. Roy, P. Solernó: On the complexity of semialgebraic sets. Proceedings Information Processing 89 (IFIP 89) San Francisco 1989 (G.X.Ritter, Ed.), North-Holland (1989) 293–298.

[92] J. Heintz, M.-F. Roy, P. Solernó: Complexité du principe de Tarski-Seidenberg. Comptes Rendus de l’Académie des Sciences de Paris 309, Série I (1989) 825–830.

[93] J. Heintz, M.-F. Roy, P. Solernó: Sur la complexité du principe de Tarski-Seidenberg. Bulletin de la Societé Mathematique de France 118 (1990) 101–126.

[94] J. Heintz, C.P. Schnorr: Testing polynomials which are easy to compute. Logic and Algorithmic. An International Symposium held in honour of Ernst Specker. Monographie 30 de L’Enseignement Mathématique, Genève (1982) 237–254. También publicado en Proceedings 12th Annual ACM Symposium on Theory of Computing (1980) 262–280.

[95] J. Heintz, M. Sieveking: Lower bounds for polynomials with algebraic coefficients. Theoretical Computer Science 11 (1980) 321–330.

[96] G. Hermann: Die Frage der endlich vielen Schritte in der Theorie der Polynomideale. Math. Ann. 95 (1926) 736–788.

[97] O.H. Ibarra, S. Moran: Probabilistic algorithms for deciding equivalence of straight-line programs. Journal of the Association for Computing Machinery 30(1) (1983) 217–228.

[98] O.H. Ibarra, S. Moran, E. Rosier: Probabilistic algorithms and straight-line programs for some rank decision problems. Information Processing Letters 12(5) (1981) 227–232.

[99] N. Immerman, S. Landau: The complexity of iterated multiplication. Preprint (1991).

[100] B. Iversen: Generic local structures of the morphisms in commutative algebra. Springer Lecture Notes in Mathematics 310 (1973).

[101] J. Ja’Ja’: Time–space tradeoffs for some algebraic problems. Journal of the Association for Computing Machinery 30(3) (1983) 657–667.

[102] J. Ja’Ja’: An introduction to parallel algorithms. Addison–Wesley (1992).

[103] J.P. Jouanolou: Théorèmes de Bertini et applications. Progress in Mathematics 42, Birkhäuser (1983).

[104] E. Kaltofen: Greatest common divisors of polynomials given by straight line programs. Journal of the Association for Computing Machinery 35(1) (1988) 234–264.

[105] E. Kaltofen, V. Pan: Processor efficient parallel solution of linear systems over an abstract field. Proceedings 3rd. Annual ACM Symposium on Parallel Algorithms and Architectures (1991) 180–191.

[106] E. Kaltofen, M. Singer: Size efficient parallel algebraic circuits for partial derivatives. Technical Report 90–32, Computer Science Department RPI, Troy, New York (1990).

[107] R.M. Karp: Reducibility among combinatorial problems. Complexity of Computer Computations (R.E. Miller, J.W. Tatcher, Eds.), Plenum Press, New York (1972) 85–103.

[108] R.M. Karp, V. Ramachandran: Parallel algorithms for sharedmemory machines. Handbook of theoretical computer science (J. Van Leeuwen, Ed.), Volumen A: Algorithms and Complexity. North–Holland, Amsterdam (1990) 871–941.

[109] D.E. Knuth: The Art of Programming (vol. 2) : semi–numerical algorithms. Addison–Wesley (1981).

[110] H. Kobayashi, T. Fujise, A. Furukawa: Solving systems of algebraic equations equations by general elimination method. Journal of Symbolic Computation 5 (1988) 303–320.

[111] J. Kollár: Sharp effective Nullstellensatz. Journal of American Mathematical Society 1 (1988) 963–975.

[112] T. Krick, A. Logar: Memberships problems, representation problems and the computation of the radical for one-dimensional ideals. Effective Methods in Algebraic Geometry (T. Mora, C. Traverso, Eds.), Progress in Mathematics 94, Birkhäuser (1991) 203–216.

[113] T. Krick, L.M. Pardo: Une approche informatique pour l’approximation diophantienne. Comptes Rendus de l’Académie des Sciences de Paris 318, Série I, No. 5 (1994) 407–412.

[114] T. Krick, L.M. Pardo: A computational method for diophantine approximation. Algorithms in Algebraic Geometry and Applications, Proceedings MEGA’94 (L. Gonzalez Vega, T. Recio, Eds.), Progress in Mathematics 143, Birkhäusser Verlag (1996) 193–254.

[115] T. Krick, J. Sabia, P. Solernó: On intrinsic bounds in the Nullstellensatz. Aparecerá en Applicable Algebra in Engineering, Communication and Computer Science (1996).

[116] E. Kunz: Kähler differentials. Advanced Lectures in Mathematics, Vieweg Verlag, Braunschweig/Wiesbaden (1986).

[117] R.E. Ladner, M.J. Fischer: Parallel prefix computation. Journal of the Association for Computing Machinery 27 (1980) 831–838.

[118] Y.N. Lakshman, D. Lazard: On the complexity of zero-dimensional algebraic systems. Effective Methods in Algebraic Geometry (T. Mora, C. Traverso, Eds.), Progress in Mathematics 94, Birkhäuser (1991) 217– 225.

[119] D. Lazard: Résolution des systèmes d’équations algébriques. Theoretical Computer Science 15 (1981) 77–110.

[120] T. Lenguager, R.E. Tarjan: Upper and lower bounds on time– space tradeoffs. Proceedings 11th. Annual ACM Symposium on Theory of Computing (1979) 262–277.

[121] T. Lickteig: Semi–algebraic decision complexity. Technical Report TR-90-052 Int. Comp. Science Inst., Berkeley, (1990) and Univ. Tübingen, Habilitatiosschrift.

[122] T. Lickteig, K. Werther: How to compute a complex square root optimally?. Computational Complexity (1996).

[123] G. Matera, J.M. Turull: The space complexity of elimination theory: upper bounds. Foundations of Computational Mathematics, Springer–Verlag (1997) 267–276.

[124] H. Matsumura: Commutative ring theory. Cambridge University Press (1986).

[125] E. Mayr: Membership in polynomial ideals over Q is exponential space complete. Proceedings 6th. Annual Symposium on Theoretical Aspects of Computer Science, Springer Lectures Notes in Computer Science 349 (1989) 400–406.

[126] E. Mayr, A. Meyer: The complexity of the word problem for commutative semi-groups and polynomial ideals. Advances in Math. 46(3) (1982) 305–329.

[127] C. Michaux: Une remarque à propos des machines sur IR introduites par Blum, Shub et Smale. Comptes Rendus de l’Académie des Sciences de Paris 309, Série I (1989) 435–437.

[128] M. Moeller: Systems of algebraic equations solved by means of endomorphisms. Proceedings 10th. International Conference on Applied Algebra, Algebraic Algorithms and Error–Correcting Codes, Springer Lectures Notes in Computer Science (1993).

[129] J.L. Montaña, L.M. Pardo: Lower bounds for arithmetic networks. Applicable Algebra in Engineering, Communication and Computer Science 4(1) (1993) 1–24.

[130] J.L. Montaña, J.E. Morais, L.M. Pardo: Lower Bounds for Arithmetic Networks II: Sum of Betti numbers. Applicable Algebra in Engineering, Communication and Computer Science 7(1) (1996) 41–51.

[131] J.E. Morais: Resolución eficaz de sistemas de ecuaciones polinomiales. Tesis Doctoral Universidad de Cantabria . En preparación (1997).

[132] J. Morgenstern: How to compute fast a function and all its derivatives. Prépublication 49, Université de Nice (1984).

[133] Mulmuley K.: A fast parallel algorithm to compute the rank of a matrix over an arbitrary field. Proceedings 18th Annual Symposium on Theory of Computing (1986) 338–339.

[134] Ju. V. Nesterenko: Estimates for the order of zero o functions of a certain class and applications in the theory of transcendental numbers. Math. USSR Izvestija 11(2) (1977) 239–270.

[135] Yu. V. Nesterenko: On a measure of the algebraic independence of the values of certain functions. Math. USSR Sbornik 56 (1987) 545–567.

[136] A.M. Ostrowski: On two problems in abstract algebra connected with Horner’s rule. Studies in Mathematics and Mechanics presented to Richard von Mises, Academic Press (1954) 40–48.

[137] V.Y. Pan: New combinations of methods for the acceleration of matrix multiplication. Comput. Math. Appl. 7 (1981) 73–125.

[138] V.Y. Pan: Complexity of parallel matrix computations. Theoretical Computer Science 54(1) (1987) 65–85.

[139] L.M. Pardo: How lower and upper complexity bounds meet in elimination theory. Proceedings 11th. International Conference on Applied Algebra, Algebraic Algorithms and Error–Correcting Codes, Springer Lectures Notes in Computer Science 948 (1995) 33–69.

[140] M.S. Paterson, L.J. Stockmeyer: On the number of non–scalar multiplications necessary to evaluate polynomials. SIAM Journal of Computing 2 (1973) 80–96.

[141] W.J. Paul, R.E. Tarjan: Time–space tradeoffs in a pebble game. Acta Informatica 10 (1978) 509–515.

[142] Pfaltz J.L.: Computer data structures. McGraw-Hill (1977).

[143] P. Philippon: Critères pour l’independence algb́rique. Pub. Math. de l’IHFS 64 (1987) 5–52.

[144] P. Philippon: Théorème des zéros effective, d’après J. Kollar. Publications Mathematiques de l’Univ. P. et M. Curie, Paris VI 88, Groupe d’étude sur les Problémes diophantiens 1988–1989, exposé 6.

[145] P. Philippon : Dénominateurs dans le théorème des zéros de Hilbert. Acta Arithmetica 58 (1991) 1–25.

[146] P. Philippon: Sur des hauteurs alternatives I Math. Ann. 289 (1991) 255–283.

[147] P. Philippon: Sur des hauteurs alternatives II. Ann. Inst. Fourier, Grenoble 44(2) (1994) 1043–1065.

[148] P. Philippon: Sur des hauteurs alternatives III. Journal de Mathématiques Pures et Appliquées 75 (1995) 345–365.

[149] N. Pippenger: A time–space tradeoff. Journal of the Association for Computing Machinery 25 (1978) 509–515.

[150] N. Pippenger: Pebbling. Proceedings 5th. IBM Symposium on Mathematical Foundations of Computer Science (1980).

[151] F.P. Preparata, D.V. Sarwate: An improved parallel processor bound in fast matrix inversion. Information Processing Letters 7(2) (1978) 148–150.

[152] M.O. Rabin: Probabilistic algorithms. Algorithms and Complexity, Recent Results and New Directions (J.F. Traub, Ed.), Academic Press, Cambridge, MA (1976).

[153] J. Reif: Logarithmic depth circuits for algebraic functions. SIAM Journal of Computing 15 (1986) 231–242.

[154] J. Renegar: On the computational complexity and geometry of the first order theory of the reals. Journal of Symbolic Computation 13(3) (1992) 255–352.

[155] J. Sabia, P. Solernó: Bounds for traces in complete intersections and degrees in the Nullstellensatz. Applicable Algebra in Engineering, Communication and Computer Science 6 (1996) 353–376.

[156] J.E. Savage: Space–time tradeoffs – A survey. Proceedings 3rd. Hungarian Computer Science Conference (1981).

[157] J.E. Savage: Space–time tradeoffs for banded matrix problems. Journal of the Association for Computing Machinery 31(4) (1984) 422-437.

[158] J.E. Savage, S. Swamy: Space–time tradeoffs on the FFT algorithm. IEEE Transactions on Information Theory 24 (1978) 563–568.

[159] J.E. Savage, S. Swamy, Space–time tradeoffs for oblivious integer multiplication. Springer Lecture Notes in Computer Science 71 (1979) 240–251.

[160] A. Schönhage: On the power of random access machines. Proceedings Sixth Colloquium on Automata, Languages and Programming ICALP (1977) 520–529, también en Springer Lectures Notes in Computer Science 71 (1979).

[161] A. Schönhage, V. Strassen: Schnelle multiplikation grosser zahlen. Comput. 7 (1971) 281–292.

[162] C.P. Schnorr: Improved lower bounds on the number of multiplications/divisions which are necessary to evaluate polynomials. Theoretical Computer Science 7 (1978) 251–261.

[163] J.T. Schwartz: Fast probabilistic algorithms for verification of polynomial identities. Journal of the Association for Computing Machinery 27 (1980) 701–717.

[164] I.R. Shafarevich: Basic algebraic geometry: varieties in projective space. Springer Verlag (1994).

[165] B. Shiffman: Degree bounds for the division problem in polynomial ideals. Michigan Mathematical Journal 36 (1989) 163–171.

[166] M. Shub, S. Smale: On the Intractability of Hilbert’s Nullstellensatz and an algebraic version of “NP=P ?. Duke Journal of Mathematics 81(1) (1996) 47–54.

[167] M. Sombra: Bounds for the Hilbert function of polynomial ideals and for the degrees in the Nulstellensatz. Aparecerá en Journal of Pure and Applied Algebra (1997).

[168] H.J. Stoss: Lower bounds for the complexity of polynomials. Theoretical Computer Science 64 (1989) 15–23.

[169] H. J. Stoss: On the representation of rational functions of bounded complexity. Theoretical Computer Science 64 (1989) 1–13.

[170] V. Strassen: Gaussian elimination is not optimal. Num. Math. 13 (1969) 354–356.

[171] V. Strassen: Vermeidung von Divisionen. Crelles Journal für die Reine und Angewandte Mathematik 264 (1973) 184–202.

[172] V. Strassen: Polynomials with rational coefficients which are hard to compute. SIAM Journal of Computing 3 (1974) 128–149.

[173] V. Strassen: Algebraic complexity theory. Handbook of theoretical computer science (J. Van Leeuwen, Ed.), Volumen A: Algorithms and Complexity. North–Holland, Amsterdam (1990) 634–671.

[174] M. Tompa: Time–space tradeoffs for computing functions, using conectivity properties of their circuits. Journal of Computer and System Sciences 20 (1980) 118–132.

[175] M. Tompa: Two Familiar Transitive Closure Algorithms which Admit no Polynomial Time, Sublinear Space Implementations. SIAM Journal of Computing 11(1) (1982) 130–137.

[176] P.M. Vaidya: Space–time tradeoff for orthogonal range queries. Proceedings 17th. Annual ACM Symposium on Theory of Computing (1985) 169–174.

[177] L. Valiant: Completeness classes in algebra. Proceedings 11th. Annual ACM Symposium on Theory of Computing (1979) 249–261.

[178] L. Valiant: The complexity of computing the permanent. Theoretical Computer Science 8 (1979) 189–201.

[179] L. Valiant: Reducibility by algebraic projections. Logic and Algorithmic. An International Symposium held in honour of Ernst Specker. Monographie 30 de L’Enseignement Mathématique, Genève (1982) 365– 380.

[180] N. Vorobjov: Bounds of real roots of a system of algebraic equations. Notes of Scientific Seminars 137, Leningrad Departament, Steklov Mathematical Institute (1984) 7–19.

[181] B.L. van der Waerden: Algebra I, 5. Auflage der Modernen Algebra, Springer Verlag (1960).

[182] I. Wegener: The complexity of boolean functions. Wiley-Teubner Series in Computer Science (1987).

[183] V. Weispfenning: The complexity of linear problems in fields. Journal of Symbolic Computation 5 (1988) 3–28.

[184] A.C.C. Yao: Space–time tradeoff for answering range queries. Proceedings 14th Annual ACM Symposium on Theory of Computing (1982) 128–136.

[185] A.C.C. Yao: Near optimal time–space tradeoff for element distinctness. Proceedings 29th Annual IEEE Symposium on Foundations of Computer Science (1988) 91–97.

[186] Y. Yesha: Time–space tradeoffs for matrix multiplication and the discrete Fourier transformation on any general sequential random acces computer. Journal of Computer and System Sciences 29 (1984) 183– 197.

[187] R.E. Zippel: Probabilistic algorithms for sparse polynomials. Springer Lectures Notes in Computer Science 72 (1979) 216–226.