Difference between revisions of "Symbolic computation"

From Wiki @ Karl Jones dot com
Jump to: navigation, search
(Created page with "In computational mathematics, '''computer algebra''', also called '''symbolic computation''' or '''algebraic computation''', is a scientific area that refers to the study...")
 
 
Line 1: Line 1:
In [[computational mathematics]], '''computer algebra''', also called '''symbolic computation''' or '''algebraic computation''', is a scientific area that refers to the study and development of [[Algorithm|algorithms]] and [[software]] for manipulating [[Expression (mathematics)|mathematical expressions]] and other mathematical objects.
+
In [[computational mathematics]], '''computer algebra''', also called '''symbolic computation''' or '''algebraic computation''', is a scientific area that refers to the study and development of [[Algorithm|algorithms]] and [[software]] for manipulating [[Expression (mathematics)|mathematical expressions]] and other [[Mathematical object|mathematical objects]].
  
 
== Description ==
 
== Description ==
Line 34: Line 34:
 
* [[Computer algebra system]]
 
* [[Computer algebra system]]
 
* [[Proof checker]]
 
* [[Proof checker]]
 +
* [[Mathematical object]]
 
* [[Model checker]]
 
* [[Model checker]]
 
* [[Public key cryptography]]
 
* [[Public key cryptography]]

Latest revision as of 19:20, 24 August 2016

In computational mathematics, 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 and other mathematical objects.

Description

Although, properly speaking, computer algebra should be a subfield of scientific computing, they are generally considered as distinct fields because scientific computing is usually based on numerical computation with approximate floating point numbers, while symbolic computation emphasizes exact computation with expressions containing variables that have no given value and are manipulated as symbols, hence the name symbolic computation.

Software applications that perform symbolic calculations are called computer algebra systems, with the term system alluding to the complexity of the main applications that include, at least:

  • A method to represent mathematical data in a computer
  • A user programming language (usually different from the language used for the implementation)
  • A dedicated memory manager
  • A user interface for the input/output of mathematical expressions
  • A large set of routines to perform usual operations, like:
    • Simplification of expressions
    • Differentiation using chain rule
    • Polynomial factorization
    • Indefinite integration

At the beginning of computer algebra, circa 1970, when the long-known algorithms were first put on computers, they turned out to be highly inefficient. Therefore, a large part of the work of the researchers in the field consisted in revisiting classical algebra in order to make it effective and to discover efficient algorithms to implement this effectiveness.

A typical example of this kind of work is the computation of polynomial greatest common divisors, which is required to simplify fractions. Surprisingly, the classical Euclid's algorithm turned out to be inefficient for polynomials over infinite fields, and thus new algorithms needed to be developed.

The same was also true for the classical algorithms from linear algebra.

Computer algebra is widely used to experiment in mathematics and to design the formulas that are used in numerical programs.

It is also used for complete scientific computations, when purely numerical methods fail, like in public key cryptography or for some non-linear problems.

See also

External links