Articulo de referencia

Factorización de polinomios

En matemáticas y álgebra computacional , la factorización de polinomios expresa un polinomio con coeficientes en un dominio dado o en los números enteros como el producto de fac...

En matemáticas y álgebra computacional , la factorización de polinomios expresa un polinomio con coeficientes en un dominio dado o en los números enteros como el producto de factores irreducibles con coeficientes en el mismo dominio. La factorización de polinomios es uno de los componentes fundamentales de los sistemas de álgebra computacional .

El primer algoritmo de factorización de polinomios fue publicado por Theodor von Schubert en 1793. [ 1 ] Leopold Kronecker redescubrió el algoritmo de Schubert en 1882 y lo extendió a polinomios y coeficientes multivariados en una extensión algebraica . Pero la mayor parte del conocimiento sobre este tema no es anterior a 1965 y a los primeros sistemas de álgebra computacional: [ 2 ]

Cuando los algoritmos de paso finito, conocidos desde hace tiempo, se implementaron por primera vez en computadoras, resultaron ser muy ineficientes. El hecho de que casi cualquier polinomio univariado o multivariado de grado hasta 100 y con coeficientes de tamaño moderado (hasta 100 bits) pueda factorizarse mediante algoritmos modernos en pocos minutos de tiempo de computación demuestra el éxito con el que se ha abordado este problema durante los últimos quince años. (Erich Kaltofen, 1982)

Los algoritmos y las computadoras modernas pueden factorizar rápidamente polinomios univariados de grado superior a 1000 con coeficientes de miles de dígitos. [ 3 ] Para este propósito, incluso para factorizar sobre los números racionales y los cuerpos numéricos , un paso fundamental es la factorización de un polinomio sobre un cuerpo finito .

Formulación de la pregunta

Los anillos de polinomios sobre los números enteros o sobre un cuerpo son dominios de factorización únicos . Esto significa que cada elemento de estos anillos es producto de una constante y un producto de polinomios irreducibles (aquellos que no son producto de dos polinomios no constantes). Además, esta descomposición es única salvo por la multiplicación de los factores por constantes invertibles.

La factorización depende del cuerpo base. Por ejemplo, el teorema fundamental del álgebra , que establece que todo polinomio con coeficientes complejos tiene raíces complejas, implica que un polinomio con coeficientes enteros puede factorizarse (con algoritmos de búsqueda de raíces ) en factores lineales sobre el cuerpo complejo C. De manera similar, sobre el cuerpo de los números reales , los factores irreducibles tienen grado como máximo dos, mientras que existen polinomios de cualquier grado que son irreducibles sobre el cuerpo de los números racionales Q.

La cuestión de la factorización de polinomios solo tiene sentido para coeficientes en un campo computable cuyos elementos pueden representarse en una computadora y para el cual existen algoritmos para las operaciones aritméticas. Sin embargo, esta no es una condición suficiente: Fröhlich y Shepherdson dan ejemplos de campos para los cuales no puede existir ningún algoritmo de factorización. [ 4 ]

Los campos de coeficientes para los que se conocen algoritmos de factorización incluyen los campos primos (es decir, el campo de los números racionales y los campos de los enteros módulo un número primo ) y sus extensiones de campo finitamente generadas . Los coeficientes enteros también son tratables. El método clásico de Kronecker es interesante solo desde un punto de vista histórico; los algoritmos modernos proceden mediante una sucesión de:

  • factorización sin cuadrados
  • Factorización sobre cuerpos finitos

y reducciones:

Factorización de contenido de partes primitivas

En esta sección, demostramos que factorizar sobre Q (los números racionales) y sobre Z (los números enteros) es esencialmente el mismo problema.

El contenido de un polinomio pZ [ X ], denotado "cont( p )", es, salvo por su signo, el máximo común divisor de sus coeficientes. La parte primitiva de p es primpart( p )  = p /cont( p ), que es un polinomio primitivo con coeficientes enteros. Esto define una factorización de p en el producto de un entero y un polinomio primitivo. Esta factorización es única salvo por el signo del contenido. Es convención habitual elegir el signo del contenido de tal manera que el coeficiente principal de la parte primitiva sea positivo. 

Por ejemplo,

10incógnita2+5incógnita+5=(5)(2incógnita2incógnita1){\displaystyle -10x^{2}+5x+5=(-5)(2x^{2}-x-1)\,}

es una factorización en contenido y parte primitiva.

Todo polinomio q con coeficientes racionales puede escribirse

q=pagdo,{\displaystyle q={\frac {p}{c}},}

donde pZ [ X ] y cZ : basta con tomar para c un múltiplo de todos los denominadores de los coeficientes de q (por ejemplo, su producto) y p = cq . El contenido de q se define como:

continuación(q)=continuación(pag)do,{\displaystyle {\text{cont}}(q)={\frac {{\text{cont}}(p)}{c}},}

y la parte primitiva de q es la de p . En cuanto a los polinomios con coeficientes enteros, esto define una factorización en un número racional y un polinomio primitivo con coeficientes enteros. Esta factorización es única, salvo por la elección del signo.

