Articulo de referencia

FriCAS

FriCAS es un sistema de álgebra computacional de propósito general con un fuerte enfoque en la investigación matemática y el desarrollo de nuevos algoritmos . Incluye un intérpr...

FriCAS es un sistema de álgebra computacional de propósito general con un fuerte enfoque en la investigación matemática y el desarrollo de nuevos algoritmos . Incluye un intérprete , un compilador y una biblioteca en constante crecimiento [1] de más de 1000 dominios y categorías.

FriCAS proporciona un lenguaje de programación de alto nivel fuertemente tipado llamado SPAD y un lenguaje interactivo similar que utiliza inferencia de tipos para mayor comodidad. Aldor fue desarrollado intencionalmente como el compilador de próxima generación para Axiom CAS y sus derivaciones . FriCAS (opcionalmente) permite ejecutar programas Aldor. Ambos lenguajes comparten una sintaxis similar y un sistema de tipos sofisticado ( dependiente ) . [2] [3] [4]

FriCAS está ampliamente documentado y disponible como código fuente y como distribución binaria para las plataformas más comunes. La compilación de los códigos fuente requiere, además de otros requisitos previos, un entorno Common Lisp (que soporta muchas de las principales implementaciones y está disponible de forma gratuita como código abierto ).

FriCAS se ejecuta en muchas plataformas POSIX como Linux , macOS , Unix , BSD, así como en Cygwin y Microsoft Windows ( WSL ).

Historia

IBM desarrolló dos sistemas de álgebra computacional denominados Scratchpad . El primero fue iniciado en 1965 por James Griesmer [5] a petición de Ralph Gomory y escrito en Fortran . [6] El desarrollo de este software se detuvo antes de cualquier lanzamiento público. El segundo Scratchpad, originalmente llamado Scratchpad II , se desarrolló a partir de 1977 en el Centro de Investigación Thomas J. Watson , bajo la dirección de Richard Dimick Jenks. [7]

El diseño se debe principalmente a Richard D. Jenks (IBM Research), James H. Davenport (Universidad de Bath), Barry M. Trager (IBM Research), David YY Yun (Universidad Metodista del Sur) y Victor S. Miller (IBM Research). Los primeros consultores del proyecto fueron David Barton (Universidad de California, Berkeley) y James W. Thatcher (IBM Research). La implementación incluyó a Robert Sutor (IBM Research), Scott C. Morrison (Universidad de California, Berkeley), Christine J. Sundaresan (IBM Research), Timothy Daly (IBM Research), Patrizia Gianni (Universidad de Pisa), Albrecht Fortenbacher (Universitaet Karlsruhe), Stephen M. Watt (IBM Research y Universidad de Waterloo), Josh Cohen (Universidad de Yale), Michael Rothstein (Universidad Estatal de Kent), Manuel Bronstein (IBM Research), Michael Monagan (Universidad Simon Fraser), Jonathan Steinbach (IBM Research), William Burge (IBM Research), Jim Wen (IBM Research), William Sit (City College de Nueva York) y Clifton Williamson (IBM Research) [8].

Scratchpad II fue renombrado Axiom cuando IBM decidió, alrededor de 1990, convertirlo en un producto comercial. Unos años más tarde, fue vendido a NAG . En 2001, fue retirado del mercado y relanzado por Tim Daly bajo la Licencia BSD Modificada . En 2007, Axiom fue bifurcado como FriCAS por Waldek Hebisch tras el estímulo de Tim Daly [9] para resolver los desacuerdos sobre los objetivos del proyecto. [10]

Ejemplos

FriCAS tiene una implementación prácticamente completa del algoritmo Risch–Bronstein–Trager . [11]

Otra característica útil es la transmisión :

)establecer flujo calcular 5
exp_serie := serie(exp x, x=0)

        1 + incógnita + 1 2   incógnita 2 + 1 6   incógnita 3 + 1 24   incógnita 4 + 1 120   incógnita 5 + Oh ( incógnita 6 ) {\displaystyle \ \ \ \ 1+x+{{\frac {1}{2}}\ {{x}^{2}}}+{{\frac {1}{6}}\ {{x}^{3}}}+{{\frac {1}{24}}\ {{x}^{4}}}+{{\frac {1}{120}}\ {{x}^{5}}}+{O\left({{x}^{6}}\right)}}

Tipo: SeriePuiseux Univariante(Expresión(Entero),x,0)

De esta forma se puede recuperar cualquier coeficiente, por ejemplo : norte = 40 {\estilo de visualización n=40}

coeficiente(exp_serie,40)

        1 815915283247897734345611269596115894272000000000 {\displaystyle \ \ \ \ {\frac {1}{815915283247897734345611269596115894272000000000}}}

Tipo: Expresión (Entero)


Véase también

Referencias

  1. ^ API FriCAS
  2. ^ Poll, Erik; Thompson, Simon (mayo de 1998). "Añadiendo los axiomas a Axiom: Hacia un sistema de razonamiento automatizado en Aldor" (Monografía) . Consultado el 27 de enero de 2017 .
  3. ^ Poll, Erik; Thompson, Simon. "El sistema de tipos de Aldor" (Monografía) . Consultado el 27 de enero de 2017 .
  4. ^ Poll, Erik; Thompson, Simon. "Integración del álgebra computacional y el razonamiento a través del sistema de tipos de Aldor". En Hélène Kirchner; Christophe Ringeissen (eds.). Fronteras de la combinación de sistemas . Tercer taller internacional sobre fronteras de la combinación de sistemas (FroCoS 2000). Vol. 1794. Nancy, Francia: Springer-Verlag Berlin. pp.  136– 150. ISBN  978-3-540-67281-4. Recuperado el 27 de enero de 2017 .
  5. ^ Fitch, John (23 de julio de 2012). "James Griesmer 1929--2011". Comunicaciones ACM en Álgebra Computacional . 46 (1/2): 10– 11. doi : 10.1145/2338496.2338499 . S2CID  36788754.
  6. ^ "Sistema de álgebra computacional Axiom". axiom-developer.org .
  7. ^ "Información biográfica de Richard D. Jenks". www.eecis.udel.edu .
  8. ^ "EUROCAL '85 | SpringerLink". www.springer.com .
  9. ^ "[Axiom-developer] Una propuesta modesta". lists.nongnu.org .
  10. ^ "Historia — FriCAS". fricas.github.io .
  11. ^ "Estado de implementación de MathAction Risch". wiki.fricas.org . Consultado el 3 de octubre de 2021 .
  • Página de inicio de FriCAS
  • Wiki FriCAS
  • SandBox: prueba FriCAS en línea
  • Documentación en fricas.github.io
  • API FriCAS (esfinge)
  • Repositorios de código fuente: SourceForge, GitHub
  • Piedra de Rosetta (pdf)
  • Piedra Rosetta (algunos otros formatos)
  • Piedra de Rosetta (html)
  • rosettacode.org, Categoría:SPAD
  • Foro: fricas-devel
  • FriCAS Jupyter Kernel (jfricas/src)
  • Jupyter FriCAS (pypi)

Relacionado:

Obtenido de "https://es.wikipedia.org/w/index.php?title=FriCAS&oldid=1232389584"