En matemáticas , el teorema del resto chino establece que si se conocen los restos de la división euclidiana de un número entero n entre varios números enteros, entonces se puede determinar de forma única el resto de la división de n por el producto de estos números enteros, bajo la condición de que el los divisores son coprimos por pares (no hay dos divisores que compartan un factor común distinto de 1).
Por ejemplo, si sabemos que el resto de n dividido por 3 es 2, el resto de n dividido por 5 es 3 y el resto de n dividido por 7 es 2, entonces, sin conocer el valor de n , podemos determinar que el resto de n dividido por 105 (el producto de 3, 5 y 7) es 23. Es importante destacar que esto nos dice que si n es un número natural menor que 105, entonces 23 es el único valor posible de n .
La declaración más antigua conocida del teorema es del matemático chino Sunzi en el Sunzi Suanjing entre los siglos III y V d.C.
El teorema del resto chino se usa ampliamente para calcular con números enteros grandes, ya que permite reemplazar un cálculo para el cual se conoce un límite en el tamaño del resultado por varios cálculos similares con números enteros pequeños.
El teorema chino del resto (expresado en términos de congruencias ) es cierto en todo dominio ideal principal . Se ha generalizado a cualquier anillo , con una formulación que involucra ideales bilaterales .
La declaración más antigua conocida del teorema, como un problema con números específicos, aparece en el libro del siglo V Sunzi Suanjing del matemático chino Sunzi: [1]
Hay ciertas cosas cuyo número se desconoce. Si los contamos de tres en tres, nos sobran dos; de cinco en cinco, nos sobran tres; y para los siete, sobran dos. ¿Cuántas cosas hay? [2]
El trabajo de Sunzi no contiene ni una prueba ni un algoritmo completo. [3] Aryabhata (siglo VI) describió lo que equivale a un algoritmo para resolver este problema . [4] Brahmagupta (siglo VII) también conocía casos especiales del teorema del resto chino y aparecen en el Liber Abaci de Fibonacci (1202). [5] El resultado se generalizó más tarde con una solución completa llamada Da-yan-shu (大衍術) en el Tratado matemático en nueve secciones de Qin Jiushao de 1247 [6] , que fue traducido al inglés a principios del siglo XIX por el misionero británico Alexander. Wylie . [7]
La noción de congruencias fue introducida y utilizada por primera vez por Carl Friedrich Gauss en sus Disquisitiones Arithmeticae de 1801. [9] Gauss ilustra el teorema del resto chino en un problema que involucra calendarios, a saber, "encontrar los años que tienen un cierto número de período con respecto al ciclo solar y lunar y a la indicación romana." [10] Gauss introduce un procedimiento para resolver el problema que ya había sido utilizado por Leonhard Euler pero que en realidad era un método antiguo que había aparecido varias veces. [11]
Sean n 1 , ..., n k números enteros mayores que 1, que a menudo se denominan módulos o divisores . Denotemos por N el producto de n i .
El teorema del resto chino afirma que si n i son coprimos por pares , y si a 1 , ..., ak son números enteros tales que 0 ≤ a i < n i para cada i , entonces hay uno y sólo un entero x , tal que 0 ≤ x < N y el resto de la división euclidiana de x por n i es a i para cada i .
Esto se puede reformular de la siguiente manera en términos de congruencias : si son coprimos por pares, y si a 1 , ..., ak son números enteros cualesquiera, entonces el sistema
tiene una solución, y dos soluciones cualesquiera, digamos x 1 y x 2 , son congruentes módulo N , es decir, x 1 ≡ x 2 (mod N ) . [12]
En álgebra abstracta , el teorema a menudo se reformula como: si los n i son coprimos por pares, el mapa
define un isomorfismo de anillo [13]
entre el anillo de números enteros módulo N y el producto directo de los anillos de números enteros módulo n i . Esto significa que para hacer una secuencia de operaciones aritméticas en uno se puede hacer el mismo cálculo de forma independiente en cada una y luego obtener el resultado aplicando el isomorfismo (de derecha a izquierda). Esto puede ser mucho más rápido que el cálculo directo si N y el número de operaciones son grandes. Esto se usa ampliamente, bajo el nombre de computación multimodular , para álgebra lineal sobre números enteros o racionales .
El teorema también se puede reformular en el lenguaje de la combinatoria como el hecho de que las infinitas progresiones aritméticas de números enteros forman una familia Helly . [14]
La existencia y unicidad de la solución pueden probarse de forma independiente. Sin embargo, la primera prueba de existencia, que se proporciona a continuación, utiliza esta unicidad.
Supongamos que xey son soluciones de todas las congruencias . Como x e y dan el mismo resto, cuando se dividen por n i , su diferencia x − y es un múltiplo de cada n i . Como los n i son coprimos por pares, su producto N también divide a x − y y , por lo tanto, x e y son congruentes módulo N. Si se supone que x e y no son negativos y son menores que N (como en el primer enunciado del teorema), entonces su diferencia puede ser un múltiplo de N sólo si x = y .
El mapa
asigna clases de congruencia módulo N a secuencias de clases de congruencia módulo n i . La prueba de unicidad muestra que este mapa es inyectivo . Como el dominio y el codominio de este mapa tienen el mismo número de elementos, el mapa también es sobreyectivo , lo que prueba la existencia de la solución.
Esta prueba es muy simple pero no proporciona ninguna forma directa de calcular una solución. Además, no se puede generalizar a otras situaciones en las que sí se puede aplicar la siguiente prueba.
La existencia puede establecerse mediante una construcción explícita de x . [15] Esta construcción se puede dividir en dos pasos, primero resolviendo el problema en el caso de dos módulos y luego extendiendo esta solución al caso general mediante inducción sobre el número de módulos.
Queremos resolver el sistema:
donde y son coprimos .
La identidad de Bézout afirma la existencia de dos números enteros y tales que
Los números enteros y pueden calcularse mediante el algoritmo euclidiano extendido .
Una solución viene dada por
En efecto,
implicando que La segunda congruencia se demuestra de manera similar, intercambiando los subíndices 1 y 2.
Considere una secuencia de ecuaciones de congruencia:
donde son coprimos por pares. Las dos primeras ecuaciones tienen solución proporcionada por el método del apartado anterior. El conjunto de las soluciones de estas dos primeras ecuaciones es el conjunto de todas las soluciones de la ecuación.
Como los otros son coprimos, esto reduce la resolución del problema inicial de k ecuaciones a un problema similar con ecuaciones. Al iterar el proceso, finalmente se obtienen las soluciones del problema inicial.
Para construir una solución, no es necesario hacer una inducción sobre el número de módulos. Sin embargo, una construcción tan directa implica más cálculos con números grandes, lo que la hace menos eficiente y menos utilizada. Sin embargo, la interpolación de Lagrange es un caso especial de esta construcción, aplicada a polinomios en lugar de a números enteros.
Sea el producto de todos los módulos menos uno. Como son coprimos por pares y son coprimos. Por tanto , se aplica la identidad de Bézout , y existen números enteros y tales que
Una solución del sistema de congruencias es
De hecho, como es un múltiplo de para tenemos
para cada
Considere un sistema de congruencias:
donde son coprimos por pares y let En esta sección se describen varios métodos para calcular la solución única para , de modo que y estos métodos se aplican en el ejemplo
Se presentan varios métodos de cálculo. Los dos primeros son útiles para ejemplos pequeños, pero se vuelven muy ineficientes cuando el producto es grande. El tercero utiliza la prueba de existencia dada en § Existencia (prueba constructiva). Es más conveniente cuando el producto es grande o para cálculos por computadora.
Es fácil comprobar si un valor de x es una solución: basta con calcular el resto de la división euclidiana de x por cada n i . Así, para encontrar la solución, basta con comprobar sucesivamente los números enteros del 0 al N hasta encontrar la solución.
Aunque es muy sencillo, este método es muy ineficaz. Para el ejemplo simple considerado aquí, se deben verificar 40 números enteros (incluido 0 ) para encontrar la solución, que es 39 . Este es un algoritmo de tiempo exponencial , ya que el tamaño de la entrada es, hasta un factor constante, el número de dígitos de N , y el número promedio de operaciones es del orden de N.
Por lo tanto, este método rara vez se utiliza, ni para cálculos escritos a mano ni en computadoras.
La búsqueda de la solución puede acelerarse considerablemente mediante el tamizado. Para este método suponemos, sin pérdida de generalidad, que (si no fuera así, bastaría con sustituir cada uno por el resto de su división por ). Esto implica que la solución pertenece a la progresión aritmética.
Al probar los valores de estos números en módulo, finalmente se encuentra una solución de las dos primeras congruencias. Entonces la solución pertenece a la progresión aritmética.
Probar los valores de estos números en módulo y continuar hasta que se haya probado cada módulo finalmente produce la solución.
Este método es más rápido si los módulos se han ordenado por valor decreciente, es decir, si. Por ejemplo, esto proporciona el siguiente cálculo. Consideramos primero los números que son congruentes con 4 módulo 5 (el módulo mayor), que son 4, 9 = 4 + 5 , 14 = 9 + 5 , ... Para cada uno de ellos, calcula el resto por 4 (el segundo módulo más grande) hasta obtener un número congruente con 3 módulo 4. Luego se puede proceder sumando 20 = 5 × 4 en cada paso y calculando solo los restos por 3. Esto da
Este método funciona bien para cálculos escritos a mano con un producto de módulos que no es demasiado grande. Sin embargo, es mucho más lento que otros métodos, para productos de módulos muy grandes. Aunque es mucho más rápido que la búsqueda sistemática, este método también tiene una complejidad temporal exponencial y, por tanto, no se utiliza en ordenadores.
La prueba de existencia constructiva muestra que, en el caso de dos módulos, la solución se puede obtener calculando los coeficientes de Bézout de los módulos, seguido de algunas multiplicaciones, sumas y reducciones de módulo (para obtener un resultado en el intervalo ). Como los coeficientes de Bézout pueden calcularse con el algoritmo euclidiano extendido , todo el cálculo, como máximo, tiene una complejidad temporal cuadrática de donde denota el número de dígitos de
Para más de dos módulos, el método para dos módulos permite la sustitución de dos congruencias cualesquiera por un único módulo de congruencia, el producto de los módulos. La iteración de este proceso proporciona eventualmente la solución con una complejidad, que es cuadrática en el número de dígitos del producto de todos los módulos. Esta complejidad temporal cuadrática no depende del orden en que se reagrupan los módulos. Se pueden reagrupar los dos primeros módulos, luego reagrupar el módulo resultante con el siguiente, y así sucesivamente. Esta estrategia es la más fácil de implementar, pero también requiere más cálculos que involucran números grandes.
Otra estrategia consiste en dividir los módulos en pares cuyos productos tengan tamaños comparables (en la medida de lo posible), aplicando, en paralelo, el método de dos módulos a cada par, e iterando con un número de módulos aproximadamente dividido por dos. Este método permite una fácil paralelización del algoritmo. Además, si se utilizan algoritmos rápidos (es decir, algoritmos que funcionan en tiempo cuasilineal ) para las operaciones básicas, este método proporciona un algoritmo para todo el cálculo que funciona en tiempo cuasilineal.
En el ejemplo actual (que tiene sólo tres módulos), ambas estrategias son idénticas y funcionan de la siguiente manera.
La identidad de Bézout para 3 y 4 es
Poner esto en la fórmula dada para probar la existencia da
para una solución de las dos primeras congruencias, las otras soluciones se obtienen sumando a −9 cualquier múltiplo de 3 × 4 = 12 . Se puede continuar con cualquiera de estas soluciones, pero la solución 3 = −9 +12 es más pequeña (en valor absoluto ) y, por lo tanto, probablemente conduce a un cálculo más fácil.
La identidad de Bézout para 5 y 3 × 4 = 12 es
Aplicando nuevamente la misma fórmula, obtenemos una solución del problema:
Las otras soluciones se obtienen sumando cualquier múltiplo de 3 × 4 × 5 = 60 , y la solución positiva más pequeña es −21 + 60 = 39 .
El sistema de congruencias resuelto por el teorema del resto chino puede reescribirse como un sistema de ecuaciones diofánticas lineales :
donde están los números enteros desconocidos y el Por lo tanto, todos los métodos generales para resolver tales sistemas pueden usarse para encontrar la solución del teorema del resto chino, como la reducción de la matriz del sistema a la forma normal de Smith o la forma normal de Hermite . Sin embargo, como es habitual cuando se utiliza un algoritmo general para un problema más específico, este enfoque es menos eficiente que el método de la sección anterior, basado en un uso directo de la identidad de Bézout .
En § Enunciado, el teorema chino del resto se ha planteado de tres maneras diferentes: en términos de restos, de congruencias y de un isomorfismo de anillo . La afirmación en términos de restos no se aplica, en general, a dominios ideales principales , ya que los restos no están definidos en dichos anillos . Sin embargo , las otras dos versiones tienen sentido sobre un dominio ideal principal R : basta con sustituir "entero" por "elemento del dominio" y por R. Estas dos versiones del teorema son verdaderas en este contexto, porque las pruebas (excepto la primera prueba de existencia) se basan en el lema de Euclides y la identidad de Bézout , que son verdaderas en todos los dominios principales.
Sin embargo, en general, el teorema es sólo un teorema de existencia y no proporciona ninguna forma de calcular la solución, a menos que se tenga un algoritmo para calcular los coeficientes de identidad de Bézout.
El enunciado en términos de restos dado en § Enunciado del teorema no puede generalizarse a ningún dominio ideal principal, pero su generalización a dominios euclidianos es sencilla. Los polinomios univariados sobre un campo son el ejemplo típico de un dominio euclidiano que no son los números enteros. Por lo tanto, enunciamos el teorema para el caso del anillo de un campo. Para obtener el teorema de un dominio euclidiano general, basta con reemplazar el grado por la función euclidiana del dominio euclidiano.
El teorema chino del resto para polinomios es el siguiente: Sean (los módulos), para polinomios coprimos por pares en . Sea el grado de , y sea la suma de Si son polinomios tales que o para cada i , entonces, existe uno y sólo un polinomio , tal que y el resto de la división euclidiana de por es para cada i .
La construcción de la solución se puede realizar como en § Existencia (prueba constructiva) o § Existencia (prueba directa). Sin embargo, esta última construcción se puede simplificar utilizando, como sigue, la descomposición en fracciones parciales en lugar del algoritmo euclidiano extendido .
Por tanto, queremos encontrar un polinomio que satisfaga las congruencias
para
Considere los polinomios
La descomposición en fracciones parciales da k polinomios con grados tales que
y por lo tanto
Entonces una solución del sistema de congruencia simultánea viene dada por el polinomio
De hecho, tenemos
para
Esta solución puede tener un grado mayor que La única solución de grado menor que se puede deducir considerando el resto de la división euclidiana de por Esta solución es
Un caso especial del teorema chino del resto para polinomios es la interpolación de Lagrange . Para esto, considere k polinomios mónicos de grado uno:
Son coprimos por pares si todos son diferentes. El resto de la división por de un polinomio es , según el teorema del resto del polinomio .
Ahora, seamos constantes (polinomios de grado 0) en Tanto la interpolación de Lagrange como el teorema chino del resto afirman la existencia de un polinomio único de grado menor que tal que
para cada
La fórmula de interpolación de Lagrange es exactamente el resultado, en este caso, de la construcción de la solución anterior. Más precisamente, dejemos
La descomposición en fracciones parciales de es
De hecho, al reducir el lado derecho a un denominador común se obtiene
y el numerador es igual a uno, por ser un polinomio de grado menor que toma el valor uno para diferentes valores de
Usando la fórmula general anterior, obtenemos la fórmula de interpolación de Lagrange:
La interpolación de Hermite es una aplicación del teorema del resto chino para polinomios univariados, que pueden involucrar módulos de grados arbitrarios (la interpolación de Lagrange involucra solo módulos de grado uno).
El problema consiste en encontrar un polinomio del menor grado posible, tal que el polinomio y sus primeras derivadas tomen valores dados en unos puntos fijos.
Más precisamente, sean elementos del campo fundamental y, sean los valores de las primeras derivadas del polinomio buscado en (incluida la derivada 0, que es el valor del polinomio mismo). El problema es encontrar un polinomio tal que su j -ésima derivada tome el valor en for y
Considere el polinomio
Este es el polinomio de Taylor de orden en , del polinomio desconocido . Por lo tanto, debemos tener
Por el contrario , cualquier polinomio que satisfaga estas congruencias, en particular verifica, para cualquier
por lo tanto , su polinomio de Taylor de orden es , es decir, resuelve el problema de interpolación inicial de Hermite. El teorema del resto chino afirma que existe exactamente un polinomio de grado menor que la suma de los que satisface estas congruencias.
Hay varias formas de calcular la solución. Se puede utilizar el método descrito al principio de § Sobre anillos polinomiales univariados y dominios euclidianos. También se pueden utilizar las construcciones dadas en § Existencia (prueba constructiva) o § Existencia (prueba directa).
El teorema del resto chino se puede generalizar a módulos no coprimos. Sea cualquier número entero, sea ; , y considere el sistema de congruencias:
Si , entonces este sistema tiene un módulo de solución único . De lo contrario, no tiene soluciones.
Si se utiliza la identidad de Bézout para escribir , entonces la solución viene dada por
Esto define un número entero, ya que g divide tanto a m como a n . Por lo demás, la demostración es muy similar a la de los módulos coprimos. [dieciséis]
El teorema del resto chino se puede generalizar a cualquier anillo , utilizando ideales coprimos (también llamados ideales comaximales ). Dos ideales I y J son coprimos si hay elementos y tales que Esta relación juega el papel de identidad de Bézout en las pruebas relacionadas con esta generalización, que por lo demás son muy similares. La generalización puede formularse de la siguiente manera. [17] [18]
Sean I 1 , ..., I k ideales bilaterales de un anillo y sea I su intersección . Si los ideales son coprimos por pares, tenemos el isomorfismo :
entre el anillo cociente y el producto directo de donde " " denota la imagen del elemento en el anillo cociente definido por el ideal Además, si es conmutativo , entonces la intersección ideal de ideales coprimos por pares es igual a su producto ; eso es
si I i y I j son coprimos para todo i ≠ j .
Sean ideales bilaterales coprimos por pares con y
sea el isomorfismo definido anteriormente. Sea el elemento cuyos componentes son todos 0 excepto el i ésimo que es 1 , y
Son idempotentes centrales que son ortogonales por pares ; esto significa, en particular, que y para cada i y j . Además, uno tiene y
En resumen, este teorema del resto chino generalizado es la equivalencia entre dar ideales bilaterales coprimos por pares con una intersección cero y dar idempotentes ortogonales centrales y por pares que suman 1 . [19]
El teorema del resto chino se ha utilizado para construir una numeración de Gödel para secuencias , que participa en la demostración de los teoremas de incompletitud de Gödel .
El algoritmo FFT de factor primo (también llamado algoritmo de Good-Thomas) utiliza el teorema del resto chino para reducir el cálculo de una transformada rápida de Fourier de tamaño al cálculo de dos transformadas rápidas de Fourier de tamaños más pequeños y (siempre que y sean coprimos).
La mayoría de las implementaciones de RSA utilizan el teorema del resto chino durante la firma de certificados HTTPS y durante el descifrado.
El teorema chino del resto también se puede utilizar en el intercambio secreto , que consiste en distribuir un conjunto de acciones entre un grupo de personas que, todas juntas (pero ninguna sola), pueden recuperar un determinado secreto del conjunto de acciones dado. Cada una de las partes está representada en una congruencia, y la solución del sistema de congruencias utilizando el teorema chino del resto es el secreto a recuperar. El intercambio de secretos utilizando el teorema del resto chino utiliza, junto con el teorema del resto chino, secuencias especiales de números enteros que garantizan la imposibilidad de recuperar el secreto de un conjunto de acciones con menos de una determinada cardinalidad .
Las técnicas de resolución de ambigüedad de alcance utilizadas con radares de frecuencia de repetición de pulsos medios pueden verse como un caso especial del teorema del resto chino.
Dada una sobreyección de grupos abelianos finitos , podemos utilizar el teorema del resto chino para dar una descripción completa de dicho mapa. En primer lugar, el teorema da isomorfismos.
dónde . Además, para cualquier mapa inducido
de la sobreyección original, tenemos y desde para un par de números primos , las únicas sobreyección distintas de cero
se puede definir si y .
Estas observaciones son fundamentales para construir el anillo de números enteros profinitos , que se da como un límite inverso de todos estos mapas.
Teorema de Dedekind sobre la independencia lineal de los personajes. Sea M un monoide y k un dominio integral , visto como un monoide considerando la multiplicación de k . Entonces cualquier familia finita ( f i ) i ∈ I de distintos homomorfismos monoides f i : M → k es linealmente independiente . En otras palabras, toda familia ( α i ) i ∈ I de elementos α i ∈ k que satisfaga
debe ser igual a la familia (0) i ∈ I .
Prueba. Primero suponga que k es un campo ; de lo contrario, reemplace el dominio integral k por su campo cociente y nada cambiará. Podemos extender linealmente los homomorfismos monoides f i : M → k a k - homomorfismos de álgebra F i : k [ M ] → k , donde k [ M ] es el anillo monoide de M sobre k . Entonces, por linealidad, la condición
rendimientos
A continuación, para i , j ∈ I ; i ≠ j los dos k - mapas lineales F i : k [ M ] → k y F j : k [ M ] → k no son proporcionales entre sí. De lo contrario, f i y f j también serían proporcionales y, por tanto, iguales, ya que como homomorfismos monoides satisfacen: f i (1) = 1 = f j (1) , lo que contradice la suposición de que son distintos.
Por tanto, los núcleos Ker F i y Ker F j son distintos. Dado que k [ M ]/Ker F i ≅ F i ( k [ M ]) = k es un campo, Ker F i es un ideal máximo de k [ M ] para cada i en I . Debido a que son distintos y maximales, los ideales Ker F i y Ker F j son coprimos siempre que i ≠ j . El teorema chino del resto (para anillos generales) produce un isomorfismo:
dónde
En consecuencia, el mapa
es sobreyectivo. Bajo los isomorfismos k [ M ]/Ker F i → F i ( k [ M ]) = k , el mapa Φ corresponde a:
Ahora,
rendimientos
para cada vector ( u i ) i ∈ I en la imagen del mapa ψ . Dado que ψ es sobreyectivo, esto significa que
para cada vector
En consecuencia, ( α i ) i ∈ I = (0) i ∈ I . QED.