You get a bonus - 1 coin for daily activity. Now you have 1 coin

Symbolic Computation, Computer Algebra and the Computer Algebra System (CAS)

Lecture



Symbolic Computation and Computational Mathematics

Symbolic computation — is the transformation and manipulation of mathematical equalities and formulas as sequences of symbols. It differs from numerical computation, which operates on approximate numerical values standing behind mathematical expressions. Systems of symbolic computation (also known as computer algebra systems) can be used for symbolic integration and differentiation, substitution of some expressions into others, simplification of formulas, and so on.

Computer algebra (unlike numerical methods) is concerned with the development and implementation of analytical methods for solving mathematical problems on a computer, and presupposes that the input data, as well as the results of the solution, are formulated in analytical (symbolic) form .

When analysing a mathematical model, the result may be general and particular analytical solutions of the stated mathematical problem, together with their interpretation .

Analytical solutions are more often obtained for the coarsest (simplest) models, and less often — for more precise, complex ones (in which case numerical methods must be used, allowing particular numerical solutions of many problems to be obtained) .

Computational mathematics — is a branch of mathematics encompassing a range of questions related to carrying out various kinds of computation. In a narrower sense, computational mathematics is the theory of numerical methods for solving standard mathematical problems. Modern computational mathematics includes among its concerns the study of the specifics of computation using computers.

Computational mathematics has a wide range of applied uses for carrying out scientific and engineering calculations. On its basis, new fields of the natural sciences have emerged over the last decade, such as computational physics, computational chemistry, computational biology, and so on.

Computational mathematics arose quite long ago. Methods for extracting square roots were already developed in ancient Mesopotamia. During the era of the scientific revolution, computational mathematics developed rapidly out of practical applications, in parallel with mathematical analysis. Besides this, such computations were widely applied in celestial mechanics for predicting the trajectories of celestial bodies. This led to the emergence of such fundamental components of physics as the theory of the heliocentric system of the world, Kepler's laws, and Newton's laws. The 17th and 18th centuries became a time for the development of a substantial number of numerical methods and algorithms.

The use of large amounts of engineering computation in the 19th and 20th centuries required the creation of appropriate devices. One such device was the slide rule; tables of function values accurate to 16 decimal places also appeared, helping to carry out calculations. Mechanical devices for performing mathematical operations, called arithmometers, also existed. In the first half of the 20th century, analogue computers came into active use for solving differential equations.

The invention of the computer in the middle of the 20th century marked the creation of a universal tool for mathematical computation. Alongside mainframes, engineers and scientists had only calculators available for performing manual operations, and these remained in active use right up until the start of mass production of personal computers.

The following areas are distinguished within computational mathematics: analysis of mathematical models, development of methods and algorithms for solving standard mathematical problems, automation of programming .

Analysis of the mathematical models selected for a given problem begins with the analysis and processing of the input information, which is very important for obtaining more precise input data. Methods of mathematical statistics are often applied for such processing. The next step is the numerical solution of the mathematical problems and analysis of the computational results. The degree of reliability of the analysis results must correspond to the precision of the input data. The appearance of more precise input data may require improvement of the constructed model, or even its replacement .

Methods and algorithms for solving standard mathematical problems using computing technology are called numerical methods. The standard problems include :

  • Algebra: solving systems of linear equations, matrix inversion, finding the eigenvalues and eigenvectors of matrices (the partial and complete eigenvalue problem), finding the singular values and singular vectors of matrices, solving nonlinear algebraic equations, solving systems of nonlinear algebraic equations;
  • Differential equations: differentiation and integration of functions of one or several variables, solving ordinary differential equations, solving partial differential equations, solving systems of differential equations, solving integral equations;
  • Optimisation: the study of minimum and maximum values of functionals on sets;
  • Operations research and game theory: minimax problems (in particular, for multi-step games);
  • Mathematical programming: approximation problems, interpolation problems, extrapolation problems.

A study and comparative analysis of methods for solving standard problems is carried out. An important element of the analysis is the search for economical models that make it possible to obtain a result using the smallest number of operations, and the optimisation of solution methods. For large-scale problems, it is particularly important to investigate the stability of methods and algorithms, including their sensitivity to rounding errors. Examples of unstable problems include inverse problems (in particular, finding the inverse of a matrix), as well as the automation of processing experimental results .

The constantly growing range of standard problems and the increasing number of users have driven an increase in the requirements for automation. In conditions where knowledge of specific numerical methods is not essential for the user, the requirements placed on standard solution programs increase. With their use, there is no need to program the solution methods; it is sufficient to supply the initial information .

Computational (numerical) methods — are methods for solving mathematical problems in numerical form

The representation of both the initial data of a problem and its solution — as a number or a set of numbers. This is an important component in the training system for engineers of technical specialities.

The foundations of computational methods are:

  • solving systems of linear equations;
  • interpolation and approximate computation of functions;
  • numerical integration;
  • numerical solution of systems of nonlinear equations;
  • numerical solution of ordinary differential equations;
  • numerical solution of partial differential equations (equations of mathematical physics);
  • solving optimisation problems.

Computer Algebra System

