stringtranslate.com

Máximo común divisor de polinomios

En álgebra, el máximo común divisor (abreviado frecuentemente como MCD) de dos polinomios es un polinomio, del grado más alto posible, que es un factor de ambos polinomios originales. Este concepto es análogo al máximo común divisor de dos números enteros.

En el caso importante de polinomios univariados sobre un cuerpo, el MCD polinómico se puede calcular, como en el caso del MCD entero, mediante el algoritmo euclidiano utilizando la división larga . El MCD polinómico se define solo hasta la multiplicación por una constante invertible.

La similitud entre el MCD entero y el MCD polinomial permite extender a los polinomios univariados todas las propiedades que se pueden deducir del algoritmo de Euclides y de la división euclidiana . Además, el MCD polinomial tiene propiedades específicas que lo convierten en una noción fundamental en varias áreas del álgebra. Típicamente, las raíces del MCD de dos polinomios son las raíces comunes de los dos polinomios, y esto proporciona información sobre las raíces sin calcularlas. Por ejemplo, las raíces múltiples de un polinomio son las raíces del MCD del polinomio y su derivada, y cálculos posteriores del MCD permiten calcular la factorización libre de cuadrados del polinomio, que proporciona polinomios cuyas raíces son las raíces de una multiplicidad dada del polinomio original.

El máximo común divisor puede definirse y existe, de manera más general, para polinomios multivariados sobre un cuerpo o el anillo de números enteros, y también sobre un dominio de factorización único . Existen algoritmos para calcularlos tan pronto como se tiene un algoritmo MCD en el anillo de coeficientes. Estos algoritmos proceden por una recursión sobre el número de variables para reducir el problema a una variante del algoritmo euclidiano. Son una herramienta fundamental en el álgebra computacional , porque los sistemas de álgebra computacional los utilizan sistemáticamente para simplificar fracciones. Por el contrario, la mayor parte de la teoría moderna del MCD polinomial se ha desarrollado para satisfacer la necesidad de eficiencia de los sistemas de álgebra computacional.

Definición general

Sean p y q polinomios con coeficientes en un dominio integral F , típicamente un cuerpo de números enteros. Un máximo común divisor de p y q es un polinomio d que divide a p y q , y tal que cada divisor común de p y q también divide a d . Cada par de polinomios (no ambos cero) tiene un MCD si y solo si F es un dominio de factorización único .

Si F es un cuerpo y p y q no son ambos cero, un polinomio d es máximo común divisor si y sólo si divide tanto a p como a q , y tiene el mayor grado entre los polinomios que tienen esta propiedad. Si p = q = 0 , el MCD es 0. Sin embargo, algunos autores consideran que no está definido en este caso.

El máximo común divisor de p y q se suele denotar como " mcd( p , q ) ".

El máximo común divisor no es único: si d es un MCD de p y q , entonces el polinomio f es otro MCD si y solo si hay un elemento invertible u de F tal que y En otras palabras, el MCD es único hasta la multiplicación por una constante invertible.

En el caso de los enteros, esta indeterminación se ha resuelto eligiendo como MCD el único que es positivo (hay otro, que es su opuesto). Con esta convención, el MCD de dos enteros es también el máximo común divisor (para el ordenamiento habitual). Sin embargo, como no hay un orden total natural para polinomios sobre un dominio integral, no se puede proceder de la misma manera aquí. Para polinomios univariados sobre un cuerpo, se puede exigir adicionalmente que el MCD sea mónico (es decir, que tenga 1 como su coeficiente de grado más alto), pero en casos más generales no hay una convención general. Por lo tanto, igualdades como d = mcd( p , q ) o mcd( p , q ) = mcd( r , s ) son abusos comunes de notación que deberían leerse " d es un MCD de p y q " y " p y q tienen el mismo conjunto de MCD que r y s ". En particular, mcd( p , q ) = 1 significa que las constantes invertibles son los únicos divisores comunes. En este caso, por analogía con el caso entero, se dice que p y q sonpolinomios coprimos

Propiedades

Cálculo manual del MCD

Existen varias formas de hallar el máximo común divisor de dos polinomios. Dos de ellas son:

  1. Factorización de polinomios , en la que se encuentran los factores de cada expresión y luego se selecciona el conjunto de factores comunes que tienen todos dentro de cada conjunto de factores. Este método puede ser útil solo en casos simples, ya que la factorización suele ser más difícil que calcular el máximo común divisor.
  2. El algoritmo euclidiano , que se puede utilizar para encontrar el MCD de dos polinomios de la misma manera que para dos números.

