Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Computer algebra system
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Mathematical software}} {{Use dmy dates|date=April 2019|cs1-dates=y}} {{Redirect|Symbolic algebra|the algebra of logic|Symbolical algebra}} 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 [[mathematician]]s and [[scientist]]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", which has spurred work in [[algorithm]]s over [[mathematical object]]s such as [[polynomial]]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]], 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 (computing)|interpreter]] (the result of a computation commonly has an unpredictable form and an unpredictable size; therefore user intervention is frequently needed), *a [[Symbolic computation#Simplification|simplifier]], which is a [[rewrite system]] for simplifying mathematics formulas, *a [[memory management|memory manager]], including a [[garbage collector (computing)|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 [[algorithm]]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]]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 (computer algebra system)|Axiom]], [[GAP_(computer_algebra_system)|GAP]], [[Maxima (software)|Maxima]], [[Magma (computer algebra system)|Magma]], [[Maple (software)|Maple]], [[Mathematica]], and [[SageMath]].
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)