Sistema de álgebra computacional
Un sistema de álgebra computacional (CAS) o sistema de álgebra simbólica (SAS) es cualquier software matemático con la capacidad de manipular expresiones matemáticas de manera similar a los cálculos manuales tradicionales de matemáticos y científicos. El desarrollo de los sistemas de álgebra computacional en la segunda mitad del siglo XX es parte de la disciplina de "álgebra computacional" o "computación simbólica", que ha estimulado el trabajo en algoritmos sobre objetos matemáticos como polinomios.
Los sistemas de álgebra computacional se pueden dividir en dos clases: especializados y de propósito general. Los especializados se dedican a una parte concreta de las matemáticas, como la teoría de números, la teoría de grupos o la enseñanza de las matemáticas elementales.
Los sistemas de álgebra computacional de uso general pretenden ser útiles para un usuario que trabaje en cualquier campo científico que requiera la manipulación de expresiones matemáticas. Para ser útil, un sistema de álgebra computacional de propósito general debe incluir varias características, tales como:
- una interfaz de usuario que permite al usuario introducir y mostrar fórmulas matemáticas, típicamente desde un teclado, selecciones de menú, ratón o stylus.
- un lenguaje de programación y un intérprete (el resultado de un cálculo comúnmente tiene una forma impredecible y un tamaño impredecible; por lo tanto, la intervención del usuario es frecuentemente necesaria)
- un simplificador, que es un sistema de reescritura para simplificar las fórmulas matemáticas,
- un administrador de memoria, incluyendo un recolector de basura, necesitado por el enorme tamaño de los datos intermedios, que pueden aparecer durante un cálculo,
- una aritmética de precisión arbitraria, necesaria por el enorme tamaño de los enteros que pueden ocurrir,
- una gran biblioteca de algoritmos matemáticos y funciones especiales.
La biblioteca no solo debe satisfacer las necesidades de los usuarios, sino también las necesidades del simplificador. Por ejemplo, el cálculo de los máximos comunes divisores de polinomios se utiliza sistemáticamente para la simplificación de expresiones que involucran fracciones.
Esta gran cantidad de capacidades informáticas requeridas explica la pequeña cantidad de sistemas de álgebra computacional de uso general. Los sistemas significativos incluyen Axiom, Maxima, Magma, Maple, Mathematica y SageMath.
Historia
Los sistemas de álgebra computacional comenzaron a aparecer en la década de 1960 y evolucionaron a partir de dos fuentes muy diferentes: los requisitos de los físicos teóricos y la investigación sobre inteligencia artificial.
Un excelente ejemplo del primer desarrollo fue el trabajo pionero realizado por el posterior premio Nobel de física Martinus Veltman, quien diseñó un programa para matemáticas simbólicas, especialmente física de alta energía, llamado Schoonschip (holandés para "limpio). ship") en 1963. Otro sistema temprano fue FORMAC.
Usando Lisp como base de programación, Carl Engelman creó MATHLAB en 1964 en MITRE dentro de un entorno de investigación de inteligencia artificial. Posteriormente, MATHLAB se puso a disposición de los usuarios en los sistemas PDP-6 y PDP-10 que ejecutan TOPS-10 o TENEX en las universidades. Hoy todavía se puede usar en emulaciones SIMH del PDP-10. MATHLAB ("mathematical laboratory") no debe confundirse con MATLAB ("matrix laboratory"), que es un sistema de computación numérica construido 15 años después en la Universidad de Nuevo México.
Los primeros sistemas populares de álgebra computacional fueron muMATH, Reduce, Derive (basado en muMATH) y Macsyma; se mantiene activamente una popular versión copyleft de Macsyma llamada Maxima. Reduce se convirtió en software libre en 2008. A partir de hoy, los sistemas comerciales más populares son Mathematica y Maple, que son comúnmente utilizados por investigadores matemáticos, científicos e ingenieros. Las alternativas disponibles gratuitamente incluyen SageMath (que puede actuar como una interfaz para varios otros CAS gratuitos y no gratuitos).
En 1987, Hewlett-Packard introdujo la primera calculadora de mano CAS con la serie HP-28 y fue posible, por primera vez en una calculadora, organizar expresiones algebraicas, diferenciación, integración simbólica limitada, serie de Taylor construcción y un solucionador de ecuaciones algebraicas. En 1999, el CAS Erable desarrollado de forma independiente para la serie HP 48 se convirtió en una parte oficialmente integrada del firmware de la emergente serie HP 49/50, y un año más tarde también en la serie HP 40, mientras que HP Prime adoptó el sistema Xcas. en 2013.
La empresa Texas Instruments en 1995 lanzó la calculadora TI-92 con un CAS basado en el software Derive; la serie TI-Nspire reemplazó a Derive en 2007. La serie TI-89, lanzada por primera vez en 1998, también contiene un CAS.
Casio lanzó su primera calculadora CAS con la CFX-9970G y la sucedió con la serie Algebra FX en 1999-2003 y la serie ClassPad actual.
Más recientemente, se han implementado sistemas de álgebra computacional mediante redes neuronales artificiales.
Manipulaciones simbólicas
Las manipulaciones simbólicas admitidas normalmente incluyen:
- simplificación a una expresión más pequeña o alguna forma estándar, incluyendo simplificación automática con hipótesis y simplificación con limitaciones
- sustitución de símbolos o valores numéricos para ciertas expresiones
- cambio de forma de expresiones: productos y poderes en expansión, factorización parcial y completa, reescritura como fracciones parciales, satisfacción limitada, reescribir funciones trigonométricas como exponenciales, transformando expresiones lógicas, etc.
- diferenciación parcial y total
- cierta integración indefinida y definitiva (ver integración simbólica), incluyendo integrales multidimensionales
- simbólica limitación y optimización mundial sin restricciones
- solución de ecuaciones lineales y no lineales sobre diversos dominios
- solución de algunas ecuaciones diferenciales y diferenciales
- tomando algunos límites
- transformaciones integrales
- operaciones de serie tales como expansión, summation y productos
- operaciones de matriz incluyendo productos, inversos, etc.
- computación estadística
- teorema de prueba y verificación que es muy útil en el área de las matemáticas experimentales
- optimizado generación de código
En lo anterior, la palabra algunos indica que la operación no siempre se puede realizar.
Capacidades adicionales
Muchos también incluyen:
- un lenguaje de programación, permitiendo a los usuarios implementar sus propios algoritmos
- operaciones numéricas de precisión arbitraria
- exacta integer aritmética y la teoría del número
- Edición de expresiones matemáticas en forma bidimensional
- trazar gráficos y tramas paramétricas de funciones en dos y tres dimensiones, y animarlos
- diagramas y diagramas de dibujo
- APIs para conectarlo en un programa externo como una base de datos, o utilizar en un lenguaje de programación para utilizar el sistema de álgebra de computadora
- Manipulación de cadenas tales como coincidencia y búsqueda
- complementos para uso en matemáticas aplicadas como física, bioinformática, química computacional y paquetes para computación física
- solucionadores para ecuaciones diferenciales
Algunos incluyen:
- producción y edición gráficas como imágenes generadas por ordenador y procesamiento de señales como procesamiento de imágenes
- síntesis de sonido
Algunos sistemas de álgebra computacional se enfocan en disciplinas especializadas; estos se desarrollan típicamente en la academia y son gratuitos. Pueden ser ineficaces para operaciones numéricas en comparación con los sistemas numéricos.
Tipos de expresiones
Las expresiones manipuladas por el CAS suelen incluir polinomios en múltiples variables; funciones estándar de expresiones (seno, exponencial, etc.); varias funciones especiales (Γ, ζ, erf, funciones de Bessel, etc.); funciones arbitrarias de expresiones; mejoramiento; derivadas, integrales, simplificaciones, sumas y productos de expresiones; series truncadas con expresiones como coeficientes, matrices de expresiones, etc. Los dominios numéricos admitidos suelen incluir representación de punto flotante de números reales, enteros (de tamaño ilimitado), complejos (representación de punto flotante), representación de intervalo de reales, números racionales (representación exacta) y números algebraicos.
Uso en educación
Ha habido muchos defensores de aumentar el uso de los sistemas de álgebra computacional en las aulas de las escuelas primarias y secundarias. La razón principal de tal defensa es que los sistemas de álgebra computacional representan las matemáticas del mundo real más que las matemáticas basadas en papel y lápiz o calculadoras manuales. Este impulso para aumentar el uso de computadoras en las aulas de matemáticas ha sido apoyado por algunas juntas de educación. Incluso ha sido obligatorio en el plan de estudios de algunas regiones.
Los sistemas de álgebra computacional se han utilizado ampliamente en la educación superior. Muchas universidades ofrecen cursos específicos sobre el desarrollo de su uso, o implícitamente esperan que los estudiantes los utilicen para su trabajo de curso. Las empresas que desarrollan sistemas de álgebra computarizada han presionado para aumentar su prevalencia entre los programas universitarios y universitarios.
Las calculadoras equipadas con CAS no están permitidas en el ACT, el PLAN y en algunas aulas, aunque puede estar permitido en todos los exámenes permitidos por calculadora de College Board, incluidos el SAT, algunos exámenes de materias del SAT y el Exámenes AP de Cálculo, Química, Física y Estadística.
Matemáticas utilizadas en sistemas de álgebra computacional
- algoritmo de terminación Knuth-Bendix
- algoritmos de determinación de raíz
- Integración simbólica mediante, por ejemplo, algoritmo de Risch o algoritmo de Risch–Norman
- Summación hipergeométrica a través del algoritmo de Gosper
- Limitar la computación a través del algoritmo de Gruntz
- Factorización polinómica por ejemplo, sobre campos finitos, algoritmo de Berlekamp o algoritmo de Cantor-Zassenhaus.
- Divisor común más grande vía por ejemplo algoritmo de Euclidean
- Eliminación gausiana
- Base de Gröbner a través del algoritmo de Buchberger; generalización del algoritmo de Euclidean y eliminación gaisiana
- Padé aproximant
- Schwartz–Zippel lemma and testing polynomial identities
- Teorema de restos chinos
- Ecuaciones de diofantina
- Eliminación cuantitativa sobre números reales a través del método de Tarski/Descomposición algebraica cilíndrica
- El algoritmo de Landau (rastros impregnados)
- Derivados de funciones elementales y funciones especiales. (por ejemplo, vea los derivados de la función gamma incompleta.)
- Descomposición algebraica cilíndrica
Contenido relacionado
Patrón de fachada
Serie UNIVAC 1100/2200
Contaminación de parámetros HTTP