# Orden multiplicativo módulo n (orden del elemento)

Calcula el orden multiplicativo ord\_n(a) — el menor k ≥ 1 con a^k ≡ 1 (mod n) (exige gcd(a, n) = 1). El algoritmo parte de φ(n) y va retirando factores primos probando a^(ord/p); la salida incluye la tabla de potencias de a, la prueba de minimalidad (a^(k/p) ≢ 1 para cada primo p | k), el subgrupo cíclico generado , y señala si a es raíz primitiva (ord = φ(n)) o alcanza el orden máximo (ord = λ(n)). Clásicos: ord\_7(3) = 6 = φ(7), 3 es raíz primitiva mod 7; ord\_15(2) = 4 < φ(15) = 8.

> Página canónica: https://elysiatools.com/es/tools/order-of-element-mod-n

- **Categoría:** Math & Numbers

- **Palabras clave:** orden multiplicativo, orden del elemento, raíz primitiva, subgrupo cíclico, grupo multiplicativo, logaritmo discreto, teoría de números

## Descripción general

Esta herramienta calcula el orden multiplicativo de un elemento a módulo n, determinando el menor entero positivo k tal que a^k ≡ 1 (mod n). Requiere que a y n sean coprimos y proporciona un análisis completo que incluye la reducción módulo n, la tabla de potencias sucesivas, la prueba de minimalidad, el subgrupo cíclico generado ⟨a⟩ y la verificación de si el elemento es una raíz primitiva o alcanza el orden maximal λ(n).

## Entradas

- **Elemento a** (text): The element whose order is computed; reduced mod n first (up to 10⁵¹²).
- **Módulo n** (text): Modulus, 2 ≤ n ≤ 10¹² (needs factorization of n and φ(n)).

## Cuándo usarlo

- Al verificar si un número entero es una raíz primitiva módulo n para algoritmos criptográficos o teoría de números.
- Al determinar el tamaño y los elementos del subgrupo cíclico generado por un elemento en (Z/nZ)*.
- Al calcular el periodo de repetición de potencias modulares o resolver congruencias exponenciales.

## Cómo funciona

- Verifica la coprimidad comprobando que gcd(a, n) = 1, condición necesaria para que exista el orden multiplicativo.
- Calcula la función totiente de Euler φ(n) y la función de Carmichael λ(n) factorizando el módulo n.
- Reduce recursivamente las potencias dividiendo por los factores primos del orden candidato para hallar el menor k con a^k ≡ 1 (mod n).
- Genera la tabla de potencias sucesivas, el conjunto de elementos de ⟨a⟩ y evalúa si ord_n(a) equivale a φ(n) o a λ(n).

## Casos de uso

- Comprobación de generadores para sistemas criptográficos basados en logaritmo discreto como Diffie-Hellman.
- Resolución de ejercicios de álgebra abstracta sobre la estructura de grupos abelianos finitos.
- Determinación del ciclo y periodicidad en generadores de secuencias pseudoaleatorias modulares.

## Preguntas frecuentes

### ¿Por qué es obligatorio que gcd(a, n) = 1?

Si a y n comparten un divisor común mayor que 1, cualquier potencia a^k mantendrá ese factor y nunca podrá ser congruente con 1 módulo n.

### ¿Qué diferencia existe entre una raíz primitiva y un elemento de orden maximal?

Una raíz primitiva tiene orden ord = φ(n) y genera todas las unidades; cuando el grupo no es cíclico, no existen raíces primitivas y el orden más alto posible es λ(n).

### ¿Qué tamaño máximo de módulo n se puede ingresar?

El módulo n admite valores enteros desde 2 hasta 10¹² para garantizar una factorización y cálculo eficientes.

### ¿Cómo se interpreta la prueba de minimalidad?

Demuestra que para cada factor primo p que divide al orden k hallado, a^(k/p) ≢ 1 (mod n), garantizando que no existe un divisor menor válido.

### ¿Se admiten valores de a mayores que n?

Sí, la herramienta reduce automáticamente a módulo n antes de iniciar el cálculo del orden.

## Herramientas relacionadas

