Computer algebra

from Wikipedia, the free encyclopedia

The computer algebra is the branch of mathematics and computer science that deals with the automated symbolic manipulation algebraic employs expressions.

overview

The main goal of this sub-area is to transform algebraic expressions through exact calculations (rounding or approximations are not permitted) and to determine the most compact result possible. A secondary condition here is to design the algorithms used efficiently.

The disciplines of mathematics and computer science are closely interwoven in computer algebra, on the one hand via the complexity theory for analysis, on the other hand via software technology for the practical implementation of computer algebraic algorithms.

One focus is the exact calculation with whole , rational and algebraic numbers as well as with polynomials over these number spaces. Another application is the symbolic solving of equations of all kinds, the symbolic summation of series , the symbolic calculation of limit values and the symbolic differentiation and integration (also called algebraic integration ).

Such results find practical application through the use of efficient algorithms in the development and improvement of computer algebra systems that enable the computer-aided manipulation of algebraic expressions. These systems are also an increasingly important tool for mathematicians and scientists in a wide variety of disciplines.

Underlying structures

In contrast to numerics , where floating point approximations of the occurring numbers are used for calculation, computer algebra claims to always calculate exactly. Accordingly, it is fundamentally necessary to specify requirements for the underlying structures (usually groups , rings or bodies ).

groups

All finite groups can be represented in the computer, for infinite groups there are algorithms under certain conditions, e.g. for polycyclic groups .

Predictable Rings

A ring is called predictable (or "effective") if the following conditions apply:

  • The elements of the ring can be represented on a computer, in particular the representation of the elements must be finite,
  • Equality between two elements can be decided in finite time,
  • there are algorithms with which the ring operations “+” and “·” can be carried out.

Examples

The following can be calculated:

Further calculable rings can be constructed from a calculable ring :

Formal objects

In computer algebra, in addition to the elements of the underlying areas, other “formal” objects are also considered, such as

As a rule, this is not about calculating numerical values, but rather, for example, determining “closed formulas” as solutions.

Applications

When applying mathematical methods in science and technology, numerical methods are traditionally in the foreground. With the symbolic methods of computer algebra, new areas of application have opened up in which exact solutions are important and in which structural mathematical considerations, e.g. B. to describe symmetries, go into; also the handling of problems that depend on indefinite parameters.

These include, for example:

The methods of computer algebra allow an automatic handling of problems in these application areas, which otherwise could only be tackled with difficulty with ad hoc approaches. The great potential of these methods is far from exhausted. Continuous promotion of these applications and the underlying algorithms combined with increasingly powerful hardware will give the field of computer algebra further development opportunities.

Complexity considerations

Efficient exact arithmetic with whole numbers

If one wants to classify the time complexity of tasks and algorithms for exact arithmetic with whole numbers , a computer model must first be used. A discussion of various computer models can be found in the chapter on complexity . A relatively catchy model is the multi-band Turing machine, a variant of the classic Turing machine that has several bands with one read / write head each. For complexity estimates with the Landau notation , a logarithm on an unspecified basis is used if necessary . The number of bit operations required is selected as a measure of the time, which in Landau notation is made dependent on the bit length of the input.

The precise mathematical specification of (bit) complexities for the exact arithmetic with whole numbers must first start with the precise definition of the bit length of a whole number: If the number is not zero, it becomes

set; is also defined. For the specific storage of a whole number, at least one bit is also required for the sign .

The tasks of the sign determination of the calculation of the negative and the absolute value generation are all in linear time with feasible; the addition and the comparison of two numbers are in linear time with handle to. The n shift is feasible in.

A non-trivial result of computer algebra is the knowledge that the multiplication can be solved much faster than in (which corresponds to the naive multiplication algorithm). Anatoly Karazuba initially achieved an acceleration with the Karazuba algorithm ; this was then recognized as a special case of an even more general family of algorithms that are subsumed under the term Toom Cook algorithm . Groundbreaking was the Schönhage-Strassen algorithm presented by Arnold Schönhage and Volker Strassen in 1971, which is based on discrete Fourier transformations and for which the authors themselves have a complexity of

proven. If you consider how complex the “naive” multiplication algorithm is, this complexity appears incredibly “fast”. However, since the algorithm is quite complex and difficult to program, there has not yet been an efficient implementation in a computer algebra system.

Since the complexity of integer multiplication is of absolute importance in all computer algebra, a short notation was used for this

introduced. Equipped with this "fast" integer multiplication, the catalog of the basic arithmetic operations for arithmetic can now be completed as follows: The task of calculating can be carried out in; is required for the (simultaneous) calculation of the binomial coefficients . The whole number division (with quotient and remainder as a result) is required

.

The calculation of the greatest common divisor is needed

.

The same complexity is also calculable, i.e. H. the cofactors with are included in the calculation.

Efficient exact arithmetic with rational numbers

Before exact arithmetic can be carried out in concrete terms, a canonical representation of rational numbers must first be found; this problem did not arise with the exact arithmetic of integers. Rational numbers are equivalence classes of “meaningful” fractions from whole numbers; for example and are different representatives of the same rational number.

The most common canonical representation of rational numbers is determined by removing all common factors from the numerator and denominator: Every rational number is then unambiguous by a reduced fraction

with and

representable. Once this determination has been made, every elementary operation such as addition and multiplication also necessarily includes the task of removing the greatest common divisor from the numerator and denominator of the fraction of the result.

Thanks to the results of exact arithmetic in , the operations are all in complexity

feasible. We have to say goodbye to the hope of being able to add rational numbers in linear complexity.

Fortunately, the calculation of the greatest common divisor can be calculated very efficiently using the Euclidean algorithm . The Euclidean algorithm plays a major role in many places in computer algebra in changing variants.

Efficient exact arithmetic with polynomials in ℚ [x]

It is sufficient to consider the arithmetic in , since operations with rational polynomials can be traced back to operations with integer polynomials in an obvious way by factoring out the main denominators. For polynomials , the (coefficient) length is defined as the maximum of the lengths of the individual coefficients.

For the following runtime table of important calculation problems we assume the following:

  • from the degree or further ,
  • on the length or further and ,
  • next to it is with bit length .

Then the fastest algorithms known so far (according to bit complexity) lead to the following runtime table:

surgery Complexity as for unequal input sizes
Division with remainder
Scaling
Scaling
Scaling
Scaling

See also

literature

German-language literature:

English-language literature:

Web links