Factorización

Para hallar el MCD de dos polinomios mediante factorización, simplemente factorizamos los dos polinomios por completo. Luego, tomamos el producto de todos los factores comunes. En esta etapa, no necesariamente tenemos un polinomio mónico, por lo que finalmente multiplicamos esto por una constante para convertirlo en un polinomio mónico. Este será el MCD de los dos polinomios, ya que incluye todos los divisores comunes y es mónico.

Ejemplo uno: Halla el MCD de x 2 + 7 x + 6 y x 2 − 5 x − 6 .

x2 + 7x + 6 = ( x + 1)( x + 6)
x 2 − 5 x − 6 = ( x + 1)( x − 6)

Por lo tanto, su MCD es x + 1 .

Algoritmo euclidiano

Factorizar polinomios puede ser difícil, especialmente si los polinomios tienen un grado grande. El algoritmo de Euclides es un método que funciona para cualquier par de polinomios. Hace uso repetido de la división euclidiana . Cuando se utiliza este algoritmo en dos números, el tamaño de los números disminuye en cada etapa. Con polinomios, el grado de los polinomios disminuye en cada etapa. El último resto distinto de cero, convertido en mónico si es necesario, es el MCD de los dos polinomios.

Más específicamente, para encontrar el mcd de dos polinomios a ( x ) y b ( x ) , se puede suponer que b ≠ 0 (de lo contrario, el mcd es a ( x ) ), y

La división euclidiana proporciona dos polinomios q ( x ) , el cociente y r ( x ) , el resto tales que

Un polinomio g ( x ) divide tanto a ( x ) como b ( x ) si y solo si divide tanto a b ( x ) como a r 0 ( x ) . Por lo tanto, se puede repetir la división euclidiana para obtener nuevos polinomios q 1 ( x ), r 1 ( x ), a 2 ( x ), b 2 ( x ) y así sucesivamente. En cada etapa tenemos por lo que la secuencia eventualmente alcanzará un punto en el que y se ha obtenido el MCD:

Ejemplo: hallar el MCD de x 2 + 7 x + 6 y x 2 − 5 x − 6 :

x2 + 7x + 6 = 1 ⋅ ( x2 5x 6) + (12x + 12)
x 2 − 5 x − 6 = (12 x + 12) (1/12 x1/2 ) ​​+ 0

Como 12 x + 12 es el último resto distinto de cero, es un MCD de los polinomios originales, y el MCD mónico es x + 1 .

En este ejemplo, no es difícil evitar la introducción de denominadores factorizando 12 antes del segundo paso. Esto siempre se puede hacer utilizando secuencias de pseudorestos, pero, sin cuidado, esto puede introducir números enteros muy grandes durante el cálculo. Por lo tanto, para el cálculo informático, se utilizan otros algoritmos, que se describen a continuación.

Este método funciona únicamente si se puede comprobar la igualdad a cero de los coeficientes que se producen durante el cálculo. Por tanto, en la práctica, los coeficientes deben ser números enteros , números racionales , elementos de un cuerpo finito o deben pertenecer a alguna extensión de campo finitamente generada de uno de los cuerpos anteriores. Si los coeficientes son números de punto flotante que representan números reales que se conocen sólo de forma aproximada, entonces se debe conocer el grado del MCD para tener un resultado de cálculo bien definido (es decir, un resultado numéricamente estable ; en estos casos se pueden utilizar otras técnicas, normalmente basadas en la descomposición en valores singulares ).

Polinomios univariados con coeficientes en un cuerpo

El caso de polinomios univariados sobre un cuerpo es especialmente importante por varias razones. En primer lugar, es el caso más elemental y, por lo tanto, aparece en la mayoría de los primeros cursos de álgebra. En segundo lugar, es muy similar al caso de los números enteros, y esta analogía es la fuente de la noción de dominio euclidiano . Una tercera razón es que la teoría y los algoritmos para el caso multivariado y para los coeficientes en un dominio de factorización único se basan fuertemente en este caso particular. Por último, pero no menos importante, los algoritmos de MCD polinómico y los algoritmos derivados permiten obtener información útil sobre las raíces de un polinomio, sin calcularlas.

División euclidiana

La división euclidiana de polinomios, que se utiliza en el algoritmo de Euclides para calcular los MCD, es muy similar a la división euclidiana de números enteros. Su existencia se basa en el siguiente teorema: Dados dos polinomios univariados a y b ≠ 0 definidos sobre un cuerpo, existen dos polinomios q (el cociente ) y r (el resto ) que satisfacen y donde " deg(...) " denota el grado y el grado del polinomio cero se define como negativo. Además, q y r se definen de forma única mediante estas relaciones.

