Jours Sage au LaCIM (UQAM) -- 14, 15 et 16 juillet 2009

Local : PK-S1570, salle E.

On y accède via la porte PK-M500 au niveau métro (près de la rue Jeanne-Mance). Carte du campus

Organisé par Sébastien Labbé et le LaCIM

Dans le cadre de son École d'été, le Laboratoire de Combinatoire et d'Informatique Mathématique (LaCIM) organise les Jours Sage au LaCIM et ceci pour une deuxième année consécutive à l'Université du Québec à Montréal (UQAM). En effet, FrancoSaliola alors post doc au LaCIM avait organisé une semaine sur Sage en mai 2008. Cette année, la formation est donnée par SébastienLabbé, étudiant au doctorat en mathématiques. Les professeurs comme les étudiants sont invités. Comme l'an passé, la formation sur Sage se veut accessible à tous, c'est-à-dire que nous n'assumons pas que les participants ont déjà une expérience avec Python ou avec Sage. À l'image des Sage Days, les Jours Sage au LaCIM seront très interactifs et les participants auront beaucoup de temps pour expérimenter la théorie présentée. Les exercices qui seront proposés au cours de la semaine seront basés sur un le cours Introduzione a Sage donné par FrancoSaliola en mai dernier à Sienne, en Italie.

Connexion aux terminaux

Pour vous connecter aux terminaux, veuillez suivre les indications suivantes :

Informations sur les répertoires partagés

Les participants peuvent accéder aux documents (aliments.py, dossier sagelatex) via le répertoire /homelocal/partage/ . Les participants peuvent partager des fichiers entre eux via le répertoire /homelocal/partage/etudiants/ .

Liens

Sage

Python

Autre

Thèmes à aborder au cours de la semaine ne faisant pas encore partie de l'horaire et autres demandes spéciales

Calcul symbolique. Codage des caractères d'un fichier python. Table de hashage. Anneau de polynômes non commutatifs.

Horaire

ATTENTION : L'horaire est encore en construction et est sujet à changement.

Mardi le 14 juillet 2009

9:00-9:30

Arrivée des participants.

Mot de bienvenue. Distribution des mots de passe.

9:30-10:30

Introduction à Sage

Ceci sera une présentation générale sur Sage qui expliquera l'histoire et les motivations du projet. Nous montrerons plusieurs exemples d'utilisation de Sage. Nous utiliserons des présentations sur Sage déjà fait par d'autres. Présentation de Franco. Présentation de Harald Schilly. Présentation de William Stein (.sws).

10:30-11:00

Pause

11:00-12:00

Introduction à Python 1

Nous présenterons les objets de base du langage python : int, float, str, list, tuple, dict. Aussi : map, filter et list-comprehension. Parcours d'une liste avec une boucle. Nous présenterons comment définir une fonction et comment utiliser un fichier pour les définir. Voir l'exemple : sequence.py

12:00-13:30

Dîner

13:30-14:00

Comment fait-on ceci en Sage?

Obtenir de l'aide dans Sage: La touche TAB et Complétion automatique, Help Web Page, Tutoriel, Sage-Wiki, ?, ??, *mot*?, sage-support, search_doc, search_src, search_def, ...

14:00-15:00

Exercices

1. Trouver 3 exemples dans le Tutoriel et tester-les. 2. Trouver 3 exemples dans le Sage-Wiki et tester-les. 3. Feuilles de travail Getting Help, Lists et First steps towards programming du cours de Franco Saliola.

15:00-15:30

Calcul, dessins et interact

Démonstration des fonctionnalités de dessins de Sage (plot, plot3d, etc.). Nous utiliserons la présentation de Franco Saliola sur le calcul.

15:30-17:00

Exercices

1. Dessiner le graphe de votre fonction favorite. 2. Trouver un exemple de dessin dans le Sage-Wiki et tester-le. 3. Feuilles de travail Calculus, plotting and interact du site web de Franco Saliola.

Mercredi le 15 juillet 2009

9:00

Arrivée des participants.

9:00-12:00

Temps libre et exercices

(Note: Le présentateur sera absent durant cet avant-midi. Le laboratoire sera disponible pour les participants. Je vous demande d'écrire toutes les choses que vous ne réussissez pas à trouver du premier coup ou toutes autres choses que vous n'aimez pas! Je vais utiliser cette information pour améliorer Sage. Merci.) 0. Terminer les exercices de mardi. 1. Feuilles de travail The 3n+1 Conjecture, Dictionaries and Graph Theory et Strings and the Burrows-Wheeler Transform du site de Franco Saliola. 2. Créer un compte sur Projet Euler et résoudre tous les problèmes! 3. Exercices supplémentaires : Répondre aux questions des devoirs du cours Math 480a Algebraic, Scientific, and Statistical Computing, an Open Source Approach Using Sage donné par William Stein au printemps 2008. Le site du cours contient aussi beaucoup d'informations pertinentes tel que les vidéos de tous les cours!

13:30-14:00

Introduction à Python 2

Nous présenterons les classes en python. Voir l'exemple : aliments.py

14:00-14:30

Makefile, Sage et LaTeX

Nous présenterons comment utiliser sage dans des documents LaTeX via le paquetage optionnel sagetex. Le paquetage sagetex s'installe facilement sur une version de Sage grace a la commande sage -i sagetex-2.1.1 ecrite directement dans le terminal. Pour plus d'informations, veuillez vous referer a la documentation sagetexpackage.pdf de quelques pages ecrite par Dan Drake, le createur de sagetex. Voir l'exemple : devoir.tex. Nous utilisons la commande make pour compiler le fichier latex grace au fichier makefile. Les fichiers sagetex.py et sagetex.sty doivent aussi etre dans le meme repertoire. De plus, avec la configuration de pdflatex ici sur le serveur, nous devons aussi ajouter le fichier makecmds.sty dans le repertoire.

15:00-15:30

Café du LaCIM

Les participants sont invités au Café du LaCIM au local PK-4214 où Lise, secrétaire du LaCIM, nous accueillera. Café et collations seront servis.

15:30-17:00

Exercices

1. Créer une classe Matrice et implémenter la somme et le produit. 2. Continuer les feuilles de travail de Franco Saliola. 3. Projet Euler. 4. Devoirs du cours de Stein.

Jeudi le 16 juillet 2009

9:00

Arrivée des participants.

9:30-10:00

Cython

Démonstration de l'outil Cython qui permet de traduire du code python en code C. Consultez l'exemple presente en classe ici : Huard_cythone.sws

10:30-11:00

L'outil interact

Démonstration de l'outil interact + exercices. Utilisez interact? pour obtenir la documentation.

11:00-12:00

Théorie des groupes

Démo. Nous utiliserons possiblement la feuille de travail du cours de W. Stein sur les groupes.

13:30-14:00

Façons d'utiliser Sage efficacement

Nous verrons comment utiliser Sage avec plus d'habiletés avec chacune des façons suivantes : 1. La ligne de commande (utilisation de la commande attach, de la barre de soulignement pour obtenir le dernier calcul, de l'historique, du point d'exclamation (!) pour faire des commandes du terminal et plus encore...) 2. Le notebook (dans ce dernier, cliquez sur Help en haut à droite pour obtenir les conseils). 3. Par internet via www.sagenb.org (suggéré pour les utilisateurs de Windows). Voir aussi les conseils sur le Sage-Wiki.

14:00-14:30

Calcul symbolique avec Sage

Présentation sur le Calcul Symbolique de William Stein.

14:00-17:00

À déterminer...

Exercices et démonstrations selon les demandes des participants.