Por ejemplo,

incógnita53+7incógnita22+2incógnita+1=2incógnita5+21incógnita2+12incógnita+66{\displaystyle {\frac {x^{5}}{3}}+{\frac {7x^{2}}{2}}+2x+1={\frac {2x^{5}+21x^{2}+12x+6}{6}}}

es una factorización en contenido y parte primitiva.

Gauss demostró que el producto de dos polinomios primitivos también es primitivo ( lema de Gauss ). Esto implica que un polinomio primitivo es irreducible sobre los racionales si y solo si es irreducible sobre los enteros. Esto también implica que la factorización sobre los racionales de un polinomio con coeficientes racionales es la misma que la factorización sobre los enteros de su parte primitiva. De manera similar, la factorización sobre los enteros de un polinomio con coeficientes enteros es el producto de la factorización de su parte primitiva por la factorización de su contenido.

En otras palabras, el cálculo del máximo común divisor (MCD) de un número entero reduce la factorización de un polinomio sobre los racionales a la factorización de un polinomio primitivo con coeficientes enteros, y la factorización sobre los enteros a la factorización de un número entero y un polinomio primitivo.

Todo lo anterior sigue siendo cierto si se reemplaza Z por un anillo de polinomios sobre un cuerpo F y Q por un cuerpo de funciones racionales sobre F en las mismas variables, con la única diferencia de que "salvo un signo" debe reemplazarse por " salvo la multiplicación por una constante invertible en F ". Esto reduce la factorización sobre una extensión de cuerpo puramente trascendental de F a la factorización de polinomios multivariados sobre F.

factorización sin cuadrados

Si dos o más factores de un polinomio son idénticos, entonces el polinomio es un múltiplo del cuadrado de dicho factor. El factor múltiplo también es un factor de la derivada del polinomio (con respecto a cualquiera de las variables, si las hay).