La diferencia con la división euclidiana de los números enteros es que, para los números enteros, el grado se sustituye por el valor absoluto y que para que haya unicidad hay que suponer que r no es negativo. Los anillos para los que existe un teorema de este tipo se denominan dominios euclidianos .

Al igual que en el caso de los números enteros, la división euclidiana de los polinomios se puede calcular mediante el algoritmo de división larga . Este algoritmo suele presentarse para el cálculo con lápiz y papel, pero funciona bien en las computadoras cuando se formaliza de la siguiente manera (nótese que los nombres de las variables corresponden exactamente a las regiones de la hoja de papel en un cálculo con lápiz y papel de división larga). En el siguiente cálculo, "deg" representa el grado de su argumento (con la convención deg(0) < 0 ), y "lc" representa el coeficiente principal, el coeficiente del grado más alto de la variable.

División euclidianaEntrada:  a y b ≠ 0, dos polinomios en la variable x ; Salida:  q , el cociente, y r , el resto;empezar  q  := 0  r  := a  d  := deg( b )  c  := lc( b )  mientras deg( r ) ≥ d  hacer  s  := (lc( r )/ c ) ⋅ x deg( r )− d  q  := q + s  r  := r sb  fin hacer  devolver ( q , r ) fin

La prueba de la validez de este algoritmo se basa en el hecho de que durante todo el bucle "while", tenemos a = bq + r y deg( r ) es un entero no negativo que decrece en cada iteración. Por lo tanto, la prueba de la validez de este algoritmo también prueba la validez de la división euclidiana.

Algoritmo de Euclides

En cuanto a los números enteros, la división euclidiana nos permite definir el algoritmo de Euclides para calcular MCD.

A partir de dos polinomios a y b , el algoritmo de Euclides consiste en sustituir recursivamente el par ( a , b ) por ( b , rem( a , b )) (donde " rem( a , b ) " denota el resto de la división euclidiana, calculado por el algoritmo de la sección precedente), hasta que b = 0. El MCD es el último resto distinto de cero.

El algoritmo de Euclides puede formalizarse en el estilo de programación recursiva como:

En el estilo de programación imperativa, el mismo algoritmo se convierte en, dando un nombre a cada resto intermedio:

r0  : = a r1  : = bpara ( i  := 1; r i ≤ 0; i  := i + 1) hacer  r i +1  := rem( r i −1 , r i ) fin hacerdevuelve  r i -1 .

La secuencia de los grados de r i es estrictamente decreciente. Por lo tanto, después de, como máximo, pasos deg( b ) , se obtiene un resto nulo, digamos r k . Como ( a , b ) y ( b , rem( a , b )) tienen los mismos divisores, el conjunto de divisores comunes no se modifica por el algoritmo de Euclides y, por lo tanto, todos los pares ( r i , r i +1 ) tienen el mismo conjunto de divisores comunes. Los divisores comunes de a y b son, por lo tanto, los divisores comunes de r k −1 y 0. Por lo tanto, r k −1 es un MCD de a y b . Esto no solo demuestra que el algoritmo de Euclides calcula MCD, sino que también demuestra que existen.

Identidad de Bézout y algoritmo MCD extendido

La identidad de Bézout es un teorema relacionado con el MCD, demostrado inicialmente para los números enteros, que es válido para todo dominio de ideales principales . En el caso de los polinomios univariados sobre un cuerpo, puede enunciarse de la siguiente manera.

Si g es el máximo común divisor de dos polinomios a y b (no ambos cero), entonces hay dos polinomios u y v tales que
 (Identidad de Bézout)

y u = 1, v = 0 , o u = 0, v = 1 , o

El interés de este resultado en el caso de los polinomios es que existe un algoritmo eficiente para calcular los polinomios u y v . Este algoritmo difiere del algoritmo de Euclides en que se realizan unos pocos cálculos más en cada iteración del bucle. Por lo tanto, se denomina algoritmo MCD extendido . Otra diferencia con el algoritmo de Euclides es que también utiliza el cociente, denotado "quo", de la división euclidiana en lugar de solo el resto. Este algoritmo funciona de la siguiente manera.

