 Computer algebra system

A computer algebra system (CAS) is a software program that facilitates symbolic mathematics. The core functionality of a CAS is manipulation of mathematical expressions in symbolic form.
Contents
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 nonlinear 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
 arbitraryprecision numeric operations
 exact integer arithmetic and number theory functionality
 Editing of mathematical expressions in twodimensional 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
 addons 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 a specific area of application; these are typically developed in academia and are free. They can be inefficient for numeric operations 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 real, complex, interval, rational, and algebraic.
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 Martin Veltman, who designed a program for symbolic mathematics, especially High Energy Physics, called Schoonschip (Dutch for "clean ship") in 1963.
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 PDP6 and PDP10 Systems running TOPS10 or TENEX in universities. Today it can still be used on SIMHEmulations of the PDP10. 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, accidentally named rather similarly.
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. As of today, the most popular commercial systems are Mathematica^{[1]} and Maple, which are commonly used by research mathematicians, scientists, and engineers. Freely available alternatives include Sage (which can act as a frontend to several other free and nonfree CAS).
In 1987 HewlettPackard introduced the first hand held calculator CAS with the HP28 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.
The Texas Instruments company in 1995 released the TI92 calculator with an advanced CAS based on the software Derive. This, along with its successors (including the TI89 series and the newer TINspire CAS released in 2007) featured a reasonably capable and inexpensive handheld computer algebra system.
CASequipped calculators are not permitted on the ACT, the PLAN, and in some classrooms because they may affect the integrity of the test/class,^{[2]} though it may be permitted on all of College Board's calculatorpermitted tests, including the SAT, some SAT Subject Tests and the AP Calculus, Chemistry, Physics, and Statistics exams.
Mathematics used in computer algebra systems
 Symbolic integration  Risch algorithm
 Hypergeometric summation  Gosper's algorithm
 Limit computation  Gruntz's algorithm
 Polynomial factorization. Over finite fields, Berlekamp's algorithm or Cantor–Zassenhaus algorithm is used.
 Greatest common divisor  Euclidean algorithm
 Gaussian elimination
 Gröbner basis  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  Tarski's method/Cylindrical algebraic decomposition
 Landau's algorithm
 Derivatives of elementary and special functions (e.g. see Incomplete Gamma function)
See also
 Comparison of computer algebra systems
 Scientific computation
 Statistical package
 Algebraic algorithms
 Symbolic computation
 Automated theorem proving
 Artificial intelligence
 Constraintlogic programming
References
 ^ Interview with Gaston Gonnet, cocreator of Maple, SIAM History of Numerical Analysis and Computing, March 16, 2005
 ^ ACT's CAAP Tests: Use of Calculators on the CAAP Mathematics Test
External links
 Definition and workings of a computer algebra system
 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 MITLCSTR095, 1972. (Of historical interest in showing the direction of research in computer algebra. At the MIT LCS web site: [1])
 The STACK computer aided assessment system.
 A collection of computer algebra systems
Computer algebra systems Retail Algebrator · ClassPad Manager · LiveMath · Magma · Maple · Mathcad · Mathematica · MuPAD (MATLAB symbolic math toolbox) · TI InterActive! · WIRISOpen source Free/shareware Discontinued Category • ComparisonCategories: Computer algebra systems
Wikimedia Foundation. 2010.
Look at other dictionaries:
Computer algebra system — Système de calcul formel Un système de calcul formel (computer algebra system ou CAS en anglais) est un logiciel qui facilite le calcul symbolique. La partie principale de ce système est la manipulation des expressions mathématiques sous leur… … Wikipédia en Français
ComputerAlgebraSystem — Ein Computeralgebrasystem (CAS) ist ein Computerprogramm das Methoden der Computeralgebra nutzt. Konkreter kann es Rechenaufgaben aus verschiedenen Bereichen der Mathematik lösen und dabei nicht nur (wie ein Taschenrechner) mit Zahlen, sondern… … Deutsch Wikipedia
Axiom (computer algebra system) — Scratchpad redirects here. For scratchpad memory, see Scratchpad RAM. Axiom Developer(s) independent group of people Stable release September 2011 Operating system cross platform … Wikipedia
Magma computer algebra system — Magma Developer(s) Computational Algebra Group, School of Mathematics and Statistics, University of Sydney Stable release 2.17 8 / May 27, 2011 Operating system … Wikipedia
Derive (computer algebra system) — Derive Developer(s) Texas Instruments Stable release 6.1 Development status Discontinued Written in muLISP Operatin … Wikipedia
Dynamic Computer Algebra System — Dcas is a dynamic computer algebra system featuring the idea of using identities as rules for manipulation of algebra. Robert Fenichel developed a system called FAMOUS in the 1970s using the LISP programming language pursuing the same aim. A… … Wikipedia
Fermat (computer algebra system) — Infobox Software name = Fermat caption = developer = Robert H. Lewis latest release version = 3.9.7 latest release date = May 6 2008 programming language = C operating system = Mac OS X, Mac OS, Linux, Unix, Windows genre = Computer algebra… … Wikipedia
Axiom computer algebra system — Infobox Software name = Axiom developer = Independent group of people operating system = Cross Platform genre = Computer Algebra System license = modified BSD License website = [http://axiom.axiom developer.org Axiom Home Page] Axiom is a free… … Wikipedia
Reduce (computer algebra system) — REDUCE is a general purpose computer algebra system geared towardsapplications in physics.The development of the REDUCE computer algebra system was started in the 1960s by Anthony C. Hearn. Since then, many Factdate=August 2008 scientists from… … Wikipedia
GAP computer algebra system — GAP (Groups, Algorithms and Programming) is a computer algebra system for computational discrete algebra with particular emphasis on, but not restricted to, computational group theory. GAP was developed at Lehrstuhl D für Mathematik (LDFM), RWTH… … Wikipedia