Sistema de ecuacións alxébricas

Un **sistema de ecuacións alxébricas** (ou  **sistema de ecuacións polinómicas**) é un conxunto de ecuacións simultáneas   onde os  son polinomios en varias variábeis, digamos  , sobre algún corpo  .

Unha *solución* dun sistema polinómico é un conxunto de valores para os   que pertencen a algunha extensión de corpo alxebricamente pechada  de , e que fai todas as ecuacións sexan verdadeiras. Cando  é o corpo dos números racionais, asúmese xeralmente que  é o corpo dos números complexos, porque cada solución pertence a unha extensión de corpo de , que é isomorfa a un subcorpo dos números complexos.

Para o caso de solucións nas que todos os compoñentes son números enteiros ou racionais, consulte as ecuacións diofantianas.

## Definición 
miniatura| Os numerosos puntos singulares da séxtica de Barth son as solucións dun sistema polinómico
Un exemplo sinxelo de sistema de ecuacións polinómicas é

:  \begin{align} x^2 + y^2 - 5&= 0 \\ xy - 2 &= 0. \end{align}

As súas solucións son os catro pares . Estas solucións pódense comprobar facilmente mediante a substitución, mais é necesario traballar máis para demostrar que non hai outras solucións.

O conxunto de solucións pode non ser finito; por exemplo, as solucións do sistema

:  \begin{align} x(x-1) &= 0 \\ x(y-1) &= 0 \end{align}

son un punto  e unha recta . Mesmo cando o conxunto de solucións é finito, non hai, en xeral, ningunha expresión de forma pechada das solucións (no caso dunha soa ecuación, este é o teorema de Abel-Ruffini).

A superficie de Barth, mostrada na figura, é a representación xeométrica das solucións dun sistema polinómico reducida a unha única ecuación de grao 6 en 3 variábeis.

## Propiedades e definicións básicas 
Un sistema está sobredeterminado se o número de ecuacións é maior que o número de variábeis. 

Un sistema é inconsistente se non ten solución complexa (ou, se os coeficientes non son números complexos, non hai solución nun corpo alxebraicamente pechado que conteña os coeficientes). Polo Nullstellensatz de Hilbert (teorema dos ceros de Hilbert) isto significa que 1 é unha combinación linear (con polinomios como coeficientes) dos primeiros membros das ecuacións. A maioría dos sistemas sobredeterminados, pero non todos, cando se constrúen con coeficientes aleatorios, son inconsistentes. Por exemplo, o sistema  está sobredeterminado (con dúas ecuacións pero só unha descoñecida), pero non é inconsistente xa que ten a solución .

Un sistema está indeterminado se o número de ecuacións é menor que o número de variábeis. Un sistema subdeterminado é inconsistente ou ten infinitas solucións complexas (ou solucións nun corpo alxebraicamente pechado que contén os coeficientes das ecuacións). Este é un resultado non trivial da álxebra conmutativa que implica, en particular, o Nullstellensatz de Hilbert e o teorema do ideal principal de Krull.

Un sistema de dimensión cero con tantas ecuacións como variábeis dise ás veces que "se *comporta ben"*. O teorema de Bézout afirma que un sistema ben comportado cuxas ecuacións teñen graos   ten como máximo  solucións. Este límité é forte. Se todos os graos son iguais a , este límite pasa a ser  e é exponencial no número de variábeis. (O teorema fundamental da álxebra é o caso especial con )

Este comportamento exponencial dificulta a resolución de sistemas polinómicos e explica por que hai poucos solucionadores que sexan capaces de resolver automaticamente sistemas cun límite de Bézout superior a, por exemplo, 25 (tres ecuacións de grao 3 ou cinco ecuacións de grao 2 están máis aló deste límite).

## Extensións 
### Ecuacións trigonométricas 
Unha ecuación trigonométrica é unha ecuación  onde  é un polinomio trigonométrico. Tal ecuación pódese converter nun sistema polinómico ampliando os senos e cosenos nel (usando fórmulas de suma e diferenza), substituíndo  e  por dúas novas variábeis  e  e engadindo a nova ecuación .

Por exemplo, pola identidade

