The newgenesis C++ software package

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

You said Rough Paths?

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

You said Rough Paths?

**Synopsis. **
This web page is dedicated to the project *Digital Descriptions for Serial
Data Streams*. I have started my work on this project as a post-doc at the
Mathematical Institute of Oxford
(2002-07 to 2003-07), under the advisory of
Pr. Terry J. Lyons and
Dr. Ben Hambly, using
funding provided by
MathFIT/EPSRC-LMS grant
GR/R2962/8/01 [HBKBU].
You can have a rough technical report
(dated
2004-02-25)
on my work at the Oxford Mathematical Institute
[DVI
69k,
PS
412k,
PDF
311k].

**Keywords. **
Rough Paths, Stochastic Analysis, Digital Description of Serial Data Streams,
Signal Processing, Inverse Problems,
Data Compression, Information Theory, Free (Lie) Algebras, Heisenberg Groups.

The *newgenesis* C++ software package consists in

*libtree*. Yet another generic tree container template, with iterators and leaves container wrapper. Support for Chen trees associated to sequences of discrete iterated integrals. Pseudo dual ended queue interface (std::deque).*libalgebra*. Generic templates for sparse vectors, associative algebras, free associative algebras, free shuffle algebras, free Lie algebras, sparse polynomials, Philip Hall bases, Campbell-Baker-Hausdorff formula, Dynkin bracketing map, etc.*examples*. Involve the GNU MP library for arbitrary precision arithmetics, the libsndfile library for PCM sound file I/O and the GNU cgicc library for CGI programming.

The aim of *newgenesis* is to provide a software framework to test
various ideas related to Rough Paths Theory for sound compression and digital
description of serial data streams.
The current development environment for *newgenesis*
is GCC under
Debian GNU/Linux.

The latest published version of *newgenesis* is
20050617.
You can download an archive containing the C++ source code, the examples,
and the documentation
[tgz
1.2M]

You can have some rough documentation for *newgenesis*,
produced with Doxygen.

*libalgebra*[HTML, PDF 543k] (almost complete)*libtree*[HTML, PDF 379k] (not completed yet)*examples*[HTML, PDF 40k] (not completed yet)

*newgenesis* is developed by
D. Chafaï (2002-now),
partly under the advisory of
T. J. Lyons (2002-2003).
The library code of *newgenesis* is protected by the
GNU Lesser General Public License,
the programs code is protected by the
GNU General Public License,
whereas the documentation is protected by the
GNU Free Documentation License.

- A new sound compression algorithm based on rough paths
- Random numbers generators in C++.

**Note.**
I believe that generic programming is the
right way for mathematicians to do programming, since it corresponds to the
conceptualisation aspects of data structures and algorithms regardless
of the precise implementation in terms of data types.
Generic programming is provided for example by C++ and ADA. Unfortunately,
there is no
Standard Templates Library (STL) equivalent for ADA to my knowledge. However,
C++ is not perfect. Its ISO standard is sometimes obscure and the language
itself is in the same time limited and too complex.
Even if C++ is the de facto industry standard, it
could be interesing to implement *newgenesis* in a smarter
programming language.

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