MathML Logo


#Presentations

#Schedule of Events

    

Using MathML to Describe Numerical Computations

Jian Li and G. Scott Lett
 Physiome Sciences, Inc.


Abstract

MathML content markup has tags with clear semantics for representing basic operators and functions. These are nearly sufficient to mark up algorithms for numerical computations that are usually programmed with imperative languages. The advantages of using MathML content markup to mark up algorithms are the following.

  1. Algorithms can be described in a programming language-neutral way, so that code for different imperative languages can be generated from the same MathML content representation.

  2. MathML content markup provides unique semantics for both content and presentation. Thus, software can be created to render presentation and generate code for numerical computation. This "what-you-see-is-what-you-compute" solution helps avoid problems associated with synchronizing the presentation of an algorithm and its implementation.
We present a Java application for solving initial-value problems, using MathML content markup to represent ordinary differential equations. Users can visually create, edit, and debug ODE equations in a WYSIWYG environment. The application generates software objects from the equations, which a compute server uses to approximate their solution. Using extensions of MathML, the software permits users to define their own algorithms and data structures to provide a flexible computing environment. The application can export the software objects as source code in languages such as C++, Fortran, and Matlab.