: \cos(3x)=4\cos^3(x)-3\cos(x),

resolver a ecuación

:  \sin^3(x)+\cos(3x)=0 

equivale a resolver o sistema polinómico

:  \begin{cases}
s^3+4c^3-3c&=0\\
s^2+c^2-1&=0.
\end{cases}

Para cada solución  deste sistema, hai unha única solución  da ecuación tal que .

### Solucións nun corpo finito 
Ao resolver un sistema sobre un corpo finito  con  elementos, estamos interesado principalmente nas solucións en . Como os elementos de  son exactamente as solucións da ecuación , abonda, para restrinxir as solucións a , engadir a ecuación  para cada variábel  .

### Coeficientes nun corpo numérico ou nun corpo finito con orde non prima 
Os elementos dun corpo numérico alxébrico adoitan representarse como polinomios nun xerador do corpo que satisfaga algunha ecuación polinómica univariada. 

Para traballar cun sistema polinómico cuxos coeficientes pertencen a un corpo numérico, abonda con considerar este xerador como unha nova variábel e engadir a ecuación do xerador ás ecuacións do sistema. Así, resolver un sistema polinómico sobre un corpo numérico redúcese a resolver outro sistema sobre os números racionais.

Por exemplo, se un sistema contén \sqrt{2}, obtense un sistema sobre os números racionais sumando a ecuación  e substituíndo \sqrt{2} por  nas outras ecuacións.

## Representación alxébrica das solucións 
### Cadeas regulares 
A forma habitual de representar as solucións é mediante cadeas regulares de dimensión cero. Tal cadea está formada por unha secuencia de polinomios , , ... ,  tal que, para cada  tal que 

*  é un polinomio só en  que ten un grao  en ;
* o coeficiente de  en  é un polinomio en  que non ten ningún cero común con , ..., .

A esa cadea regular está asociado un *sistema triangular de ecuacións*

: 
\begin{cases}
f_1(x_1)= 0\\
f_2(x_1,x_2)=0\\
\quad\vdots\\
f_n(x_1, x_2, \ldots, x_n)=0.
\end{cases}

Todo sistema de ecuacións polinómicas de dimensión cero é equivalente (é dicir, ten as mesmas solucións) a un número finito de cadeas regulares. Poden ser necesarias varias cadeas regulares, como é o caso do seguinte sistema que ten tres solucións.

: 
\begin{cases}
x^2-1=0\\
(x-1)(y-1)=0\\
y^2-1=0.
\end{cases}

Existen varios algoritmos para calcular unha descomposición triangular dun sistema polinómico arbitrario (non necesariamente de dimensión cero) en cadeas regulares (ou sistemas semialxébricos regulares).

Tamén existe un algoritmo específico para o caso de dimensión cero e compite, neste caso, cos algoritmos directos. Consiste en calcular primeiro a base de Gröbner para a orde lexicográfica inversa graduada (grevlex), despois deducir a base lexicográfica de Gröbner mediante o algoritmo FGLM e, finalmente, aplicar o algoritmo Lextriangular. 

### Representación univariada racional 
A *representación univariada racional* ou RUR é unha representación das solucións dun sistema polinómico de dimensión cero sobre os números racionais que foi introducida por F. Rouillier.

Un RUR dun sistema de dimensión cero consiste nunha combinación linear  das variábeis, chamada *variábel separadora*, e un sistema de ecuacións

: 
\begin{cases}
h(x_0)=0\\
x_1=g_1(x_0)/g_0(x_0)\\
\quad\vdots\\
x_n=g_n(x_0)/g_0(x_0),
\end{cases}

onde  é un polinomio univariado en  de grao  e   son polinomios univariados en  de grao menor que .

Por exemplo, para o sistema da sección anterior, cada combinación linear da variábel, excepto os múltiplos de ,  e , é unha variábel de separación. Se se escolle 

: 
\begin{cases}
t^3-t=0\\
x=\frac{t^2+2t-1}{3t^2-1}\\
y=\frac{t^2-2t-1}{3t^2-1}.\\
\end{cases}

