Computational Rough Paths

Oxford, UK.

Topic: The software package
Topic: The latest release
Topic: Previous versions of CoRoPa
Topic: CoRoPa in action: Hall Basis of a Free Lie Algebra
Topic: You said Rough Paths?
Topic: Acknowledgments

Synopsis. CoRoPa stands for Computational Rough Paths. The aim of CoRoPa is to provide a software framework for various ideas related to Rough Path Theory, including rough differential equations and the digital description of serial data streams. In particular, signatures can be used in machine learning to achieve better description of information (see references below). The CoRoPa project results from a research programme led by Professor Terry J. Lyons.
The programme is supported by ERC advanced grant ESig (no. 291244). The intial code was written by Djalil Chafai and Terry Lyons with the support of the MathFIT/EPSRC-LMS grant GR/R2962/8/01 [HBKBU] and has been available for several years. Additional Matlab code was contributed later by Christophe Ladroue. The RDE package was substantially updated and rewritten by Stephen Buckley, Greg Gyurkó, Christian Litterer, Terry Lyons, Arend Janssen and ChangLiang Xu.

Keywords. Rough Paths, ESig, Libalgebra, Rough Differential Equation, Stochastic Analysis, Digital Description of Serial Data Streams, Signal Processing, Inverse Problems, Data Compression, Information Theory, Free (Lie) Algebras, Heisenberg Groups, Free Tensors, Polynomial Vector Fields.

The Software Package

ESig is a Python package. It provides a wrapper around libalgebra and provides a clean but very limited interface for computing signatures and log signatures of multidimensional paths of moderate degree. A sequence of double precision samples from a multidimensional path, presented as a numpy array are converted into a truncated signature or logsignature suited for machine learning etc. The outputs are appropriately dimensioned numpy arrays and provide dense representations of these vectors.
The gz files should build (it takes several minutes) wheels (Python -m pip wheel xxxx.gz) on systems that have boost and Python (with numpy and current setuptools) installed in conventional places. The wheel can be used to install esig on multiple machines in the usual way.
We expect esig to install directly. So try it first!
The gz file contains a working version of full libalgebra that builds on windows and unix from VS2008 forward.

Latest Release

The latest published version is the ESig package which is available on SourceForge. It can be downloaded at

Previous Versions of CoRoPa

The RDE package

The RDE package provides the software for the solution of rough differential equations (in the form of a Microsoft Visual Studio 2008 project). It also contains the newest version of libalgebra and implementations of Brownian paths and fractional Brownian paths. Further details, including animated examples (for Internet Explorer), and the documentation can be found here.

The software package has been written in C++ and it contains:

The C++ package

The original version of CoRoPa, which was written by Djalil Chafai and Terry Lyons with the support of the MathFIT/EPSRC-LMS grant GR/R2962/8/01 [HBKBU], can also be downloaded at The library code of this version of CoRoPa is protected by the GNU Lesser General Public License and the program code of this version is protected by the GNU General Public License.

The Matlab package

The Matlab package was developed by Christophe Ladroue, while working with A.Papavassiliou on "Applications of the Theory of Rough Paths to Speech Recognition" (research funded by a Marie Curie International Reintegration Grant). It is independent from the C++ software and provides objects for the easy manipulation of stochastic expansions, as well as some functions relating to this field.
The Matlab code can be downloaded here (tar.gz, ~240kB). A possibly more recent version can be downloaded via the SVN tree with
svn co .
The Matlab code of CoRoPa is protected by the GNU Lesser General Public License and the program code is protected by the GNU General Public License.

Online computation of the Philip Hall Basis of a Free Lie Algebra

This CGI program computes a Philip Hall basis of a free Lie algebra. It makes use of the libalgebra code provided by the CoRoPa software package. Enter the requested numbers to get the Hall basis elements.

Number of letters
Minimum degree
Maximum degree

You said Rough Paths?


logo LMS 
logo EPSRC logo Logo