Computer algebra system

Last updated

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.

Contents

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:

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.

This large amount of required computer capabilities explains the small number of general-purpose computer algebra systems. Significant systems include Axiom, GAP, Maxima, Magma, Maple, Mathematica, and SageMath.

History

A Texas Instruments TI-Nspire calculator that contains a computer algebra system Computer algebra system.jpg
A Texas Instruments TI-Nspire calculator that contains a computer algebra system

Computer algebra systems began to appear in the 1960s and evolved out of two quite different sources—the requirements of theoretical physicists and research into artificial intelligence.

A prime example for the first development was the pioneering work conducted by the later Nobel Prize laureate in physics Martinus Veltman, who designed a program for symbolic mathematics, especially high-energy physics, called Schoonschip (Dutch for "clean ship") in 1963. Another early system was FORMAC.

Using Lisp as the programming basis, Carl Engelman created MATHLAB in 1964 at MITRE within an artificial-intelligence research environment. Later MATHLAB was made available to users on PDP-6 and PDP-10 systems running TOPS-10 or TENEX in universities. Today it can still be used on SIMH emulations of the PDP-10. MATHLAB ("mathematical laboratory") should not be confused with MATLAB ("matrix laboratory"), which is a system for numerical computation built 15 years later at the University of New Mexico.

In 1987, Hewlett-Packard introduced the first hand-held calculator CAS with the HP-28 series. [1] Other early handheld calculators with symbolic algebra capabilities included the Texas Instruments TI-89 series and TI-92 calculator, and the Casio CFX-9970G. [2]

The first popular computer algebra systems were muMATH, Reduce, Derive (based on muMATH), and Macsyma; a copyleft version of Macsyma is called Maxima. Reduce became free software in 2008. [3] Commercial systems include Mathematica [4] and Maple, which are commonly used by research mathematicians, scientists, and engineers. Freely available alternatives include SageMath (which can act as a front-end to several other free and nonfree CAS). Other significant systems include Axiom, GAP, Maxima and Magma.

The movement to web-based applications in the early 2000s saw the release of WolframAlpha, an online search engine and CAS which includes the capabilities of Mathematica. [5]

More recently, computer algebra systems have been implemented using artificial neural networks, though as of 2020 they are not commercially available. [6]

Symbolic manipulations

The symbolic manipulations supported typically include:

In the above, the word some indicates that the operation cannot always be performed.

Additional capabilities

Many also include:

Some include:

Some computer algebra systems focus on specialized disciplines; these are typically developed in academia and are free. They can be inefficient for numeric operations as compared to numeric systems.

Types of expressions

The expressions manipulated by the CAS typically include polynomials in multiple variables; 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. 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. [12] 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. [13]

Computer algebra systems have been extensively used in higher education. [14] [15] 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. [16] [17]

CAS-equipped calculators are not permitted on the ACT, the PLAN, and in some classrooms [18] though it may be permitted on all of College Board's calculator-permitted tests, including the SAT, some SAT Subject Tests and the AP Calculus, Chemistry, Physics, and Statistics exams. [19]

Mathematics used in computer algebra systems

See also

Related Research Articles

<span class="mw-page-title-main">Numerical analysis</span> Methods for numerical approximations

Numerical analysis is the study of algorithms that use numerical approximation for the problems of mathematical analysis. It is the study of numerical methods that attempt to find approximate solutions of problems rather than the exact ones. Numerical analysis finds application in all fields of engineering and the physical sciences, and in the 21st century also the life and social sciences like economics, medicine, business and even the arts. Current growth in computing power has enabled the use of more complex numerical analysis, providing detailed and realistic mathematical models in science and engineering. Examples of numerical analysis include: ordinary differential equations as found in celestial mechanics, numerical linear algebra in data analysis, and stochastic differential equations and Markov chains for simulating living cells in medicine and biology.

<span class="mw-page-title-main">Wolfram Mathematica</span> Computational software program

Wolfram Mathematica is a software system with built-in libraries for several areas of technical computing that allow machine learning, statistics, symbolic computation, data manipulation, network analysis, time series analysis, NLP, optimization, plotting functions and various types of data, implementation of algorithms, creation of user interfaces, and interfacing with programs written in other programming languages. It was conceived by Stephen Wolfram, and is developed by Wolfram Research of Champaign, Illinois. The Wolfram Language is the programming language used in Mathematica. Mathematica 1.0 was released on June 23, 1988 in Champaign, Illinois and Santa Clara, California.

<span class="mw-page-title-main">TI-89 series</span> Series of graphing calculators

The TI-89 and the TI-89 Titanium are graphing calculators developed by Texas Instruments (TI). They are differentiated from most other TI graphing calculators by their computer algebra system, which allows symbolic manipulation of algebraic expressions—equations can be solved in terms of variables, whereas the TI-83/84 series can only give a numeric result.

<span class="mw-page-title-main">Maple (software)</span> Mathematical computing environment

Maple is a symbolic and numeric computing environment as well as a multi-paradigm programming language. It covers several areas of technical computing, such as symbolic mathematics, numerical analysis, data processing, visualization, and others. A toolbox, MapleSim, adds functionality for multidomain physical modeling and code generation.

In symbolic computation, the Risch algorithm is a method of indefinite integration used in some computer algebra systems to find antiderivatives. It is named after the American mathematician Robert Henry Risch, a specialist in computer algebra who developed it in 1968.

