Delegating Computations to C Code

Or How to Make Mathematica Even Faster?

Yves A. Papegay

INRIA Sophia Antipolis, COPRIN

Abstract

Providing an outstanding computational environment, an huge number of symbolical and numerical functionalities, and good computation performances, Mathematica is one of the best tool for modelling and for simulation. However, offering arbitrary precision for numbers, accepting untyped constructions in the language and a wide overloading of the operators has a cost in term of efficiency. And it would be interesting to make Mathematica even faster namely for real-time or large-scale computations.

Compile function, that appeared in Version 2, is a way to enhance performances of a function by taking in account assumptions on its arguments and delegating computation to a dedicated internal code. An interesting alternative is to use the CForm function combined with the SymbolicC package—presented by the author at the Wolfram Technology Conference in 2006—to translate the function into a C program that could be linked—even dynamically—to Mathematica through MathLink.

In this talk we will discuss how we delegates computations to C code to speed up the computation of a model of the dynamical behavior of an aircraft wheel, used at landing stage in a flight simulator in an industrial context.