Sistema Algebráico Computacional

GAP(Sistema Algebráico Computacional)
Información sobre la plantilla
GAP.png

GAP(Sistema Algebráico Computacional) (acrónimo de Groups, Algorithms and Programming, en español Grupos, Algoritmos y Programación) es un sistema algebraico computacional (CAS) que hace énfasis en teoría de grupos, pero que no se restringe sólo a ella.

GAP fue desarrollado en el Lehrstuhl D für Mathematik (LDFM), en RWTH Aachen, Alemania, desde 1986 hasta 1997. Después de la retirada de J. Neubüser, el desarrollo de GAP y su mantenimiento fue coordinado por School of Mathematical and Computational Sciences en la Universidad de St. Andrews, Escocia. En el verano de 2005 la coordinación fue de nuevo transferida a una asociación de 4 'Centros GAP', localizados en la Universidad de St. Andrews; RWTH Aachen; el Technische Universität Braunschweig; y la Universidad Estatal de Colorado en Fort Collins, Colorado.

Un sistema algebraico computacional o sistema de álgebra computacional SAC (CAS, del inglés computer algebra system) es un programa de ordenador o calculadora avanzada que facilita el cálculo simbólico. La principal diferencia entre un CAS y una calculadora tradicional es la habilidad del primero para trabajar con ecuaciones y fórmulas simbólicamente, en lugar de numéricamente. Es decir, una expresión como a + b es interpretada siempre como "la suma de dos variables", y no como "la suma de dos números" (con valores asignados). Un CAS nos permite automatizar manipulaciones tediosas o difíciles, como por ejemplo, desarrollar por el binomio de Newton la expresión (x − 10)500.

Distribución de GAP

La distribución de GAP consta de dos partes diferenciadas:

  • El sistema central, que consta de:
    • Un núcleo escrito en C, que incorpora un intérprete del lenguaje GAP y los algoritmos sobre funciones básicas.
    • Una gran biblioteca de funciones (escrita en lenguaje GAP) que implementa la gran mayoría de algoritmos.
    • Bibliotecas de datos (incluyendo una lista de pequeños grupos) con orden menor que 2000.
    • El manual.
  • Los paquetes (extensiones autocontenidas del núcleo del sistema fruto de la contribución de los usuarios). Los paquetes son una característica muy importante del sistema, añaden importantes funcionalidades al mismo. GAP ofrece a los autores de paquetes la oportunidad de someterlos a un proceso de revisión, proceso que seguramente mejorará la calidad final de los paquetes, y proporcionará al autor un reconocimiento similar al de las publicaciones académicas. En agosto de 2006 había 58 paquetes distribuidos con GAP, de los cuales aproximadamente 35 habían seguido este proceso. Está disponible una interfaz para usar el CAS SINGULAR dentro de GAP. Asimismo, ambos pueden usarse dentro de la interfaz proporcionado por SAGE.

Historia

Los sistemas de álgebra computacional aparecieron al principio de la década de los 70, y evolucionaron a partir de la investigación en inteligencia artificial, aunque hoy en día constituyen campos ampliamente separados. Los primeros trabajos fueron dirigidos por el Premio Nobel Martin Veltman, quien diseñó en 1963 un programa para matemática simbólica, llamado Schoonship, especializado en Física de Altas Energías. Los primeros sistemas populares fueron Reduce y Macsyma. Hoy en día, una versión copyleft de Macsyma llamada Maxima es mantenida activamente. Posteriormente, en los años 1980 adquirió popularidad Derive.

Los actuales líderes del mercado son Maple y Mathematica; ambos son usados frecuentemente por ingenieros, investigadores matemáticos y otros científicos. MuPAD y MathCad son otros sistemas comerciales. Algunos sistemas algebraicos computacionales se centran en un área específica de aplicación, estos últimos suelen ser sistemas libres desarrollados por universidades. En 1987 Hewlett-Packard introdujo por primera vez un CAS en una calculadora con la HP-28. Posteriormente, en 1995, Texas Instruments sacó al mercado la calculadora TI-92 luego TI-voyage200, que incluían un CAS avanzado basado en el software Derive.

Última versión estable

  • 4.4.12- diciembre de 2008.

Género

  • Sistema lgebraico Computacional.

Sistema operativo

  • Multiplataforma.

Licencia

  • GPL (parte central de la distribución)

Sistemas de Álgebra Computacional Libres y/o Open Source

Axiom

  • Axiom es un sistema de Álgebra Computacional de propósito general. Es muy útil para hacer matemáticas por computador y para investigación y desarrollo de algoritmos matemáticos. Define una tipificación muy fuerte, una jerarquía de datos matemáticamente correcta. Tiene un lenguaje de programación e incorpora un compilador.

Hay también una interesante herramienta: Rosetta Stone la cual ofrece traducciones de muchas de las operaciones básicas para varios sistemas de álgebra computacional, incluyendo Maxima.

