InglésFrancésEspañol

Ad


icono de página de OnWorks

ecm - Online en la nube

Ejecute ecm en el proveedor de alojamiento gratuito de OnWorks a través de Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS

Este es el comando ecm que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.

PROGRAMA:

NOMBRE


ecm - factorización de enteros usando ECM, P-1 o P + 1

SINOPSIS


ecm [opciones] B1 [B2min-B2máx | B2]

DESCRIPCIÓN


ecm es un programa de factorización de enteros que utiliza el método de curva elíptica (ECM), el método P-1,
o el método P + 1. Las siguientes secciones describen los parámetros relevantes para estos
algoritmos.

PASO 1 Y PASO 2 LIGADO PARÁMETROS


B1
B1 es el límite del paso 1. Es un parámetro obligatorio. Se puede dar en entero
formato (por ejemplo 3000000) o en formato de punto flotante (3000000.0 o 3e6). los
más grande posible B1 el valor es 9007199254740996 para P-1 y ULONG_MAX o
9007199254740996 (el que sea menor) para ECM y P + 1. Todos los primos 2 <= p <= B1 en
procesado en el paso 1.

B2
B2 es el límite del paso 2. Es opcional: si se omite, se calcula un valor predeterminado a partir de
B1, que debería estar cerca del óptimo. Igual que B1, se puede dar en entero o en
formato de coma flotante. El mayor valor posible de B2 es aproximadamente 9e23, pero
depende de la cantidad de bloques k si especifica el -k opción. Todos los números primos B1 <= p <=
B2 se procesan en el paso 2. Si B2 < B1, no se realiza el paso 2.

B2min-B2máx
alternativamente, uno puede usar el B2min-B2máx forma, lo que significa que todos los números primos B2min <= p
<= B2máx debe ser procesado. Así especificando B2 solo corresponde a B1-B2. Los valores
of B2min y B2máx puede ser arbitrariamente grande, pero su diferencia no debe exceder
aproximadamente 9e23, sujeto al número de bloques k.

FACTORIZACIÓN MÉTODO


-pm1
Realice P-1 en lugar del método predeterminado (ECM).

-pp1
Realice P + 1 en lugar del método predeterminado (ECM).

Y INICIAL drive PARÁMETROS


-x0 x
[ECM, P-1, P + 1] Utilizar x (entero de precisión arbitraria o racional) como punto inicial. Para
ejemplo, -x0 1/3 es válida. Si no se da, x se genera a partir del valor sigma para ECM,
o al azar para P-1 y P + 1.

-sigma s
[ECM] Utilizar s (entero de precisión arbitraria) como generador de curvas. Si se omite, s is
generado al azar.

-A a
[ECM] Utilizar a (entero de precisión arbitraria) como parámetro de curva. Si se omite, es
generado a partir del valor sigma.

-Vamos val
[ECM, P-1, P + 1] Multiplique el punto inicial por val, que puede cualquier expresión válida,
posiblemente contenga el carácter especial N como marcador de posición para la entrada actual
número. Ejemplo:

ecm -pp1 -go "N ^ 2-1" 1e6 <composite2000

PASO 2 PARÁMETROS


-k k
[ECM, P-1, P + 1] Realizar k bloques en el paso 2. Para un B2 valor, aumentando k
Disminuye el uso de memoria del paso 2, a expensas de más tiempo de CPU.

-archivo de árbol presentar
Almacena algunas tablas de datos en archivos de disco para reducir la cantidad de memoria ocupada en
paso 2, a expensas de la E / S del disco. Los datos se escribirán en archivos presentar.1, presentar.2 etc
No funciona con la etapa rápida 2 para P + 1 y P-1.

-poder n
[ECM, P-1] Utilice x ^n para la extensión de Brent-Suyama (-poder 1 desactiva Brent-Suyama
extensión). El polinomio predeterminado se elige según el método y B2. Para P-1
y P + 1, desactiva la etapa rápida 2. Para P-1, n debe ser parejo.

-dickson n
[ECM, P-1] Grado de uson Polinomio de Dickson para la extensión de Brent-Suyama. Para P-1 y
P + 1, desactiva la etapa rápida 2. Como para -poder, n debe ser parejo para P-1.

-maxmem n
Usar como máximo n megabytes de memoria en la etapa 2.

-ntt, -no-ntt
Habilite o deshabilite el código de transformación teórica de números para aritmética polinomial en
etapa 2. Con NTT, se elige dF para ser una potencia de 2, y está limitado por el número
primos adecuados que caben en una palabra de máquina (que es una limitación sólo en 32 bits
sistemas). La variante -no-ntt usa más memoria, pero es más rápida que NTT con grandes
números de entrada. Por defecto, NTT se usa para P-1, P + 1 y para ECM en números de tamaño en
la mayoría de las 30 palabras de máquina.

