En matemáticas, el teorema de Vincent —llamado así en honor a Alexandre Joseph Hidulphe Vincent— es un teorema que aísla las raíces reales de polinomios con coeficientes racionales.
Aunque el teorema de Vincent es la base del método más rápido para el aislamiento de las raíces reales de polinomios, fue casi totalmente olvidado, habiendo sido eclipsado por el teorema de Sturm ; en consecuencia, no aparece en ninguno de los libros clásicos sobre teoría de ecuaciones (del siglo XX), excepto en el libro de Uspensky . Se presentan dos variantes de este teorema, junto con varios métodos de aislamiento de raíces reales (fracciones continuas y bisección) derivados de ellas.
Se presentan dos versiones de este teorema: la versión de fracciones continuas debida a Vincent, [1] [2] [3] y la versión de bisección debida a Alesina y Galuzzi. [4] [5]
Si en una ecuación polinómica con coeficientes racionales y sin raíces múltiples se hacen sucesivas transformaciones de la forma
donde hay números positivos mayores o iguales a uno, luego de varias de estas transformaciones, la ecuación transformada resultante tiene variaciones de signo cero o tiene una variación de signo único. En el primer caso no hay raíz, mientras que en el segundo caso hay una única raíz real positiva. Además, la raíz correspondiente de la ecuación propuesta se aproxima mediante la fracción continua finita: [1] [2] [3]
Además, si se pueden encontrar infinitos números que satisfacen esta propiedad, entonces la raíz está representada por la fracción continua correspondiente (infinita).
La afirmación anterior es una traducción exacta del teorema que se encuentra en los artículos originales de Vincent; [1] [2] [3] sin embargo, se necesitan las siguientes observaciones para una comprensión más clara:
Sea p ( x ) un polinomio real de grado grados ( p ) que solo tiene raíces simples. Es posible determinar una cantidad positiva δ de modo que para cada par de números reales positivos a , b con , cada polinomio transformado de la forma
tiene exactamente 0 o 1 variaciones de signo. El segundo caso es posible si y sólo si p ( x ) tiene una única raíz dentro de ( a , b ).
De la ecuación ( 1 ) se obtiene el siguiente criterio para determinar si un polinomio tiene raíces en el intervalo ( a , b ):
Realizar en p ( x ) la sustitución
y contar el número de variaciones de signo en la secuencia de coeficientes del polinomio transformado; este número da un límite superior al número de raíces reales que p ( x ) tiene dentro del intervalo abierto ( a , b ). Más precisamente, el número ρ ab ( p ) de raíces reales en el intervalo abierto ( a , b ) —multiplicidades contadas— del polinomio p ( x ) en R [ x ], de grado grados( p ), está acotado arriba por el número de variaciones de signos var ab ( p ), donde
Como en el caso de la regla de los signos de Descartes, si var ab ( p ) = 0 se sigue que ρ ab ( p ) = 0 y si var ab ( p ) = 1 se sigue que ρ ab ( p ) = 1.
Un caso especial de la "prueba de raíces a_b" de Alesina-Galuzzi es la "prueba de raíces 0_1" de Budan .
En el trabajo de Alesina y Galuzzi se puede encontrar una discusión detallada del teorema de Vincent, su extensión, la interpretación geométrica de las transformaciones involucradas y tres demostraciones diferentes. [4] [5] Una cuarta prueba se debe a Ostrowski [6] quien redescubrió un caso especial de un teorema enunciado por Obreschkoff , [7] p. 81, en 1920-1923.
Para probar (ambas versiones del) teorema de Vincent, Alesina y Galuzzi muestran que después de una serie de transformaciones mencionadas en el teorema, un polinomio con una raíz positiva eventualmente tiene una variación de signo. Para demostrar esto, utilizan el siguiente corolario del teorema de Obreschkoff de 1920-1923 mencionado anteriormente; es decir, el siguiente corolario da las condiciones necesarias bajo las cuales un polinomio con una raíz positiva tiene exactamente una variación de signo en la secuencia de sus coeficientes; ver también la figura correspondiente.
Consideremos ahora la transformación de Möbius.
y los tres círculos que se muestran en la figura correspondiente; asumir que a/C<b/d.
De lo anterior resulta obvio que si un polinomio tiene una única raíz positiva dentro de la figura en forma de ocho y todas las demás raíces están fuera de ella, presenta una variación de signo en la secuencia de sus coeficientes. Esto también garantiza la terminación del proceso.
En sus artículos fundamentales, [1] [2] [3] Vincent presentó ejemplos que muestran precisamente cómo usar su teorema para aislar raíces reales de polinomios con fracciones continuas . Sin embargo, el método resultante tenía un tiempo de cálculo exponencial , un hecho que los matemáticos debieron haber comprendido entonces, como lo hizo Uspensky [8] p. 136, un siglo después.
La naturaleza exponencial del algoritmo de Vincent se debe a la forma en que se calculan los cocientes parciales ai (en el teorema de Vincent ) . Es decir, para calcular cada cociente parcial a i (es decir, localizar dónde se encuentran las raíces en el eje x ), Vincent utiliza el teorema de Budan como una "prueba sin raíces" ; en otras palabras, para encontrar la parte entera de una raíz Vincent realiza sustituciones sucesivas de la forma x ← x +1 y se detiene sólo cuando los polinomios p ( x ) y p ( x +1) difieren en el número de variaciones de signo en la raíz. secuencia de sus coeficientes (es decir, cuando el número de variaciones de signo de p ( x +1) disminuye).
Vea el diagrama correspondiente donde la raíz se encuentra en el intervalo (5, 6). Se puede inferir fácilmente que, si la raíz está lejos del origen, se necesita mucho tiempo para encontrar su parte entera de esta manera, de ahí el carácter exponencial del método de Vincent. A continuación se explica cómo se supera este inconveniente.
Vincent fue el último autor del siglo XIX en utilizar su teorema para aislar las raíces reales de un polinomio.
La razón de esto fue la aparición del teorema de Sturm en 1827, que resolvió el problema del aislamiento de raíces reales en tiempo polinómico , al definir el número preciso de raíces reales que tiene un polinomio en un intervalo abierto real ( a , b ). El método resultante (de Sturm) para calcular las raíces reales de polinomios ha sido el único ampliamente conocido y utilizado desde entonces, hasta aproximadamente 1980, cuando fue reemplazado (en casi todos los sistemas de álgebra computacional ) por métodos derivados del teorema de Vincent, el El más rápido es el método Vincent-Akritas-Strzeboński (VAS). [9]
Serret incluyó en su Álgebra, [10] págs. 363–368, el teorema de Vincent junto con su demostración y dirigió a todos los lectores interesados a los artículos de Vincent para obtener ejemplos de cómo se utiliza. Serret fue el último autor en mencionar el teorema de Vincent en el siglo XIX.
En el siglo XX, el teorema de Vincent no se puede encontrar en ninguno de los libros de teoría de ecuaciones; las únicas excepciones son los libros de Uspensky [8] y Obreschkoff , [7] donde en el segundo sólo aparece el enunciado del teorema.
Fue en el libro de Uspensky [8] donde Akritas encontró el teorema de Vincent y lo convirtió en el tema de su doctorado. Tesis "Teorema de Vincent en manipulación algebraica", Universidad Estatal de Carolina del Norte, EE. UU. , 1978. Un logro importante en ese momento fue conseguir el artículo original de Vincent de 1836, algo que se le había escapado a Uspensky , lo que resultó en un gran malentendido . El artículo original de Vincent de 1836 se puso a disposición de Akritas gracias a los esfuerzos encomiables (préstamo interbibliotecario) de un bibliotecario de la Biblioteca de la Universidad de Wisconsin-Madison, EE. UU .
El aislamiento de las raíces reales de un polinomio es el proceso de encontrar intervalos abiertos disjuntos tales que cada uno contenga exactamente una raíz real y cada raíz real esté contenida en algún intervalo. Según la escuela francesa de matemáticas del siglo XIX, este es el primer paso para calcular las raíces reales, siendo el segundo su aproximación con cualquier grado de precisión; además, la atención se centra en las raíces positivas , porque para aislar las raíces negativas del polinomio p ( x ) reemplaza x por − x ( x ← − x ) y repite el proceso.
La versión de fracciones continuas del teorema de Vincent se puede utilizar para aislar las raíces positivas de un polinomio dado p ( x ) de grado grados ( p ). Para ver esto, represente por la transformación de Möbius.
la fracción continua que conduce a un polinomio transformado
con variación de un signo en la secuencia de sus coeficientes. Entonces, la única raíz positiva de f ( x ) (en el intervalo (0, ∞)) corresponde a esa raíz positiva de p ( x ) que está en el intervalo abierto con puntos finales y . Estos puntos finales no están ordenados y corresponden a M (0) y M (∞) respectivamente.
Por lo tanto, para aislar las raíces positivas de un polinomio, todo lo que se debe hacer es calcular, para cada raíz, las variables a , b , c , d de la correspondiente transformación de Möbius.
eso conduce a un polinomio transformado como en la ecuación ( 2 ), con una variación de un signo en la secuencia de sus coeficientes.
Observación crucial: las variables a , b , c , d de una transformación de Möbius
(en el teorema de Vincent) que conduce a un polinomio transformado, como en la ecuación ( 2 ), con una variación de un signo en la secuencia de sus coeficientes se puede calcular:
La "parte de bisección" de esta importante observación apareció como un teorema especial en los artículos de Alesina y Galuzzi. [4] [5]
Todos los métodos que se describen a continuación (consulte el artículo sobre el teorema de Budan para conocer sus antecedentes históricos) necesitan calcular (una vez) un límite superior, ub , de los valores de las raíces positivas del polinomio bajo consideración. La excepción es el método VAS, donde además se deben calcular límites inferiores, lb , en casi todos los ciclos del bucle principal. Para calcular el límite inferior lb del polinomio p ( x ), calcule el límite superior ub del polinomio y establezca .
Akritas, Strzeboński y Vigklas han desarrollado excelentes límites (superior e inferior) para los valores de las raíces positivas de polinomios basándose en trabajos previos de Doru Stefanescu. Se describen en el Ph.D. de PS Vigklas. Tesis [12] y otros lugares. [13] Estos límites ya se han implementado en los sistemas de álgebra informática Mathematica , SageMath , SymPy , Xcas , etc.
Los tres métodos que se describen a continuación siguen la excelente presentación de François Boulier, [14] p. 24.
Sólo un método de fracciones continuas se deriva del teorema de Vincent. Como se indicó anteriormente, comenzó en la década de 1830 cuando Vincent presentó, en los artículos [1] [2] [3] varios ejemplos que muestran cómo usar su teorema para aislar las raíces reales de polinomios con fracciones continuas . Sin embargo, el método resultante tenía un tiempo de cálculo exponencial . A continuación se muestra una explicación de cómo evolucionó este método.
Este es el segundo método (después del VCA) desarrollado para manejar el comportamiento exponencial del método de Vincent.
El método de fracciones continuas VAS es una implementación directa del teorema de Vincent. Fue presentado originalmente por Vincent de 1834 a 1938 en los artículos [1] [2] [3] en forma exponencial; es decir, Vincent calculó cada cociente parcial a i mediante una serie de incrementos unitarios a i ← a i + 1, que son equivalentes a sustituciones de la forma x ← x + 1.
El método de Vincent fue convertido a su forma de complejidad polinómica por Akritas, quien en su doctorado de 1978. Thesis ( Teorema de Vincent en manipulación algebraica , Universidad Estatal de Carolina del Norte, EE. UU.) calculó cada cociente parcial a i como el límite inferior, lb , de los valores de las raíces positivas de un polinomio. Esto se denomina límite de raíz inferior positivo ideal y calcula la parte entera de la raíz positiva más pequeña (consulte la figura correspondiente). Es decir, ahora establezca a i ← lb o, de manera equivalente, realice la sustitución x ← x + lb , que toma aproximadamente el mismo tiempo que la sustitución x ← x + 1.
Finalmente, dado que el límite inferior positivo ideal de la raíz no existe, Strzeboński [15] introdujo en 2005 la sustitución , siempre que ; en general y el valor 16 se determinó experimentalmente. Además, se ha demostrado [15] que el método VAS ( fracciones continuas ) es más rápido que la implementación más rápida del método VCA (bisección), [16] hecho que fue confirmado [17] de forma independiente; más precisamente, para los polinomios de Mignotte de alto grado, VAS es aproximadamente 50.000 veces más rápido que la implementación más rápida de VCA.
En 2007, Sharma [18] eliminó la hipótesis del límite inferior positivo ideal y demostró que VAS sigue siendo polinomio en el tiempo.
VAS es el algoritmo predeterminado para el aislamiento de raíces en Mathematica , SageMath , SymPy , Xcas .
Para una comparación entre el método de Sturm y VAS, utilice las funciones realroot(poly) y time(realroot(poly)) de Xcas . De forma predeterminada, para aislar las raíces reales de poli realroot se utiliza el método VAS; para utilizar el método de Sturm escriba realroot(sturm, poli). Consulte también los enlaces externos para ver una aplicación de A. Berkakis para dispositivos Android que hace lo mismo.
Así es como funciona VAS( p , M ), donde por simplicidad no se incluye la contribución de Strzeboński:
A continuación se muestra una presentación recursiva de VAS( p , M ).
EVA ( p , M ):
Entrada : un polinomio univariado, sin cuadrados , de grado grados ( p ) y la transformación de Möbius
Salida : una lista de intervalos de aislamiento de las raíces positivas de p ( x ).
1 var ← el número de variaciones de signos de p ( x ) // regla de signos de Descartes ;2 si var = 0 entonces RETORNO ∅;3 si var = 1 entonces RETORNO {( a , b )} // a = min( M (0), M (∞)), b = max( M (0), M (∞)), pero si b = ∞ establecer b = ub , donde ub es un límite superior de los valores de las raíces positivas de p ( x );4 lb ← el límite inferior ideal de las raíces positivas de p ( x );5 si lb ≥ 1 entonces p ← p ( x + lb ), M ← M ( x + lb );6 p 01 ← ( x + 1 ) grado( p ) p (1/x + 1), M 01 ← M (1/x + 1) // Busca raíces reales en (0, 1);7 m ← M (1) // ¿Es 1 una raíz?8 p 1∞ ← p ( x + 1), M 1∞ ← M ( x + 1) // Busca raíces reales en (1, ∞);9 si p (1) ≠ 0 entonces 10 RETORNO VAS( p 01 , M 01 ) ∪ VAS( p 1∞ , M 1∞ )11 else 12 REGRESO VAS( p 01 , M 01 ) ∪ {[ m , m ]} ∪ VAS( p 1∞ , M 1∞ )13 fin
Observaciones
Aplicamos el método VAS a p ( x ) = x 3 − 7 x + 7 (tenga en cuenta que: M ( x ) = x ).
EVA( x 3 − 7 x + 7, x )1 var ← 2 // el número de variaciones de signo en la secuencia de coeficientes de p ( x ) = x 3 − 7 x + 74 lb ← 1 // el límite inferior ideal: encontrado usando lb calculado y sustituciones x ← x + 15 p ← x 3 + 3 x 2 − 4 x + 1, M ← x + 16 p 01 ← x 3 − x 2 − 2 x + 1, METRO 01 ←x + 2/x + 17 metros ← 18 p 1∞ ← x 3 + 6 x 2 + 5 x + 1, M 1∞ ← x + 210 VAS DE RETORNO ( x 3 − x 2 − 2 x + 1,x + 2/x + 1) ∪ EVA( x 3 + 6 x 2 + 5 x + 1, x + 2)
Lista de intervalos de aislamiento: { }.
Lista de pares { p , M } a procesar:
Retire el primero y procese.
EVA( x 3 − x 2 − 2 x + 1,x + 2/x + 1)1 var ← 2 // el número de variaciones de signo en la secuencia de coeficientes de p ( x ) = x 3 − x 2 − 2 x + 14 lb ← 0 // el límite inferior ideal: encontrado usando lb calculado y sustitución(es) x ← x + 16 pags 01 ← x 3 + x 2 − 2 x − 1, METRO 01 ←2 x + 3/x + 17 metros ←3/28 p 1∞ ← x 3 + 2 x 2 − x − 1, M 1∞ ←x + 3/x + 210 VAS DE RETORNO ( x 3 + x 2 − 2 x − 1,2 x + 3/x + 2) ∪ VAS( x 3 + 2 x 2 − x − 1,x + 3/x + 2)
Lista de intervalos de aislamiento: { }.
Lista de pares { p , M } a procesar:
Retire el primero y procese.
EVA( x 3 + x 2 − 2 x − 1,2 x + 3/x + 2)1 var ← 1 // el número de variaciones de signo en la secuencia de coeficientes de p ( x ) = x 3 + x 2 − 2 x − 13 VOLVER {(3/2, 2)}
Lista de intervalos de aislamiento: {(3/2, 2)}.
Lista de pares { p , M } a procesar:
Retire el primero y procese.
EVA( x 3 + 2 x 2 − x − 1,x + 3/x + 2)1 var ← 1 // el número de variaciones de signo en la secuencia de coeficientes de p ( x ) = x 3 + 2 x 2 − x − 13 VOLVER {(1,3/2)}
Lista de intervalos de aislamiento: {(1,3/2), (3/2, 2)}.
Lista de pares { p , M } a procesar:
Retire el primero y procese.
EVA( x 3 + 6 x 2 + 5 x + 1, x + 2)1 var ← 0 // el número de variaciones de signo en la secuencia de coeficientes de p ( x ) = x 3 + 6 x 2 + 5 x + 12 RETORNO ∅
Lista de intervalos de aislamiento: {(1,3/2), (3/2, 2)}.
Lista de pares { p , M } a procesar: ∅ .
Finalizado.
Por lo tanto, las dos raíces positivas del polinomio p ( x ) = x 3 − 7 x + 7 se encuentran dentro de los intervalos de aislamiento (1,3/2) y (3/2, 2) }. Cada raíz se puede aproximar (por ejemplo) dividiendo en dos el intervalo de aislamiento en el que se encuentra hasta que la diferencia de los puntos finales sea menor que 10 −6 ; Siguiendo este enfoque, las raíces resultan ser ρ 1 = 1,3569 y ρ 2 = 1,69202 .
Existen varios métodos de bisección derivados del teorema de Vincent; Todos ellos se presentan y comparan en otros lugares. [19] Aquí se describen los dos más importantes, a saber, el método Vincent-Collins-Akritas (VCA) y el método Vincent-Alesina-Galuzzi (VAG).
El método Vincent-Alesina-Galuzzi (VAG) es el más simple de todos los métodos derivados del teorema de Vincent, pero tiene la prueba que requiere más tiempo (en la línea 1) para determinar si un polinomio tiene raíces en el intervalo de interés; esto lo convierte en el más lento de los métodos presentados en este artículo.
Por el contrario, el método Vincent-Collins-Akritas (VCA) es más complejo pero utiliza una prueba más sencilla (en la línea 1) que el VAG. Esto, junto con ciertas mejoras [16], ha convertido al VCA en el método de bisección más rápido.
Este fue el primer método desarrollado para superar la naturaleza exponencial del enfoque original de Vincent y ha tenido una historia bastante interesante en lo que respecta a su nombre. Este método, que aísla las raíces reales, utilizando la regla de los signos de Descartes y el teorema de Vincent, sus inventores Collins y Akritas lo habían denominado originalmente algoritmo de Uspensky modificado . [11] Después de pasar por nombres como "método Collins-Akritas" y "método de Descartes" (demasiado confuso si se considera el artículo de Fourier [20] ), finalmente fue François Boulier, de la Universidad de Lille, quien le dio el nombre de Vincent– Método Collins-Akritas (VCA), [14] pág. 24, basándose en que “el método de Uspensky” no existe [21] y tampoco el “método de Descartes”. [22] La mejor implementación de este método se debe a Rouillier y Zimmerman, [16] y hasta la fecha, es el método de bisección más rápido. Tiene la misma complejidad en el peor de los casos que el algoritmo de Sturm, pero casi siempre es mucho más rápido. Se ha implementado en el paquete RootFinding de Maple .
Así es como funciona VCA( p , ( a , b )):
A continuación se muestra una presentación recursiva del algoritmo original VCA( p , ( a , b )).
AVC ( p , ( a , b ))
Entrada : Un polinomio univariante, libre de cuadrados p ( ub * x ) ∈ Z [ x ], p (0) ≠ 0 de grado deg( p ), y el intervalo abierto ( a , b ) = (0, ub ), donde ub es un límite superior de los valores de las raíces positivas de p ( x ). (Las raíces positivas de p ( ub * x ) están todas en el intervalo abierto (0, 1)).
Salida : una lista de intervalos de aislamiento de las raíces positivas de p ( x )
1 var ← el número de variaciones de signo de ( x + 1 ) grados ( p ) p (1/x + 1) // " Prueba de raíces 0_1 " de Budan ;2 si var = 0 entonces RETORNO ∅;3 si var = 1 entonces RETORNO {( a , b )};4 p 01/2← 2 grados( p ) p (X/2) // Busca raíces reales en (0,1/2);5 metros ←1/2( a + b ) // es1/2¿una raíz?6p1/21 ← 2 grados( p ) p (x + 1/2) // Busca raíces reales en (1/2, 1);7 si p (1/2) ≠ 0 luego 8 RETORNO VCA ( p 01/2, ( a , m )) ∪ VCA ( p1/21 , ( metro , segundo ))9 más 10 DEVOLVER VCA ( p 01/2, ( a , m )) ∪ {[ m , m ]} ∪ VCA ( p1/21 , ( metro , segundo ))11 fin
Observación
Dado el polinomio p orig ( x ) = x 3 − 7 x + 7 y considerando como cota superior [12] [13] sobre los valores de las raíces positivas ub = 4 los argumentos del método VCA son: p ( x ) = 64 x 3 − 28 x + 7 y ( a , b ) = (0, 4) .
1 var ← 2 // el número de variaciones de signo en la secuencia de coeficientes de ( x + 1) 3 p (1/x + 1) = 7 x 3 − 7 x 2 − 35 x + 434 p 01/2← 64 x 3 − 112 x + 565 metros ← 26p1/21 ← 64 x 3 + 192 x 2 + 80 x + 87 p (1/2) = 18 RETORNO VCA(64 x 3 − 112 x + 56, (0, 2)) ∪ VCA(64 x 3 + 192 x 2 + 80 x + 8, (2, 4))
Lista de intervalos de aislamiento: { }.
Lista de pares { p , I } a procesar:
Retire el primero y procese.
VCA(64 x 3 − 112 x + 56, (0, 2))1 var ← 2 // el número de variaciones de signo en la secuencia de coeficientes de ( x + 1) 3 p (1/x + 1) = 56 x 3 + 56 x 2 - 56 x + 84 p 01/2← 64 x 3 − 448 x + 4485 metros ← 16p1/21 ← 64 x 3 + 192 x 2 − 256 x + 647 p (1/2) = 88 RETORNO VCA(64 x 3 − 448 x + 448, (0, 1)) ∪ VCA(64 x 3 + 192 x 2 − 256 x + 64, (1, 2))
Lista de intervalos de aislamiento: { }.
Lista de pares { p , I } a procesar:
Retire el primero y procese.
VCA(64 x 3 − 448 x + 448, (0, 1))1 var ← 0 // el número de variaciones de signo en la secuencia de coeficientes de ( x + 1) 3 p (1/x + 1) = 448 x 3 + 896 x 2 + 448 x + 642 RETORNO ∅
Lista de intervalos de aislamiento: { }.
Lista de pares { p , I } a procesar:
Retire el primero y procese.
VCA(64 x 3 + 192 x 2 − 256 x + 64, (1, 2))1 var ← 2 // el número de variaciones de signo en la secuencia de coeficientes de ( x + 1) 3 p (1/x + 1) = 64 x 3 − 64 x 2 − 128 x + 644 p 01/2← 64x3 + 384x2 − 1024x + 5125 metros ←3/26p1/21 ← 64 x 3 + 576 x 2 − 64 x + 647 p (1/2) = −88 RETORNO VCA(64 x 3 + 384 x 2 − 1024 x + 512, (1,3/2)) ∪ VCA(64 x 3 + 576 x 2 − 64 x − 64, (3/2, 2))
Lista de intervalos de aislamiento: { }.
Lista de pares { p , I } a procesar:
Retire el primero y procese.
VCA(64 x 3 + 384 x 2 − 1024 x + 512, (1,3/2))1 var ← 1 // el número de variaciones de signo en la secuencia de coeficientes de ( x + 1) 3 p (1/x + 1) = 512 x 3 + 512 x 2 − 128 x − 643 VOLVER {(1,3/2)}
Lista de intervalos de aislamiento: {(1,3/2)}.
Lista de pares { p , I } a procesar:
Retire el primero y procese.
VCA(64 x 3 + 576 x 2 − 64 x − 64, (3/2, 2))
1 var ← 1 // el número de variaciones de signo en la secuencia de coeficientes de ( x + 1) 3 p (1/x + 1) = −64 x 3 − 256 x 2 + 256 x + 5123 VOLVER {(3/2, 2)}
Lista de intervalos de aislamiento: {(1,3/2), (3/2, 2)}.
Lista de pares { p , I } a procesar:
Retire el primero y procese.
VCA(64 x 3 + 192 x 2 + 80 x + 8, (2, 4))1 var ← 0 // el número de variaciones de signo en la secuencia de coeficientes de ( x + 1) 3 p (1/x + 1) = 8 x 3 + 104 x 2 + 376 x + 3442 RETORNO ∅
Lista de intervalos de aislamiento: {(1,3/2), (3/2, 2)}.
Lista de pares { p , I } a procesar: ∅ .
Finalizado.
Por lo tanto, las dos raíces positivas del polinomio p ( x ) = x 3 − 7 x + 7 se encuentran dentro de los intervalos de aislamiento (1,3/2) y (3/2, 2) }. Cada raíz se puede aproximar (por ejemplo) dividiendo en dos el intervalo de aislamiento en el que se encuentra hasta que la diferencia de los puntos finales sea menor que 10 −6 ; Siguiendo este enfoque, las raíces resultan ser ρ 1 = 1,3569 y ρ 2 = 1,69202 .
Este fue desarrollado en último lugar y es el método de aislamiento de raíces reales más simple derivado del teorema de Vincent.
Así es como funciona VAG( p , ( a , b )):
A continuación se muestra una presentación recursiva de VAG( p , ( a , b )).
VAG ( p , ( a , b ))
Entrada : Un polinomio univariado sin cuadrados p ( x ) ∈ Z [ x ], p (0) ≠ 0 de grado deg( p ) y el intervalo abierto ( a , b ) = (0, ub ), donde ub es un límite superior de los valores de las raíces positivas de p ( x ).
Salida : una lista de intervalos de aislamiento de las raíces positivas de p ( x ).
1 var ← el número de variaciones de signo de ( x + 1 ) grados ( p ) p (a + bx/1+ x) // La "prueba de raíces a_b" de Alesina-Galuzzi;2 si var = 0 entonces RETORNO ∅;3 si var = 1 entonces RETORNO {( a , b )};4 metros ←1/2( a + b ) // Subdivide el intervalo ( a , b ) en dos partes iguales;5 si p ( m ) ≠ 0 entonces 6 REGRESAR VAG( p , ( a , m )) ∪ VAG( p , ( m , b ))7 más 8 REGRESAR VAG( p , ( a , m )) ∪ {[ m , m ]} ∪ VAG( p , ( m , b ))9 final
Observaciones
Dado el polinomio p ( x ) = x 3 − 7 x + 7 y considerando como cota superior [12] [13] sobre los valores de las raíces positivas ub = 4 los argumentos de VAG son: p ( x ) = x 3 − 7 x + 7 y ( a , b ) = (0, 4).
1 var ← 2 // el número de variaciones de signo en la secuencia de coeficientes de ( x + 1) 3 p (4x/x + 1) = 43 x 3 − 35 x 2 − 7 x + 74 metros ←1/2(0 + 4) = 25 pags ( m ) = 18 VOLVER VAG( x 3 − 7 x + 7, (0, 2)) ∪ VAG( x 3 − 7 x + 7, (2, 4)
Lista de intervalos de aislamiento: {}.
Lista de intervalos a procesar: {(0, 2), (2, 4)}.
Retire el primero y procese.
VAG( x 3 − 7 x + 7, (0, 2))1 var ← 2 // el número de variaciones de signo en la secuencia de coeficientes de ( x + 1) 3 p (2x/x + 1) = x 3 − 7 x 2 + 7 x + 74 metros ←1/2(0 + 2) = 15 pags ( m ) = 18 VOLVER VAG( x 3 − 7 x + 7, (0, 1)) ∪ VAG( x 3 − 7 x + 7, (1, 2)
Lista de intervalos de aislamiento: {}.
Lista de intervalos a procesar: {(0, 1), (1, 2), (2, 4)}.
Retire el primero y procese.
VAG( x 3 − 7 x + 7, (0, 1))1 var ← 0 // el número de variaciones de signo en la secuencia de coeficientes de ( x + 1) 3 p (X/x + 1) = x 3 + 7 x 2 + 14 x + 72 RETORNO ∅
Lista de intervalos de aislamiento: {}.
Lista de intervalos a procesar: {(1, 2), (2, 4)}.
Retire el primero y procese.
VAG( x 3 − 7 x + 7, (1, 2))1 var ← 2 // el número de variaciones de signo en la secuencia de coeficientes de ( x + 1) 3 p (2x + 1/x + 1) = x 3 - 2 x 2 - x + 14 metros ←1/2(1 + 2) =3/25 pags ( metro ) = -1/88 RETORNO VAG( x 3 − 7 x + 7, (1,3/2)) ∪ VAG( x 3 − 7 x + 7, (3/2, 2))
Lista de intervalos de aislamiento: {}.
Lista de intervalos a procesar: {(1,3/2), (3/2, 2), (2, 4)}.
Retire el primero y procese.
VAG( x 3 − 7 x + 7, (1,3/2))1 var ← 1 // el número de variaciones de signo en la secuencia de coeficientes de 2 3 ( x + 1) 3 p (3/2x + 1/x + 1) = x 3 + 2 x 2 - 8 x - 83 RETORNO (1,3/2)
Lista de intervalos de aislamiento: {(1,3/2)}.
Lista de intervalos a procesar: {(3/2, 2), (2, 4)}.
Retire el primero y procese.
VAG( x 3 − 7 x + 7, (3/2, 2))1 var ← 1 // el número de variaciones de signo en la secuencia de coeficientes de 2 3 ( x + 1) 3 p (2 veces +3/2/x + 1) = 8 x 3 + 4 x 2 - 4 x - 13 VOLVER (3/2, 2)
Lista de intervalos de aislamiento: {(1,3/2), (3/2, 2)}.
Lista de intervalos a procesar: {(2, 4)}.
Retire el primero y procese.
VAG( x 3 − 7 x + 7, (2, 4))1 var ← 0 // el número de variaciones de signo en la secuencia de coeficientes de ( x + 1) 3 p (4 x + 2/x + 1) = 344x3 + 376x2 + 104x + 82 RETORNO ∅
Lista de intervalos de aislamiento: {(1,3/2), (3/2, 2)}.
Lista de intervalos a procesar: ∅.
Finalizado.
Por lo tanto, las dos raíces positivas del polinomio p ( x ) = x 3 − 7 x + 7 se encuentran dentro de los intervalos de aislamiento (1,3/2) y (3/2, 2) }. Cada raíz se puede aproximar (por ejemplo) dividiendo en dos el intervalo de aislamiento en el que se encuentra hasta que la diferencia de los puntos finales sea menor que 10 −6 ; Siguiendo este enfoque, las raíces resultan ser ρ 1 = 1,3569 y ρ 2 = 1,69202 .
{{cite book}}
: CS1 maint: multiple names: authors list (link){{cite journal}}
: CS1 maint: multiple names: authors list (link)