Combining numerical and symbolic computing in Python

Gross, L., Altinay, C., Fenwick, J. and Gao, L. (2012). Combining numerical and symbolic computing in Python. In: Geophysical Research Abstracts. European Geosciences Union General Assembly 2012, Vienna, Austria, (3979-3979). 22 – 27 April 2012.

Related Publications and Datasets
Author Gross, L.
Altinay, C.
Fenwick, J.
Gao, L.
Title of paper Combining numerical and symbolic computing in Python
Formatted title
Combining numerical and symbolic computing in Python
Conference name European Geosciences Union General Assembly 2012
Conference location Vienna, Austria
Conference dates 22 – 27 April 2012
Proceedings title Geophysical Research Abstracts
Place of Publication Gottingen, Germany
Publisher Copernicus Publications
Publication Year 2012
Sub-type Published abstract
ISSN 1607-7962
Volume 14
Start page 3979
End page 3979
Total pages 1
Language eng
Formatted Abstract/Summary
Escript is a Python-based programming tool for modeling physical processes with a focus on Earth Sciences, see Users can easily implement complex models represented through strongly or
loosely coupled partial differential equations (PDEs). Model scripts can be run on desktop computers as well as
large scale parallel computers without any modifications. The key components in Escript are general linear PDEs
and PDE coefficients which are both represented through appropriate Python classes. Users can combine instances
of these classes to build and couple mathematical models without the need to access the data structures used for the
numerical representation on the C/C++ level. Escript has been successfully applied to a broad variety of problems
including mantel convection, melting processes, volcanic flow, earthquakes, mineralization, plate subduction, and

In many situations, e.g. when solving nonlinear PDEs using the Newton-Raphson scheme, solving inversion problems,
or for sensitivity analysis, a linearization of the PDE is required. Due to the complexity of this operation it is
highly desirable that the calculation of the linearization is (completely or partially) automated. Computer algebra
provides an appropriate framework to perform this task. The focus of recent development work on Escript has been
the introduction of symbolic representations of (nonlinear) PDEs and PDE coefficients allowing for automated calculations
of PDE linearizations with respect to the solution as well as PDE coefficients. The actual solution process
(e.g. the Newton-Raphson iteration scheme to solve a nonlinear PDE) still requires the solution of a series of linear
PDE which are solved numerically (e.g. using finite elements).

In the paper we will present a concept of symbolical representation of PDEs for Escript outline its implementation
for Python and discuss some aspects of efficiency at the interface between symbolic and numerical calculations.
We will illustrate the usage of this concept to solve an inversion problem for spatial variable PDE parameter.
Q-Index Code EX
Q-Index Status Provisional Code
Institutional Status UQ
Additional Notes Presented as Abstract EGU2012-3979.

Document type: Conference Paper
Collection: Earth Systems Science Computational Centre Publications
Version Filter Type
Citation counts: Google Scholar Search Google Scholar
Created: Tue, 17 Jan 2012, 10:46:07 EST by Lutz Gross on behalf of Earth Systems Science Computational Centre