SALIDA


-q
Modo silencioso. Las factorizaciones encontradas se imprimen en salida estándar, con factores
separados por espacios en blanco, una línea por número de entrada (si no se encontró ningún factor,
simplemente se copia el número de entrada).

-v
Modo detallado. Se imprime más información, más -v las opciones aumentan la verbosidad. Con
una -v, el tipo de multiplicación modular utilizada, valor x0 inicial, parámetros del paso 2
y progreso, y curvas esperadas y tiempo para encontrar factores de diferentes tamaños para ECM
están impresos. Con -v -v, el valor A para ECM y residuos al final del paso 1 y
se imprimen el paso 2. Más -v imprimir datos internos para depuración.

-marcador de tiempo
Imprima una marca de tiempo cada vez que se procese una nueva curva ECM o una ejecución P + 1 o P-1.

MODULAR ARITMÉTICA CAMPUS


Hay varios algoritmos disponibles para la multiplicación modular. El programa intenta encontrar el
el mejor para cada entrada; uno puede forzar un método dado con las siguientes opciones.

-mpzmod
Utilice la función mpz_mod de GMP (subcuadrática para entradas grandes, pero induce algunos gastos generales
para los pequeños).

-módulo
Usa la multiplicación de Montgomery (versión cuadrática). Por lo general, el mejor método para pequeños
entrada.

-redc
Utilice la multiplicación de Montgomery (versión subcuadrática). Teóricamente óptimo para
gran entrada.

-nobase2
Deshabilite el código especial base 2 (que se usa cuando el número de entrada es un factor grande de
2 ^ n + 1 o 2 ^ n-1, consulte -v).

-base2 n
Forzar el uso de un código especial base 2, el número de entrada debe dividir 2 ^n+1 si n > 0 o 2 ^ |n| -1
if n <0.

ARCHIVO I / O


Las siguientes opciones permiten realizar el paso 1 y el paso 2 por separado, ya sea en
diferentes máquinas, en diferentes momentos, o utilizando un software diferente (en particular, George
El programa Prime95 / mprime de Woltman puede producir una salida del paso 1 adecuada para reanudar con
GMP-ECM). También puede ser útil dividir el paso 2 en varias ejecuciones, utilizando el B2mín-B2máx
.

-En p presentar
Tomar la entrada del archivo presentar en lugar de la entrada estándar.

-salvar presentar
Guarde el resultado del paso 1 en presentar. Si presentar existe, se genera un error. Ejemplo: realizar
solo paso 1 con B1= 1000000 en el número compuesto en el archivo "c155" y guarde su
resultado en el archivo "foo", use

ecm -save foo 1e6 1 <c155

-guarda un presentar
Me gusta -salvar, pero se agrega a archivos existentes.

-currículum presentar
Reanudar residuos de presentar, lee de la entrada estándar si presentar es "-". Ejemplo: a
Realice el paso 2 siguiendo el cálculo del paso 1 anterior, utilice

ecm -reanudar foo 1e6

-chkpunto presentar
Escriba periódicamente el residuo actual en la etapa 1 para presentar. En caso de un corte de energía,
etc., el cálculo se puede continuar con el -currículum .

ecm -chkpnt foo -pm1 1e10 <largenumber.txt

LOOP MODO


El "modo de bucle" (opción -c n) permite ejecutar varias curvas en cada número de entrada. los
las siguientes opciones controlan su comportamiento.

-c n
Realizar n se ejecuta en cada número de entrada (el valor predeterminado es uno). Esta opción es principalmente útil para
P + 1 (por ejemplo con n= 3) o para ECM, donde n podría establecerse en el número esperado de
curvas para encontrar un factor de d dígitos con un límite de paso 1 dado. Esta opción es incompatible
-reanudar, -sigma, -x0. Dando -c 0 produce un bucle infinito hasta que un factor es
Incluso cuando ambos padres biológicos vivían con el niño, los hogares casados eran más pacíficos que los que convivían, descubrió el Sr. Zill.

-uno
En el modo de bucle, deténgase cuando se encuentre un factor; el valor predeterminado es continuar hasta que
cofactor es primo o se realiza el número especificado de ejecuciones.

-b
Procesamiento primero en amplitud: en el modo de bucle, ejecute una curva para cada número de entrada, luego una
segunda curva para cada uno, y así sucesivamente. Este es el modo predeterminado con -En p.

-d
Procesamiento en profundidad: en modo de bucle, ejecutar n curvas para el primer número, luego n curvas
para el segundo y así sucesivamente. Este es el modo predeterminado con entrada estándar.

