Commençons par des choses compliquées : le problème de Dirichlet sur un ouvert U du plan, consiste à étudier l'existence et l'unicité d'un prolongement, continu sur l'adhérence de U, de classe C² et harmonique sur U, pour une fonction continue donnée sur la frontière de U. Si U n'est pas trop méchant, l'unicité est une belle application du théorème de Green. L'existence n'est pas toujours vraie, elle l'est si U est un disque par exemple.
Tout cela est très bien, mais encore faut-il avoir une idée de ce qu'est une fonction harmonique. C'est plus simple à comprendre dans la version discrète du problème de Dirichlet qui s'énonce ainsi (dans le cas du rectangle) : étant placés des nombres dans les cases du bord d'un damier, peut-on placer des nombres dans les autres cases de sorte que chacun d'entre eux soit la moyenne de ceux qui se trouvent dans les quatre cases voisines ? Le problème de Dirichlet discret admet toujours une unique solution, c'est un exercice d'algèbre linéaire dont j'avais déjà parlé. Une fonction qui a cette propriété de moyenne est dite harmonique; c'est l'analogue discret des fonctions harmoniques du premier paragraphe.
Je ne sais pas si on peut, en voyant la surface représentative d'une fonction, dire si elle est harmonique ou pas. Tout ce que je sais c'est qu'une fonction harmonique, dans le cas discret comme dans le cas continu, n'a pas d'extremum local ailleurs qu'au bord de son domaine.
Je me suis livré à un exercice d'informatique pratique : partant d'une fonction quelconque définie sur un rectangle (en fait un carré), la rendre «de plus en plus harmonique» en appliquant l'algorithme naïf qui consiste à remplacer la valeur en chaque point par la moyenne des valeurs voisines. Le plus long a été de lire la documentation des logiciels utilisés (python et gnuplot). Le résultat sont les images gif animées suivantes dont je suis très fier
- dirichlet1.gif
- dirichlet2.gif
Les valeurs au bord du carré restent inchangées, c'est la règle du jeu. Pour le reste, on voit que les creux et les bosses sont gommés.
Le script gnuplot utilisé est le suivant :
set terminal gif animate giant transparent
set output 'dirichlet.gif'
set size 1,1.7
set pm3d
set cbrange [-60:60]
set zrange [-60:60]
set dgrid 50,50,2
unset key
unset tics
unset border
unset colorbox
splot 'data0' with pm3d
splot 'data1' with pm3d
splot 'data2' with pm3d
splot 'data3' with pm3d
splot 'data4' with pm3d
splot 'data5' with pm3d
...
Une fois entré tout ça (jusqu'à data249 dans mon cas) dans un fichier toto, on utilise simplement la commande :
gnuplot toto
pour obtenir l'image dirichlet.gif que vous voyez plus haut. Les fichiers data0, data1, etc. contiennent des coordonnées de points dans l'espace (sous la forme de trois colonnes) et sont fabriqués par un script écrit en python. L'option de gnuplot à laquelle revient tout le mérite est sans doute set dgrid car c'est par elle qu'on obtient une surface et non un nuage de points (comportement par défaut de Gnuplot). La couleur fonction de l'altitude est fournie par l'option set pm3d.
Catégorie(s) : Informatique, Mathématiques
[ 0
commentaire(s) ]
Il existe beaucoup de lecteurs multimédia : amaroK, Rhythmbox, VLC, iThunes, Window$ Media Player… Ils fonctionnent tous un peu de la même façon : vous êtes sur un ordinateur A (sur lequel est installé le logiciel multimédia), vous cliquez sur «play», les fichiers de musique qui se trouvent sur l'ordinateur A sont lus, et le son sort par les enceintes qui sont connectées à l'ordinateur A.
Lire la suite
Catégorie(s) : Informatique
[ 2
commentaire(s) ]
Microsoft propose aux enseignants de télécharger gratuitement son logiciel Microsoft Office, «suite à un accord signé avec le ministère de l'éducation nationale» en plus ! Voici une prière à destination de mes collègues : n'acceptez pas cette offre gratuite, pensez aux dizaines d'élèves et aux collègues que vous iriez habituer/forcer à utiliser ces logiciels/formats propriétaires (par exemple lorsque vous leur enverriez des courriels avec des pièces jointes). Il existe des alternatives qui, en plus d'être gratuites, sont libres et utilisent des formats ouverts.
Catégorie(s) : Grognements, Informatique
[ 6
commentaire(s) ]
Jusqu'à présent, pour écrire des pages Web répétitives (par exemple une page Web qui affiche une liste de feuilles d'exercices) sans tout écrire stupidement à la main en HTML, j'utilisais le langage PHP qui a l'air d'être le choix standard. Voici par exemple le code d'une page Web fibonacci.php qui affiche les termes de la suite de Fibonacci inférieurs à 1000 (calculé par l'algorithme «semi-naïf») :
<html>
<body>
<?php
$a = 0;
$b = 1;
while($a<=1000) {
echo $a."<br/>\n";
$c = $a + $b;
$a = $b;
$b = $c;
}
?>
</body>
</html>
Si on regarde le code source de la page fibonacci.php (Ctrl+U sous Firefox), on voit que le PHP a disparu et a déjà été interprété.
J'ai cherché via Google comment faire la même chose mais en Python plutôt qu'en PHP (je trouve que le Python est beaucoup plus agréable à lire, voyez vous-même plus bas). C'est possible, et plutôt facile à mettre en place, du moins dans le cas où on utilise Apache comme serveur Web, et une version récente de Linux debian. Voici un résumé :
- Éditer
/etc/apache/sites-available/default en ajoutant dans la rubrique Directory /var/www/ les trois lignes suivantes :
AddHandler mod_python .psp
PythonHandler mod_python.psp
PythonDebug on
- Redémarrer Apache.
On peut maintenant écrire une page Web fibonacci.psp qui fait la même chose que fibonacci.php, mais en Python :
<html>
<body>
<%
a,b=0,1
while a<=1000:
req.write(str(a)+"<br/>\n")
a,b=b,a+b
%>
</body>
</html>
C'est quand même plus joli que du PHP !
Bonus : je ne connaissais pas l'extension
.psp (Python Server Page), l'éditeur de textes
Vim non plus. Voici comment on peut faire pour que Vim puisse appliquer une coloration syntaxique correcte lors de l'édition de fichiers
.psp :
- Chercher et télécharger un fichier de syntaxe
psp.vim sur vim.org. Placer ce fichier là où il faut (chez moi c'est dans /usr/share/vim/vim71/syntax/).
- Ajouter la ligne
au BufRead,BufNewFile *.psp set filetype=psp dans le fichier ~/.vimrc
Catégorie(s) : Informatique
[ 0
commentaire(s) ]
Lorsque j'ai enseigné des rudiments d'informatique, j'ai souvent constaté que le résultat est bien meilleur avec un tableau noir et une craie qu'avec une salle remplie d'ordinateurs. L'avantage de la craie sur les PC (sans parler de coût, bruit…), c'est qu'on se concentre sur l'essentiel : faire de l'informatique, ce n'est pas bouger la souris et cliquer. Je suis content de lire sur interstices.info que :
Si on peut passer des heures à cliquer sur une souris sans rien apprendre d'informatique, on peut aussi apprendre beaucoup d'informatique sans toucher une souris.
On trouve la preuve de cette affirmation dans un livre qui semble très sympathique sur l'enseignement de l'informatiques aux «petits» : L'informatique sans ordinateur.pdf (15Mo).
Catégorie(s) : Informatique
[ 3
commentaire(s) ]
Sous Windows XP, il y l'heure en bas à droite, et si on laisse le pointeur de la souris dessus, on obtient la date du jour. Mais comment savoir par exemple quel jour de la semaine sera le premier mars 2010 ? Je précise que mes droits sont limités sur les PC du lycée où je travaille et que je ne peux donc pas choisir «ajuster la date/l'heure» dans le menu contextuel (ce qui serait de toute façon une mauvaise façon de faire).
Sous Linux, c'est facile si on connaît la commande cal :
cal 2010
affiche le calendrier de l'année 2010 :
2010
janvier février mars
di lu ma me je ve sa di lu ma me je ve sa di lu ma me je ve sa
1 2 1 2 3 4 5 6 1 2 3 4 5 6
3 4 5 6 7 8 9 7 8 9 10 11 12 13 7 8 9 10 11 12 13
10 11 12 13 14 15 16 14 15 16 17 18 19 20 14 15 16 17 18 19 20
17 18 19 20 21 22 23 21 22 23 24 25 26 27 21 22 23 24 25 26 27
24 25 26 27 28 29 30 28 28 29 30 31
31
avril mai juin
di lu ma me je ve sa di lu ma me je ve sa di lu ma me je ve sa
1 2 3 1 1 2 3 4 5
4 5 6 7 8 9 10 2 3 4 5 6 7 8 6 7 8 9 10 11 12
11 12 13 14 15 16 17 9 10 11 12 13 14 15 13 14 15 16 17 18 19
18 19 20 21 22 23 24 16 17 18 19 20 21 22 20 21 22 23 24 25 26
25 26 27 28 29 30 23 24 25 26 27 28 29 27 28 29 30
30 31
juillet août septembre
di lu ma me je ve sa di lu ma me je ve sa di lu ma me je ve sa
1 2 3 1 2 3 4 5 6 7 1 2 3 4
4 5 6 7 8 9 10 8 9 10 11 12 13 14 5 6 7 8 9 10 11
11 12 13 14 15 16 17 15 16 17 18 19 20 21 12 13 14 15 16 17 18
18 19 20 21 22 23 24 22 23 24 25 26 27 28 19 20 21 22 23 24 25
25 26 27 28 29 30 31 29 30 31 26 27 28 29 30
octobre novembre décembre
di lu ma me je ve sa di lu ma me je ve sa di lu ma me je ve sa
1 2 1 2 3 4 5 6 1 2 3 4
3 4 5 6 7 8 9 7 8 9 10 11 12 13 5 6 7 8 9 10 11
10 11 12 13 14 15 16 14 15 16 17 18 19 20 12 13 14 15 16 17 18
17 18 19 20 21 22 23 21 22 23 24 25 26 27 19 20 21 22 23 24 25
24 25 26 27 28 29 30 28 29 30 26 27 28 29 30 31
Il y a aussi la commande calendar mais c'est un peu différent puisque ça nous affiche des événements, personnels ou non (selon votre configuration), dont c'est l'anniversaire aujourd'hui. Par exemple, je viens d'apprendre qu'aujourd'hui c'est l'anniversaire de la première extraction de dent sous anesthésie (Charleston, 30 septembre 1846). Une commande incontournable…
Catégorie(s) : Informatique
[ 3
commentaire(s) ]
On compile généralement un fichier LaTeX avec la commande latex, ou pdflatex, pour obtenir un fichier au format dvi ou pdf. Mais on peut aussi utiliser la commande mzlatex du logiciel tex4ht, pour obtenir un fichier xml (accompagné d'un fichier css) lisible par Firefox par exemple. En LaTeX, pour écrire un intervalle, c'est facile :
[a,b]
Mais on peut aussi faire plus compliqué (ce qui n'est pas toujours inutile, voir la section 3 de ce document) :
\left[a,b\right]
J'ai découvert, après longtemps de galère, que, mzlatex n'accepte que la seconde solution lorsque l'intervalle est semi-ouvert. Morale : si vous compilez vos fichier LaTeX avec mzlatex, ou si vous voulez conserver la possibilité de le faire un jour, mettez toujours un \left ou un \right devant vos délimiteurs.
Catégorie(s) : Informatique
[ 6
commentaire(s) ]
En écrivant le corrigé d'un exercice de probabilités, j'ai eu besoin de faire un graphe probabiliste et donc de me plonger dans la documentation de Tikz/PGF. Je reproduis ici le résultat et un code LaTeX minimal qui le produit. Lire la suite
Catégorie(s) : Informatique
[ 2
commentaire(s) ]
Après l'initiation au génial logiciel LaTeX que j'ai fait subir à mes collègues, il était nécessaire de donner quelques compléments. Voici donc complement.pdf et complement2.pdf. Si vous connaissez déjà LaTeX, je pense que ça peut vous amuser quand même de lire ça (et j'espère des remarques/critiques !); ils ne font que deux pages chacun.
P.S. j'ai bon espoir d'avoir converti définitivement certains collègues à LaTeX puisque l'un d'entre eux m'a déjà affirmé que, finalement, l'éditeur d'équation de Word était moins pratique 
Catégorie(s) : Informatique
[ 2
commentaire(s) ]
Il y a quelques articles de (vulgarisation de) math sur des sujets sympathiques(1) que je voudrais écrire ici mais c'est toujours plus facile et rapide d'écrire un article de «bureautique». J'utilise souvent LaTeX, à tel point que je n'utilise plus de traitement de texte traditionnel (comme OpenOffice.org). Il me restait quand même à apprendre à faire des tableaux de variations(2) en LaTeX. Bien sûr, on peut utiliser l'environnement array et faire les flèches avec les commandes \searrow et \nearrow (flèches sud-est, flèches nord-est), mais le résultat n'est pas très joli et surtout c'est très fastidieux. On trouve trois packages qui facilitent l'écriture de tableaux de variations. Lire la suite
Catégorie(s) : Informatique, Mathématiques
[ 10
commentaire(s) ]