SourceForgeLogo

GLUCAS - Yet Another FFT

Introducción en Inglés

Introducción

                           

Estatus del proyecto (sourceforge)

Bajar (vieja version 2.9.0)

Últimas versiones tar.gz (version 2.9.2)

Navegar por el repositorio

Binarios aún más antiguos

Documentación en línea (Inglés)

INTRODUCCIÓN

Glucas es un programa de código abierto y gratuito para realizar el test primalidad de los números de Mersenne (números de la forma 2^n - 1). Sus resultados nos dicen si un número de Mersenne es un número primo. Puede leer más acerca de los números de Mersenne aquí. La forma especial de los números de Mersenne ofrece tres grandes ventajas:

1) Existe un test suficientemente rápido (test de Lucas-Lehmer). El resultado de dicho test es positivo si y solo si el número de Mersenne es primo.

2) La aritmética modular que se precisa en los cálculos puede realizarse de una forma sencilla sin tener que recurrir a costosas divisiones.

3) El algoritmo utilizado para multiplicar los números tan grandes que necesitamos (algunos millones de bits) utilizan una forma especial de Transformada Rapida de Fourier, DWT . La velocidad que se alcanza con esta Transformada es el doble de la forma general de multiplicar grandes enteros a traves de Transformadas Rápidas de Fourier y el teorema de convolución.

Estas ventajas hacen que la lista de records de grandes numeros primos esté liderada por los números de Mersenne. Usted puede ser el descubridor de un nuevo número primo de Mersenne record, pero no se haga ilusiones rápidamente, es bastante difícil. Hay un proyecto en Internet dedicado a la búsqueda de esos números tan escasos. Este proyecto es GIMPS, the Great Internet Mersenne Prime Search . GIMPS ya ha descubierto los cuatro números primos más grandes de la historia y es un proyecto pionero en el cálculo distribuido por Internet. El núcleo del proyecto es G.Woltman, quien ha escrito los programas clientes para la plataforma X86. Sus programas son desconcertantemente rápidos, y pienso que es la transformada rápida de Fourier más rápida que se ha escrito para dicha plataforma. Esta escrita cuidadosamente optimizada en lenguaje ensamblador.

Glucas es, en cambio, un programa escrito en C diseñado para realizar el test de Lucas-Lehmer. Como yo todavía trabajo con antiguos pentiums en casa y en el trabajo, también he incluido algunas macros en ensamblador para esta plataforma utilizando el excelente compilador GNU/gcc. Se ha alcanzado un 80% de la velocidad de la última version publicada de G.Woltman (prime95 v.20). Para otras plataformas solamante hay dos clientes suficientemente rápidos, Glucas y Mlucas. Mlucas es un excelente programa escrito en fortran-90 escrito por Ernst W. Mayer (una adaptación de Mlucas se utiliza en el test specf2000). La velocidad de Mlucas es similar a Glucas. Mlucas necesita un compilador f-90 y Glucas un compilador C. Para algunas plataformas como MAC, no hay buenos compiladores fortran-90 disponibles y aquí radica la ventaja de Glucas.

Puede leer más acerca de Glucas. Tiene a su disposición el manual completo en línea aquí. También puede obtener el paquete de documentación que incluye el manual en formatos HTML, DVI y PDF.

YEAFFT es la librería utilizada por Glucas para las convoluciones (grandes multiplicaciones) que se necesitan. Esta escrita por mí, Guillermo Ballester Valor. Está basado este artículo . Es una librería escrita en C con algunas macros definidas en ensamblador . Se ha escrito bajo licencia GPL.



ACTUALIZACIÓN: Debido a algunas dificultades de acceso en Sourceforge, estoy moviendo parcialmente el proyecto a mi propio servidor. La versión actual en desarrollo es la 2.9.2. Puede bajarse lo último aquí

Ademas del repositorio CVS en Sourceforge, puede acceder de forma anónima al repositorio tipo Subversion. Para bajarse el repositorio:

svn co https://svn.oxixares.com/repos/glucas

Para actualizarse con las últimas modificaciones:

svn update https://svn.oxixares.com/repos/glucas

El drectorio actualmente activo en el repositorio es 'glucas/trunk/glucas'

También puede ver el código fuente con su navegador

https://svn.oxixares.com/viewcvs

ACTUALIZADO: 06-Mar-2005