## Resolvendo numericamente 
### Algoritmos xerais de resolución 
Os algoritmos numéricos xenéricos que están deseñados para calquera sistema de ecuacións non lineares tamén funcionan para sistemas polinómicos. No entanto xeralmente preferiranse os métodos específicos, xa que os métodos xenéricos xeralmente non permiten atopar *todas* as solucións. En particular, cando un método xenérico non dá atopado solución ningunha, isto normalmente non é un indicio de que non hai solución.

Con todo, dous métodos merecen ser mencionados aquí.

* O método de Newton pódese utilizar se o número de ecuacións é igual ao número de variábeis. Non permite atopar todas as solucións nin demostrar que non hai solución. Pero é moi rápido cando se parte dun punto próximo a unha solución. Polo tanto, é unha ferramenta básica para o método de continuación da homotopía descrito a continuación.
* A optimización úsase raramente para resolver sistemas polinómicos, pero conseguiu, arredor de 1970, demostrar que un sistema de 81 ecuacións cadráticas en 56 variábeis non é inconsistente. Cos outros métodos coñecidos, isto segue fóra das posibilidades da tecnoloxía moderna, de 2022  . Este método consiste simplemente en minimizar a suma dos cadrados das ecuacións. Se se atopa cero como mínimo local, entón alcánzase nunha solución. Este método funciona para sistemas sobredeterminados, pero emite unha información baleira se todos os mínimos locais que se atopan son positivos.

### Método de continuación de homotopía 
Este é un método seminumérico que supón que o número de ecuacións é igual ao número de variábeis. Este método é relativamente antigo pero mellorou drasticamente nas últimas décadas.
Este método divídese en tres pasos. Primeiro calcúlase un límite superior do número de solucións. Este límite ten que ser o máis nítido posíbel. Polo tanto, calcúlase por, polo menos, catro métodos diferentes e o mellor valor, digamos N, gárdase.

No segundo paso, xérase un sistema g_1=0,\, \ldots,\, g_n=0 de ecuacións polinómicas que ten exactamente N solucións fáciles de calcular. Este novo sistema ten o mesmo número n de variábeis e o mesmo número n de ecuacións e a mesma estrutura xeral que o sistema a resolver, f_1=0,\, \ldots,\, f_n=0 .

Entón considérase unha homotopía entre os dous sistemas. Consiste, por exemplo, na liña recta entre os dous sistemas, pero pódense considerar outros camiños, en particular para evitar algunhas singularidades, no sistema.

: (1-t)g_1+t f_1=0,\, \ldots,\, (1-t)g_n+t f_n=0 .

A continuación da homotopía consiste en deformar o parámetro t de 0 a 1 e *seguindo* as N solucións durante esta deformación.

Isto dá as solucións desexadas para t = 1. *Seguir* significa que, se t_1, as solucións para t=t_2 dedúcense das solucións para t=t_1 polo método de Newton. A dificultade aquí é escoller ben o valor de t_2-t_1: Demasiado grande, a converxencia de Newton pode ser lenta e mesmo pode saltar dun camiño de solución a outro. Demasiado pequeno e o número de pasos ralentiza o método.

### Resolvendo numericamente a partir da representación univariada racional 
Deducir os valores numéricos das solucións a partir dun RUR parece doado: abonda con calcular as raíces do polinomio univariado e substituílas nas demais ecuacións. Isto non é tan sinxelo porque a avaliación dun polinomio nas raíces doutro polinomio é moi inestábel.

Así, as raíces do polinomio univariado teñen que ser calculadas cunha alta precisión que pode non ser definida dunha vez por todas. Hai dous algoritmos que cumpren este requisito.

* O método Aberth, implementado en MPSolve, calcula todas as raíces complexas con calquera precisión.
* O algoritmo de Uspensky de Collins e Akritas,  mellorado por Rouillier e Zimmermann  e baseado na regra dos signos de Descartes. Este algoritmo calcula as raíces reais, illadas en intervalos de pequeno ancho arbitrario. Está implementado en Maple (funcións *fsolve* e *RootFinding[Isolate]*).

## Notas 
## Véxase tamén 
### Outros artigos 
* Descomposición triangular
* Sistema de ecuacións lineais