A computer algebra system (CAS) or symbolic algebra system (SAS) is any mathematical software with the ability to manipulate mathematical expressions in a way similar to the traditional manual computations of mathematicians and scientists. The development of the computer algebra systems in the second half of the 20th century is part of the discipline of "computer algebra" or "symbolic computation", which has spurred work in algorithms over mathematical objects such as polynomials.
Computer algebra systems may be divided into two classes: specialized and general-purpose. The specialized ones are devoted to a specific part of mathematics, such as number theory, group theory, or teaching of elementary mathematics.
General-purpose computer algebra systems aim to be useful to a user working in any scientific field that requires manipulation of mathematical expressions. To be useful, a general-purpose computer algebra system must include various features such as:
- a user interface allowing a user to enter and display mathematical formulas, typically from a keyboard, menu selections, mouse or stylus.
- a programming language and an interpreter (the result of a computation commonly has an unpredictable form and an unpredictable size; therefore user intervention is frequently needed),
- a simplifier, which is a rewrite system for simplifying mathematics formulas,
- a memory manager, including a garbage collector, needed by the huge size of the intermediate data, which may appear during a computation,
- an arbitrary-precision arithmetic implementation, needed by the huge size of the integers that may occur,
- a large library of mathematical algorithms and special functions.
The library must not only provide for the needs of the users, but also the needs of the simplifier. For example, the computation of polynomial greatest common divisors is systematically used for the simplification of expressions involving fractions.
Esta gran cantidad de capacidades informáticas requeridas explica el reducido número de sistemas de álgebra computacional de propósito general. Entre los sistemas más importantes se incluyen Axiom , GAP , Maxima , Magma , Maple , Mathematica , SageMath y SymPy .
Historia

