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 f1
0, .. ., fh
0 onde os fi son polinomios en varias variábeis, digamos x1, .. ., xn, sobre algún corpo k.
Unha solución dun sistema polinómico é un conxunto de valores para os xi que pertencen a algunha extensión de corpo alxebricamente pechada K de k, e que fai todas as ecuacións sexan verdadeiras. Cando k é o corpo dos números racionais, asúmese xeralmente que K é o corpo dos números complexos, porque cada solución pertence a unha extensión de corpo de k, 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
Un exemplo sinxelo de sistema de ecuacións polinómicas é x 2 + y 2 − 5
0 x y − 2
0. {\displaystyle {\begin{aligned}x^{2}+y^{2}-5&
0\\xy-2&
0. \end{aligned}}} As súas solucións son os catro pares (x, y) (1, 2), (2, 1), (-1, -2), (-2, -1). 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 x ( x − 1 )
0 x ( y − 1 )
0 {\displaystyle {\begin{aligned}x(x-1)&
0\\x(y-1)&
0\end{aligned}}} son un punto (x, y)
(1, 1) e unha recta x
0. 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 x3 – 1
0, x2 – 1
0 está sobredeterminado (con dúas ecuacións pero só unha descoñecida), pero non é inconsistente xa que ten a solución x 1.
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 d1, .. ., dn ten como máximo d1⋅⋅⋅dn solucións. Este límité é forte. Se todos os graos son iguais a d, este límite pasa a ser dn e é exponencial no número de variábeis. (O teorema fundamental da álxebra é o caso especial con n 1)
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 g
0 onde g é 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 sin(x) e cos(x) por dúas novas variábeis s e c e engadindo a nova ecuación s2 + c2 – 1
0.
Por exemplo, pola identidade cos ⁡ ( 3 x )
4 cos 3 ⁡ ( x ) − 3 cos ⁡ ( x ), {\displaystyle \cos(3x)
4\cos ^{3}(x)-3\cos(x), } resolver a ecuación sin 3 ⁡ ( x ) + cos ⁡ ( 3 x )
0 {\displaystyle \sin ^{3}(x)+\cos(3x)
0} equivale a resolver o sistema polinómico { s 3 + 4 c 3 − 3 c
0 s 2 + c 2 − 1
0. {\displaystyle {\begin{cases}s^{3}+4c^{3}-3c&
0\\s^{2}+c^{2}-1&
0. \end{cases}}} Para cada solución (c0, s0) deste sistema, hai unha única solución x da ecuación tal que 0 ≤ x < 2π.
Solucións nun corpo finito
Ao resolver un sistema sobre un corpo finito k con q elementos, estamos interesado principalmente nas solucións en k. Como os elementos de k son exactamente as solucións da ecuación xq – x
0, abonda, para restrinxir as solucións a k, engadir a ecuación xiq – xi
0 para cada variábel xi.
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 2 {\displaystyle {\sqrt {2}}}, obtense un sistema sobre os números racionais sumando a ecuación r22 – 20 e substituíndo 2 {\displaystyle {\sqrt {2}}} por r2 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 f1(x1), f2(x1, x2), .. ., fn(x1, .. ., xn) tal que, para cada i tal que 1 ≤ i ≤ n fi é un polinomio só en x1, .. ., xi que ten un grao di > 0 en xi;
o coeficiente de xidi en fi é un polinomio en x1, .. ., xi −1 que non ten ningún cero común con f1, .. ., fi − 1.
A esa cadea regular está asociado un sistema triangular de ecuacións { f 1 ( x 1 )
0 f 2 ( x 1, x 2 )
0 ⋮ f n ( x 1, x 2, …, x n )
0. {\displaystyle {\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. { x 2 − 1
0 ( x − 1 ) ( y − 1 )
0 y 2 − 1
0. {\displaystyle {\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 x0 das variábeis, chamada variábel separadora, e un sistema de ecuacións { h ( x 0 )
0 x 1
g 1 ( x 0 ) / g 0 ( x 0 ) ⋮ x n
g n ( x 0 ) / g 0 ( x 0 ), {\displaystyle {\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 h é un polinomio univariado en x0 de grao D e g0, .. ., gn son polinomios univariados en x0 de grao menor que D.
Por exemplo, para o sistema da sección anterior, cada combinación linear da variábel, excepto os múltiplos de x, y e x + y, é unha variábel de separación. Se se escolle t
x – y/2 { t 3 − t
0 x
t 2 + 2 t − 13 t 2 − 1 y
t 2 − 2 t − 13 t 2 − 1. {\displaystyle {\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 {\displaystyle N}, gárdase.
No segundo paso, xérase un sistema g 1
0, …, g n
0 {\displaystyle g_{1}
0, \, \ldots, \, g_{n}
0} de ecuacións polinómicas que ten exactamente N {\displaystyle N} solucións fáciles de calcular. Este novo sistema ten o mesmo número n {\displaystyle n} de variábeis e o mesmo número n {\displaystyle n} de ecuacións e a mesma estrutura xeral que o sistema a resolver, f 1
0, …, f n
0 {\displaystyle 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, …, ( 1 − t ) g n + t f n
0 {\displaystyle (1-t)g_{1}+tf_{1}
0, \, \ldots, \, (1-t)g_{n}+tf_{n}
0}.
A continuación da homotopía consiste en deformar o parámetro t {\displaystyle t} de 0 a 1 e seguindo as N {\displaystyle N} solucións durante esta deformación.
Isto dá as solucións desexadas para t
1 {\displaystyle t
1}. Seguir significa que, se t 1 < t 2 {\displaystyle t_{1}<t_{2}}, as solucións para t
t 2 {\displaystyle t
t_{2}} dedúcense das solucións para t
t 1 {\displaystyle t
t_{1}} polo método de Newton. A dificultade aquí é escoller ben o valor de t 2 − t 1: {\displaystyle 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]).