-y n
En el modo de bucle, en la segunda ejecución y las siguientes, genere solo expresiones que tengan en
MEJOR DE TU n caracteres. El valor predeterminado es -y 0.

-i n
En el modo de bucle, incremente B1 by n después de cada curva.

-I n
En modo bucle, multiplica B1 por un factor que depende de n después de cada curva. El valor predeterminado es uno
que debería ser óptimo en una máquina, mientras que -I 10 podría usarse al intentar
factorizar el mismo número simultáneamente en 10 máquinas idénticas.

SHELL COMANDO EJECUCIÓN


Estas opciones permiten ejecutar comandos de shell para complementar la funcionalidad de GMP-ECM.

-prpcmd cmd
Ejecutar comando cmd para probar la primalidad si los factores y cofactores en lugar de GMP-ECM
funciones propias. El número para probar se pasa a través de stdin. Un código de salida de 0 es
interpretado como "probablemente primo", un código de salida distinto de cero como "compuesto".

-faccmd cmd
Ejecuta el comando cmd siempre que un factor sea encontrado por P-1, P + 1 o ECM. El número de entrada,
factor y cofactor se pasan a través de stdin, cada uno en una línea. Esto podría usarse, es decir, para
enviar nuevos factores automáticamente:

ecm -faccmd 'mail -s "$ HOSTNAME encontró un factor"
[email protected]'11e6 <cunningham.in

-idlecmd cmd
Ejecuta el comando cmd antes de cada curva ECM, se inicia el intento P-1 o P + 1 en un número.
Si el estado de salida de cmd es distinto de cero, GMP-ECM termina inmediatamente; de ​​lo contrario,
continúa normalmente. GMP-ECM se detiene mientras cmd corre, ofreciendo una forma de dejar
GMP-ECM en reposo, por ejemplo, mientras el sistema está ocupado.

OTRO


-n
Ejecute el programa en modo "agradable" (por debajo de la prioridad normal).

-nn
Ejecute el programa en modo "muy agradable" (prioridad inactiva).

-Escala B2 f
Multiplica el límite predeterminado del paso 2 B2 por el valor de punto flotante f. Ejemplo: -Escala B2
0.5 divide el valor predeterminado B2 por 2.

-etapa1tiempo n
Añada n segundos para la etapa 1. Esto es útil para obtener el tiempo esperado correcto con -v if
parte de la etapa 1 se realizó en otra ejecución.

-cofdec
Forzar la salida del cofactor en decimal (incluso si se utilizan expresiones).

-h, --ayuda
Muestra una breve descripción del uso de ecm, los parámetros y las opciones de la línea de comandos.

-printconfig
Imprime los parámetros de configuración utilizados para la compilación y salidas.

ENTRADA SINTAXIS


Los números de entrada pueden tener varias formas:

Números decimales sin procesar como 123456789.

Los comentarios se pueden colocar en el archivo: todo lo que esté después de "//" se ignora, hasta el final de
la línea.

Continuación de línea. Si una línea termina con un carácter de barra invertida "\", se considera
continúe en la siguiente línea.

Se pueden usar expresiones aritméticas comunes. Ejemplo: 3 * 5 + 2 ^ 10.

Factorial: ejemplo 53!.

Multifactorial: ejemplo 15! 3 means 15*12*9*6*3.

Primorial: ejemplo 11 # means 2*3*5*7*11.

Primorial reducido: ejemplo 17 5 # means 5*7*11*13*17.

Funciones: actualmente, la única función disponible es Phi (x, n).

SALIR ESTADO


El estado de salida refleja el resultado de la última curva ECM o intento P-1 / P + 1 del programa
realizado. Los bits individuales significan eventos particulares, específicamente:

Bit 0
0 si el programa finaliza normalmente, 1 si se produce un error

Bit 1
0 si no se encontró un factor adecuado, 1 en caso contrario

Bit 2
0 si el factor es compuesto, 1 si el factor es un número primo probable

Bit 3
0 si el cofactor es compuesto, 1 si el cofactor es un primo probable

Por tanto, pueden producirse los siguientes valores de estado de salida:

0
Terminación normal del programa, no se encontró ningún factor

1
Error

2
Factor compuesto encontrado, cofactor es compuesto

6
Probable factor primo encontrado, cofactor es compuesto

8
Número de entrada encontrado

10
Factor compuesto encontrado, cofactor es un primo probable

14
Factor primo probable encontrado, cofactor es un primo probable

Utilice ecm en línea utilizando los servicios de onworks.net


Servidores y estaciones de trabajo gratuitos

Descargar aplicaciones de Windows y Linux

Comandos de Linux

Ad