A computer algebra system (CAS) or symbolic algebra system (SAS) is any
mathematical software with the ability to manipulate
mathematical expressions
In mathematics, an expression or mathematical expression is a finite combination of symbols that is well-formed according to rules that depend on the context. Mathematical symbols can designate numbers ( constants), variables, operations, fun ...
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
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 ...
" or "
symbolic computation
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 ...
", 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, 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.
This large amount of required computer capabilities explains the small number of general-purpose computer algebra systems. Significant systems include
Axiom
An axiom, postulate, or assumption is a statement that is taken to be true, to serve as a premise or starting point for further reasoning and arguments. The word comes from the Ancient Greek word (), meaning 'that which is thought worthy or f ...
,
Maxima,
Magma,
Maple,
Mathematica
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, optimizat ...
, and
SageMath.
History

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
Artificial intelligence (AI) is intelligence—perceiving, synthesizing, and inferring information—demonstrated by machine
A machine is a physical system using Power (physics), power to apply Force, forces and control Motion, moveme ...
.
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 __NOTOC__
FORMAC, the FORmula MAnipulation Compiler, was the first computer algebra system to have significant use.
It was developed by Jean E. Sammet and her team, as an extension of FORTRAN IV. The compiler was implemented as a preprocessor tak ...
.
Using
Lisp
A lisp is a speech impairment in which a person misarticulates sibilants (, , , , , , , ). These misarticulations often result in unclear speech.
Types
* A frontal lisp occurs when the tongue is placed anterior to the target. Interdental lisping ...
as the programming basis,
Carl Engelman
Carl Engelman (October 21, 1929 – November 26, 1983) was an American computer scientist. Carl is best known as the creator of MATHLAB. He was employed by Mitre Corporation and Symbolics.
He was a visiting professor at the University of Turin ...
created
MATHLAB
MATHLAB is a computer algebra system created in 1964 by Carl Engelman at MITRE and written in Lisp.
"MATHLAB 68" was introduced in 1967 and became rather popular in university environments running on DECs PDP-6 and PDP-10 under TOPS-10 or TE ...
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.
The first popular computer algebra systems were
muMATH,
Reduce,
Derive (based on muMATH), and
Macsyma; a popular
copyleft
Copyleft is the legal technique of granting certain freedoms over copies of copyrighted works with the requirement that the same rights be preserved in derivative works. In this sense, ''freedoms'' refers to the use of the work for any purpose, ...
version of Macsyma called
Maxima is actively being maintained.
Reduce became free software in 2008. As of today, the most popular commercial systems are
Mathematica
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, optimizat ...
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).
In 1987,
Hewlett-Packard
The Hewlett-Packard Company, commonly shortened to Hewlett-Packard ( ) or HP, was an American multinational information technology company headquartered in Palo Alto, California. HP developed and provided a wide variety of hardware components ...
introduced the first hand-held calculator CAS with the
HP-28 series, and it was possible, for the first time in a calculator,
to arrange algebraic expressions, differentiation, limited symbolic integration, Taylor series construction and a ''solver'' for algebraic equations. In 1999, the independently developed CAS
Erable for the
HP 48 series became an officially integrated part of the firmware of the emerging
HP 49/50 series, and a year later into the
HP 40 series
HP may refer to:
Businesses and organisations
* HP Inc., an American technology company
** Hewlett-Packard, the predecessor to HP Inc.
* HP Foods
** HP Sauce, formerly made by HP Foods
* Handley Page, an aircraft company
* Hindustan Petroleum
* ...
as well, whereas the
HP Prime adopted the
Xcas system in 2013.
The
Texas Instruments company in 1995 released the
TI-92 calculator with a CAS based on the software
Derive; the
TI-Nspire series
The TI-Nspire is a graphing calculator made by Texas Instruments, which was released in July 2007, notable for featuring a non-QWERTY keyboard and a different key-by-key layout than its predecessors.
Development
The original TI-Nspire ...
replaced Derive in 2007. The
TI-89 series, first released in 1998, also contains a CAS.
Casio released their first CAS calculator with the
CFX-9970G
Graphic calculators made by Casio include the touchscreen ClassPad 300 as well as the models with traditional buttons which can be divided into two main generations listed below.
Casio produced the world's first graphing calculator, the fx-700 ...
and succeeded it with the
Algebra FX Series in 1999-2003 and the current
ClassPad Series.
More recently, computer algebra systems have been implemented using
artificial neural networks
Artificial neural networks (ANNs), usually simply called neural networks (NNs) or neural nets, are computing systems inspired by the biological neural networks that constitute animal brains.
An ANN is based on a collection of connected unit ...
.
Symbolic manipulations
The symbolic manipulations supported typically include:
*simplification to a smaller expression or some
standard form Standard may refer to:
Symbols
* Colours, standards and guidons, kinds of military signs
* Standard (emblem), a type of a large symbol or emblem used for identification
Norms, conventions or requirements
* Standard (metrology), an object th ...
, including automatic simplification with assumptions and simplification with constraints
*
substitution
Substitution may refer to:
Arts and media
*Chord substitution, in music, swapping one chord for a related one within a chord progression
* Substitution (poetry), a variation in poetic scansion
* "Substitution" (song), a 2009 song by Silversun Pi ...
of symbols or numeric values for certain expressions
*change of form of expressions: expanding products and powers, partial and full
factorization, rewriting as
partial fraction
In algebra, the partial fraction decomposition or partial fraction expansion of a rational fraction (that is, a fraction such that the numerator and the denominator are both polynomials) is an operation that consists of expressing the fraction as ...
s,
constraint satisfaction, rewriting
trigonometric functions as exponentials, transforming logic expressions, etc.
*
partial and
total differentiation
*some
indefinite
Indefinite may refer to:
* the opposite of definite in grammar
** indefinite article
** indefinite pronoun
* Indefinite integral, another name for the antiderivative
* Indefinite forms in algebra, see definite quadratic forms
* an indefinite matr ...
and
definite integration (see
symbolic integration
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 differentiable function ''F''(''x'') such that
:\frac = f(x).
This is also ...
), including multidimensional integrals
*symbolic constrained and unconstrained global optimization
*
solution of linear and some non-linear equations over various domains
*solution of some
differential and
difference equation
In mathematics, a recurrence relation is an equation according to which the nth term of a sequence of numbers is equal to some combination of the previous terms. Often, only k previous terms of the sequence appear in the equation, for a parameter ...
s
*taking some
limit
Limit or Limits may refer to:
Arts and media
* ''Limit'' (manga), a manga by Keiko Suenobu
* ''Limit'' (film), a South Korean film
* Limit (music), a way to characterize harmony
* "Limit" (song), a 2016 single by Luna Sea
* "Limits", a 2019 ...
s
*integral transforms
*
series operations such as expansion, summation and products
*matrix operations including
products,
inverses, etc.
*
statistical computation
*
theorem proving and
verification which is very useful in the area of
experimental mathematics
*
optimized code generation
In the above, the word ''some'' indicates that the operation cannot always be performed.
Additional capabilities
Many also include:
*a
programming language, allowing users to implement their own algorithms
*
arbitrary-precision numeric operations
*exact integer arithmetic and number theory functionality
*
Editing of mathematical expressions in two-dimensional form
*plotting
graphs and parametric plots of functions in two and three dimensions, and animating them
*drawing charts and diagrams
*
APIs
Apis or APIS may refer to:
* Apis (deity), an ancient Egyptian god
* Apis (Greek mythology), several different figures in Greek mythology
* Apis (city), an ancient seaport town on the northern coast of Africa
**Kom el-Hisn, a different Egyptian ci ...
for linking it on an external program such as a database, or using in a programming language to use the computer algebra system
*
string manipulation
In computer programming, a string is traditionally a sequence of characters, either as a literal constant or as some kind of variable. The latter may allow its elements to be mutated and the length changed, or it may be fixed (after creation). ...
such as
matching and
searching
*add-ons for use in
applied mathematics
Applied mathematics is the application of mathematical methods by different fields such as physics, engineering, medicine, biology, finance, business, computer science, and industry. Thus, applied mathematics is a combination of mathemat ...
such as physics,
bioinformatics
Bioinformatics () is an interdisciplinary field that develops methods and software tools for understanding biological data, in particular when the data sets are large and complex. As an interdisciplinary field of science, bioinformatics combi ...
,
computational chemistry
Computational chemistry is a branch of chemistry that uses computer simulation to assist in solving chemical problems. It uses methods of theoretical chemistry, incorporated into computer programs, to calculate the structures and properties of m ...
and packages for
physical computation
*solvers for
differential equations
Some include:
*
graphic
Graphics () are visual images or designs on some surface, such as a wall, canvas, screen, paper, or stone, to inform, illustrate, or entertain. In contemporary usage, it includes a pictorial representation of data, as in design and manufacture, ...
production and editing such as
computer-generated imagery
Computer-generated imagery (CGI) is the use of computer graphics to create or contribute to images in art, printed media, video games, simulators, and visual effects in films, television programs, shorts, commercials, and videos. The images may ...
and
signal processing as
image processing
An image is a visual representation of something. It can be two-dimensional, three-dimensional, or somehow otherwise feed into the visual system to convey information. An image can be an artifact, such as a photograph or other two-dimensiona ...
*
sound synthesis
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
In mathematics, sine and cosine are trigonometric functions of an angle. The sine and cosine of an acute angle are defined in the context of a right triangle: for the specified angle, its sine is the ratio of the length of the side that is oppo ...
,
exponential, etc.); various special functions (
Γ,
ζ,
erf
Erf or ERF may refer to:
Industry
* Enerplus, a North American energy producer whose stock is listed as ERF under the TSX and NYSE
* ERF (truck manufacturer), a former British truck manufacturer
Mathematics
* Error function, erf
* Exponential ...
,
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 number
An algebraic number is a number that is a root of a non-zero polynomial in one variable with integer (or, equivalently, rational) coefficients. For example, the golden ratio, (1 + \sqrt)/2, is an algebraic number, because it is a root of the po ...
s.
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.
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.
Computer algebra systems have been extensively used in higher education. 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.
CAS-equipped calculators are not permitted on the
ACT, the
PLAN, and in some classrooms
ACT's CAAP Tests: Use of Calculators on the CAAP Mathematics Test
though it may be permitted on all of College Board
The College Board is an American nonprofit organization that was formed in December 1899 as the College Entrance Examination Board (CEEB) to expand access to higher education. While the College Board is not an association of colleges, it runs ...
's calculator-permitted tests, including the SAT, some SAT Subject Tests and the AP Calculus, Chemistry
Chemistry is the scientific study of the properties and behavior of matter. It is a natural science that covers the elements that make up matter to the compounds made of atoms, molecules and ions: their composition, structure, propertie ...
, Physics, and Statistics
Statistics (from German language, German: ''wikt:Statistik#German, Statistik'', "description of a State (polity), state, a country") is the discipline that concerns the collection, organization, analysis, interpretation, and presentation of ...
exams.
Mathematics used in computer algebra systems
* Knuth–Bendix completion algorithm[
* Root-finding algorithms]
* Symbolic integration
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 differentiable function ''F''(''x'') such that
:\frac = f(x).
This is also ...
via e.g. Risch algorithm
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 w ...
or Risch–Norman algorithm
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 ...
* Hypergeometric summation via e.g. Gosper's algorithm
* Limit computation via e.g. Gruntz's algorithm
* Polynomial factorization via e.g., over finite fields, Berlekamp's algorithm
In mathematics, particularly computational algebra, Berlekamp's algorithm is a well-known method for factoring polynomials over finite fields (also known as ''Galois fields''). The algorithm consists mainly of matrix reduction and polynomial GC ...
or Cantor–Zassenhaus algorithm In computational algebra, the Cantor–Zassenhaus algorithm is a method for factoring polynomials over finite fields (also called Galois fields).
The algorithm consists mainly of exponentiation and polynomial GCD computations. It was invented by ...
.
* Greatest common divisor via e.g. Euclidean algorithm
In mathematics, the Euclidean algorithm,Some widely used textbooks, such as I. N. Herstein's ''Topics in Algebra'' and Serge Lang's ''Algebra'', use the term "Euclidean algorithm" to refer to Euclidean division or Euclid's algorithm, is an effi ...
* Gaussian elimination
In mathematics, Gaussian elimination, also known as row reduction, is an algorithm for solving systems of linear equations. It consists of a sequence of operations performed on the corresponding matrix of coefficients. This method can also be used ...
* Gröbner basis via e.g. Buchberger's algorithm; generalization of Euclidean algorithm and Gaussian elimination
* Padé approximant
* Schwartz–Zippel lemma and testing polynomial identities
* Chinese remainder theorem
In mathematics, the Chinese remainder theorem states that if one knows the remainders of the Euclidean division of an integer ''n'' by several integers, then one can determine uniquely the remainder of the division of ''n'' by the product of thes ...
* Diophantine equation
In mathematics, a Diophantine equation is an equation, typically a polynomial equation in two or more unknowns with integer coefficients, such that the only solutions of interest are the integer ones. A linear Diophantine equation equates to a c ...
s
* Quantifier elimination over real numbers via e.g. Tarski's method/ Cylindrical algebraic decomposition
* Landau's algorithm (nested radicals)
* Derivatives of elementary functions and special functions. (e.g. See derivatives of the incomplete gamma function
In mathematics, the upper and lower incomplete gamma functions are types of special functions which arise as solutions to various mathematical problems such as certain integrals.
Their respective names stem from their integral definitions, which ...
.)
* Cylindrical algebraic decomposition
See also
* List of computer algebra systems
* Scientific computation
* Statistical package
Statistical software are specialized computer programs for analysis in statistics and econometrics.
Open-source
* ADaMSoft – a generalized statistical software with data mining algorithms and methods for data management
* ADMB – a software ...
* Automated theorem proving
* Algebraic modeling language
* Constraint-logic programming
Constraint logic programming is a form of constraint programming, in which logic programming is extended to include concepts from constraint satisfaction. A constraint logic program is a logic program that contains constraints in the body of c ...
* Satisfiability modulo theories
References
External links
Curriculum and Assessment in an Age of Computer Algebra Systems
- From the Education Resources Information Center Clearinghouse for Science, Mathematics, and Environmental Education, Columbus, Ohio
Columbus () is the state capital and the most populous city in the U.S. state of Ohio. With a 2020 census population of 905,748, it is the 14th-most populous city in the U.S., the second-most populous city in the Midwest, after Chicago, and t ...
.
*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
''
{{DEFAULTSORT:Computer Algebra System
Computer algebra systems,
Algebra education