lmonade is a distribution of mathematical software that can be installed by a user without administrative rights. Building on the Gentoo Linux Distribution and the Gentoo Prefix Project, lmonade creates an environment for scientific software development. The main goal is to foster code sharing and openness in scientific software development. We try to achive these by
- simplifying the tasks of distributing software with its dependencies,
- ensuring that it can be built on different platforms, and
- making sure the software is compatible across new releases of its dependencies.
I started lmonade to help with my work on the DFG priority program on Algebra, Geometry and Number Theory.
Sage is an open source computer mathematics system which brings many specialized packages together to create an alternative to Magma, Maple, Mathematica and Matlab. It uses Python as the glue and frontend language. Performance critical parts of the Sage library and most wrappers to external libraries is written in Cython.
I have been involved with Sage since 2007, when I started by exposing PolyBoRi types through Sage’s Python interface. Since then, I contributed wrappers for FLINT, LinBox, and Singular, as well as native code and random bug fixes (and bugs) for linear algebra, symbolics, commutative/noncommutive rings, etc.
During this time I had the chance to attend numerous Sage Days workshops (6, dev1, 10, 12, 16, 19, 20.5, 23.5, JMMS2011, 31, 35) and organize a few ( *-combinat, 24, 34). I also served as an organization co-administrator and mentor for Google Summer of Code 2012.
Pynac is a C++ library for manipulating symbolic expressions where arbitrary Python objects can be used as numeric coefficients. Pynac was forked from GiNaC in an effort to integrate it into Sage where high level algorithms can be implemented in Python.
pypolymake provides Sage/Python wrappers to polymake, a mathematics software package to study the combinatorics and the geometry of convex polytopes and polyhedra.