A computer algebra system (CAS, from the English computer algebra system, CAS) — is an application program for symbolic computation, that is, for performing transformations and working with mathematical expressions in analytical (symbolic) form.

A computer algebra system (CAS) - is software designed for symbolic computation and for working with mathematical objects such as equations, algebraic expressions, functions, graphs, and other mathematical objects. A CAS makes it possible to perform operations of an analytical and symbolic nature, including algebraic computation, differentiation, integration, solving equations and systems of equations, working with matrices, numerical methods, and so on.

Computer algebra systems give the user the ability to enter mathematical expressions and operations in symbolic form, and then to perform computations with a high degree of accuracy and precision. Instead of numerical results, a CAS outputs expressions in analytical form or provides numerical values to a specified precision.

Some popular computer algebra systems include the following:

  1. Mathematica: Developed by Wolfram Research, Mathematica offers a wide range of functions and capabilities for symbolic and numerical computation, data visualisation, modelling, and algorithm development.

  2. Maple: Developed by Maplesoft, Maple also provides powerful tools for symbolic computation, data analysis, graphics, and programming.

  3. MATLAB: Although MATLAB is primarily a numerical computation system, it also contains a set of symbolic algebra functions that allow operations to be performed on symbols and expressions.

  4. SageMath: This is a free and open computer algebra system that brings together a large number of open mathematical packages and tools for performing symbolic and numerical computation.

Computer algebra systems differ in their capabilities, but usually support the following symbolic operations:

  • simplifying expressions to a smaller size or reducing them to a standard form, including automatic simplification using assumptions and constraints
  • substitution of symbolic and numerical values into expressions
  • changing the form of expressions: expanding products and powers, partial and complete factorisation (decomposition into factors)
  • partial-fraction decomposition, satisfying constraints, expressing trigonometric functions through exponentials, transformation of logical expressions
  • differentiation with respect to partial and total derivatives
  • finding indefinite and definite integrals (symbolic integration)
  • symbolic solution of optimisation problems: finding global extrema, conditional extrema, and so on
  • solving linear and nonlinear equations
  • algebraic (non-numerical) solution of differential and finite-difference equations
  • finding limits of functions and sequences
  • integral transforms
  • operations with series: summation, multiplication, superposition
  • matrix operations: inversion, factorisation, solving spectral problems
  • statistical computations
  • automated theorem proving, formal verification
  • program synthesis
Symbolic Computation, Computer Algebra and the Computer Algebra System (CAS)

Additional capabilities

Many CAS also include:

  • a programming language that allows users to write their own algorithms
  • arbitrary-precision numerical operations
  • integer arithmetic for large numbers and support for number-theoretic functions
  • editing of mathematical expressions in two-dimensional form (with indices, ordinary fractions, and so on)
  • plotting of function graphs in two or three dimensions and their animations
  • drawing of charts and diagrams
  • an API for use by external programs (databases) or in programming languages, for using the computer algebra system
  • string operations (substring search)
  • additional applied mathematics modules for such fields as physics, bioinformatics, computational chemistry, and packages for engineering and physics computations

Some also include:

  • creating and editing graphics (creating computer images, as well as signal processing and image analysis)
  • sound synthesis

Some CAS are aimed at a specific area of use; such programs are usually developed by the academic community and distributed free of charge. They may not be as efficient at numerical calculations as systems designed for numerical methods.

History

CAS appeared in the early 1960s and developed in stages, mainly in two directions: theoretical physics and the creation of artificial intelligence. One of the early programs, still in use today, is FORM , from the Dutch institute for subatomic physics.

The first successful example was the pioneering work of Martinus Veltman (later awarded the Nobel Prize in Physics), who in 1963 created a program for symbolic computation (for the needs of high-energy physics), which was called Schoonschip.

Using LISP, Carl Engelman created MATHLAB in 1964 as part of the MITRE project (an artificial intelligence research project). MATHLAB later became available at universities to users of the PDP-6 and PDP-10 mainframes running operating systems such as TOPS-10 or TENEX. Today it can still be run on SIMH emulations of the PDP-10. MATHLAB (“mathematical laboratory”) should not be confused with MATLAB (“matrix laboratory”), a system for numerical computation created 15 years later at the University of New Mexico.

Beginning in the late 1960s, the first generation of CAS included the following systems :

  • MACSYMA (Joel Moses),
  • MATLAB (Massachusetts Institute of Technology),
  • SCRATCHPAD (Richard Jenks, IBM),
  • REDUCE (Tony Hearn),
  • SAC-I, later SACLIB (George Collins),
  • MUMATH for microprocessors (David Stoutemyer) and its successor
  • DERIVE.

These systems were capable of performing symbolic computations: integration, differentiation, factorisation.

The second generation, in which a more modern graphical user interface began to be applied, includes Maple (Keith Geddes and Gaston Gonnet, University of Waterloo, 1985) and Mathematica (Stephen Wolfram), which are widely used by mathematicians, scientists and engineers . Free alternatives — Sage, Maxima, Reduce.

In 1987, Hewlett-Packard introduced the first pocket analytical calculator (HP-28), in which, for the first time in a calculator, the organisation of algebraic expressions, differentiation, limited analytical integration, Taylor series expansion and the finding of solutions to algebraic equations were implemented.

