7 votos

Comprobar si un sistema de ecuaciones polinómicas es coherente

Estoy tratando de determinar si existe alguna solución para un sistema de $(n+1)$ ecuaciones polinómicas en $n$ desconocidos. Por ejemplo: $$ \begin{align*} xy&=-2\\ x^2-1&=0\\ y^3-3y^2+2y&=0 \end{align*} $$ Esta es una simplificación exacta de mi sistema real, ya que la primera ecuación contiene términos mixtos con todas las variables representadas y el resto $n$ las ecuaciones son univariantes, y que el grado máximo de cualquier término (digamos, $D$ ) es de un solo dígito. El sistema actual es muy grande ( $n$ es $10^3$ a $10^4$ ), pero con una $D$ . También suele tener muchos términos en la primera ecuación.

En este ejemplo, el sistema es de hecho consistente ( $x=-1; y=2$ ). Sin embargo, si se modifica la primera ecuación, para $xy=-3$ El sistema sería incoherente. Mi enfoque ingenuo es encontrar las soluciones a la última $n$ ecuaciones (aquí $x\in\{-1,1\},y\in\{0,1,2\}$ ) y probar todas las combinaciones hasta que una satisfaga la primera ecuación o agote las combinaciones, pero esto requiere aproximadamente $D^n$ lo que no es factible para sistemas grandes. Tampoco es necesario encontrar una solución, sólo probar si existe.

He pasado algún tiempo buscando algoritmos apropiados, y voy a resumir lo que entiendo actualmente. No tengo una gran experiencia en este tipo de matemáticas, así que por favor, corregid cualquier error que tenga aquí.

  • Según la Wikipedia, la consistencia se puede comprobar mediante el cálculo de la base de Grobner. Parece que necesitaría saber a priori el orden $y>x$ para calcular la base, cosa que no hago. Además, uno de los artículos que he leído sobre el tema parece indicar que este método se vuelve exponencialmente más lento con el aumento de $n$ .

  • Existe un método numérico llamado "continuación de homotopía" para encontrar soluciones dado un conjunto similar de ecuaciones con soluciones conocidas, pero como el número de soluciones es desconocido (que es el punto después de todo) no pude ver cómo/si podría aplicarlo. Se trata de variar un parámetro $t$ de 0 a 1 y formulando las ecuaciones de forma que en $t=0$ se recupera el caso conocido y en $t=1$ se recupera el caso deseado, utilizando el método de Newton. Mi intento fracasó porque es posible que no existan soluciones para algunos intermedios $t$ aunque el sistema es consistente en ambos $t=0$ y $t=1$ .

  • Es posible plantear las ecuaciones como funciones racionales en una sola variable utilizando una técnica llamada `representación univariante racional'. No entiendo bien cómo obtener esta representación del sistema si no es por ensayo y error, aunque sí entiendo cómo me permitiría determinar la consistencia del sistema si la encontrara.

Creo que debido a la forma del sistema, nunca tendré infinitas soluciones, pero puede que tenga más de una.

Puedo aceptar tener que utilizar métodos que son exponenciales en $D$ debido a que nunca se hace grande, pero no en $n$ . Si un algoritmo adecuado para comprobar la consistencia se basa en la suposición de soluciones enteras, lo consideraría un inconveniente aceptable. ¿Puede servir alguno de los métodos anteriores, o de qué otra forma podría hacerlo? Muchas gracias por su paciencia al leer esto, y por cualquier ayuda que pueda proporcionar.

4voto

rlpowell Puntos 126

No estoy seguro de que se pueda esperar un algoritmo rápido en general. Supongamos que la primera ecuación tiene la forma

$$a_1x_1+a_2x_2+\cdots+a_nx_n=0$$

donde $a_1,a_2,\ldots,a_n$ son enteros positivos, y el otro $n$ las ecuaciones son todas de la forma

$$x_k^2-1=0$$

Entonces lo que se está comprobando son las soluciones del Problema de partición para el conjunto $S=\{a_1,a_2,\ldots,a_n\}$ que es NP-completo (aunque el artículo de la Wikipedia indica que es un problema difícil "fácil" que a menudo se puede resolver en la práctica mediante programación dinámica).

2voto

Mohan Puntos 4149

Es muy fácil comprobar si un sistema de ecuaciones polinómicas es consistente o no. Sólo hay que calcular la base de Grobner del sistema. Si la base de Grobner es $(1)$ entonces el sistema es incoherente, de lo contrario no. Mathematica puede calcular fácilmente la base de Grobner para cualquier sistema de ecuaciones polimoniales. Y para comprobar la consistencia, el ordenamiento de los monomios no importa en absoluto.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X