Macsyma is one of the oldest general-purpose computer algebra systems still in wide use. It was originally developed from 1968 to 1982 at MIT's Project MAC.

<span class="mw-page-title-main">Graphing calculator</span> Electronic calculator capable of plotting graphs

A graphing calculator is a handheld computer that is capable of plotting graphs, solving simultaneous equations, and performing other tasks with variables. Most popular graphing calculators are programmable calculators, allowing the user to create customized programs, typically for scientific, engineering or education applications. They have large screens that display several lines of text and calculations.

Axiom is a free, general-purpose computer algebra system. It consists of an interpreter environment, a compiler and a library, which defines a strongly typed hierarchy.

In mathematics, an expression or equation is in closed form if it is formed with constants, variables and a finite set of basic functions connected by arithmetic operations and function composition. Commonly, the allowed functions are nth root, exponential function, logarithm, and trigonometric functions. However, the set of basic functions depends on the context.

In calculus, symbolic integration is the problem of finding a formula for the antiderivative, or indefinite integral, of a given function f(x), i.e. to find a formula for a differentiable function F(x) such that

Mathematical software is software used to model, analyze or calculate numeric, symbolic or geometric data.

Symbolic Manipulation Program, usually called SMP, was a computer algebra system designed by Chris A. Cole and Stephen Wolfram at Caltech circa 1979. It was initially developed in the Caltech physics department with contributions from Geoffrey C. Fox, Jeffrey M. Greif, Eric D. Mjolsness, Larry J. Romans, Timothy Shaw, and Anthony E. Terrano.

<span class="mw-page-title-main">Xcas</span> Computer algebra system

Xcas is a user interface to Giac, which is an open source computer algebra system (CAS) for Windows, macOS and Linux among many other platforms. Xcas is written in C++. Giac can be used directly inside software written in C++.

<span class="mw-page-title-main">Computer algebra</span> Scientific area at the interface between computer science and mathematics

In mathematics and computer science, computer algebra, also called symbolic computation or algebraic computation, is a scientific area that refers to the study and development of algorithms and software for manipulating mathematical expressions and other mathematical objects. Although computer algebra could be considered a subfield of scientific computing, they are generally considered as distinct fields because scientific computing is usually based on numerical computation with approximate floating point numbers, while symbolic computation emphasizes exact computation with expressions containing variables that have no given value and are manipulated as symbols.

Tensor software is a class of mathematical software designed for manipulation and calculation with tensors.

References

  1. Nelson, Richard. "Hewlett-Packard Calculator Firsts". Hewlett-Packard. Archived from the original on 2010-07-03.
  2. Coons, Albert (October 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
  3. "REDUCE Computer Algebra System at SourceForge". reduce-algebra.sourceforge.net. Retrieved 2015-09-28.
  4. Interview with Gaston Gonnet, co-creator of Maple Archived 2007-12-29 at the Wayback Machine , SIAM History of Numerical Analysis and Computing, March 16, 2005.
  5. Bhattacharya, Jyotirmoy (2022-05-12). "Wolfram|Alpha: a free online computer algebra system". The Hindu. ISSN   0971-751X . Retrieved 2023-04-26.
  6. Ornes, Stephen. "Symbolic Mathematics Finally Yields to Neural Networks". Quanta Magazine. Retrieved 2020-11-04.
  7. Dana-Picard, Thierry Noah. "Computer Assisted Proofs and Automated Methods in Mathematics Education". arxiv.org. Retrieved 2024-06-23.
  8. "dsolve - Maple Programming Help". www.maplesoft.com. Retrieved 2020-05-09.
  9. "DSolve - Wolfram Language Documentation". www.wolfram.com. Retrieved 2020-06-28.
  10. "Basic Algebra and Calculus — Sage Tutorial v9.0". doc.sagemath.org. Retrieved 2020-05-09.
  11. "Symbolic algebra and Mathematics with Xcas" (PDF).
  12. "Teaching kids real math with computers". Ted.com. Retrieved 2017-08-12.
  13. "Mathematics - Manitoba Education". Edu.gov.mb.ca. Retrieved 2017-08-12.
  14. "Mathematica for Faculty, Staff, and Students : Information Technology - Northwestern University". It.northwestern.edu. Retrieved 2017-08-12.
  15. "Mathematica for Students - Columbia University Information Technology". cuit.columbia.edu. Retrieved 2017-08-12.
  16. "Mathematica for Higher Education: Uses for University & College Courses". Wolfram.com. Retrieved 2017-08-12.
  17. "MathWorks - Academia - MATLAB & Simulink". Mathworks.com. Retrieved 2017-08-12.
  18. ACT's CAAP Tests: Use of Calculators on the CAAP Mathematics Test Archived August 31, 2009, at the Wayback Machine
  19. "AP Exams Calculator Policy". AP Students. College Board. Retrieved 2024-05-24.
  20. 1 2 B. Buchberger; G.E. Collins; R. Loos (2013-06-29). Computer Algebra: Symbolic and Algebraic Computation. Springer Science & Business Media. ISBN   978-3-7091-3406-1.
  21. Joachim von zur Gathen; Jürgen Gerhard (2013-04-25). Modern Computer Algebra. Cambridge University Press. ISBN   978-1-107-03903-2.
  22. Keith O. Geddes; Stephen R. Czapor; George Labahn (2007-06-30). Algorithms for Computer Algebra. Springer Science & Business Media. ISBN   978-0-585-33247-5.