The Symbolic Computation Laboratory performs research in algorithms and software systems for symbolic computation.

Some specific topics are:

  • Solving systems of linear equations and inequalities
  • Solving systems of polynomial equations, inequalities and inequations
  • Solving ordinary differential equations (ODE's)
  • Solving systems of partial differential equations (PDE's)
  • Symbolic analysis of analytic and special functions)
  • high-performance aspects of computer algebra systems
  • Applications of the above

We support both research projects and software projects.

This section lists recent research projects on which the current students of the SCL lab are working together.
These research projects are While computer algebra systems can perform highly sophisticated algebraic tasks, they are much less equipped for solving problems from mathematical analysis in a symbolic manner. Elementary problems in analysis, such as the manipulation of Taylor series and the calculation of limits of univariate functions, are supported, with some limitations, in general-purpose computer algebra systems. However, limits of multivariate functions and more advanced notions of limits, like topological closures, are almost absent from such systems. Many fundamental concepts in mathematics are defined in terms of limits and it is highly desirable for computer algebra systems to implement these concepts. However, limits are, by their essence, hard to compute, in the sense of performing finitely many rational operations on polynomials or matrices. Our research group develops better algorithms for fundamental tools in symbolic analysis, such as:
  • Weierstrass preparation theorem (and its extensions) which essentially reduces the local study of analytic functions (and more general functions) to the local study of polynomials via the manipulation of power series.
  • Newton–Puiseux algorithm (and its extensions) which essentially allows for the local study of curves (separating their branches about a point) via the manipulation of Laurent and and Puiseux series.
The integer points of rational polyhedral sets are of great interest in various areas of scientific computing. Two such areas are combinatorial optimization (in particular integer linear programming) and compiler optimization (in particular, the analysis, transformation and scheduling of for-loop nests in computer programs), where a variety of algorithms solve questions related to the points with integer coordinates belonging to a given polyhedron. Another area is at the crossroads of computer algebra and polyhedral geometry, with topics such as toric ideals and Hilbert bases, as well the manipulation of Laurent series. We develop and implement algorithms for computing integer hulls of polyhedral sets. We also study the pseudo-periodicity of the vertices of integer hulls of parametric polyhedral sets. We are motivated by applications in the area of compiler theory. In particular, the so-called delinearization problem in the dependence analysis of for-loop nests. Bohemian matrices are a relatively new research area, with connections to algebra, algorithms, analysis, combinatorics, generative art, geometry, graph theory, number theory, numerical analysis, parallel algorithms, probability, random matrices, statistics, and more. Current projects in this general area involve searching for efficient algorithms to compute minimal height companion matrices and to investigate numerical homotopy (continuation) algorithms for computation of eigenvalues and nonlinear eigenvalues. More details can be found at the Bohemian Matrices project page. This section lists the software projects on which the current students of the SCL lab are working together.
These software projects are:
  • either used and supported by our industrial partners Maplesoft and IBM Canada
  • or made publicly available in source on dedicated web sites and GitHub.
Therefore, software development is done in our research group with constraints similar to those of a software company. In particular, constant interactions between students and regular meetings with supervisors are of the essence of our work. Since our lab produces mathematical software, typical interactions between our students are of the following types:
  • an Applied Math student helping a Computer Science student on a mathematical question,
  • a Computer Science student helping an Applied Math student on an software implementation issue.

All four principal scientists and their students have been contributing to every release of Maple. for more 20 years. The following Maple libraries are being developed in the SCL lab: SNAP, RegularChains library, PowerSeries, PolyhedralSets, CodeTools:-ProgramAnalysis as well as many Maple commands for special functions, eigen values computation, symbolic integration, solving systems of ODEs and PDEs, etc.

Thanks to our contributions to Maple, a site licence allows everyone at the University of Western Ontario to freely use Maple. Note that there are more than 5,000,000 Maple licences world-wide, which implies that millions of people are using the software tools developed in our lab.

These topics are of common interest to the four principal scientists. Different approaches are studied: numerical methods (DJJ, RMC), symbolic methods (GJR, MMM) and hybrid (DJJ, GJR, RMC). All are being implemented in Maple by the PIs and their students. These topics are a driving application for the subject of polynomial system solving and thus our RegularChains library.

This research topic provides both theoretical foundations and applications of our Maple libraries dealing with those objects. One particular special function is at the core of this topic the Lambert W function The Basic Polynomial Algebra Subprograms library provides asymptotically fast polynomial algebra targeting multicore architectures. The CUMODP library provides polynomial arithmetic targeting Graphics Processing Units (GPUs). This library is integrated into Maple. The MetaFork is a compilation framework for concurrency platforms targeting hardware accelerators (multi-core processors, GPUs). This project, as well as BPAS, have been financially supported by IBM Canada through its Center for Advanced Studies.