Algoritmo MCD extendidoEntrada:  a , b , polinomios univariadosSalida:  g , el MCD de a y b  u , v , como en la declaración anterior  a 1 , b 1 , tal que  a = g  a 1  b = g  b 1 Begin ( r 0 , r 1 ) := ( a , b ) ( s 0 , s 1 ) := (1, 0) ( t0 , t1 ) := (0, 1 )  para ( i  := 1; r i ≠ 0; i  := i +1) hacer  q  := quo( r i −1 , r i )  r i +1  := r i −1 qr i  s i +1  := s i −1 qs i  t i +1  := t i −1 qt i  fin perro  g  := r i −1  u  := s i −1  v  := t i −1  a 1  := (−1) i −1  t i  b 1  := (−1) i  t i Fin

La prueba de que el algoritmo satisface su especificación de salida se basa en el hecho de que, para cada i, tenemos la última igualdad, lo que implica La afirmación sobre los grados se sigue del hecho de que, en cada iteración, los grados de s i y t i aumentan como máximo a medida que el grado de r i disminuye.

Una característica interesante de este algoritmo es que, cuando se necesitan los coeficientes de la identidad de Bezout, se obtiene gratis el cociente de los polinomios de entrada por su MCD.

Aritmética de extensiones algebraicas

Una aplicación importante del algoritmo MCD extendido es que permite calcular la división en extensiones de campos algebraicos .

Sea L una extensión algebraica de un cuerpo K , generada por un elemento cuyo polinomio mínimo f tiene grado n . Los elementos de L se representan habitualmente por polinomios univariados sobre K de grado menor que n .

La suma en L es simplemente la suma de polinomios:

La multiplicación en L es la multiplicación de polinomios seguida de la división por f :

La inversa de un elemento a distinto de cero de L es el coeficiente u en la identidad de Bézout au + fv = 1 , que puede calcularse mediante el algoritmo MCD extendido. (el MCD es 1 porque el polinomio mínimo f es irreducible). La desigualdad de grados en la especificación del algoritmo MCD extendido muestra que no se necesita una división adicional por f para obtener deg( u ) < deg( f ).

Subresultantes

En el caso de polinomios univariados, existe una fuerte relación entre los máximos comunes divisores y las resultantes . Más precisamente, la resultante de dos polinomios P , Q es una función polinómica de los coeficientes de P y Q que tiene el valor cero si y solo si el MCD de P y Q no es constante.

La teoría de subresultantes es una generalización de esta propiedad que permite caracterizar de forma genérica el MCD de dos polinomios, siendo el resultante el polinomio subresultante 0-ésimo. [1]

El i -ésimo polinomio subresultante S i ( P , Q ) de dos polinomios P ​​y Q es un polinomio de grado como máximo i cuyos coeficientes son funciones polinómicas de los coeficientes de P y Q , y el i -ésimo coeficiente subresultante principal s i ( P , Q ) es el coeficiente de grado i de S i ( P , Q ) . Tienen la propiedad de que el MCD de P y Q tiene grado d si y solo si

En este caso, S d ( P , Q ) es un MCD de P y Q y

Cada coeficiente de los polinomios subresultantes se define como el determinante de una submatriz de la matriz de Sylvester de P y Q . Esto implica que los subresultantes se "especializan" bien. Más precisamente, los subresultantes se definen para polinomios sobre cualquier anillo conmutativo R , y tienen la siguiente propiedad.

Sea φ un homomorfismo de anillo de R en otro anillo conmutativo S . Se extiende a otro homomorfismo, denotado también φ entre los anillos de polinomios sobre R y S . Entonces, si P y Q son polinomios univariados con coeficientes en R tales que y entonces los polinomios subresultantes y los coeficientes subresultantes principales de φ ( P ) y φ ( Q ) son la imagen por φ de los de P y Q .

Las subresultantes tienen dos propiedades importantes que las hacen fundamentales para el cálculo en computadoras del MCD de dos polinomios con coeficientes enteros. En primer lugar, su definición a través de determinantes permite acotar, mediante la desigualdad de Hadamard , el tamaño de los coeficientes del MCD. En segundo lugar, esta acotación y la propiedad de buena especialización permiten calcular el MCD de dos polinomios con coeficientes enteros mediante el cálculo modular y el teorema chino del resto (ver más abajo).

Definición técnica

Sean dos polinomios univariados con coeficientes en un cuerpo K . Denotemos por el espacio vectorial K de dimensión i de polinomios de grado menor que i . Para un entero no negativo i tal que im e in , sea la función lineal tal que

La resultante de P y Q es el determinante de la matriz de Sylvester , que es la matriz (cuadrada) de sobre las bases de las potencias de X . De manera similar, el polinomio i -subresultante se define en términos de determinantes de submatrices de la matriz de

Describamos estas matrices con más precisión:

