Python


Suites infinies en Python

Depuis que je programme en Python, j’entasse les petits bouts de code utiles ou potentiellement réutilisables dans “Goulib”, ma librairie perso et néanmoins disponible en open-source (licence LGPL)  sur Pypi, GitHub, ReadTheDocs pour la doc, avec des notebooks Jupyter de démo. Comme la valeur d’un code se mesure surtout par les tests qui vérifient son bon fonctionnement, […]





Comment calculer le 10’000’000’000’000’000’000 ème terme de la suite de Fibonacci 3

Tombé l’autre jour sur un problème idiot mais intéressant : calculer le 10^19 ième terme de la suite de Fibonacci. Idiot parce que ça ne sert à rien. Intéressant parce que ça sous-entend qu’il existe une manière de calculer le n-ième terme de cette suite définie par récurrence sans calculer les termes précédents. En effet, calculer les termes les uns après les autres prendrait dans les 300’000 ans à raison d’une microseconde par terme.





2017 et les triplets pythagoriciens   Modifié récemment

2017 est un l’hypoténuse du triangle rectangle correspondant au triplet pythagoricien (792,1855,2017). C’est même un triplet pythagoricien “primitif” car ces 3 entiers sont premiers entre eux, donc 2017 est un “nombre hypoténuse primitif”





Couleurs, Gamuts, Python et Open Source 2

Ce fut une excellente journée de travail, stimulante et productive. Tôt le matin, Cédric m’a montré les slides d’un article sur la mesure géométrique de la différence entre deux gamuts, en me demandant s’il était facile de programmer la méthode présentée. Avant d’attaquer la question et la réponse, une petite introduction sur le merveilleux monde des couleurs s’impose.





“Contre-exemples” au théorème de Fermat-Wiles 11

Andrew Wiles vient de remporter le Prix Abel pour sa démonstration du Grand théorème de Fermat qui dit qu’il n’existe pas de solution de l’équation a^n+b^n=c^n pour a,b,c,n entiers et n>2. Pourtant , quelques semaines après la publication des quelques 100 pages de la démonstration d’Andrew Wiles en 1995, Homer Simpson se promènait nonchalamment et en 3D devant un contre-exemple : 1782¹² + 1841¹² = 1922¹²





Einsum 3

L’autre jour, j’ai rencontré Einstein se promenant incognito dans un bout de code.
D’abord je n’ai rien compris à une ligne de Python trouvée dans un algo de traitement d’image:

norms = np.einsum(‘ij,ij->i’, X, X)

Alors je suis allé voir la doc de la fonction einsum de NumPy à laquelle je n’ai rien compris non plus, sauf que le bout du nez d’Albert commençait à apparaître via une mystérieuse “convention de sommation d’Einstein” qui serait “est un raccourci de notation utile pour la manipulation des équations concernant des coordonnées”.





Comment dire 33 avec 3 cubes ? 4

Le gars qui m’a pourri ma dernière soirée du printemps s’appelle Mike Croucher. Sur son blog “Walking Randomly” il a négligemment posé le problème suivant: Il est possible d’écrire beaucoup d’entiers comme la somme des cubes de 3 entiers, par exemple: 99 = (-5)^3 + 2^3+ 6^3 Un exemple plus compliqué est: 91 = (-67134)^3 + (-65453)^3+(83538)^3 Votre tâche […]





"jeu de l’année" 2012 et autres : c’est fini. 16

(mis à jour plusieurs foirs après correction de bugs et améliorations, cf commentaires…)  Je m’apprêtais à passer une soirée tranquille quand je suis tombé sur un tweet de @ElJj disant: “Qui va me battre au “jeu de l’année” ? http://eljjdx.canalblog.com/archives/2012/01/15/23243094.html“. Un seul click m’a torpillé non pas une, mais trois soirées et un certain nombre d’heures de réflexion […]





les décorateurs, ou pourquoi j’aime toujours la programmation 19

Je programme des ordinateurs depuis 30 ans, et tous les 5 ans environ je me demande pourquoi je continue à aimer ça. Et à chaque fois je découvre quelque chose qui provoque un “éclair haha”, une de ces illuminations cérébrales où l’on entrevoit le Génie dans toute sa Pureté avant de retomber sur sa chaise […]





Démosaïquification

C’est très facile de faire une photomosaïque comme celle ci-contre. Des sites comme Pictosaic juxtaposent en quelques secondes des centaines d’images pour approximer une image de base. Par exemple, voici un détail du goulot du bécher ci-contre: Mais combien de petites images distinctes sont utilisées pour produire la mosaïque ? Pour répondre à cette question, […]