- [Calculadora de la función de Carmichael λ(n)](https://elysiatools.com/es/tools/carmichael-function): Calcula la función de Carmichael λ(n) — el exponente del grupo multiplicativo (Z/nZ)*, es decir, el menor k con a^k ≡ 1 (mod n) para todo a coprimo con n. Se obtiene desde la factorización prima con λ(2)=1, λ(4)=2, λ(2^k)=2^(k−2) (k ≥ 3), λ(p^k)=φ(p^k) en potencias impares y lcm entre componentes, junto con φ(n), la existencia de raíz primitiva y el criterio de Korselt para detectar números de Carmichael. Clásicos: λ(561) = 80 (561 es el menor número de Carmichael) y λ(8) = 2 < φ(8) = 4.
- [Teorema chino del resto (sistema de congruencias)](https://elysiatools.com/es/tools/chinese-remainder-theorem): Resuelve el sistema x ≡ rᵢ (mod mᵢ) (2–20 ecuaciones) mediante el teorema chino del resto generalizado con fusión por pares: con módulos coprimos el módulo combinado es el producto; si no son coprimos pero el sistema es compatible, es el mínimo común múltiple; si es incompatible, se informa claramente de que no hay solución. Cada congruencia se verifica contra la solución final. Clásico: x ≡ 2 (mod 3), x ≡ 3 (mod 5), x ≡ 2 (mod 7) → x = 23 (mod 105).
- [Generador de permutaciones / combinaciones / subconjuntos (con repeticiones)](https://elysiatools.com/es/tools/combinatorial-generation): Genera permutaciones, combinaciones y subconjuntos de un multiconjunto, deduplicando y ordenando lexicográficamente: las permutaciones usan next_permutation con conteo exacto n!/Π(mᵢ!); las combinaciones generan las k-submultisecciones distintas, contadas como el coeficiente de x^k en Π(1+x+…+x^mᵢ) (C(n,k) si todos los elementos son distintos); los subconjuntos enumeran cada submultisección con conteo Π(mᵢ+1) (2ⁿ si todos distintos), incluido el vacío. Hasta 12 elementos, la muestra se limita a 200 entradas pero el conteo siempre es exacto; el modo combinaciones exige 1 ≤ k ≤ n. Clásicos: permutaciones de \[A, A, B\] → 3!/2! = 3 (AAB, ABA, BAA); subconjuntos de \[A, A, B\] → (2+1)(1+1) = 6.
- [Calculadora de la función φ de Euler](https://elysiatools.com/es/tools/euler-totient-function): Calcula la función φ de Euler — cuántos enteros en \[1, n\] son coprimos con n. Factoriza n por división de prueba y evalúa exactamente φ(n) = n · Π(1 − 1/p) (n ≤ 10¹²), con opción de listar los primeros 60 coprimos y el recordatorio del teorema de Euler a^φ(n) ≡ 1 (mod n). Clásicos: φ(36) = 12 (36 = 2² × 3²); si n es primo, φ(n) = n − 1, p. ej. φ(97) = 96.
- [Convertidor de Fracciones Decimales](https://elysiatools.com/es/tools/fraction-decimal-converter): Convierte entre fracciones y decimales con soporte para números mixtos, fracciones impropias y varios formatos decimales
- [Solucionador de juegos de suma cero (punto de silla / programación lineal)](https://elysiatools.com/es/tools/game-theory-zero-sum): Resuelve juegos de suma cero de 2–6 × 2–6 (la matriz de pagos es del jugador fila, el maximizador; el jugador columna paga): primero la prueba de punto de silla (si el máximín de los mínimos de fila iguala el mínimax de los máximos de columna hay equilibrio en estrategias puras y se listan las celdas de silla); si no, se desplaza la matriz para que todas las entradas sean ≥ 1 y se resuelve max Σz s.t. Bz ≤ 1 con un simplex de una fase (base de holguras, regla de Bland): el primal da la estrategia mixta q del columnista y los precios sombra duales son exactamente la solución y del jugador fila; el valor se desplaza de vuelta y se reportan x, q y v, verificando numéricamente ambas garantías (xᵀA ≥ v, Aq ≤ v) y la igualdad minimax. Clásico: piedra-papel… pares \[\[1,-1\],\[-1,1\]\] → valor 0 con mezclas 0.5/0.5.
- [Calculadora de transformada inversa de Laplace (fracciones parciales)](https://elysiatools.com/es/tools/inverse-laplace-calculator): Calcula la transformada inversa de Laplace de F(s) = N(s)/D(s) (fracción propia, denominador de grado ≤ 6): obtiene las raíces del denominador agrupadas por multiplicidad y pares conjugados, resuelve el sistema lineal de coeficientes para la descomposición en fracciones parciales y aplica las parejas estándar término a término (A/(s−r)→Ae^(rt), A/(s−r)^j→At^(j−1)e^(rt)/(j−1)!, (Bs+C)/((s−α)²+β²)→e^(αt)\[Bcos(βt)+…sin(βt)\]). Clásicos: 1/(s²+3s+2) → e^(−t)−e^(−2t); (3s+5)/(s²+4) → 3cos(2t)+2,5sin(2t).
- [Calculadora de transformada de Laplace (tabla de pares)](https://elysiatools.com/es/tools/laplace-transform-calculator): Obtiene por tabla la transformada de Laplace F(s) = ∫₀^∞ e^(−st)f(t)dt: 14 pares estándar (1, t, tⁿ, e^(at), tⁿe^(at), sin/cos(kt) y sus desplazamientos exponenciales, sinh/cosh, t·sin/t·cos, δ(t)), con sustitución de parámetros, región de convergencia (p. ej. s > a), nota de derivación y evaluación numérica opcional en un punto s (con verificación de convergencia). Ejemplo: L{e^t} = 1/(s−1), s>1, F(2) = 1.

## Ejemplos

- [Ejemplos de Procesamiento de Imágenes Web Python](https://elysiatools.com/es/samples/web-image-processing-python): Ejemplos de procesamiento de imágenes Web Python usando PIL/Pillow incluyendo lectura, guardado, redimensionamiento y conversión de formato
- [Ejemplos de Procesamiento de Imágenes Android Java](https://elysiatools.com/es/samples/android-image-processing-java): Ejemplos de procesamiento de imágenes Android Java incluyendo lectura/escritura, escalado y conversión de formato
- [Ejemplos de Procesamiento de Imágenes Android Kotlin](https://elysiatools.com/es/samples/android-image-processing-kotlin): Ejemplos de procesamiento de imágenes Android Kotlin incluyendo lectura/escritura, escalado y conversión de formato
- [Ejemplos de Procesamiento de Imágenes Web Rust](https://elysiatools.com/es/samples/web-image-processing-rust): Ejemplos de procesamiento de imágenes Web Rust incluyendo lectura/escritura, escalado y conversión de formato