Sea p i = 0 para i < 0 o i > m , y q i = 0 para i < 0 o i > n . La matriz de Sylvester es la matriz ( m + n ) × ( m + n ) tal que el coeficiente de la i -ésima fila y la j -ésima columna es p m + ji para jn y q ji para j > n : [nota 1]

La matriz T i de es la ( m + ni ) × ( m + n − 2 i ) -submatriz de S que se obtiene eliminando las últimas i filas de ceros en la submatriz de las columnas 1 a ni y n + 1 a m + ni de S (es decir, eliminando i columnas en cada bloque y las i últimas filas de ceros). El coeficiente subresultante principal s i es el determinante de las m + n − 2 i primeras filas de T i .

Sea V i la matriz ( m + n − 2 i ) × ( m + ni ) definida de la siguiente manera. Primero agregamos ( i + 1) columnas de ceros a la derecha de la matriz identidad ( m + n − 2 i − 1) × ( m + n − 2 i − 1) . Luego delimitamos la parte inferior de la matriz resultante con una fila que consiste en ( m + ni − 1) ceros seguidos de X i , X i −1 , ..., X , 1 :

Con esta notación, el i -ésimo polinomio subresultante es el determinante del producto matricial V i T i . Su coeficiente de grado j es el determinante de la submatriz cuadrada de T i que consiste en sus m + n − 2 i − 1 primeras filas y la ( m + nij ) -ésima fila.

Bosquejo de la prueba

No es obvio que, tal como se define, las subresultantes tengan las propiedades deseadas. Sin embargo, la demostración es bastante sencilla si se juntan las propiedades del álgebra lineal y las de los polinomios.

Como se ha definido, las columnas de la matriz T i son los vectores de los coeficientes de algunos polinomios pertenecientes a la imagen de . La definición del i -ésimo polinomio subresultante S i muestra que el vector de sus coeficientes es una combinación lineal de estos vectores columna, y por tanto que S i pertenece a la imagen de

Si el grado del MCD es mayor que i , entonces la identidad de Bézout muestra que todo polinomio distinto de cero en la imagen de tiene un grado mayor que i . Esto implica que S i = 0 .

Si, por otra parte, el grado del MCD es i , entonces la identidad de Bézout permite de nuevo demostrar que los múltiplos del MCD que tienen un grado menor que m + ni están en la imagen de . El espacio vectorial de estos múltiplos tiene la dimensión m + n − 2 i y tiene una base de polinomios de grados diferentes por pares, no menores que i . Esto implica que la submatriz de las m + n − 2 i primeras filas de la forma escalonada columna de T i es la matriz identidad y por tanto que s i no es 0. Por tanto, S i es un polinomio en la imagen de , que es un múltiplo del MCD y tiene el mismo grado. Es, por tanto, un máximo común divisor.

MCD y búsqueda de raíces

Factorización libre de cuadrados

La mayoría de los algoritmos de búsqueda de raíces funcionan mal con polinomios que tienen múltiples raíces . Por lo tanto, es útil detectarlos y eliminarlos antes de llamar a un algoritmo de búsqueda de raíces. Un cálculo de MCD permite detectar la existencia de múltiples raíces, ya que las múltiples raíces de un polinomio son las raíces del MCD del polinomio y su derivada .

Después de calcular el MCD del polinomio y su derivada, otros cálculos del MCD proporcionan la factorización libre de cuadrados completa del polinomio, que es una factorización donde, para cada i , el polinomio f i es 1 si f no tiene ninguna raíz de multiplicidad i o es un polinomio libre de cuadrados (es decir, un polinomio sin raíz múltiple) cuyas raíces son exactamente las raíces de multiplicidad i de f (véase el algoritmo de Yun ).

De esta manera, la factorización sin cuadrados reduce la búsqueda de raíces de un polinomio con múltiples raíces a la búsqueda de raíces de varios polinomios sin cuadrados de grado inferior. La factorización sin cuadrados es también el primer paso en la mayoría de los algoritmos de factorización de polinomios .

Secuencia de tormenta

La sucesión de Sturm de un polinomio con coeficientes reales es la sucesión de los residuos que proporciona una variante del algoritmo de Euclides aplicada al polinomio y su derivada. Para obtener la sucesión de Sturm, simplemente se reemplaza la instrucción del algoritmo de Euclides por

Sea V ( a ) el número de cambios de signo en la secuencia, cuando se evalúa en un punto a . El teorema de Sturm afirma que V ( a ) − V ( b ) es el número de raíces reales del polinomio en el intervalo [ a , b ] . Por lo tanto, la secuencia de Sturm permite calcular el número de raíces reales en un intervalo dado. Al subdividir el intervalo hasta que cada subintervalo contenga como máximo una raíz, se obtiene un algoritmo que ubica las raíces reales en intervalos de longitud arbitrariamente pequeña.