Para polinomios univariados, los factores múltiples equivalen a raíces múltiples (sobre un cuerpo de extensión adecuado). Para polinomios univariados sobre los racionales (o, más generalmente, sobre un cuerpo de característica cero), el algoritmo de Yun aprovecha esto para factorizar eficientemente el polinomio en factores libres de cuadrados, es decir, factores que no son múltiplos de un cuadrado, realizando una secuencia de cálculos de MCD que comienza con mcd( f ( x ), f '( x ) ). Para factorizar el polinomio inicial, basta con factorizar cada factor libre de cuadrados. Por lo tanto, la factorización libre de cuadrados es el primer paso en la mayoría de los algoritmos de factorización de polinomios.

El algoritmo de Yun extiende esto al caso multivariado al considerar un polinomio multivariado como un polinomio univariado sobre un anillo de polinomios.

En el caso de un polinomio sobre un cuerpo finito, el algoritmo de Yun solo se aplica si el grado es menor que la característica, ya que, de lo contrario, la derivada de un polinomio no nulo puede ser cero (sobre el cuerpo con p elementos, la derivada de un polinomio en x p siempre es cero). Sin embargo, una sucesión de cálculos del MCD, partiendo del polinomio y su derivada, permite calcular la descomposición libre de cuadrados; véase Factorización de polinomios sobre cuerpos finitos#Factorización libre de cuadrados .

Métodos clásicos

Esta sección describe métodos convencionales que pueden resultar útiles al realizar cálculos a mano. Estos métodos no se utilizan en cálculos computacionales porque emplean la factorización de enteros , que actualmente es más lenta que la factorización de polinomios.

Los dos métodos que se describen a continuación parten de un polinomio univariado con coeficientes enteros para encontrar factores que también sean polinomios con coeficientes enteros.

Obtención de factores lineales

Todos los factores lineales con coeficientes racionales se pueden encontrar utilizando la prueba de la raíz racional . Si el polinomio a factorizar esanorteincógnitanorte+anorte1incógnitanorte1++a1incógnita+a0{\displaystyle a_{n}x^{n}+a_{n-1}x^{n-1}+\cdots +a_{1}x+a_{0}}, entonces todos los posibles factores lineales son de la formab1incógnitab0{\displaystyle b_{1}x-b_{0}}, dóndeb1{\displaystyle b_{1}}es un factor entero deanorte{\displaystyle a_{n}}yb0{\displaystyle b_{0}}es un factor entero dea0{\displaystyle a_{0}}Se pueden probar todas las combinaciones posibles de factores enteros, y cada una válida se puede factorizar mediante la división larga de polinomios . Si el polinomio original es producto de factores de los cuales al menos dos son de grado 2 o superior, esta técnica solo proporciona una factorización parcial; de lo contrario, la factorización es completa. En particular, si hay exactamente un factor no lineal, será el polinomio que queda después de factorizar todos los factores lineales. En el caso de un polinomio cúbico , si el cúbico es factorizable, la prueba de la raíz racional proporciona una factorización completa, ya sea en un factor lineal y un factor cuadrático irreducible, o en tres factores lineales.

Método de Kronecker

El método de Kronecker tiene como objetivo factorizar polinomios univariados con coeficientes enteros en polinomios con coeficientes enteros.

El método utiliza el hecho de que evaluar polinomios enteros en valores enteros debe producir números enteros. Es decir, siF(incógnita){\displaystyle f(x)}es un polinomio con coeficientes enteros, entoncesF(a){\displaystyle f(a)}es un número entero tan pronto como a sea un número entero. Solo hay un número finito de posibles valores enteros para un factor de a . Entonces, sigramo(incógnita){\displaystyle g(x)}es un factor deF(incógnita),{\displaystyle f(x),}el valor degramo(a){\displaystyle g(a)}debe ser uno de los factores deF(a).{\displaystyle f(a).}

Si uno busca todos los factores de un grado dado d , puede considerard+1{\displaystyle d+1}valores,a0,,ad{\displaystyle a_{0},\ldots ,a_{d}}para a , que dan un número finito de posibilidades para la tupla(F(a0),,F(ad)).{\displaystyle (f(a_{0}),\ldots ,f(a_{d})).}CadaF(ai){\displaystyle f(a_{i})}tiene un número finito de divisoresbi,0,,bi,ki{\displaystyle b_{i,0},\ldots ,b_{i,k_{i}}}y, cada uno(d+1){\displaystyle (d+1)}-tupla donde eliel{\displaystyle i^{\text{th}}}la entrada es un divisor deF(ai){\displaystyle f(a_{i})}, es decir, una tupla de la forma(b0,j1,,bd,jd){\displaystyle (b_{0,j_{1}},\ldots ,b_{d,j_{d}})}, produce un polinomio único de grado como máximod{\displaystyle d}, que se puede calcular mediante interpolación polinómica . Cada uno de estos polinomios se puede comprobar para determinar si es un factor mediante división polinómica . Dado que había un número finito deai{\displaystyle a_{i}}y cada unoF(ai){\displaystyle f(a_{i})}tiene un número finito de divisores, hay un número finito de tales tuplas. Por lo tanto, una búsqueda exhaustiva permite encontrar todos los factores de grado como máximo d .

Por ejemplo, considere

F(incógnita)=incógnita5+incógnita4+incógnita2+incógnita+2{\displaystyle f(x)=x^{5}+x^{4}+x^{2}+x+2}.

Si este polinomio se factoriza sobre Z , entonces al menos uno de sus factorespag(incógnita){\displaystyle p(x)}debe ser de grado dos o inferior, por lo tantopag(incógnita){\displaystyle p(x)}está determinado de forma única por tres valores . Por lo tanto, calculamos tres valores.F(0)=2{\displaystyle f(0)=2},F(1)=6{\displaystyle f(1)=6}yF(1)=2{\displaystyle f(-1)=2}. Si uno de estos valores es 0, tenemos un factor lineal. Si los valores son distintos de cero, podemos enumerar las posibles factorizaciones para cada uno. Ahora bien, 2 solo puede factorizarse como

1×2, 2×1, (−1)×(−2), o (−2)×(−1).

Por lo tanto, si existe un factor polinómico entero de segundo grado, debe tomar uno de los valores

p (0) = 1, 2, −1 o −2

y lo mismo para p (−1). Hay ocho factorizaciones de 6 (cuatro para 1×6 y cuatro para 2×3), lo que da un total de 4×4×8 = 128 posibles tríos ( p (0), p (1), p (−1)), de los cuales la mitad se puede descartar como los negativos de la otra mitad. Por lo tanto, debemos comprobar 64 polinomios enteros explícitos.pag(incógnita)=aincógnita2+bincógnita+do{\displaystyle p(x)=ax^{2}+bx+c}como posibles factores deF(incógnita){\displaystyle f(x)}. Probarlos exhaustivamente revela que

pag(incógnita)=incógnita2+incógnita+1{\displaystyle p(x)=x^{2}+x+1}

construido a partir de ( g (0), g (1), g (−1)) = (1,3,1) factoresF(incógnita){\displaystyle f(x)}.

Dividiendo f ( x ) entre p ( x ) se obtiene el otro factor.q(incógnita)=incógnita3incógnita+2{\displaystyle q(x)=x^{3}-x+2}, de modo queF(incógnita)=pag(incógnita)q(incógnita){\displaystyle f(x)=p(x)q(x)}Ahora se puede probar recursivamente para encontrar factores de p ( x ) y q ( x ), en este caso usando la prueba de la raíz racional. Resulta que ambos son irreducibles, por lo que la factorización irreducible de f ( x ) es: [ 5 ]

F(incógnita)=pag(incógnita)q(incógnita)=(incógnita2+incógnita+1)(incógnita3incógnita+2).{\displaystyle f(x)=p(x)q(x)=(x^{2}+x+1)(x^{3}-x+2).}

Métodos modernos

Factorización sobre campos finitos

Factorización de polinomios univariados sobre los números enteros

SiF(incógnita){\displaystyle f(x)}es un polinomio univariado sobre los enteros, que se supone libre de contenido y libre de cuadrados , se comienza calculando una cotaB{\displaystyle B}de tal manera que cualquier factorgramo(incógnita){\displaystyle g(x)}tiene coeficientes de valor absoluto acotados porB{\displaystyle B}De esta manera, simetro{\displaystyle m}es un número entero mayor que2B{\displaystyle 2B}y sigramo(incógnita){\displaystyle g(x)}se conoce módulometro{\displaystyle m}, entoncesgramo(incógnita){\displaystyle g(x)}puede reconstruirse a partir de su modificación de imagenmetro{\displaystyle m}.

El algoritmo de Zassenhaus procede de la siguiente manera. Primero, elija un número primo.pag{\displaystyle p}de tal manera que la imagen deF(incógnita)modpag{\displaystyle f(x){\bmod {p}}}permanece libre de cuadrados y del mismo grado queF(incógnita){\displaystyle f(x)}Una elección aleatoria casi siempre satisfará estas restricciones, ya que solo un número finito de números primos no las satisfacen, a saber, los divisores primos del producto del discriminante y el coeficiente principal del polinomio. Luego factoriza .F(incógnita)modpag{\displaystyle f(x){\bmod {p}}}Esto produce polinomios enteros.F1(incógnita),,Fr(incógnita){\displaystyle f_{1}(x),\ldots ,f_{r}(x)}cuyo producto coincideF(incógnita)modpag{\displaystyle f(x){\bmod {p}}}. A continuación, aplique el levantamiento de Hensel ; esto actualiza elFi(incógnita){\displaystyle f_{i}(x)}de tal manera que su producto coincidaF(incógnita)modpaga{\displaystyle f(x){\bmod {p}}^{a}}, dóndea{\displaystyle a}es lo suficientemente grande como parapaga{\displaystyle p^{a}}supera2B{\displaystyle 2B}: así cada unoFi(incógnita){\displaystyle f_{i}(x)}corresponde a un polinomio entero bien definido. Módulopaga{\displaystyle p^{a}}, el polinomioF(incógnita){\displaystyle f(x)}tiene2r{\displaystyle 2^{r}}factores (hasta unidades): los productos de todos los subconjuntos de{F1(incógnita),,Fr(incógnita)}modpaga{\displaystyle \{f_{1}(x),\ldots ,f_{r}(x)\}{\bmod {p}}^{a}}. Estos factores módulopaga{\displaystyle p^{a}}no tienen por qué corresponder a los factores "verdaderos" deF(incógnita){\displaystyle f(x)}enZ[incógnita]{\displaystyle \mathbb {Z} [x]}, pero podemos probarlos fácilmente mediante división enZ[incógnita]{\displaystyle \mathbb {Z} [x]}De esta forma, todos los factores verdaderos irreducibles se pueden encontrar comprobando como máximo2r{\displaystyle 2^{r}}casos, reducidos a2r1{\displaystyle 2^{r-1}}casos omitiendo complementos. SiF(incógnita){\displaystyle f(x)}es reducible, el número de casos se reduce aún más eliminando aquellosFi(incógnita){\displaystyle f_{i}(x)}que aparecen en un factor verdadero ya encontrado. El algoritmo de Zassenhaus procesa cada caso (cada subconjunto) rápidamente; sin embargo, en el peor de los casos, considera un número exponencial de casos.

El primer algoritmo de tiempo polinomial para factorizar polinomios racionales fue descubierto por Lenstra, Lenstra y Lovász y es una aplicación del algoritmo de reducción de base reticular (LLL) de Lenstra-Lenstra-Lovász . [ 6 ]

Una versión simplificada del algoritmo de factorización LLL es la siguiente: calcular una raíz compleja (o p -ádica) α del polinomioF(incógnita){\displaystyle f(x)}a alta precisión, luego utilice el algoritmo de reducción de base reticular Lenstra-Lenstra-Lovász para encontrar una relación lineal aproximada entre 1, α , α 2 , α 3 , . . . con coeficientes enteros, que podría ser una relación lineal exacta y un factor polinomial deF(incógnita){\displaystyle f(x)}Se puede determinar un límite de precisión que garantice que este método produzca un factor o una prueba de irreducibilidad. Si bien este método finaliza en tiempo polinomial, no se utiliza en la práctica debido a que la red tiene alta dimensión y entradas muy grandes, lo que ralentiza el cálculo.

La complejidad exponencial en el algoritmo de Zassenhaus proviene de un problema combinatorio: cómo seleccionar los subconjuntos correctos deF1(incógnita),,Fr(incógnita){\displaystyle f_{1}(x),\ldots ,f_{r}(x)}. Las implementaciones de factorización de última generación funcionan de manera similar a Zassenhaus, excepto que el problema combinatorio se traduce a un problema de retículo que luego se resuelve mediante LLL. [ 7 ] En este enfoque, LLL no se utiliza para calcular coeficientes de factores, sino para calcular vectores conr{\displaystyle r}entradas en {0,1} que codifican los subconjuntos deF1(incógnita),,Fr(incógnita){\displaystyle f_{1}(x),\ldots ,f_{r}(x)}correspondientes a los factores verdaderos irreducibles.

Factorización sobre extensiones algebraicas (método de Trager)

Podemos factorizar un polinomiopag(incógnita)K[incógnita]{\displaystyle p(x)\in K[x]}donde el campoK{\displaystyle K}es una extensión finita deQ{\displaystyle \mathbb {Q} }Primero, utilizando la factorización libre de cuadrados , podemos suponer que el polinomio es libre de cuadrados. A continuación, definimos el anillo cociente.L=K[incógnita]/pag(incógnita){\displaystyle L=K[x]/p(x)}de gradonorte=[L:Q]=gradospag(incógnita)[K:Q]{\displaystyle n=[L:\mathbb {Q} ]=\deg p(x)\,[K:\mathbb {Q} ]}; este no es un campo a menos quepag(incógnita){\displaystyle p(x)}es irreducible, pero es un anillo reducido ya quepag(incógnita){\displaystyle p(x)}es libre de cuadrados. De hecho, si

pag(incógnita)=i=1metropagi(incógnita){\displaystyle p(x)=\prod _{i=1}^{m}p_{i}(x)}

es la factorización deseada de p ( x ), el anillo se descompone de forma única en cuerpos como:

L=K[incógnita]/pag(incógnita)i=1metroK[incógnita]/pagi(incógnita).{\displaystyle L=K[x]/p(x)\cong \prod _{i=1}^{m}K[x]/p_{i}(x).}

Encontraremos esta descomposición sin conocer la factorización. Primero, escribimos L explícitamente como un álgebra sobreQ{\displaystyle \mathbb {Q} }: elegimos un elemento aleatorioαL{\displaystyle \alpha \in L}, que generaL{\displaystyle L}encimaQ{\displaystyle \mathbb {Q} }con alta probabilidad por el teorema del elemento primitivo . Si este es el caso, podemos calcular el polinomio mínimo.q(y)Q[y]{\displaystyle q(y)\in \mathbb {Q} [y]}deα{\displaystyle \alpha }encimaQ{\displaystyle \mathbb {Q} }, al encontrar unQ{\displaystyle \mathbb {Q} }-relación lineal entre 1, α , . . . , α n . Usando un algoritmo de factorización para polinomios racionales, factorizamos en irreducibles enQ[y]{\displaystyle \mathbb {Q} [y]}:

q(y)=i=1norteqi(y).{\displaystyle q(y)=\prod _{i=1}^{n}q_{i}(y).}

Así pues, tenemos:

LQ[y]/q(y)i=1norteQ[y]/qi(y),{\displaystyle L\cong \mathbb {Q} [y]/q(y)\cong \prod _{i=1}^{n}\mathbb {Q} [y]/q_{i}(y),}

dóndeα{\displaystyle \alpha }corresponde ay(y,y,,y){\displaystyle y\leftrightarrow (y,y,\ldots ,y)}. Esto debe ser isomorfo a la descomposición anterior deL{\displaystyle L}.

Los generadores de L son x junto con los generadores deK{\displaystyle K}encimaQ{\displaystyle \mathbb {Q} }; escribiendo estos como polinomios enα{\displaystyle \alpha }, podemos determinar las incrustaciones deincógnita{\displaystyle x}yK{\displaystyle K}en cada componenteQ[y]/qi(y)=K[incógnita]/pagi(incógnita){\displaystyle \mathbb {Q} [y]/q_{i}(y)=K[x]/p_{i}(x)}. Al encontrar el polinomio mínimo deincógnita{\displaystyle x}enQ[y]/qi(y){\displaystyle \mathbb {Q} [y]/q_{i}(y)}, calculamospagi(incógnita){\displaystyle p_{i}(x)}y por lo tanto factorpag(incógnita){\displaystyle p(x)}encimaK.{\displaystyle K.}

Polinomios al cuadrado

Factorización de un polinomio al cuadrado en sus raíces cuadradas

En general, la mayoría de los polinomios no tienen raíces cuadradas. Sin embargo, algunas aplicaciones, como la función de los ingenieros eléctricos para obtener los parámetros Y a partir de la impedancia de un punto de excitación de una red de dos puertos, [ 8 ] sí utilizan polinomios al cuadrado que deben factorizarse en dos polinomios idénticos de raíz cuadrada. El siguiente algoritmo factorizará un polinomio al cuadrado,incógnita66incógnita5+17incógnita436incógnita3+52incógnita2+48incógnita+36{\displaystyle {\sqrt {x^{6}-6x^{5}+17x^{4}-36x^{3}+52x^{2}+48x+36}}}, en dos raíces polinómicas idénticas,R=incógnita33incógnita2+4incógnita6{\displaystyle R=X^{3}-3x^{2}+4x-6}, utilizando un ejemplo de Mathematics Stack Exchange . [ 9 ] [ 10 ]

QRR(2Q+R)0incógnita3incógnita6incógnita33incógnita26incógnita59incógnita4incógnita33incógnita24incógnita8incógnita424incógnita3+16incógnita2incógnita33incógnita2+4incógnita612incógnita3+36incógnita248incógnita+36Rincógnita33incógnita24incógnita61incógnita66incógnita517incógnita436incógnita352incógnita248incógnita36incógnita626incógnita517incógnita46incógnita59incógnita438incógnita436incógnita352incógnita28incógnita424incógnita316incógnita2412incógnita336incógnita248incógnita3612incógnita336incógnita248incógnita36{\displaystyle {\begin{aligned}&{\begin{array}{|l|l|l|}\hline Q&R&R(2Q+R)\\\hline \\0&x^{3}&x^{6}\\\hline \\x^{3}&-3x^{2}&6x^{5}-9x^{4}\\\hline \\x^{3}-3x^{2}&4x&8x^{4}-24x^{3}+16x^{2}\\\hline \\x^{3}-3x^{2}+4x&-6&-12x^{3}+36x^{2}-48x+36\\\hline \end{array}}&{\begin{array}{|c|c|c|c|c|c|c|c|}\hline R&x^{3}&&-3x^{2}&&4x&&-6\\\hline 1&x^{6}&-6x^{5}&17x^{4}&-36x^{3}&52x^{2}&48x&36\\&x^{6}&&&&&&\\\hline 2&&-6x^{5}&17x^{4}&&&&\\&&-6x^{5}&9x^{4}&&&&\\\hline 3&&&8x^{4}&-36x^{3}&52x^{2}&&\\&&&8x^{4}&-24x^{3}&16x^{2}&&\\\hline 4&&&&-12x^{3}&36x^{2}&-48x&36\\&&&&-12x^{3}&36x^{2}&-48x&36\\\hline \end{array}}\end{aligned}}}

Pasos:

Paso 1: Calcular la raíz cuadrada del término principal,incógnita6{\displaystyle x^{6}}y colócalo,incógnita3{\displaystyle x^{3}}, en el término principal de la solución R, fila de la solución polinómica en la parte superior, y coloque elincógnita6{\displaystyle x^{6}}término en la fila 1 justo debajo del polinomio que se va a factorizar, como se muestra.

Paso 2: Restar el valor recién colocadoincógnita6{\displaystyle x^{6}}del polinomio que se va a factorizar, y bajar los dos términos siguientes a la fila 2.

Paso 3 : Duplique el estado actual del polinomio R de la solución, luego agregue un nuevo término, Q, de tal manera que R(2Q+R) niegue el término principal de la fila 2, y coloque el negativo de R(2Q+R) en el espacio inferior de la fila 2.

Paso 4: Resta los dos números de la fila 2, coloca los resultados en la fila 3 y baja los dos términos siguientes de la fila 1 a la fila 3.

Paso 5: Repita el proceso para todas las filas y columnas restantes hasta completarlo.

Una vez completado, el polinomio R de la solución aparecerá en la columna R de la tabla de la izquierda y en la fila R de la tabla de la derecha.

Solución general de raíz cuadrada de polinomio

El algoritmo de raíz cuadrada de polinomio descrito anteriormente se puede resumir y generalizar a una sintaxis matemática estándar para extraer raíces cuadradas de polinomios de cualquier tamaño, y se traduce fácilmente a lenguaje informático para realizar cálculos rápidos. Si el término de mayor orden del polinomio al cuadrado no es 1, primero se debe preprocesar el polinomio dividiéndolo por el valor de dicho término, y luego los factores polinómicos extraídos deben procesarse posteriormente multiplicándolos por la raíz cuadrada del mismo valor. El resumen matemático generalizado es:

norte=orden del polinomio cuadrado que se está factorizandometro=orden del polinomio de raíz cuadrada extraído=norte/2S es el polinomio al cuadrado, indexado en potencias de x y normalizado al valor del término de orden más alto de 1.R es el polinomio de raíz cuadrada, indexado en potencias de x, y con el término de orden más alto inicializado en 1.T y D son vectores de longitud n, con todas las entradas inicializadas a 0.i=1metro[(k=i0Dnorteik={Snorteik,si ki1DnorteikTnorteik,si k<i1) ;Rmetroi=Dnortei2 ;Tnortei=Dnortei ;(k=1iTnorteik={RmetrokDnortei,si k<iRmetrokRmetroi,si ki)]{\displaystyle {\begin{aligned}n&={\text{order of the squared polynomial being factored}}\\m&={\text{order of the extracted square root polynomial}}=n/2\\S&{\text{ is the squared polynomial, indexed in powers of x, and normalized to the highest order term value of 1}}\\R&{\text{ is the square root polynomial, indexed in powers of x, and with the highest order term initialized to 1}}\\T&{\text{ and }}D{\text{ are vectors of length n, with all entries initialized to 0}}\\\\&\sum _{i=1}^{m}{{\Bigg [}{\Big (}\sum _{k=i}^{0}}D_{n-i-k}={\begin{cases}S_{n-i-k},&{\text{if }}k\geq i-1\\D_{n-i-k}-T_{n-i-k},&{\text{if }}k<i-1\end{cases}}{\Big )}{\text{ ;}}\quad R_{mi}={\frac {D_{ni}}{2}}{\text{  ;}}\quad T_{ni}=D_{ni}{\text{  ;}}\quad {\Big (}\sum _{k=1}^{i}{T_{nik}={\begin{cases}R_{mk}D_{ni},&{\text{si }}k<i\\R_{mk}R_{mi},&{\text{si }}k\geq i\end{cases}}{\Big )}{\Bigg ]}}\end{aligned}}} .

Tenga en cuenta que una vezRmetroi{\displaystyle R_{m-i}}se ha calculado parai=metro{\displaystyle i=m}, el polinomio R se ha completado y lo siguienteTnortei{\displaystyle T_{n-i}}yTnorteik{\displaystyle T_{n-i-k}}Los cálculos pueden omitirse, ya que los resultados no se utilizan después de ese punto, pero si se ejecutan, los resultados pueden usarse como una verificación de validez para asegurar que el polinomio S sea un polinomio al cuadrado y que el algoritmo se haya ejecutado correctamente, asegurando que los valores finales de los vectores T y D sean idénticos, como se ve en la tabla.

Factorización numérica

La "factorización numérica" ​​se refiere comúnmente a la factorización de polinomios con coeficientes reales o complejos, cuyos coeficientes solo se conocen de forma aproximada, generalmente porque se representan como números de coma flotante .

Para polinomios univariados con coeficientes complejos, la factorización se puede reducir fácilmente al cálculo numérico de las raíces y multiplicidades del polinomio .

En el caso multivariado, una perturbación infinitesimal aleatoria de los coeficientes produce, con probabilidad uno, un polinomio irreducible , incluso partiendo de un polinomio con muchos factores. Por lo tanto, es necesario aclarar con precisión el significado mismo de la factorización numérica .

Dejarpag{\displaystyle p}Sea un polinomio con coeficientes complejos con una factorización irreducible.

pag=αpag1metro1pagkmetrok{\displaystyle p=\alpha p_{1}^{m_{1}}\cdots p_{k}^{m_{k}}}

dóndeαdo{\displaystyle \alpha \in C}y los factorespag1,,pagk{\displaystyle p_{1},\ldots ,p_{k}}son polinomios irreducibles con coeficientes complejos. Supongamos quepag{\displaystyle p}se aproxima mediante un polinomiopag~{\displaystyle {\tilde {p}}}cuyos coeficientes son cercanos a los depag{\displaystyle p}. La factorización exacta depag~{\displaystyle {\tilde {p}}}es inútil, ya que generalmente es irreducible. Hay varias definiciones posibles de lo que se puede llamar una factorización numérica depag~.{\displaystyle {\tilde {p}}.}

Sik{\displaystyle k}ymetroi{\displaystyle m_{i}}Se conocen los , una factorización aproximada consiste en encontrar un polinomio cercano apag~{\displaystyle {\tilde {p}}}que factores como se indicó anteriormente. Si uno no conoce el esquema de factorización, identificarmetro1,,metrok{\displaystyle m_{1},\ldots ,m_{k}}se hace necesario. Por ejemplo, el número de factores irreducibles de un polinomio es la nulidad de su matriz de Ruppert. [ 11 ] Por lo tanto, las multiplicidadesmetro1,,metrok{\displaystyle m_{1},\ldots ,m_{k}}se pueden identificar mediante factorización sin cuadrados a través del cálculo numérico del MCD y la revelación del rango en matrices de Ruppert.

Se han desarrollado e implementado varios algoritmos para la factorización numérica como tema de investigación en curso. [ 12 ] [ 13 ]

Véase también

Bibliografía

  1. ^ FT Schubert: De Inventione Divisorum Nova Acta Academiae Scientiarum Petropolitanae v.11, págs. 172-182 (1793)
  2. Kaltofen (1982)
  3. Un ejemplo de grado 2401, que toma 7,35 segundos, se encuentra en la Sección 4 de: Hart, van Hoeij, Novocin: Practical Polynomial Factoring in Polynomial Time ISSAC'2011 Proceedings, pp. 163–170 (2011).
  4. Fröhlich, A.; Shepherdson, JC (1955). "Sobre la factorización de polinomios en un número finito de pasos" . Mathematische Zeitschrift . 62 (1): 331– 334. doi : 10.1007/bf01180640 . ISSN 0025-5874 . S2CID 119955899 .  
  5. Van der Waerden , secciones 5.4 y 5.6
  6. ^ Lenstra, Alaska ; Lenstra, HW; Lovász, László (1982). "Factorización de polinomios con coeficientes racionales". Annalen Matemáticas . 261 (4): 515– 534. CiteSeerX 10.1.1.310.318 . doi : 10.1007/BF01457454 . ISSN 0025-5831 . SEÑOR 0682664 . S2CID 5701340 .    
  7. M. van Hoeij: Factorización de polinomios y el problema de la mochila. Journal of Number Theory, 95, 167–189, (2002).
  8. Kinayman, Noyan; Aksun, MI (2005). Circuitos modernos de microondas . 685 Canton Street, Norwood, MA, EE. UU.: Artech House. págs. 130–131 , 510. ISBN  1-58053-725-1.{{cite book}}: CS1 mantenimiento: ubicación ( enlace )
  9. Steven Alexis Gregory (https://math.stackexchange.com/users/75410/steven-alexis-gregory), Algoritmo para encontrar la raíz cuadrada de un polinomio..., URL (versión: 2018-07-10): https://math.stackexchange.com/q/1854191
  10. Steven Alexis Gregory (https://math.stackexchange.com/users/75410/steven-alexis-gregory), Cómo hallar la raíz cuadrada de un polinomio, URL (versión: 2021-05-21): https://math.stackexchange.com/q/4146459
  11. Ruppert, W. (1999). "Reducibilidad de polinomios f(x,y)". J. Number Theory . 77 : 62–70 . arXiv : math/9808021 . doi : 10.1006/jnth.1999.2381 . S2CID 14316123 . Shaker, H. (2009). "Topología y factorización de polinomios" . Math. Scand . 104 : 51–59 . arXiv : 0704.3363 . doi : 10.7146/math.scand.a-15084 . S2CID 14121840 . 
  12. Por ejemplo: W. Wu y Z. Zeng (2017). "La factorización numérica de polinomios". Foundations of Computational Mathematics . 17 : 259–286 . arXiv : 2103.04888 . doi : 10.1007/s10208-015-9289-1 . S2CID 254171366 . 
  13. E. Kaltofen, JP May, Z. Yang y L. Zhi (2008). "Factorización aproximada de polinomios multivariados mediante descomposición en valores singulares" . J. Symbolic Comput . 43 (5): 359–376 . doi : 10.1016/j.jsc.2007.11.005 .{{cite journal}}: CS1 maint: varios nombres: lista de autores ( enlace )
  • Fröhlich, A .; Shepherson, JC (1955), "Sobre la factorización de polinomios en un número finito de pasos", Mathematische Zeitschrift , 62 (1): 331– 334, doi : 10.1007/BF01180640 , ISSN 0025-5874 , S2CID 119955899  
  • Trager, BM (1976). «Factorización algebraica e integración de funciones racionales». Actas del tercer simposio de la ACM sobre computación simbólica y algebraica - SYMSAC '76 . págs. 219–226 . doi : 10.1145/800205.806338 . ISBN  9781450377904. S2CID 16567619 . 
  • Bernard Beauzamy, Per Enflo , Paul Wang (octubre de 1994). "Estimaciones cuantitativas para polinomios en una o varias variables: del análisis y la teoría de números a la computación simbólica y masivamente paralela". Mathematics Magazine . 67 (4): 243–257 . doi : 10.2307/2690843 . JSTOR 2690843 . {{cite journal}}: CS1 maint: nombres múltiples: lista de autores ( enlace ) (accesible para lectores con conocimientos de matemáticas de pregrado)
  • Cohen, Henri (1993). Un curso de teoría algebraica computacional de números . Textos de posgrado en matemáticas. Vol.  138. Berlín, Nueva York: Springer-Verlag . ISBN 978-3-540-55640-4MR 1228206 . 
  • Kaltofen, Erich (1982), "Factorización de polinomios", en B. Buchberger; R. Loos; G. Collins (eds.), Álgebra informática , Springer Verlag, págs. 95-113 , CiteSeerX 10.1.1.39.7916  
  • Knuth, Donald E. (1997). «4.6.2 Factorización de polinomios». Algoritmos seminuméricos . El arte de la programación informática . Vol.  2 (Tercera  ed.). Reading, Massachusetts: Addison-Wesley. pp. 439–461 , 678–691 . ISBN  978-0-201-89684-8.
  • Van der Waerden , Álgebra (1970), trad. Blum y Schulenberger, Federico Ungar.

Lecturas adicionales

  • Kaltofen, Erich (1990), "Factorización polinómica 1982-1986", en DV Chudnovsky; RD Jenks (eds.), Computers in Mathematics , Lecture Notes in Pure and Applied Mathematics, vol.  125, Marcel Dekker, Inc., CiteSeerX 10.1.1.68.7461 
  • Kaltofen, Erich (1992), "Factorización polinómica 1987–1991" (PDF) , Actas de Latin '92 , Springer Lect. Notes Comput. Sci., vol.  583, Springer , consultado el 14 de octubre de 2012 .
  • Ivanyos, Gabor; Marek, Karpinski; Saxena, Nitin (2009). «Esquemas para la factorización determinista de polinomios». Actas del simposio internacional de 2009 sobre computación simbólica y algebraica . pp. 191–198 . arXiv : 0804.1974 . doi : 10.1145/1576702.1576730 . ISBN  9781605586090. S2CID 15895636 .