Draw a graph of matrices in LaTeX using Sage
18 octobre 2012 | Catégories: latex, sage | View CommentsIn version 5.3 of Sage, if the vertices of a graph are matrices, then the default latex output does not compile. The default format is a tikzpicture and uses the tkz-berge library. One solution is to change the format to dot2tex. See below.
The default tikz output is:
sage: m = matrix(3, range(9)) sage: m.set_immutable() sage: G = Graph() sage: G.add_vertex(m) sage: latex(G) \begin{tikzpicture} % \useasboundingbox (0,0) rectangle (5.0cm,5.0cm); % \definecolor{cv0}{rgb}{0.0,0.0,0.0} \definecolor{cfv0}{rgb}{1.0,1.0,1.0} \definecolor{clv0}{rgb}{0.0,0.0,0.0} % \Vertex[style={minimum size=1.0cm,draw=cv0,fill=cfv0,text=clv0,shape=circle}, LabelOut=false,L=\hbox{$\left(\begin{array}{rrr} 0 & 1 & 2 \\ 3 & 4 & 5 \\ 6 & 7 & 8 \end{array}\right)$},x=2.5cm,y=2.5cm]{v0} % % \end{tikzpicture}
This output does not compile. Here is the error I get:
sage: view(G)
An error occurred.
This is pdfTeX, Version 3.1415926-1.40.10 (TeX Live 2009) (format=pdflatex 2011.4.19) 18 OCT
2012 21:34
entering extended mode
[...]
! Use of \tikz@@scope@env doesn't match its definition.
\pgfutil@ifnextchar #1#2#3->\let \pgfutil@reserved@d =#1\def \pgfutil@reserved@a {
#2}\def \pgf
util@reserved@b {#3}\futurelet \pgfutil@let@token \pgfutil@ifnch
l.54 \end{array}\right)$},x=2.5cm,y=2.5cm]{v0}
If you say, e.g., `\def\a1{...}', then you must always
put `1' after `\a', since control sequence names are
made up of letters only. The macro here has not been
followed by the required stuff, so I'm ignoring it.
! Use of \tikz@@scope@env doesn't match its definition.
[...]
! ==> Fatal error occurred, no output PDF file produced!
Latex error
The command to install dot2tex:
sage -i dot2tex-2.8.7-2
As the documentation of G.layout_graphviz() says, install graphviz >= 2.14 so that the programs dot, neato, ... are in your path. This allows the following to work:
sage: m = matrix(3, range(9)) sage: m.set_immutable() sage: G = Graph() sage: G.add_vertex(m) sage: G.set_latex_options(format='dot2tex') sage: view(G)
To obtain the tikz code:
sage: tikz_string = G.latex_options().dot2tex_picture() sage: print tikz_string \begin{tikzpicture}[>=latex,line join=bevel,] %% \node (012345678) at (34bp,22bp) [draw,draw=none] {$\left(\begin{array}{rrr}0 & 1 & 2 \\3 & 4 & 5 \\6 & 7 & 8\end{array}\right)$}; % \end{tikzpicture}
Le printemps québécois
08 octobre 2012 | Catégories: politique | View CommentsPendant le printemps 2012, au Québec, le mouvement étudiant contre la hausse des frais de scolarité a été sans précédent. Une multitude de textes, vidéos, images se sont retrouvées sur le web. Dans ce message, je rassemble un certain nombre de liens que j'ai conservés dans mes signets.
Créations artistiques
Le printemps québécois a engendré une quantité phénoménale de créations artistiques dont voici quelques-unes:
- Un site web à l'horizontal illustrant une manif de bonhommes
- Des milliers d'affiches de l'École de la montagne rouge
- À propos de l'éducation, 21 avril 2012, sur le blogue de la bédéiste Zviane.
- Plusieurs images retouchées sur le site Imagerie populaire
- Casseroles - Montréal, 24 mai 2012, un vidéo sur les casseroles à Montréal.
- Le Libdub Rouge de la Boîte Rouge et ses autres vidéos
- Pour un printemps, un livre citoyen écrit par nous québécois et québécoise
- Printemps québécois, archives visuelles du printemps québécois.
"Nous, étudiants, ne sommes pas des casseurs violents comme Jean Charest et son équipe s'efforcent de nous représenter. Nous sommes une génération remplie d'espoir envers un futur meilleur, en quête d'une société plus juste. Nous marchons depuis février presque quotidiennement pour faire entendre notre indignation face à un gouvernement sourd, entêté à nous discréditer pour séduire son électorat de droite. Cette fois-ci, nous avons rassemblé des groupes d'étudiants faisant briller notre grand mouvement par leur originalité d'expression. Des artistes engagés dans la réussite de notre soulèvement depuis ses débuts. Sur des airs à saveur révolutionnaire, nous maintenons la pression et nous déclarons haut et fort et en musique, une fois de plus...", Libdub Rouge, 29 avril 2012.
Nous point d'interrogation
- NOUS?, un événement unique de prise de parole, de réflexion sur l'état du Québec, sa démocratie, samedi 7 avril 2012, de midi à minuit. Les vidéos sur youtube.
Les meilleurs textes
- Au Québec, même les alouettes sont en colère. Publié le 12 juin 2012, ce texte fait un résumé du printemps québécois.
- De la route à la rue: histoire politique d’un instrument de répression policière, par Moïse Marcoux-Chabot, 22 août 2012. "Cet article raconte les origines et le cheminement de l’article 500.1 du Code de la sécurité routière, qui a servi à justifier nombre des arrestations massives du « printemps québécois»."
- Logiciels libres - L'équivalent de la hausse en économies!, 28 mai 2012, Lettre ouverte à la ministre de l’Éducation et présidente du Conseil du trésor, Michelle Courchesne.
- Aller à l'université: Pourquoi?, 4 juin 2012, un texte d'opinion de mon frère dans l'Écho de Frontenac.
- Loi 78 - Abus de pouvoir <http://www.ledevoir.com/politique/quebec/350475/loi-78-abus-de-pouvoir> , 19 mai 2012, Le Devoir.
Vidéos
- Manifestation nationale du 22 mars à Montréal - en accéléré, sur vimeo
- Manifestation historique du 22 mars 2012
- Manifestation de droite pour les mesure de guerre, 26 avril.
- Red Square Revolt | Quebec Students on Strike sur vimeo
- Gaétan Maudit pète sa coche sur la hausse
- Les administrations universitaires et la reddition de compte à l'Assemblée nationale
- Manifestation du 21 avril contre le Plan Nord et la hausse - Montréal
- Gilles Gagné - Financement et privatisation des universités - Partie 1 (14 mars 2012 - ULaval) sur youtube
- Manifestation étudiante Meilleur Compilation Montreal 22 aout 2012 HD 1080P, on voit notre pancarte à 2m13s.
- London Casserole March in Solidarity with Quebec Students, Londres, 30 mai 2012.
- Le Printemps québécois: Quand le peuple s'éveille...
- Un vidéo Rouge au Carré sur le site de l'onf.ca
Photos
- Photos de la manifestation du 22 août
- Caricature d'André Pratte, éditorialiste à La Presse
Médias alternatifs
Plus que jamais, il faut s'informer et pas seulement dans les médias traditionnels. Voici des médias alternatifs que j'ai consultés ce printemps:
- Media Coop
- Le Globe
- Le Couac
- Le Devoir
- CUTV, Concordia University TV
- Politicoglobe
- La Chemise Magazine
Des blogues
Des blogues qui ont traité du mouvement étudiant:
- Petit petit gamin
- Socio économie
- Mauvaise herbe
- Poème sale
- La fêlure (Annexe II) – Québec, 2012
- La réponse de Xavier Dolan à Isabelle Maréchal sur le fait de porter le carré rouge au festival de Cannes
- La grève étudiante sur le blogue Trahir
- l'eau tiède
Autres sites sur le Mouvement étudiant
D'autres sites sur le mouvement étudiant:
- MouvementEtudiant.info
- Procédure pour contester une contravention
- Une chronologie web de la grève étudiante
- Droits de scolarité : La vérité
- Principaux paralogismes, par Normand Baillargeon. Pour nommer les sophismes du discours politique.
Définition d'une série formelle en Sage
25 septembre 2012 | Catégories: sage | View CommentsQuestion :
Comment fait-on en sage pour avoir le terme général d'une serie formelle en \(x\) comme \(1/(1-q^2x)\) par exemple, où \(q\) est un paramètre (il faudrait obtenir \(q^{2k} x^k\) ) ?
Quelques exemples se trouvent dans la documentation sur les espèces en Sage, mais il faut faire quand même quelques essais et combiner quelques idées pour y parvenir. Une façon de procéder est définir une espèce récursive en assignant un poids pour le paramètre (voir Weighted Species).
Sous une forme récursive, la série s'écrit :
\[ L = 1 + q^2 \cdot x \cdot L \]
Alors, en sage, on écrira:
sage: q = QQ['q'].gen() sage: E = species.EmptySetSpecies() sage: X = species.SingletonSpecies(weight=q^2) sage: L = CombinatorialSpecies() sage: L.define(E+X*L) sage: L.generating_series().coefficients(10) [1, q^2, q^4, q^6, q^8, q^10, q^12, q^14, q^16, q^18]
Aussi:
sage: X.generating_series().coefficients(5) [0, q^2, 0, 0, 0] sage: E.generating_series().coefficients(5) [1, 0, 0, 0, 0]
On peut faire le produit de deux espèces:
sage: A = X * X sage: A.generating_series().coefficients(5) [0, 0, q^4, 0, 0]
On peut faire la somme de deux espèces:
sage: B = X + X sage: B.generating_series().coefficients(5) [0, 2*q^2, 0, 0, 0]
mais pas la différence:
sage: E - X Traceback (most recent call last) : ... TypeError: unsupported operand type(s) for -: 'EmptySetSpecies_class' and 'SingletonSpecies_class'
ni le quotient:
sage: E / X Traceback (most recent call last): ... TypeError: unsupported operand type(s) for /: 'EmptySetSpecies_class' and 'SingletonSpecies_class'
Encore moins une combinaison des deux:
sage: E/(E-X) Traceback (most recent call last) : ... TypeError: unsupported operand type(s) for -: 'EmptySetSpecies_class' and 'SingletonSpecies_class'
et je ne sais pas pourquoi...
Réunion de passation - VP compétitions - FQU
12 septembre 2012 | Catégories: ultimate | View CommentsAujourd'hui, j'ai rencontré Jean-Sébastien Merette qui me remplacera au poste de VP des compétititions de la Fédération québécoise d'ultimate. Notre réunion a eu lieu au stade olympique en présence de Marie-Hélène Audet.
La réunion a été très profitable. Nous avons discuté des thèmes les plus importants. Voici l'ordre du jour de la réunion :
- Objectifs de la réunion
- Comité compétition et le RECQ
- Équipes Québec (U19, U23?, hommes, femmes)
- Croissance de l'ultimate compétitif au Québec
- Création d'un circuit estival
- CQU7 + tournoi des champions
- CQU4 + CCQU4
Voici les photos du tableau vert qui rassemblaient nos refléxions sur chaque point.
En guise de procès verbal, voici un résumé sur certains des points discutés.
3. Équipes Québec
Quels seraient les objectifs d'une équipe Québec? Dans notre discussion, on a supposé que l'objectif serait de participer et gagner les Championnats du monde des nations (WUGC), mais d'autres objectifs pourraient être fixés tels qu'une participation et bonne performance aux Championnats de USA Ultimate.
Pour participer aux Championnats du monde des nations en 2016 ou 2020, il faut que les équipes Québec deviennent des équipes Canada. Il faut donc gagner les Championnats canadiens en 2015 ou 2019.
Or, si en 2011, la moyenne d'âge des joueurs d'Odyssée et Onyx (des équipes qui visaient des objectifs similaires) était autour de 30 ans, on voudrait diminuer cette moyenne d'âge d'équipe Québec progressivement vers 26 ans (supposons) en 2019. Qui sont les joueurs qui auront 26 ans en 2019? Ce sont les joueurs qui ont 19 ans en 2012. Ce sont les joueurs des équipes Québec junior d'aujourd'hui. Alors, la question devient : comment organiser les 7 prochaines années pour qu'une équipe Québec ayant une moyenne d'âge de 26 ans gagne les Championnats canadiens en 2019? Faut-il créer une équipe Québec U23 qui agira comme équipe de développement intermédiaire? Faut-il créer une équipe Québec qui rassemble les meilleurs joueurs et joueuses d'aujourd'hui, mais qui seront trop vieux en 2019? Faut-il créer un mixte des deux en ayant quelques joueurs qui partageront leur expérience aux plus jeunes?
4. Croissance de l'ultimate compétitif au Québec
En utilisant le vocabulaire du MELS qui considère les quatre sphères de la pratique sportive (Initiation, Récréation, Compétition, Excellence), nous avons discuté de l'état de l'ultimate compétitif au Québec. Nous avons souligné que le CQU4 constitue une porte d'entrée vers la sphère Compétition très efficace au Québec. En effet, une participation au CQU4 demande moins d'engagement à un joueur qu'une participation à des compétitions estivales dans une équipe de compétition. Dans le CQU4, il y a :
- peu ou pas de pratique
- alignements des équipes plus flexibles
- possibilité de s'ajouter à une équipe à la dernière minute
- moins de transport (on reste au Québec)
- les équipes sont constamment à la recherche de joueurs(ses) remplaçants
- les joueurs(ses) sont à la recherche d'équipes
- beaucoup d'opportunités pour participer à son premier tournoi
- beaucoup d'opportunités pour devenir mordu des tournois d'ultimate
- beaucoup d'opportunités pour intégrer des nouveaux joueurs(ses) dans la sphère Compétition
- beaucoup d'opportunités pour faire connaître les nouveaux et nouvelles prospects
Tous ces aspects font en sorte que le nombre de joueurs et joueuses participant à des compétitions d'ultimate au Québec durant au moins une fin de semaine dans l'année augmente significativement pendant l'hiver, beaucoup plus qu'à l'été en fait. C'est une saison morte très vivante! Aussi, le CQU4 est très utile aux équipes d'été, car il offre la possibilité aux nouveaux joueurs et joueuses de se faire voir et connaître et naturellement de se faire inviter dans les équipes de compétition d'été.
L'été, c'est différent :
- les alignements sont stable et fixé en début d'été suite aux essais libres
- demande plus d'engagement (deux pratiques par semaine)
- est plus dispendueux (transport à Ottawa, Devens, Toronto, Championnats canadiens, etc.)
Il faut que ça change. Il faut que l'été soit autant que l'hiver une façon de s'initier à la sphère Compétition.
5. Création d'un circuit estival
Alors, la réflexion à poursuivre est la suivante : comment faire en sorte que l'été devienne, tout comme l'hiver au Québec, une saison remplie d'opportunités pour participer à un premier tournoi d'ultimate?
Une idée serait de créer un circuit québecois estival avec classement et tournoi de fin de saison. Cela a bien fonctionné pour l'hiver avec le CQU4... alors pourquoi pas l'été?
On ne doit pas tant ici s'adresser aux plus de 500 joueurs qui participent déjà dans des équipes de compétition, qui voyagent partout dans des tournois et qui s'organisent déjà des pratiques deux fois par semaine. Ils sont déjà bien servis par un réseau de compétitions qui s'adresse à eux et qui rempli bien et parfois trop le calendrier.
Il faut plutôt s'adresser à la couche suivante de joueurs et joueuses et leur offrir un réseau de compétitions estival québécois. Il faut commencer petit et il grandira peu à peu année après année tout comme le CQU4 a grandit peu à peu années après années.
À la communauté québécoise de poursuivre la réflexion...
Varia
Quelques autres idées et défis pour la prochaine année:
- Valorisation de l'esprit sportif dans le (Circuit québécois d'ultimate 4 contre 4) CQU4. Le côté compétitif est déjà bien valorisé, comment faire en sorte que les équipes ne négligent pas l'esprit sportif?
- Comprendre les besoins des équipes 33 à 70 souvent sous-représentées dans les comités et entourages de la FQU. Sondage, invitation à des rencontres ou trouver d'autres moyens?
- Mettre des pressions sur Ultimate Canada pour qu'ils reconnaissent un représentant du Regroupement des équipes compétitives du Québec (RECQ) choisi par le RECQ sur leur comité de compétition plutôt qu'un membre élu antidémocratiquement par UC supposé de représenter le Québec sans jamais le consulter.
- Vers un CCQU4 régional. Le CCQU4 organisé en avril regroupe les meilleures équipes du Québec (division AAA + AA depuis 2012). Dans les prochaines années, on pourra voir l'organisation de CCQU4 régionaux. Par exemple, les 16 meilleures équipes du Bas-St-Laurent pourraient être invitées à participer à un CCQU4-bas-du-fleuve organisé dans la région en question.
Plus de 150 questions webwork traduites en français
28 août 2012 | Catégories: webwork | View CommentsÀ l'automne 2011, j'ai donné le cours MAT1112 - Calcul 1 à l'Université du Québec à Montréal dont le contenu ressemble à un cours de Calcul 3 du cégep. J'avais utilisé WebWork et j'avais traduit plus de 150 questions en français. Les questions que j'ai traduites sont maintenant disponibles dans le fichier suivant:
webwork_french_problems.tar.gz
Les questions étaient divisées selon 10 chapitres. Les fichiers de définition .def pour chacun des chapitres sont disponibles ici:
Webwork-150-problemes-traduits
Les fichiers .def indiquent que les questions sont dans le répertoire racine local/Library. Vous devrez possiblement modifier ce répertoire racine pour chaque problème pour refléter l'endroit où vous avez placé les problèmes .pg contenu dans le .tar.gz ci-haut.
Éventuellement, ces problèmes seront centralisés dans une banque de problème en français et disponible dans Webwork.
« Previous Page -- Next Page »