MCD sobre un anillo y su cuerpo de fracciones

En esta sección, consideramos polinomios sobre un dominio de factorización único R , típicamente el anillo de los números enteros, y sobre su campo de fracciones F , típicamente el campo de los números racionales, y denotamos R [ X ] y F [ X ] los anillos de polinomios en un conjunto de variables sobre estos anillos.

Factorización de contenido de partes primitivas

El contenido de un polinomio pR [ X ] , denotado " cont( p ) ", es el MCD de sus coeficientes. Un polinomio qF [ X ] puede escribirse donde pR [ X ] y cR : basta 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: En ambos casos, el contenido se define hasta la multiplicación por una unidad de R .

La parte primitiva de un polinomio en R [ X ] o F [ X ] se define por

En ambos casos, se trata de un polinomio en R [ X ] que es primitivo , lo que significa que 1 es un MCD de sus coeficientes.

Así, todo polinomio en R [ X ] o F [ X ] puede factorizarse como y esta factorización es única hasta la multiplicación del contenido por una unidad de R y de la parte primitiva por la inversa de esta unidad.

El lema de Gauss implica que el producto de dos polinomios primitivos es primitivo. De ello se deduce que y

Relación entre el MCD sobreRY másF

Las relaciones de la sección precedente implican una fuerte relación entre los MCD en R [ X ] y en F [ X ] . Para evitar ambigüedades, la notación " mcd " estará indexada, en lo sucesivo, por el anillo en el que se calcula el MCD.

Si q 1 y q 2 pertenecen a F [ X ] , entonces

Si p 1 y p 2 pertenecen a R [ X ] , entonces y

Por lo tanto, el cálculo de MCD polinómicos es esencialmente el mismo problema sobre F [ X ] y sobre R [ X ] .

Para polinomios univariados sobre números racionales, se puede pensar que el algoritmo de Euclides es un método conveniente para calcular el MCD. Sin embargo, implica simplificar una gran cantidad de fracciones de números enteros y el algoritmo resultante no es eficiente. Por esta razón, se han diseñado métodos para modificar el algoritmo de Euclides para que funcione solo con polinomios sobre números enteros. Estos métodos consisten en reemplazar la división euclidiana, que introduce fracciones, por una denominada pseudodivisión , y reemplazar la secuencia de residuos del algoritmo de Euclides por las denominadas secuencias de pseudoresiduos (ver más abajo).

Prueba de que existe MCD para polinomios multivariados

En la sección anterior hemos visto que el MCD de polinomios en R [ X ] puede deducirse a partir de los MCD en R y en F [ X ] . Una mirada más atenta a la demostración muestra que esto nos permite probar la existencia de MCD en R [ X ] , si existen en R y en F [ X ] . En particular, si existen MCD en R , y si X se reduce a una variable, esto prueba que existen MCD en R [ X ] (el algoritmo de Euclides prueba la existencia de MCD en F [ X ] ).

Un polinomio en n variables puede considerarse como un polinomio univariado sobre el anillo de polinomios en ( n − 1 ) variables. Por lo tanto, una recursión sobre el número de variables muestra que si los MCD existen y pueden calcularse en R , entonces existen y pueden calcularse en cada anillo de polinomios multivariados sobre R . En particular, si R es el anillo de los enteros o un cuerpo, entonces los MCD existen en R [ x 1 , ..., x n ] , y lo que precede proporciona un algoritmo para calcularlos.

La prueba de que un anillo de polinomios sobre un dominio de factorización único es también un dominio de factorización único es similar, pero no proporciona un algoritmo, porque no existe un algoritmo general para factorizar polinomios univariados sobre un cuerpo (hay ejemplos de cuerpos para los que no existe ningún algoritmo de factorización para los polinomios univariados).

Secuencias de pseudorestos

En esta sección, consideramos un dominio integral Z (típicamente el anillo Z de los números enteros) y su cuerpo de fracciones Q (típicamente el cuerpo Q de los números racionales). Dados dos polinomios A y B en el anillo polinomial univariado Z [ X ] , la división euclidiana (sobre Q ) de A por B proporciona un cociente y un residuo que pueden no pertenecer a Z [ X ] .

Porque, si uno aplica el algoritmo de Euclides a los siguientes polinomios [2] y los sucesivos residuos del algoritmo de Euclides son Se ve que, a pesar del pequeño grado y el pequeño tamaño de los coeficientes de los polinomios de entrada, uno tiene que manipular y simplificar fracciones enteras de tamaño bastante grande.

