46 3. ∗-Combinat, BOÎTE À OUTILS POUR L’EXPLORATION INFORMATIQUEque le logiciel modélise les obj<strong>et</strong>s mathématiques au plus près, afin de pouvoir exprimer <strong>des</strong>problèmes complexes dans un langage naturel.Bien entendu, mener à bien de tels calculs sous-entend un important travail de programmation,<strong>et</strong> requiert une large panoplie de techniques. Ainsi, lors de ma thèse, j’avais été amené àutiliser les logiciels suivants :Magma (invariants, groupes de permutations),GAP (groupes, représentations),Cocoa, Gb, FGb, Macaulay (bases de Gröbner efficaces), Nauty, Graphl<strong>et</strong>, Lydia(théorie <strong>des</strong> <strong>graphes</strong>), ALP, Linbox (<strong>alg</strong>èbre linéaire creuse exacte), Maple (calcul formel) <strong>et</strong> sesmodules (combstruct : obj<strong>et</strong>s décomposables, gfun : séries génératrices, ACE, SF : fonctionssymétriques, <strong>et</strong>c.), MuPAD (calcul formel) <strong>et</strong> son module mu-EC (fonctions symétriques). Pouraller plus loin j’avais besoin non seulement de les utiliser simultanément, mais aussi de lescombiner aisément les uns avec les autres. Une tâche d’intégration bien trop ambitieuse pourun seul individu.À mon sens, il y avait <strong>et</strong> il y a toujours un besoin, à l’échelle de la <strong>combinatoire</strong> <strong>alg</strong>ébrique,pour une boîte à outils de référence, libre, largement diffusée, développée par une communautéde chercheurs pour leurs propres besoins <strong>et</strong> à l’échelle internationale. En bref, jouant le rôlefédérateur de GAP pour la théorie <strong>des</strong> groupes. Elle doit de plus être basée sur une plateformegénéraliste <strong>et</strong> un langage de programmation répandu <strong>et</strong> de qualité (en particulier orienté obj<strong>et</strong>),réutiliser le maximum de composants existants, <strong>et</strong> perm<strong>et</strong>tre une synergie avec les domainesavoisinants (calcul formel, <strong>graphes</strong>, groupes, <strong>et</strong>c.). Il est à noter qu’une telle boîte à outils, entout cas dans ces fondament<strong>aux</strong>, est utile pour l’enseignement. Elle a aussi <strong>des</strong> applicationspotentielles en physique mathématique (calculs dans les <strong>alg</strong>èbres de Hopf <strong>et</strong> opéra<strong>des</strong> venant<strong>des</strong> problèmes de renormalisation). De nombreux logiciels existaient, certains importants <strong>et</strong>bien établis, mais aucun ne répondait au cahier <strong>des</strong> charges.1.2. Les débuts de MuPAD-Combinat. J’en avais besoin pour mes recherches <strong>et</strong> je n’étaispas le seul. C’est un proj<strong>et</strong> qui m’intéressait, <strong>et</strong> j’en avais peut-être les compétences, à conditionde m’associer <strong>aux</strong> bons experts. J’ai cherché <strong>des</strong> partenaires, établi un cahier <strong>des</strong> chargesdétaillé, <strong>et</strong> longtemps soupesé les plateformes disponibles [HT04b]. Ce fut la naissance deMuPAD-Combinat en décembre 2000, d’abord avec Florent Hivert <strong>et</strong> le soutien du Phalanstèrede Marne-la-Vallée <strong>et</strong> de l’équipe du système de calcul formelMuPAD à Paderborn. Puis progressivementse sont rajoutés François Descouens, Teresa Gomez Diaz, Jean-Christophe Novelli duPhalanstère, ainsi que Christophe Carré, Éric Laugerotte, Houda Abbad <strong>et</strong> Janvier Nzeutchapde Rouen, Frédéric Chapoton de Lyon; Patrick Lemeur de Montpellier. L’équipe s’est enfininternationalisée avec Xavier Molinéro de Barcelone, Mike Zabrocki de Toronto, Anne Schilling<strong>et</strong> Quiang Wang de Davis. Sans compter indirectement tous les auteurs <strong>des</strong> logiciels que nousavions intégrés (ACE, µ-EC, CS, Symm<strong>et</strong>rica, Nauty, <strong>et</strong>c.).La collaboration avec Anne Schilling, commencée lors de FPSAC 2006 a été exemplaire.Ayant une bonne expérience de la programmation <strong>et</strong> de l’exploration informatique, elle souhaitaitimplanter dans MuPAD-Combinat une bibliothèque sur les <strong>graphes</strong> cristallins. De nombreuxcourriels suivirent, où d’un côté elle m’expliquait la théorie <strong>et</strong> les règles de calculs dans les<strong>graphes</strong> cristallins, <strong>et</strong> en r<strong>et</strong>our je lui donnais <strong>des</strong> conseils de conception <strong>et</strong> d’<strong>alg</strong>orithmique.Trois mois plus tard, elle avait le matériel nécessaire pour tester ses conjectures sur les <strong>graphes</strong>cristallins de Kirillov-Resh<strong>et</strong>ikhin en type D affine [Sch08], <strong>et</strong> fit le commentaire suivant surune liste de diffusion à propos de son expérience avec MuPAD-Combinat : « For me personally,it has been great, since it already has a lot of features and, having the support from Nicolasand others, helped me to write code that I needed in such a way that it can be reused byothers, and I myself could build on it (which has never been the case before with programs Ihad written in Maple or Mathematica). Nicolas definitely has the ability to factor out mainfeatures, which is necessary for such a large scale project. »
2. DÉMONSTRATION COURTE 471.3. Maturité <strong>et</strong> migration vers <strong>Sage</strong>. À partir de 2006 plusieurs signes m’ont indiquéque MuPAD-Combinat était en train de devenir une (la?) bibliothèque généraliste de référencedans le domaine. J’ai en eff<strong>et</strong> été conférencier invité <strong>aux</strong> ateliers Axiom 2006 <strong>et</strong> 2007, <strong>aux</strong>7ème journées <strong>Sage</strong>, à la session spéciale « Applications of Computer Algebra in Enumerativeand Algebraic Combinatorics » de l’AMS Joint Mathematics Me<strong>et</strong>ing à San Diego. D’autrepart, MuPAD-Combinat avait été choisi comme support logiciel pour le proj<strong>et</strong> NSF trisannuel« Focused Research Group : Affine Schubert Calculus » emmené par Anne Schilling, MarcShimozono <strong>et</strong> Jennifer Morse (proj<strong>et</strong> qui a financé mon séjour d’un an en tant que chercheur àDavis). Enfin, le plus important : MuPAD-Combinat avait joué un rôle clef dans de nombreusespublications (voir section 7).Dans le même temps nous avons commencé à atteindre les limites de la plateforme MuPAD :la communauté était trop p<strong>et</strong>ite, à l’échelle du domaine, comme à l’échelle du langage. Ducoup, nous étions amenés à implanter, pour nos besoins propres, <strong>des</strong> fonctionnalités hors denotre domaine de compétences (théorie <strong>des</strong> groupes, communications entre processus, outils deprogrammation, <strong>et</strong>c.). Que MuPAD ne soit pas libre y jouait un rôle important. Cela n’était pasune surprise : notre choix de MuPAD en 2000 avait été pragmatique; c’était techniquement lameilleure plateforme pour nos besoins, même si moralement cela n’était pas satisfaisant. Maisentre temps <strong>des</strong> alternatives libres commençaient à émerger, en particulier Axiom <strong>et</strong> <strong>Sage</strong>.Réciproquement celles-ci affichaient un grand intérêt pour MuPAD-Combinat. J’ai multipliéles contacts avec leurs communautés respectives pour préparer le terrain, <strong>et</strong> pour évaluerl’adaptation technique pour notre proj<strong>et</strong>. Cela a abouti a la création <strong>des</strong> bibliothèques soeursaldor-Combinat (Ralf Hemmecke <strong>et</strong> Martin Rubey) <strong>et</strong> <strong>Sage</strong>-Combinat (Mike Hansen).Après de longues discussions nous avons décidé en juin 2008 de basculer vers <strong>Sage</strong>. Le coûtest important : 100k lignes de code à traduire 1 ; cela nous absorbera au moins jusqu’en 2009,voire 2010. Mais je suis convaincu que le jeu en vaut la chandelle. L’opération nous a déjàpermis de joindre nos forces avec Mike Hansen, Jason Bandlow, Franco Saliola, Greg Musiker,Daniel Bump, Justin Walker, Mark Shimozono, Lenny Tevlin <strong>et</strong> Kurt Luoto.Dix ans d’investissement <strong>et</strong> d’acharnement commencent à payer. Je vais enfin avoir à madisposition la plateforme dont je rêvais, sans concessions. Pour, en fin de compte, pouvoir faireplus de recherche.2. Démonstration courteDans c<strong>et</strong>te section, nous présentons quelques calculs typiques avec MuPAD-Combinat. Outreprésenter un aperçu rapide de ses fonctionnalités, l’objectif est de donner un support concr<strong>et</strong>à quelques spécificités <strong>et</strong> concepts qui seront développés par la suite.2.1. Combinatoire. Nous commençons par quelques calculs élémentaires de <strong>combinatoire</strong>.MuPAD-Combinat fournit de nombreuses classes <strong>combinatoire</strong>s prédéfinies (une classe<strong>combinatoire</strong> est un ensemble sur lequel on souhaite faire <strong>des</strong> opérations <strong>combinatoire</strong>s commecompter, énumérer, tirer au sort, <strong>et</strong>c). Chacune de ces classes est modélisée par un domaine(une classe) avec une interface standardisée. Commençons par lister tous les arbres ordonnésnon étiqu<strong>et</strong>és à 5 somm<strong>et</strong>s :>> export(combinat):>> trees::list(5)-- o , o , o , o , o , o , o , o , o , o , o , o , o , o --| // \\ /|\ /|\ / \ / \ /|\ / \ / \ / \ | | | | | || | | /\ | | | | /\ | /|\ / \ / \ | | || | | | | / \ | |-- | --1. 30k ont déjà été portées par Mike Hansen
- Page 3: Table des matièresTable des figure
- Page 7 and 8: Liste de publicationsArticles dans
- Page 9 and 10: RemerciementsJe suis très honoré
- Page 11 and 12: PréludeVoilà venu le temps de l
- Page 13 and 14: IntroductionCe mémoire fait la syn
- Page 15 and 16: 2. COMBINATOIRE POUR LA THÉORIE DE
- Page 17 and 18: 2. COMBINATOIRE POUR LA THÉORIE DE
- Page 19 and 20: CHAPITRE 1Algèbres commutatives gr
- Page 21 and 22: 1. INVARIANTS ALGÉBRIQUES DE GRAPH
- Page 23 and 24: 1. INVARIANTS ALGÉBRIQUES DE GRAPH
- Page 25 and 26: 2. THÉORIE DES INVARIANTS EFFECTIV
- Page 27 and 28: 3. PROFIL ET ALGÈBRES D’ÂGE DES
- Page 29: |X| < ∞Optimalement héréditaire
- Page 32 and 33: 30 2. COMBINATOIRE POUR LA THÉORIE
- Page 34 and 35: 32 2. COMBINATOIRE POUR LA THÉORIE
- Page 36 and 37: 34 2. COMBINATOIRE POUR LA THÉORIE
- Page 38 and 39: 36 2. COMBINATOIRE POUR LA THÉORIE
- Page 40 and 41: 38 2. COMBINATOIRE POUR LA THÉORIE
- Page 42 and 43: 40 2. COMBINATOIRE POUR LA THÉORIE
- Page 44 and 45: Cdim 142 2. COMBINATOIRE POUR LA TH
- Page 46 and 47: 44 2. COMBINATOIRE POUR LA THÉORIE
- Page 50 and 51: 48 3. ∗-Combinat, BOÎTE À OUTIL
- Page 52 and 53: 50 3. ∗-Combinat, BOÎTE À OUTIL
- Page 54 and 55: 52 3. ∗-Combinat, BOÎTE À OUTIL
- Page 56 and 57: 54 3. ∗-Combinat, BOÎTE À OUTIL
- Page 58 and 59: 56 3. ∗-Combinat, BOÎTE À OUTIL
- Page 60 and 61: 58 3. ∗-Combinat, BOÎTE À OUTIL
- Page 62 and 63: 60 3. ∗-Combinat, BOÎTE À OUTIL
- Page 64 and 65: DOM INTDOM FLOATZDOM RATDom::FloatQ
- Page 66 and 67: 64 3. ∗-Combinat, BOÎTE À OUTIL
- Page 68 and 69: 66 3. ∗-Combinat, BOÎTE À OUTIL
- Page 70 and 71: 68 3. ∗-Combinat, BOÎTE À OUTIL
- Page 73 and 74: Bibliographie[AB03][ABB04][ABS06][A
- Page 75 and 76: [Hai01][Hiv04][HKO + 02][HNT06][HR0
- Page 77 and 78: BIBLIOGRAPHIE 75[Pou08]Maurice Pouz
- Page 79 and 80: Abstract :This manuscript synthesiz
- Page 81 and 82: This figure "logo_UFR.png" is avail