Math-Info 2010

Towards new interactions between mathematics and computer science


Invited Seminars

Thematic month

The five weeks

Sage Days

Sage Days 20

1.  Dates

From February 22 to February 26, 2010.

2.  Description of the week

Sage is a free open-source software for mathematical computations, proposed as an alternative to commercial softwares like Maple or Mathematica. Its community is growing fast. The objective of this week is threefold:

  • present the features of Sage and provide basic tutorials for both usage and development of Sage (an install party is also planned);
  • study and discuss the possible uses of Sage in the education (especially on Wednesday);
  • host the twentieth Sage days, including programming sessions for developers, with a special focus on packages related to the themes of the other weeks
    • Algebraic combinatorics (Semi-groups, Coxeter groups, Representation Theory, graphs,...)
    • Discretized dynamical systems (combinatorics on words, tilings, train-tracks, Rauzy classes of interval exchange transformations, origamis,...)
    • Tilings
    • Homology computation
    • More generally, study the importance of the data structures for mathematical types.

3.  SAGE servers

There is a SAGE server available from CIRM at the following local address: CIRM SAGE server on chatelet

And a dedicated notebook for french high-school :

4.  Confirmed speakers

Abstract: This mini-course will provide a hands-on introduction to Sage. The sessions will briefly introduce some new functionality and then participants will complete exercises to gain experience with Sage. Many experienced users of Sage will be on hand to answer questions and help you realize your ideas and projects. Topics will include:
- navigating the help system
- builtin data structures: lists, tuples, strings, dictionaries
- first steps towards programming: loop, iterators, functions
- calculus, plotting and interact
- linear algebra
- creating new data structures
  • Nicolas Thiéry: Introduction to Sage-Combinat: features, design, and tutorials
Abstract: Sage-Combinat is a software project whose mission is to improve the open source mathematical system Sage as an extensible toolbox for computer exploration in algebraic combinatorics, and foster code sharing between researchers in this area. This mini-course will include:
- hands-on introduction to combinatorics in Sage:
-- Predefined and user defined combinatorial objects: (set) partitions, permutations, tableaux, trees, words, ...
-- Counting, enumeration, random generation, ...
-- Symmetric functions and generalizations
-- Root systems, Coxeter groups, crystals
- discussions on the design of the above
- description of the development model and how you can contribute
  • Meinolf Geck: CHEVIE and the algorithmic theory of Coxeter groups and Hecke algebras
Abstract: Chevie is a computer algebra project for symbolic calculations with generic character tables of groups of Lie type, Coxeter groups, Iwahori-Hecke algebras and other related structures, see here. It is based on the computer algebra systems GAP and MAPLE. In my talks, I will explain some of the algorithmic issues in this area and how they have been implemented in CHEVIE.
  • Jean-Éric Pin: Semigroupe, a package for computing finite semigroups
Abstract: In this series of lectures I will present various algorithms to compute finite semigroups and their implementation in the package Semigroupe, which is freely available here. The lecture will be selfcontained and all definitions relative to semigroups (Cayley graphs, Green relations, weak inverses, blocks, group kernels, etc.) will be carefully introduced.