En la década de 1950, si bien las computadoras se utilizaban principalmente para cálculos numéricos, existían algunos proyectos de investigación sobre su uso para la manipulación simbólica. Los sistemas de álgebra computacional comenzaron a aparecer en la década de 1960 y evolucionaron a partir de dos fuentes bastante diferentes: las necesidades de los físicos teóricos y la investigación en inteligencia artificial . [ 1 ]
Un ejemplo destacado 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 para física de altas energías, llamado Schoonschip (que en neerlandés significa "barco limpio") en 1963. Otros sistemas iniciales incluyen FORMAC . [ 2 ]
Utilizando Lisp como base de programación, Carl Engelman creó MATHLAB en 1964 en MITRE dentro de un entorno de investigación de inteligencia artificial. [ 3 ] MATHLAB se puso a disposición de los usuarios en sistemas PDP-6 y PDP-10 que ejecutaban TOPS-10 o TENEX en universidades. Hoy en día todavía se puede usar en emulaciones SIMH del PDP-10. MATHLAB (" laboratorio matemático ") no debe confundirse con MATLAB (" laboratorio de matrices "), que es un sistema para computación numérica construido 15 años después en la Universidad de Nuevo México .
En 1987, Hewlett-Packard presentó la primera calculadora de mano CAS con la serie HP-28 . [ 4 ] Otras calculadoras de mano tempranas con capacidades de álgebra simbólica incluyeron la serie TI-89 de Texas Instruments y la calculadora TI-92 , y la Casio CFX-9970G . [ 5 ]
Los primeros sistemas populares de álgebra computacional fueron muMATH , Reduce , Derive (basado en muMATH) y Macsyma ; una versión copyleft de Macsyma se llama Maxima . Reduce se convirtió en software libre en 2008. [ 6 ] Los sistemas comerciales incluyen Mathematica [ 7 ] y Maple , que son comúnmente utilizados por matemáticos investigadores, científicos e ingenieros. Las alternativas disponibles gratuitamente incluyen SageMath (que puede funcionar como interfaz para varios otros CAS libres y no libres). Otros sistemas importantes incluyen Axiom , GAP , Maxima y Magma .
El movimiento hacia las aplicaciones basadas en la web a principios de la década de 2000 vio el lanzamiento de WolframAlpha , un motor de búsqueda en línea y CAS que incluye las capacidades de Mathematica . [ 8 ]
Más recientemente, se han implementado sistemas de álgebra computacional utilizando redes neuronales artificiales . [ 9 ]
Manipulaciones simbólicas
Las manipulaciones simbólicas que suelen admitirse incluyen:
- simplificación a una expresión más pequeña o a alguna forma estándar , incluyendo la simplificación automática con supuestos y la simplificación con restricciones.
- Sustitución de símbolos o valores numéricos en determinadas expresiones.
- Cambio de forma de expresiones: expansión de productos y potencias, factorización parcial y total , reescritura como fracciones parciales , satisfacción de restricciones , reescritura de funciones trigonométricas como exponenciales, transformación de expresiones lógicas, etc.
- diferenciación parcial y total
- algunas integraciones indefinidas y definidas (véase integración simbólica ), incluidas las integrales multidimensionales
- optimización global simbólica con y sin restricciones
- Solución de ecuaciones lineales y algunas no lineales en diversos dominios.
- solución de algunas ecuaciones diferenciales y en diferencias
- tomar algunos límites
- transformaciones integrales
- operaciones en serie como expansión, suma y productos
- Operaciones con matrices, incluyendo productos , inversas , etc.
- cálculo estadístico
- Demostración y verificación de teoremas , muy útil en el área de las matemáticas experimentales.
- generación de código optimizada
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 que permite a los usuarios implementar sus propios algoritmos.
- operaciones numéricas de precisión arbitraria
- Funcionalidad de aritmética entera exacta y teoría de números
- Edición de expresiones matemáticas en forma bidimensional
- trazar gráficos y diagramas paramétricos de funciones en dos y tres dimensiones, y animarlos.
- dibujar gráficos y diagramas
- API para vincularlo con un programa externo como una base de datos, o para usarlo en un lenguaje de programación para utilizar el sistema de álgebra computacional.
- manipulación de cadenas como coincidencia y búsqueda
- complementos para su uso en matemáticas aplicadas como física, bioinformática , química computacional y paquetes para computación física [ 10 ]
- solucionadores para ecuaciones diferenciales [ 11 ] [ 12 ] [ 13 ] [ 14 ]
- Formato de impresión legible para que se ajuste a las convenciones de notación matemática estándar.
Algunos ejemplos son:
- producción y edición gráfica , como imágenes generadas por computadora y procesamiento de señales como procesamiento de imágenes
- síntesis de sonido
Algunos sistemas de álgebra computacional se centran en disciplinas especializadas; estos suelen desarrollarse en el ámbito académico y son gratuitos. Pueden resultar ineficientes para las operaciones numéricas en comparación con los sistemas numéricos convencionales.
Tipos de expresiones
The expressions manipulated by a CAS typically include multivariable polynomials; standard functions of expressions (sine, exponential, etc.); various special functions (Γ, ζ, erf, Bessel functions, etc.); arbitrary functions of expressions; optimization; derivatives, integrals, simplifications, sums, and products of expressions; truncated series with expressions as coefficients, matrices of expressions, and so on.[15][16] Numeric domains supported typically include floating-point representation of real numbers, integers (of unbounded size), complex (floating-point representation), interval representation of reals, rational number (exact representation) and algebraic numbers.
Use in education
There have been many advocates for increasing the use of computer algebra systems in primary and secondary-school classrooms. The primary reason for such advocacy is that computer algebra systems represent real-world math more than do paper-and-pencil or hand calculator based mathematics.[17] This push for increasing computer usage in mathematics classrooms has been supported by some boards of education. It has even been mandated in the curriculum of some regions.[18]
Computer algebra systems have been extensively used in higher education.[19][20] Many universities offer either specific courses on developing their use, or they implicitly expect students to use them for their course work. The companies that develop computer algebra systems have pushed to increase their prevalence among university and college programs.[21][22]
CAS-equipped calculators are not permitted on the ACT, the PLAN, the SAT, and in some classrooms[23][24] though it may be permitted on College Board's calculator-permitted AP tests, including the AP Calculus, Chemistry, Physics, and Statistics exams.[24]
Mathematics used in computer algebra systems
- Knuth–Bendix completion algorithm[25]
- Algoritmos de búsqueda de raíces [ 25 ]
- Integración simbólica mediante, por ejemplo, el algoritmo de Risch o el algoritmo de Risch-Norman
- Suma hipergeométrica mediante, por ejemplo, el algoritmo de Gosper.
- Limitar el cálculo mediante, por ejemplo, el algoritmo de Gruntz.
- Factorización polinomial mediante, por ejemplo, sobre cuerpos finitos, [ 26 ] el algoritmo de Berlekamp o el algoritmo de Cantor-Zassenhaus .
- Máximo común divisor mediante, por ejemplo, el algoritmo euclidiano.
- Eliminación gaussiana [ 27 ]
- Base de Gröbner mediante, por ejemplo, el algoritmo de Buchberger ; generalización del algoritmo euclidiano y eliminación gaussiana.
- Padé aproximante
- Lema de Schwartz-Zippel y comprobación de identidades polinómicas
- Teorema chino del resto
- Ecuaciones diofánticas
- Algoritmo de Landau (radicales anidados)
- Derivadas de funciones elementales y funciones especiales . (Por ejemplo, véase derivadas de la función gamma incompleta ).
- Descomposición algebraica cilíndrica
- Eliminación de cuantificadores sobre números reales mediante descomposición algebraica cilíndrica.
Véase también
Referencias
- ^ van Hulzen, JA; Calmet, J. (1983). "Aplicaciones de álgebra informática". En Buchberger, B.; Collins, GE; Loos, R. (eds.). Álgebra informática: computación simbólica y algebraica (2ª ed.). Springer-Verlag. págs. 221 a 243. ISBN 978-3-7091-3406-1Los orígenes de los sistemas de álgebra computacional se remontan a la década de 1960 ,
y surgieron principalmente de tres grupos: físicos teóricos (que desarrollaron sistemas como SCHOONSCHIP para la física de altas energías), investigadores de inteligencia artificial (que crearon sistemas como MATHLAB y MACSYMA en el MIT) y matemáticos.
- ↑ Sammet, Jean E. (agosto de 1983). "La historia temprana de FORTRAN FORMAC". ACM SIGPLAN Notices . 18 (8): 151– 161. doi : 10.1145/948176.948190 .
FORMAC fue diseñado e implementado por IBM a principios de la década de 1960 como una extensión de FORTRAN, convirtiéndose en uno de los primeros sistemas significativos y ampliamente utilizados para realizar manipulación algebraica simbólica.
- ↑Engelman, Carl (23–25 March 1971). "MATHLAB Tutorial". In Petrick, Stanley R. (ed.). SYMSAC '71: Proceedings of the Second ACM Symposium on Symbolic and Algebraic Manipulation. Los Angeles, California, United States of America: Association for Computing Machinery. pp. 29–41. doi:10.1145/800181.810339. ISBN 9781450377867.
- ↑Nelson, Richard. "Hewlett-Packard Calculator Firsts". Hewlett-Packard. Archived from the original on 2010-07-03.
- ↑Coons, Albert (1999). "Getting Started with Symbolic Mathematics Systems: A Productivity Tool". Technology Tips. The Mathematics Teacher. 92 (7): 620–622. doi:10.5951/mt.92.7.0620. JSTOR 27971125.
- ↑"REDUCE Computer Algebra System at SourceForge". reduce-algebra.sourceforge.net. Retrieved 2015-09-28.
- ↑Interview with Gaston Gonnet, co-creator of MapleArchived 29 December 2007 at the Wayback Machine, SIAM History of Numerical Analysis and Computing, 16 March 2005.
- ↑Bhattacharya, Jyotirmoy (2022-05-12). "Wolfram|Alpha: a free online computer algebra system". The Hindu. ISSN 0971-751X. Retrieved 2023-04-26.
- ↑Ornes, Stephen (2020-05-20). "Symbolic Mathematics Finally Yields to Neural Networks". Quanta Magazine. Retrieved 2020-11-04.
- ↑Dana-Picard, Thierry Noah (2023). "Computer Assisted Proofs and Automated Methods in Mathematics Education". Electronic Proceedings in Theoretical Computer Science. 375: 2–23. arXiv:2303.10166. doi:10.4204/EPTCS.375.2.
- ↑"dsolve - Maple Programming Help". www.maplesoft.com. Retrieved 2020-05-09.
- ↑"DSolve – Wolfram Language Documentation". www.wolfram.com. Retrieved 2020-06-28.
- ↑"Basic Algebra and Calculus — Sage Tutorial v9.0". doc.sagemath.org. Retrieved 2020-05-09.
- ↑ "Álgebra simbólica y matemáticas con Xcas" (PDF) .
- ↑ "Sistema de álgebra computacional - MATLAB y Simulink" . MathWorks . Consultado el 2 de diciembre de 2025 .
- ↑ "Sistemas de álgebra computacional - Análisis comparativos: Wolfram Mathematica" . Wolfram . Consultado el 2 de diciembre de 2025 .
- ↑ "Enseñar matemáticas reales a los niños con ordenadores" . Ted.com . 15 de noviembre de 2010. Consultado el 12 de agosto de 2017 .
- ↑ "Matemáticas – Educación de Manitoba" . Edu.gov.mb.ca. Consultado el 12 de agosto de 2017 .
- ↑ "Mathematica para profesores, personal y estudiantes : Tecnología de la información – Universidad Northwestern" . It.northwestern.edu . Consultado el 12 de agosto de 2017 .
- ↑ "Mathematica para estudiantes – Tecnología de la Información de la Universidad de Columbia" . cuit.columbia.edu . Consultado el 12 de agosto de 2017 .
- ↑ "Mathematica para la educación superior: usos para cursos universitarios y de institutos" . Wolfram.com . Consultado el 12 de agosto de 2017 .
- ↑ "MathWorks – Academia – MATLAB y Simulink" . Mathworks.com . Consultado el 12 de agosto de 2017 .
- ↑ "ACT CAAP | Uso de calculadoras en la prueba de matemáticas CAAP | ACT" . www.act.org . Archivado del original el 31 de agosto de 2009. Consultado el 1 de diciembre de 2025 .
- 1 2 "Política de calculadoras para exámenes AP" . Estudiantes de AP . College Board . Consultado el 24 de mayo de 2024 .
- 1 2 B. Buchberger; GE Collins; R. Loos (29 de junio de 2013). Álgebra computacional: computación simbólica y algebraica . Springer Science & Business Media. ISBN 978-3-7091-3406-1.
- ↑ Joachim von zur Gathen; Jürgen Gerhard (25 de abril de 2013). Álgebra informática moderna . Prensa de la Universidad de Cambridge. ISBN 978-1-107-03903-2.
- ↑ Keith O. Geddes; Stephen R. Czapor; George Labahn (30 de junio de 2007). Algoritmos para álgebra computacional . Springer Science & Business Media. ISBN 978-0-585-33247-5.
Enlaces externos
- Curriculum and Assessment in an Age of Computer Algebra SystemsArchived 1 December 2009 at the Wayback Machine – From the Education Resources Information Center Clearinghouse for Science, Mathematics, and Environmental Education, Columbus, Ohio.
- Richard J. Fateman. "Essays in algebraic simplification." Technical report MIT-LCS-TR-095, 1972. (Of historical interest in showing the direction of research in computer algebra. At the MIT LCS website: )
- Computer algebra systems
- Algebra education