Fermat (llamado así en honor a Pierre de Fermat ) es un sistema de álgebra computacional desarrollado por el profesor Robert H. Lewis de la Universidad de Fordham . Puede trabajar con números enteros (de tamaño arbitrario), racionales , reales , complejos , modulares, elementos de cuerpos finitos , polinomios multivariables , funciones racionales o polinomios módulo otros polinomios. Sus principales áreas de aplicación son la aritmética de funciones racionales multivariables y el álgebra matricial sobre anillos de polinomios multivariables o funciones racionales. Fermat no realiza simplificaciones de funciones trascendentales ni integración simbólica .
Una sesión con Fermat generalmente comienza eligiendo un "modo" racional o modular para establecer el campo base (o anillo base).comoo. [ 1 ] Además de esto se puede adjuntar cualquier número de variables simbólicas.creando así el anillo de polinomiosy su campo cociente. Además, algunos polinomiosque involucran a algunos de losse puede elegir para modificarlo, creando el anillo de cocienteFinalmente, es posible permitir polinomios de Laurent , tanto con exponentes negativos como positivos. Una vez establecido el anillo computacional de esta manera, todos los cálculos se realizan sobre elementos de dicho anillo. El anillo computacional puede modificarse posteriormente durante la sesión.
Los procedimientos para calcular el máximo común divisor de polinomios , que se llaman entre sí de forma altamente recursiva, constan de unas 7000 líneas de código.
Fermat cuenta con una amplia gama de primitivas integradas para la manipulación de matrices y arreglos, como submatrices , matrices dispersas , determinantes , normalización , reducción de columnas, escalonamiento de filas , forma normal de Smith e inversa de matrices . Es consistentemente más rápido que algunos sistemas de álgebra computacional bien conocidos, especialmente en el cálculo del máximo común divisor de polinomios multivariados . Además, optimiza el uso del espacio.
El elemento de datos básico en Fermat es una función racional multivariable o polinomio. El numerador y el denominador son polinomios sin factor común. Los polinomios se implementan recursivamente como listas enlazadas generales, a diferencia de algunos sistemas que los implementan como listas de monomios . Para implementar (la mayoría de) los campos finitos, el usuario encuentra un polinomio mónico irreducible en una variable simbólica, por ejemploy ordena a Fermat que lo elimine mediante el mod. Esto puede continuarse recursivamente,etc. Se establecen estructuras de datos de bajo nivel para facilitar la aritmética y el mcd sobre este campo base recién creado . Dos campos especiales,ySe implementan de forma más eficiente a nivel de bits. Desde 2024, se puede realizar la factorización de polinomios multivariables, aunque no es una característica clave.
Historia
Con Windows 10 , y gracias a Bogdan Radu, desde mayo de 2021 es posible ejecutar Fermat Linux de forma nativa en Windows. [ 2 ]
Fermat se actualizó por última vez el 20 de septiembre de 2025 (Mac y Linux; última versión específica para Windows: 1 de noviembre de 2011).
En una versión anterior, denominada FFermat (Float Fermat), el tipo de número básico son los números de coma flotante de 18 dígitos. Dicha versión permite técnicas de cálculo numérico, cuenta con amplias capacidades gráficas, carece de algoritmos sofisticados para el máximo común divisor de polinomios y solo está disponible para Mac OS 9.
Fermat fue escrito originalmente en Pascal para un DEC VAX , y posteriormente para el Mac OS clásico entre 1985 y 1996. En 1998 se adaptó a Microsoft Windows . En 2003 se tradujo a C y se adaptó a Linux (máquinas Intel) y Unix (Sparc/Sun). Consta de aproximadamente 120 000 líneas de código C.
El código fuente de FFermat y del antiguo código fuente de Windows Fermat Pascal se ha puesto a disposición del público bajo una licencia restrictiva.
El manual fue revisado y actualizado exhaustivamente el 25 de julio de 2011 (revisión menor en junio de 2016, otra revisión el 25 de marzo de 2020; la última revisión menor en junio de 2024).
Fermat es ampliamente utilizado por físicos que trabajan en la reducción de integrales de Feynman. Véanse las referencias a FIRE 6.5 y a Kira.
Véase también
Referencias
- Alexander V. Smirnov, Mao Zeng. FIRE 6.5: Reducción integral de Feynman con una nueva biblioteca de simplificación. arXiv : 2311.02370v1 (2023)
- J. Klappert, F. Lange, P. Maierhofer, J. Usovitsch. Reducción Integral con Kira 2.0 y Métodos de Campos Finitos. arXiv : 2008.06494v2 [hep-ph] (2020)
- Lloyd, NG; Pearson, JM Un sistema diferencial cúbico con nueve ciclos límite. Zbl 1304.34062. J. Appl. Anal. Comput. 2, No. 3, 293-304 (2012).
- JM Pearson y NG Lloyd, Kukles revisitado: Avances en técnicas de computación. Computers and Mathematics with Applications , vol. 60, número 10, 2010, págs. 2797 - 2805.
Enlaces externos
- Sitio web oficial
- Código fuente de Windows Fermat Pascal
- Código fuente de Fermat Pascal de punto flotante
- Robert H. Lewis en academia.edu
- Software programado en C
- Software de sistema de álgebra computacional para Linux
- Sistemas de álgebra computacional
- Software gratuito propietario para Linux
- Pierre de Fermat