Vous êtes sur la page 1sur 5

Computer algebra system

A computer algebra system (CAS) 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 to enter and display mathematical formulas,


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. The main ones are Axiom, Maxima, Magma, Maple, Mathematica and SageMath.

Contents
History
Symbolic manipulations
Additional capabilities
Types of expressions
Use in education
Mathematics used in computer algebra systems
See also
References
External links

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.

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
A Texas Instruments TI-Nspire
numerical computation built 15 years later at the University of New Mexico. calculator that contains a computer
algebra system
The first popular computer algebra systems were muMATH, Reduce, Derive
(based on muMATH), and Macsyma; a popular copyleft version of Macsyma
called Maxima is actively being maintained. Reduce became free software in 2008.[1] As of today, the most popular
commercial systems are Mathematica[2] 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 introduced the first hand-held calculator CAS with the HP-28 series, and it was possible, for the
first time in a calculator,[3] 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 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 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 and succeeded it with the Algebra FX Series in 1999-2003 and the current
ClassPad Series.

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 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 as exponentials, transforming logic expressions, etc.
partial and total differentiation
some indefinite and definite integration (see symbolic integration), 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 equations
taking some limits
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 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 such as physics, bioinformatics, computational chemistry and packages for
physical computation
Some include:

graphic production and editing such as computer-generated imagery and signal processing 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 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.[4] 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.[5]
Computer algebra systems have been extensively used in higher education.[6][7] 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.[8][9]

CAS-equipped calculators are not permitted on the ACT, the PLAN, and in some classrooms[10] 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.

Mathematics used in computer algebra systems


Knuth–Bendix completion algorithm[11]
Root-finding algorithms[11]
Symbolic integration via e.g. Risch algorithm or Risch–Norman algorithm
Hypergeometric summation via e.g. Gosper's algorithm
Limit computation via e.g. Gruntz's algorithm
Polynomial factorization via e.g., over finite fields,[12] Berlekamp's algorithm or Cantor–Zassenhaus algorithm.
Greatest common divisor via e.g. Euclidean algorithm
Gaussian elimination[13]
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
Derivatives of elementary functions and special functions. (e.g. See derivatives of the incomplete gamma function.)
Cylindrical algebraic decomposition

See also
List of computer algebra systems
Scientific computation
Statistical package
Automated theorem proving
Algebraic modeling language
Constraint-logic programming
Satisfiability modulo theories

References
1. "REDUCE Computer Algebra System at SourceForge" (http://reduce-algebra.sourceforge.net). reduce-
algebra.sourceforge.net. Retrieved 2015-09-28.
2. Interview with Gaston Gonnet, co-creator of Maple (http://history.siam.org/oralhistories/gonnet.htm) Archived (https://
web.archive.org/web/20071229044836/http://history.siam.org/oralhistories/gonnet.htm) 2007-12-29 at the Wayback
Machine, SIAM History of Numerical Analysis and Computing, March 16, 2005.
3. Nelson, Richard. "Hewlett-Packard Calculator Firsts" (https://web.archive.org/web/20100703031935/http://h20331.ww
w2.hp.com/Hpsub/cache/392617-0-0-225-121.html). Hewlett-Packard. Archived from the original (http://h20331.www
2.hp.com/Hpsub/cache/392617-0-0-225-121.html) on 2010-07-03.
4. "Teaching kids real math with computers" (http://www.ted.com/talks/conrad_wolfram_teaching_kids_real_math_with_c
omputers?language=en). Ted.com. Retrieved 2017-08-12.
5. "Mathematics - Manitoba Education" (http://www.edu.gov.mb.ca/k12/cur/math/outcomes/). Edu.gov.mb.ca. Retrieved
2017-08-12.
6. "Mathematica for Faculty, Staff, and Students : Information Technology - Northwestern University" (http://www.it.north
western.edu/software/mathematica-fac/). It.northwestern.edu. Retrieved 2017-08-12.
7. "Mathematica for Students - Columbia University Information Technology" (https://cuit.columbia.edu/mathematica-stu
dents). cuit.columbia.edu. Retrieved 2017-08-12.
8. "Mathematica for Higher Education: Uses for University & College Courses" (https://www.wolfram.com/solutions/educ
ation/higher-education/uses-for-education.html). Wolfram.com. Retrieved 2017-08-12.
9. "MathWorks - Academia - MATLAB & Simulink" (http://www.mathworks.com/academia/). Mathworks.com. Retrieved
2017-08-12.
10. ACT's CAAP Tests: Use of Calculators on the CAAP Mathematics Test (http://www.act.org/caap/sample/calc.html)
Archived (https://web.archive.org/web/20090831032437/http://www.act.org/caap/sample/calc.html) August 31, 2009,
at the Wayback Machine
11. B. Buchberger; G.E. Collins; R. Loos (2013-06-29). Computer Algebra: Symbolic and Algebraic Computation (https://b
ooks.google.com/books?id=yUmqCAAAQBAJ&printsec=frontcover#v=onepage&q=%22algorithm%22&f=false).
Springer Science & Business Media. ISBN 978-3-7091-3406-1.
12. Joachim von zur Gathen; Jürgen Gerhard (2013-04-25). Modern Computer Algebra (https://books.google.com/books?
id=7fE9baKyqSEC&printsec=frontcover#v=onepage&q=%22polynomial%20factorization%22%20%22finite%20field%
22&f=false). Cambridge University Press. ISBN 978-1-107-03903-2.
13. Keith O. Geddes; Stephen R. Czapor; George Labahn (2007-06-30). Algorithms for Computer Algebra (https://books.
google.com/books?id=9fOUwkkRxT4C). Springer Science & Business Media. ISBN 978-0-585-33247-5.

External links
Definition and workings of a computer algebra system (http://www.math.wpi.edu/IQP/BVCalcHist/calc5.html)
Curriculum and Assessment in an Age of Computer Algebra Systems (http://www.ericdigests.org/2003-1/age.htm) -
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: [1] (https://web.archive.org/
web/20060917023934/http://www.lcs.mit.edu/publications/specpub.php?id=663))

Retrieved from "https://en.wikipedia.org/w/index.php?title=Computer_algebra_system&oldid=916732506"

This page was last edited on 20 September 2019, at 10:34 (UTC).

Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply. By using this
site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia
Foundation, Inc., a non-profit organization.

Vous aimerez peut-être aussi