ElSe ha introducido la pseudodivisión para permitir una variante del algoritmo de Euclides para el cual todos los residuos pertenecen a Z [ X ].

Si y a b , el pseudoresto de la pseudodivisión de A por B , denotado por prem ( A , B ) es donde lc( B ) es el coeficiente principal de B (el coeficiente de X b ).

El pseudorresto de la pseudodivisión de dos polinomios en Z [ X ] pertenece siempre a Z [ X ] .

Una secuencia de pseudoresiduos es la secuencia de los (pseudo)residuos r i que se obtiene al reemplazar la instrucción del algoritmo de Euclides por donde α es un elemento de Z que divide exactamente cada coeficiente del numerador. Diferentes opciones de α dan diferentes secuencias de pseudoresiduos, que se describen en las siguientes subsecciones.

Como los divisores comunes de dos polinomios no se modifican si los polinomios se multiplican por constantes invertibles (en Q ), el último término distinto de cero en una secuencia de pseudorestos es un MCD (en Q [ X ] ) de los polinomios de entrada. Por lo tanto, las secuencias de pseudorestos permiten calcular MCD en Q [ X ] sin introducir fracciones en Q.

En algunos contextos, es esencial controlar el signo del coeficiente principal del pseudoresto. Este suele ser el caso cuando se calculan resultantes y subresultantes , o para utilizar el teorema de Sturm . Este control se puede realizar reemplazando lc( B ) por su valor absoluto en la definición del pseudoresto, o controlando el signo de α (si α divide todos los coeficientes de un resto, lo mismo es cierto para α ). [1]

Secuencia de pseudoresto trivial

La secuencia de residuos más sencilla (de definir) consiste en tomar siempre α = 1. En la práctica, esto no es interesante, ya que el tamaño de los coeficientes crece exponencialmente con el grado de los polinomios de entrada. Esto se ve claramente en el ejemplo de la sección anterior, para el cual los pseudoresiduos sucesivos son El número de dígitos de los coeficientes de los residuos sucesivos se duplica con creces en cada iteración del algoritmo. Este es un comportamiento típico de las secuencias de pseudoresiduos triviales.

Secuencia pseudo-residuo primitiva

La sucesión primitiva de pseudorestos consiste en tomar como α el contenido del numerador. Por lo tanto, todos los r i son polinomios primitivos.

La secuencia de pseudorestos primitiva es la secuencia de pseudorestos que genera los coeficientes más pequeños. Sin embargo, requiere calcular una cantidad de MCD en Z y, por lo tanto, no es lo suficientemente eficiente para usarse en la práctica, especialmente cuando Z es en sí mismo un anillo de polinomios.

Con la misma entrada que en las secciones anteriores, los residuos sucesivos, después de la división por su contenido son El pequeño tamaño de los coeficientes oculta el hecho de que se han calculado un número de números enteros MCD y divisiones por el MCD.

Secuencia pseudo-residual subresultante

Una sucesión subresultante también puede calcularse con pseudoresiduos. El proceso consiste en elegir α de tal forma que cada r i sea un polinomio subresultante. Sorprendentemente, el cálculo de α es muy fácil (véase más abajo). Por otra parte, la demostración de la corrección del algoritmo es difícil, porque debe tener en cuenta todas las posibilidades de diferencia de grados de dos residuos consecutivos.

Los coeficientes de la secuencia subresultante rara vez son mucho mayores que los de la secuencia primitiva de pseudorestos. Como no se necesitan cálculos de MCD en Z , la secuencia subresultante con pseudorestos ofrece el cálculo más eficiente.

Con la misma entrada que en las secciones anteriores, los residuos sucesivos son Los coeficientes tienen un tamaño razonable. Se obtienen sin ningún cálculo de MCD, solo divisiones exactas. Esto hace que este algoritmo sea más eficiente que el de las secuencias primitivas de pseudorestos.

El algoritmo que calcula la secuencia subresultante con pseudoresiduos se muestra a continuación. En este algoritmo, la entrada ( a , b ) es un par de polinomios en Z [ X ] . Los r i son los pseudoresiduos sucesivos en Z [ X ] . Las variables i y d i son números enteros no negativos y las letras griegas denotan elementos en Z. Las funciones deg()y rem()denotan el grado de un polinomio y el resto de la división euclidiana. En el algoritmo, este resto siempre está en Z [ X ] . Finalmente, las divisiones denotadas / son siempre exactas y tienen su resultado en Z [ X ] o en Z.