In 1995, Texas Instruments released the TI-92 calculator with, for the time, revolutionary CAS extensions based on the Derive software. This calculator, and those that followed it, including the TI-89 and the TI-Nspire CAS series released in 2007, demonstrated the possibility of creating relatively compact and inexpensive computer algebra systems.

The third generation began to apply a categorical approach and operator computations :

  • AXIOM, the successor to SCRATCHPAD (NAG),
  • MAGMA (John Cannon, University of Sydney),
  • MUPAD (Benno Fuchssteiner, University of Paderborn).

As of 2012, research in the field of computer algebra systems continues in three directions: the ability to solve an ever-wider range of problems, ease of use, and speed of operation .

Branches of mathematics used in computer algebra systems

  • Symbolic integration — the Risch algorithm
  • Hypergeometric summation — the Gosper algorithm
  • Limit (mathematics) — the Gruntz algorithm
  • Factorisation of polynomials. For bounded domains, the Berlekamp algorithm or the Cantor—Zassenhaus algorithm is used.
  • Greatest common divisor — the Euclidean algorithm
  • Gaussian elimination
  • Gröbner basis — Buchberger's algorithm
  • Padé approximation
  • The Schwartz–Zippel lemma and polynomial identity testing
  • The Chinese remainder theorem
  • Diophantine equation
  • Quantifier elimination over the real numbers — Tarski's method
  • Landau's algorithm
  • Derivatives of elementary and special functions (see, for example, the incomplete gamma function)

Types of expressions

The expressions manipulated by a CAS usually include polynomials in several variables; standard expression functions ( sine , exponential, etc.); various special functions ( Γ , ζ , erf , Bessel functions and others); arbitrary expression functions; optimisation; derivatives, integrals, simplifications, sums and products of expressions; truncated series with expressions as coefficients, matrices of expressions, etc. The supported numeric domains usually include floating-point representation of real numbers , integers (of unbounded size), complex numbers (floating-point representation), interval representation of real numbers , rational numbers (exact representation) and algebraic numbers .

Algorithms used in computer algebra

  • Buchberger's algorithm : finds a Gröbner basis
  • The Cantor–Zassenhaus algorithm : factorisation of polynomials over finite fields
  • Faugère's F4 algorithm : finds a Gröbner basis (the F5 algorithm is also mentioned)
  • Gosper's algorithm : find sums of hypergeometric terms that are themselves hypergeometric terms
  • The Knuth-Bendix completion algorithm : for rewriting systems of rules
  • Multivariate division algorithm : for polynomials in several unknowns
  • Pollard's kangaroo algorithm (also known as Pollard's lambda algorithm): an algorithm for solving the discrete logarithm problem.
  • Polynomial long division : an algorithm for dividing a polynomial by another polynomial of the same or lower degree.
  • The Risch algorithm : an algorithm for the computational operation of indefinite integration (i.e. finding antiderivatives )

List of computer algebra systems

The following tables present a comparison of computer algebra systems (CAS). A CAS is a package containing a set of algorithms for performing symbolic manipulations on algebraic objects, a language for implementing them, and an environment in which this language is used. A CAS may include a user interface and graphical capabilities; and for efficiency it may require a large library of algorithms, efficient data structures and a fast kernel.

Symbolic Computation, Computer Algebra and the Computer Algebra System (CAS)

Applications of computer algebra systems

Computer algebra systems are widely used in scientific and engineering research, mathematical modelling, education and other fields where symbolic computation is required for solving complex mathematical problems.

Use in education

There have been many advocates for expanding the use of computer algebra systems in primary and secondary school classrooms. The main reason for such advocacy is that computer algebra systems represent real mathematics to a greater extent than mathematics based on paper and pencil or a manual calculator. This push to increase the use of computers in mathematics lessons has been supported by some education boards. It has even been made mandatory in the curricula of some regions.

Computer algebra systems are widely used in higher education. Many universities either offer dedicated courses to develop their use, or implicitly expect students to use them in their coursework. Companies that develop computer algebra systems have sought to increase their prevalence within university and college programmes.

Calculators equipped with a CAS are not permitted on the ACT(American College Testing) , PLAN and in some classes , although they may be permitted on all calculator-permitted College Board tests , including the SAT , certain SAT subject tests, and AP calculus . chemistry , physics and statistics exams .

See also

  • Computational geometry
  • Computational topology
  • Interval arithmetic
  • Experimental mathematics
  • Numerical differentiation
  • Numerical integration
  • approximation
  • interpolation
  • Scientific computing
  • Statistical package
  • Automated theorem proving
  • Algebraic modelling language
  • Constraint logic programming
  • Satisfiability modulo theories
created: 2023-06-04
updated: 2026-03-10
215



Was this answer useful?
Choose a quick rating so we can improve the next answer for you.
How satisfied are you?


Comments

To leave a comment

If you have any suggestion, idea, thanks or comment, feel free to write. We really value feedback and are glad to hear your opinion.
To reply

Lectures and tutorial on "System modeling"

Terms: System modeling