Computer algebra systems
   HOME

TheInfoList



OR:

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, f ...
in a way similar to the traditional manual computations of
mathematician A mathematician is someone who uses an extensive knowledge of mathematics in their work, typically to solve mathematical problems. Mathematicians are concerned with numbers, data, quantity, structure, space, models, and change. History On ...
s and
scientist A scientist is a person who conducts scientific research to advance knowledge in an area of the natural sciences. In classical antiquity, there was no real ancient analog of a modern scientist. Instead, philosophers engaged in the philosop ...
s. 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 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
algorithm In mathematics and computer science, an algorithm () is a finite sequence of rigorous instructions, typically used to solve a class of specific problems or to perform a computation. Algorithms are used as specifications for performing ...
s over mathematical objects such as
polynomial In mathematics, a polynomial is an expression consisting of indeterminates (also called variables) and coefficients, that involves only the operations of addition, subtraction, multiplication, and positive-integer powers of variables. An exampl ...
s. 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 In abstract algebra, group theory studies the algebraic structures known as groups. The concept of a group is central to abstract algebra: other well-known algebraic structures, such as rings, fields, and vector spaces, can all be seen ...
, 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 A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming ...
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 A waste collector, also known as a garbageman, garbage collector, trashman (in the US), binman or (rarely) dustman (in the UK), is a person employed by a public or private enterprise to collect and dispose of municipal solid waste (refuse) and ...
, 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
algorithm In mathematics and computer science, an algorithm () is a finite sequence of rigorous instructions, typically used to solve a class of specific problems or to perform a computation. Algorithms are used as specifications for performing ...
s 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 divisor In algebra, the greatest common divisor (frequently abbreviated as GCD) of two polynomials is a polynomial, of the highest possible degree, that is a factor of both the two original polynomials. This concept is analogous to the greatest common ...
s 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, Maxima,
Magma Magma () is the molten or semi-molten natural material from which all igneous rocks are formed. Magma is found beneath the surface of the Earth, and evidence of magmatism has also been discovered on other terrestrial planets and some natura ...
,
Maple ''Acer'' () is a genus of trees and shrubs commonly known as maples. The genus is placed in the family Sapindaceae.Stevens, P. F. (2001 onwards). Angiosperm Phylogeny Website. Version 9, June 2008 nd more or less continuously updated since h ...
, Mathematica, 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 machines, as opposed to intelligence displayed by animals and humans. Example tasks in which this is done include speech ...
. 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 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 ...
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 MATLAB (an abbreviation of "MATrix LABoratory") is a proprietary multi-paradigm programming language and numeric computing environment developed by MathWorks. MATLAB allows matrix manipulations, plotting of functions and data, implementat ...
("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 muMATH is a computer algebra system (CAS), which was developed in the late 1970s and early eighties by Albert D. Rich and David Stoutemyer of Soft Warehouse in Honolulu, Hawaii. It was implemented in the muSIMP programming language which was buil ...
, Reduce, Derive (based on muMATH), and
Macsyma Macsyma (; "Project MAC's SYmbolic MAnipulator") 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. In 1982, Macsyma was licensed to Symbolics a ...
; 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 and
Maple ''Acer'' () is a genus of trees and shrubs commonly known as maples. The genus is placed in the family Sapindaceae.Stevens, P. F. (2001 onwards). Angiosperm Phylogeny Website. Version 9, June 2008 nd more or less continuously updated since h ...
, 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 introduced the first hand-held calculator CAS with the
HP-28 series The HP-28C and HP-28S were two graphing calculators produced by Hewlett-Packard from 1986 to 1992. The HP-28C was the first handheld calculator capable of solving equations symbolically. They were replaced by the HP 48 series of calculato ...
, 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 Erable is a computer algebra system (CAS) for a family of Hewlett-Packard graphing scientific calculators of the HP 40, 48 and HP 49/50 series. History Originally named ''ALGB'' in 1993, it was developed by the French mathematician fo ...
for the HP 48 series became an officially integrated part of the firmware of the emerging
HP 49/50 series The HP 49/50 series are Hewlett-Packard (HP) manufactured graphing calculators. They are the successors of the popular HP 48 series. There are five calculators in the 49/50 series of HP graphing calculators. These calculators have both a ...
, and a year later into the HP 40 series as well, whereas the HP Prime adopted the
Xcas 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++. Xcas has a com ...
system in 2013. The
Texas Instruments Texas Instruments Incorporated (TI) is an American technology company headquartered in Dallas, Texas, that designs and manufactures semiconductors and various integrated circuits, which it sells to electronics designers and manufacturers globa ...
company in 1995 released the TI-92 calculator with a CAS based on the software Derive; the TI-Nspire series replaced Derive in 2007. The TI-89 series, first released in 1998, also contains a CAS.
Casio is a Japanese multinational electronics manufacturing corporation headquartered in Shibuya, Tokyo, Japan. Its products include calculators, mobile phones, digital cameras, electronic musical instruments, and analogue and digital watches. ...
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.


Symbolic manipulations

The symbolic manipulations supported typically include: *simplification to a smaller expression or some standard form, 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 Pic ...
of symbols or numeric values for certain expressions *change of form of expressions: expanding products and powers, partial and full factorization, rewriting as partial fractions, constraint satisfaction, rewriting
trigonometric functions In mathematics, the trigonometric functions (also called circular functions, angle functions or goniometric functions) are real functions which relate an angle of a right-angled triangle to ratios of two side lengths. They are widely used in a ...
as exponentials, transforming logic expressions, etc. *
partial Partial may refer to: Mathematics *Partial derivative, derivative with respect to one of several variables of a function, with the other variables held constant ** ∂, a symbol that can denote a partial derivative, sometimes pronounced "partial d ...
and total differentiation *some indefinite 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 a ...
), including multidimensional integrals *symbolic constrained and unconstrained global optimization *
solution Solution may refer to: * Solution (chemistry), a mixture where one substance is dissolved in another * Solution (equation), in mathematics ** Numerical solution, in numerical analysis, approximate solutions within specified error bounds * Solutio ...
of linear and some non-linear equations over various domains *solution of some differential and difference equations *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 A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming ...
, 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 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 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 mathemati ...
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 and packages for physical computation *solvers for
differential equation In mathematics, a differential equation is an equation that relates one or more unknown functions and their derivatives. In applications, the functions generally represent physical quantities, the derivatives represent their rates of change, ...
s Some include: * graphic production and editing such as computer-generated imagery and
signal processing Signal processing is an electrical engineering subfield that focuses on analyzing, modifying and synthesizing '' signals'', such as sound, images, and scientific measurements. Signal processing techniques are used to optimize transmissions, ...
as image processing * 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
polynomial In mathematics, a polynomial is an expression consisting of indeterminates (also called variables) and coefficients, that involves only the operations of addition, subtraction, multiplication, and positive-integer powers of variables. An exampl ...
s in multiple variables; standard functions of expressions ( sine, exponential, etc.); various special functions ( Γ, ζ, erf,
Bessel function Bessel functions, first defined by the mathematician Daniel Bernoulli and then generalized by Friedrich Bessel, are canonical solutions of Bessel's differential equation x^2 \frac + x \frac + \left(x^2 - \alpha^2 \right)y = 0 for an arbitrar ...
s, 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,
integer An integer is the number zero (), a positive natural number (, , , etc.) or a negative integer with a minus sign ( −1, −2, −3, etc.). The negative numbers are the additive inverses of the corresponding positive numbers. In the languag ...
s (of unbounded size), complex (floating-point representation), interval representation of reals,
rational number In mathematics, a rational number is a number that can be expressed as the quotient or fraction of two integers, a numerator and a non-zero denominator . For example, is a rational number, as is every integer (e.g. ). The set of all ra ...
(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. 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 A plan is typically any diagram or list of steps with details of timing and resources, used to achieve an objective to do something. It is commonly understood as a temporal set of intended actions through which one expects to achieve a goal. ...
, and in some classroomsACT's CAAP Tests: Use of Calculators on the CAAP Mathematics Test
though it may be permitted on all of College Board's calculator-permitted tests, including the SAT, some
SAT Subject Tests SAT Subject Tests were 20 multiple-choice standardized tests given by the College Board on individual subjects, typically taken to improve a student's credentials for college admissions in the United States. On January 19, 2021, the College Boar ...
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, proper ...
,
Physics Physics is the natural science that studies matter, its fundamental constituents, its motion and behavior through space and time, and the related entities of energy and force. "Physical science is that department of knowledge which ...
, and
Statistics Statistics (from German: '' Statistik'', "description of a state, a country") is the discipline that concerns the collection, organization, analysis, interpretation, and presentation of data. In applying statistics to a scientific, indust ...
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 a ...
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 ...
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 or Cantor–Zassenhaus algorithm. * Greatest common divisor via e.g. Euclidean algorithm * Gaussian elimination * 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 * Diophantine equations * 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, whic ...
.) * Cylindrical algebraic decomposition


See also

*
List of computer algebra systems The following tables provide a comparison of computer algebra systems (CAS). A CAS is a package comprising a set of algorithms for performing symbolic manipulations on algebraic objects, a language to implement them, and an environment in which to ...
* 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 softwar ...
*
Automated theorem proving Automated theorem proving (also known as ATP or automated deduction) is a subfield of automated reasoning and mathematical logic dealing with proving mathematical theorems by computer programs. Automated reasoning over mathematical proof was a ...
* 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 clau ...
* 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. *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