r 0  := a r 1  := b para ( i  := 1; r i ≠ 0; i  := i +1) hacer  d i  := deg( r i −1 ) − deg( r i )  γ i  := lc( r i )  si  i = 1 entonces  β 1  := (−1) d 1 +1  ψ 1  := −1  de lo contrario  ψ i  := (− γ i −1 ) d i −1 / ψ i −1 d i −1 −1  β i  := − γ i −1 ψ i d i  fin si  r i +1  := rem( γ i d i +1  r i −1 , r i ) / β i termina para

Nota: "lc" representa el coeficiente principal, el coeficiente del grado más alto de la variable.

Este algoritmo calcula no solo el máximo común divisor (el último r i distinto de cero ), sino también todos los polinomios subresultantes: El resto r i es el (deg( r i −1 ) − 1) -ésimo polinomio subresultante. Si deg( r i ) < deg( r i −1 ) − 1 , el polinomio subresultante deg( r i ) -ésimo es lc( r i ) deg( r i −1 )−deg( r i )−1 r i . Todos los demás polinomios subresultantes son cero.

Secuencia de Sturm con pseudorrestos

Se pueden utilizar pseudoresiduos para construir secuencias que tengan las mismas propiedades que las secuencias de Sturm . Esto requiere controlar los signos de los pseudoresiduos sucesivos, para que tengan los mismos signos que en la secuencia de Sturm. Esto se puede hacer definiendo un pseudoresiduo modificado de la siguiente manera.

Si y a b , el pseudoresto modificado prem2( A , B ) de la pseudodivisión de A por B es donde | lc( B ) | es el valor absoluto del coeficiente principal de B (el coeficiente de X b ).

Para polinomios de entrada con coeficientes enteros, esto permite recuperar secuencias de Sturm que consisten en polinomios con coeficientes enteros. La secuencia de pseudoresiduos subresultante puede modificarse de manera similar, en cuyo caso los signos de los residuos coinciden con los calculados sobre los racionales.

Tenga en cuenta que el algoritmo para calcular la secuencia de pseudoresiduo subresultante dado anteriormente calculará polinomios subresultantes erróneos si se utiliza en lugar de .

Algoritmo MCD modular

Si f y g son polinomios en F [ x ] para algún cuerpo finitamente generado F , el algoritmo euclidiano es la forma más natural de calcular su MCD. Sin embargo, los sistemas de álgebra computacional modernos solo lo usan si F es finito debido a un fenómeno llamado aumento de expresión intermedia . Aunque los grados siguen disminuyendo durante el algoritmo euclidiano, si F no es finito , entonces el tamaño de bit de los polinomios puede aumentar (a veces dramáticamente) durante los cálculos porque las operaciones aritméticas repetidas en F tienden a conducir a expresiones más grandes. Por ejemplo, la suma de dos números racionales cuyos denominadores están acotados por b conduce a un número racional cuyo denominador está acotado por b 2 , por lo que en el peor de los casos, el tamaño de bit podría casi duplicarse con solo una operación.

Para acelerar el cálculo, tome un anillo D para el cual f y g están en D [ x ] , y tome un ideal I tal que D / I es un anillo finito. Luego calcule el MCD sobre este anillo finito con el Algoritmo Euclidiano. Usando técnicas de reconstrucción ( teorema del resto chino , reconstrucción racional , etc.) uno puede recuperar el MCD de f y g a partir de su imagen módulo un número de ideales I . Uno puede probar [3] que esto funciona siempre que uno descarte imágenes modulares con grados no mínimos, y evite ideales I módulo los cuales un coeficiente principal se anula.

Supongamos que , y . Si tomamos entonces es un anillo finito (no un cuerpo ya que no es maximal en ). El algoritmo euclidiano aplicado a las imágenes de en tiene éxito y devuelve 1. Esto implica que el MCD de en también debe ser 1. Nótese que este ejemplo podría ser manejado fácilmente por cualquier método porque los grados eran demasiado pequeños para que ocurriera el aumento de expresión, pero ilustra que si dos polinomios tienen MCD 1, entonces es probable que el algoritmo modular termine después de un único ideal .

Véase también

Notas

  1. ^ Muchos autores definen la matriz de Sylvester como la transpuesta de S. Esto rompe la convención habitual para escribir la matriz de una función lineal.

Referencias

Citas

  1. ^ por Basu, Pollack y Roy 2006
  2. ^ Knuth 1969
  3. ^ van Hoeij y Monagan 2004

Bibliografía