SageMath
"The ultimate test of whether I understand something is if I can explain it to a computer. I can say something to you and you’ll nod your head, but I’m not sure that I explained it well. But the computer doesn’t nod its head. It repeats back exactly what I tell it. In most of life, you can bluff, but not with computers." (Donald Knuth, from this Quantamagazine post.)
I learned Python in 2004 and never stopped using it to get my own intuitions on mathematical and theoretical computer science problems. I am a user and a developer of SageMath since 2008. SageMath is an open-source software for mathematics started by William Stein in 2006. I wrote dozens of posts about SageMath on my blog (some in French, some in English).
Sage Development
I am one of the main developer of the sage/combinat/words library and few other modules including RecursivelyEnumeratedSet, DisjointSet, E1Star, dlx_solver, TilingSolver and QuantuminoSolver. My contributions also concern visualisation, graphics and other things.
On the Sage Trac, one can see the Sage tickets I worked on
- as an author,
- as a reviewer and
- the open tickets I participated in.
My Optional Sage package: slabbe
Part of my own research code is available since August 2014 as an optional Sage package called slabbe. I try to release one new version every year. It is available in the Python Package Index. The source code is available on github. I wrote some blog posts about it in the categorie slabbe-spkg with examples and pictures.
Installation:
sage -pip install slabbe
Usage:
sage: from slabbe import *
Why: I explained in a blog post why I created this package. The short answer is that it allows me to easily use and share my research code. I always keep it documented and aim at keeping 100% doctest coverage with all test passing so that I trust experimental results I get from it. Including a new module into Sage is hard and in many cases, the module stays on trac forever without getting a positive review. My package allows to develop new modules with the long-term goal of getting into Sage and the short and mid-term goal of being easily usable and modified (allowing backward incompatible changes). If you want any of the module in the package to get into Sage and you are willing to review it, tell me.
What: It contains modules on digital geometry, combinatorics and combinatorics on words and more. Version 0.2, available since November 2015, provides modules on multidimensional continued fraction algorithms, matrix cocycles, languages, tikzpictures for which many examples of usage can be found in these cheat sheets.
Old versions are available below with pdf documentation.
spkg | Documentation | Release date | Dependencies | Release notes |
---|---|---|---|---|
slabbe-0.1.spkg | slabbe-0.1.pdf | August 27, 2014 | sage-6.3 | blog post |
slabbe-0.1.1.spkg | June 3, 2015 | sage-6.7 | fixing gcd import | |
slabbe-0.2.spkg | slabbe-0.2.pdf | Nov 25, 2015 | sage-6.8 | blog post |
slabbe-0.3b1 | June 12, 2016 | sage-7.2 | ||
slabbe-0.3b2 | Dec 11, 2016 | sage-7.4 | ||
slabbe-0.4 | slabbe-0.4.pdf | Jan 20, 2018 | sage-8.1 | |
slabbe-0.5 | slabbe-0.5.pdf | April 10, 2019 | sage-8.7 |
Organisation de conférences et activités
I participated in the organisation of international workshops on Sage and weekly meetings.
Sage Talks
Note that *.sws and *.txt files listed below can be uploaded directly from the Sage Notebook.
Jeudi SageMath au LaBRIUniversité de Bordeaux, 2 juin 2022. Introduction au bloc-note de IPython,Groupe d'Utilisateurs de Sage et Python Scientifique en région ParisienneTélécom ParisTech, Paris, 6 mars 2014. Quick Introduction + Finite State Machine dans SageGroupe d'Utilisateurs de Sage et Python Scientifique en région ParisienneLIAFA, Paris, 28 janvier 2014. Présentation d'introduction au logiciel SageGroupe d'Utilisateurs de Sage et Python Scientifique en région ParisienneObservatoire de Paris, Paris, 6 novembre 2013. Groupe d'Utilisateurs de Sage et Python Scientifique en région ParisienneChevaleret, Paris, 22 novembre 2012. Cégep Saint-Hyacinthe, 19 janvier 2012. 55e Congrès de l’Association mathématique du Québec, École Polytechnique de MontréalMontréal, 15 octobre 2011. DGCI 2011Nancy, 7 avril 2011 Sage : mathematics software based on Python (with Franco Saliola)Montréal, 29 novembre 2010. Combinatoire des mots et mots S-adiques dans SageRencontre Pytheas FoggMarseille, 18 décembre 2009 Les chemins discrets : bientôt à l'affiche dans SageGT Géométrie discrète du GDR-IMMontpellier, November 9th, 2009 Le logiciel libre SageColloque panquébécois des étudiants, ISM, UQAMMontréal, 29 mai 2009