## Introduction

Click on the tabs below for a (hopfully) accessible introduction to this area of research.

###### Symbolic computation / Computer algebra

Symbolic computation (also known as computer algebra)
refers to the study and development of algorithms and software for manipulating mathematical expressions and objects.
It leads to exact answers, and is distinct from numerical computation which uses floating point arithmetic to give approximate results.

Instead of decimals symbolic systems use integers (whole numbers) which may be combined to represent rational numbers (fractions).
We can go further and represent algebraic numbers by describing them as the roots of polynomials,
(such as defining √2 to be the positive root of x^{2}-2).

There is a wide variety of computer algebra software available,
with a comparison of the features here. I mostly work with Maple,
but our research is applicable to generic systems.

Symbolic computation has been applied in many areas, such as space technology (engineering CanadaArm) and animation (Dreamworks movies).
For a more thorough introduction see this presentation by Stephen Watt.

The image of CanadaArm2 is from NASA (click on the image for more details).

###### Cylindrical Algebraic Decomposition

A cylindrical algebraic decomposition (CAD) is a key tool in both real algebraic geometry and symbolic computation.

- A CAD is:
**a decomposition**- splits the domain into connected cells;**algebraic**- each cell is described by polynomial relations;**cylindrical**- the cells are arranged in a useful structure.

Usually CADs are constructed so that given polynomials are sign-invariant (either positive, negative or zero) on each cell. The first algorithm was given in the 70s and since then there have been many improvements and refinements. Even so, CADs still usually contain far more information (decomposes into more cells) than required for most applications.

###### Application of CAD

The potential applications of CAD are huge: almost any problem that can be described by polynomials!

It was originally introduced for quantifier elimination and simplification of logical formulas.
This in turn has numerous applications, ranging from engineering to epidemic modelling.
CAD itself has been used for equation solvers (for example in Maple)

One application pursued by our group is improvements to the algebraic simplification of elementray function identities via branch cut analysis, (see the research section below).

We are also considering applications to robot motion planning, (with the robots and their environment described by polynomials).
The image is a CAD produced to study the problem of moving a ladder round a right angled corridor. Robots encounter this type of situation and need to find the best path.

Bath has much expertise in the field of robotics in the Robotics and Autonomous Systems Lab.