5.  Schedule

  • Monday 22th
    • 9h00-10h00 : David Kohel - Introduction to sage (video)
    • 10h30-11h30 : Florent Hivert and Nicolas Thiery - Introduction to Sage-Combinat (video)
    • 11h30-12h30 : Jean Michel - CHEVIE and the algorithmic theory of Coxeter groups and Hecke algebras (video 1, video 2)
    • 14h00-15h30 : Florent Hivert, Sébastien Labbé and Franco Saliola - Introduction to sage
    • 15h30-18h30 : Coding sprints
    • 17h00-18h30 : Alejandro Maass - Dynamical Cubes and Maximal Topological Nil-Factors
  • Tuesday 23th
    • 9h00-10h30 : Florent Hivert, Sébastien Labbé and Franco Saliola - Introduction to sage
    • 10h30-11h30 : Jean-Éric Pin - Semigroupe and the algorithmic theory of Semigroups
    • 11h30-12h30 : Nicolas M. Thiéry - Software modeling for mathematical computations - Analysis of user needs: objects and operations - Data structures and algorithms - Modularisation and code reuse: Categories for the working mathematics programmer (video)
    • 14h00-15h30 : Florent Hivert, Sébastien Labbé and Franco Saliola - Introduction to sage
    • 15h30-19h00 : Coding Sprints and parallel sessions
      • 15h30-16h30 : Nicolas M. Thiéry - Advanced Sage programming
      • 16h30-18h30 : Jean Michel and Meinholf Geck - CHEVIE tutorial and design discussion
      • 16h30-18h30 : Julien Cassaigne - The complexity of a morphic word
  • Wednesday 24th : Journée sage dans l'enseignement
    • 10h-10h30 : V. Delecroix et l'équipe de sage-combinat - Présentation du logiciel Sage
    • 10h30-12h00 : Ateliers pratiques
    • 12h00-12h30 Discussion
      Un retour sur une première utilisation et un projet de documentation pour le monde éducatif
    • 14h00-14h50 : David Kohel - Utilisation de Sage dans l'éducation, Visualisation, calcul, algèbre, cryptographie
    • 14h50-15h50 : F. Maltey - Sage pour accompagner l'enseignement
    • 16h10-16h40 Des expériences et des projets
      • V. Delecroix - Utilisation lors d'un stage Hippocampe
      • T. Dumont - Depuis le début de l'année scolaire 2008-2009, le département de mathématiques possède un serveur de calcul dédié au logiciel Sage. Cette expérience pilote touche les enseignements de mathématiques des trois années de Licence.
    • 16h40-17h30 Table ronde - Quelle place pour Sage dans l'éducation ? (chercheurs + développeurs + enseignants secondaires)
  • Thursday 25th
    • 9h00-10h00 : Gabriela Schmithüsen - Origamis and square tiled surfaces, an algorithmic approach to Teichmüller curves (video)
    • 10h30-11h30 : Xavier Provençal - Data structures and algorithms on words for discrete geometry (video)
    • 11h30-12h30: Jean-Éric Pin - Semigroupe and the algorithmic theory of Semigroups (video)
    • 14h00-19h00 : Coding Sprints and parallel sessions
      • 15h00-16h00 : Nicolas Thiery - Implementing Hopf algebras
      • 16h30-18h30 : Vincent Delecroix - Rauzy class of permutations, Rauzy graphs of languages and the automaton of train tracks
  • Friday 26th
    • 10h30-12h30 : Coding Sprints and parallel sessions
      • Samuel Lelievre and Gabriela Schmithüsen - Origamis and square tiled surfaces, an algorithmic approach to Teichmüller curves
      • Nicolas M. Thiéry - Sage-Combinat workflow (video)
    • 14h00-14h30 : Florent Hivert - Using iterators
    • 14h30-15h30 : Final status report (video) (video of gap3 interface)
    • 15h30-18h30 : Coding sprints

See also this page.

Note : There will be a colloquium at St Charles on Monday at 17:00, by Alejandro Maass

  • Title : Dynamical Cubes and Maximal Topological Nil-Factors
  • Abstract : In this talk we will present a common work with Bryna Kra and Bernard Host. We introduce the notion of cubes in topological dynamics and we use them to construct the maximal nil-factors of a system. A detailed proof of the case of a rotation is presented as a motivation example. The proof of the general case is based on the measure theoretical developments by Host and Kra to prove the structure theorems behind the non-standard ergodic averages.

6.  Wednesday February 24th : Sage in education

This session will be French speaking, since it aims to discuss with some high school teachers.

Journée organisée en partenariat avec l'IREM.

Le programme (provisoire) :

  • 10h Présentation du logiciel Sage
  • 10h30 Premiers pas avec Sage
  • 11H30 Exposé de recherche
  • 14h Ateliers pratiques
  • 16h Table ronde : quelle place pour Sage dans l'éducation ?
  • 17h30 Fin (apéro)

Il y a une page dédiée à l'organisation ici : Journée sage dans l'enseignement

7.  Additional organizers

More organizers joined the organizing committee in the preparation of this week:

8.  Currently uploaded slides

9.  Currently uploaded worksheets

10.  Videos

Many talks were video recorded : Videos.

11.  Participants

See the page Sage Days Participants

12.  Workshops

  • Vincent Delecroix: Rauzy class of permutations, Rauzy graphs of languages and the automaton of train tracks.
  • Samuel Lelièvre and Gabriella Schmithüsen are proposing a workshop about square-tiled translation surfaces.
  • Thierry Monteil is proposing a workshop between theory and programming about an algorithm that finds the complexity of a substitutive word.
  • Computation of simplicial homology related to combinatorial problems.
  • Eva Curry would like a workshop on visualizing fractal sets, such as attractors of iterated function systems, in Sage.
  • Speed dating with open source proposed by Sébastien Labbé. A workshop to show some nice open source software you think are usefull for your colleague. It's is a speed dating, so approximatively 5 minutes will be given for each presentation. What open source software do you use?
    • Sébastien Labbé : Zotero
    • Franco Saliola : DropBox
    • Marc Mezzarobba : git, oprofile
    • Paul Zimmermann : MPFR/MPFI and their use in Sage
    • Tobias Columbas : IPE
    • Nicolas Thiéry : sage mode in emacs
    • Alexandre Blondin Massé : vim
    • Thierry Monteil : gobby
    • Adrien Boussicault : ratpoison
  • The sage/combinat/words library by Sébastien Labbé. Presentation of the current state of the library. Discussion about the future improvements.
  • How to contribute to sage by Sébastien Labbé and Nicolas Thiéry
    • We realized there was a typo in the documentation of Disjoint Union of Enumerated Sets.
    • To fix Sage, we followed the Walk Through the Development Process web page in the sage documentation.
    • We created the ticket #8362 on the sage trac server and we attached the patch file we created.

13.  Proposed coding sprints (add your suggestion)


For any technical question or comment regarding this wiki, you can contact the wemaster.