GAP

  • GAP es un sistema para trabajo con álgebra discreta, con particular énfasis en Teoría de Grupos Computacional.

Jasymca

  • Jasymca es una calculadora simbólica escrita para teléfonos móbiles y PDAs. Resuelve y manipula ecuaciones, maneja problemas básicos de cálculo y provee un poco más de las típicas funciones de un sistema de álgebra computacional. La sintáxis esta un poco relacionada con GNU-Maxima.

REDUCE

  • REDUCE es un sistema interactivo para cálculos algebraicos generales de interés para matemáticos, científicos e ingenieros.

SINGULAR

  • SINGULAR es un Sistema de Álgebra Computacional para manipulación polinomial con especial énfasis en álgebra conmutativa, geometría algebráica y teoría de la singularidad.

Yacas

  • YACAS es un sistema de Álgebra Computacional de fácil uso y de propósito general, un programa para manipulación simbólica de expresiones matemáticas. Usa su propio lenguaje de programación diseñado para cálculos tanto simbólicos como numéricos con precisión arbitraria.

Otro Software Matemático Libre y/o Open Source

ARIBAS

  • ARIBAS es un intérprete interactivo para aritmética con números enteros grandes y aritmética de números de punto flotante multiprecisión con una sintáxis similar a Pascal/Modula. Cuenta con varias funciones incorporadas para teoría de números como gcd, símbolo Jacobi, primera prueba probabilísitca de Rabin, algoritmos de factorización (Pollard rho, curva elíptica, fracciones continuas, quadratic sieve), etc.

NumPy

  • El paquete fundamental necesario para cálculos científicos con Python es llamado NumPy. Este paquete contiene un poderoso arreglo n-dimensional como objeto, sofisticadas funciones, herramientas para integración con C/C++ y código Fortran y útiles capacidades para álgebra lineal, transformadas de Fourier y números aleatorios.

Octave

  • GNU Octave es un lenguaje de alto nivel, orientado primariamente hacia cálculos numéricos. Provee una conveniente interfaz en línea de comandos para solucionar problemas lineales y no lineales numéricamente y para el desarrollo de otros experimentos numéricos usando un lenguaje que es en su mayoría compatible con Matlab.

PARI/GP

  • PARI/GP es un sistema de álgebra computacional ampliamente usado diseñado para cálculos rápidos en teoría de números (factorización, teoría de números algebráica, curvas elípticas, …) pero también contiene un largo número de otras funciones útiles para efectuar con entidades matemáticas tales como matrices, polinomios, series de potencias, números algebráicos, etc., y la mayoría de funciones trascendentes.

R

  • R es un entorno libre para cálculos y gráficas estadísticas. Se compila y ejecuta en una amplia variedad de plataformas UNIX, Windows and MacOS.

Manipulación de expresiones

Suelen incluir los siguientes tipos de manipulaciones:

  • Con expresiones simbólicas
    • Simplificación de una expresión a la forma más simple o a una forma estándar.
    • Cambio en la forma de las expresiones: expansión de productos y potencias, factorización, reescritura de un cociente de polinomios como suma de fracciones parciales, reescritura de funciones trigonométricas como exponenciales (y viceversa), etc.
    • Operaciones con matrices incluyendo productos de matrices, inversa de una matriz, etc.
    • Resolución de algunas ecuaciones.
    • Cálculo de algunos límites de funciones.
    • Cálculo de derivadas y derivadas parciales.
    • Cálculo de algunas integrales indefinidas, definidas y de algunas transformadas integrales.
    • Aproximación de funciones por desarrollo en series de potencias.
    • Resolución de algunas ecuaciones diferenciales.
  • Con expresiones numéricas
    • Manipulación exacta de fracciones y radicales.
    • Realización de operaciones con precisión arbitraria.
  • Respecto a la presentación de resultados
    • Visualizado de las expresiones matemáticas en una forma bidimensional, usando con frecuencia sistemas de composición similares a TeX.

En los párrafos precedentes, la palabra algunos indica que la operación no siempre puede ser realizada por el sistema. Un programa de esta clase puede encontrar limitaciones a la hora de resolver ciertas expresiones derivadas, integrales, antiderivadas, límites, cuando éstas tienen alguna ambigüedad o indefinición, o por las propias limitaciones del sistema. Algunas versiones ofrecen al usuario la posibilidad de programar sus propios algoritmos matemáticos y solventar, en parte, tales limitaciones. El estudio de algoritmos aplicables a los sistemas algebraicos computarizados se denomina álgebra computacional.

Algunos sistemas de álgebra computacional

  • Maple (de Maplesoft), para Microsoft Windows, Mac y Linux.
  • Mathematica (de Wolfram) para Windows, Mac y Linux.
  • Maxima, un software libre para Windows y Linux.
  • TI-Nspire (de Texas Instruments) para Windows y dispositivos portátiles (Calculadoras).
  • Yacas ("Yet Another Computer Algebra System"), un software libre para Linux.

Enlaces externos

Fuente