La sortie de Pandas 0.24.1 est l’occasion de parler de Python et du traitement des données scientifiques. Depuis quelques années, un certain nombre de projets ont émergé afin d’équiper Python pour les mondes de la recherche. Cette dépêche présente quelques‐uns de ces projets. Des ressources pour aller plus loin sont proposées en fin de dépêche.
Journal Python haute performance et cristallographie
Cher journal,
À l'instar de l'ami omc qui te partageait ses polycops de cours sur "Python for science", je vais moi aussi te parler de Python à travers le prisme de la cristallographie. Mais qu'est ce donc que la cristallographie vas-tu me demander. Historiquement il s'agit d'une discipline qui vise à déterminer la structure atomique (nature et ordonnancement des atomes) de la matière. Cette discipline est en fait à l'intersection d'un très grand nombre de domaines (physique, chimie, biologie,…) (…)
Journal Plaidoyer pour la NPI et la gamme Woodstock
'jour 'nal,
Je viens partager, avec toi, un droit de réponse/rectification que je m'étais octroyé il y a un an environ. Après avoir écrit, j'ai laissé reposer, puis ai fini par oublier ma cape de redressement de tort.
Mais comme il y a des morceaux de fruits intéressants dans le yaourt, je te le livre après titrage (il n'y avait que deux niveaux initialement) et illustration (les images sont le bonus linuxfr) et post-scriptum. Au menu, on s'initiera à (…)
Journal Cohérence des fonctions d'arrondi
Étant très inspiré par un récent journal, je me souviens de différences de comportements entre les langages de programmation.
J'ai moins de détails techniques croustillants à mentionner, mais pour ceux qui manipulent des chiffres et des lettres, ça peut être intéressant.
Supposons que l'on veuille arrondir une valeur. -0.5. Facile ? Et bien en fait, pas du tout !
round(-0.5) =
- Python: -1
- WolframAlpha: 0
- PHP: -1
- JavaScript: -0
- Matlab: -1
- Java: 0
Si l'on tient compte du zéro (…)
CentOS 7 fait son entrée au CERN
Suite au rapprochement de Red Hat et CentOS en janvier 2014, le CERN a annoncé que CentOS 7 remplacera Scientific Linux 7 comme base de leur distribution maison, qui s’appellera désormais CERN CentOS 7. Scientific Linux est une distribution Linux, principalement maintenue par le CERN et le Fermilab. C'est un clone de Red Hat Enterprise Linux, qui existe depuis 2004.
Les utilisateurs de Scientific Linux 5 et 6 continueront de recevoir les mises à jours comme prévu jusqu'en 2020, mais l'avenir de Scientific Linux 7 est plus incertain : bien que déjà publiée en version Beta, Scientific Linux 7 pourrait finalement être publiée sous une autre forme, à savoir une variante de CentOS, tout comme il existe de nombreuses variantes d'Ubuntu. Mais pour l'instant, aucun communiqué officiel n'a été publié sur le site web de Scientific Linux.
Numba 0.14
Numba, l'optimiseur Python spécialisé dans le calcul numérique, est sorti en version 0.14. Numba est un compilateur juste-à-temps (JIT) pour Python, basé sur LLVM, permettant d'optimiser du code de calcul numérique, notamment basé sur Numpy. Il est compatible avec CPython 2.6, 2.7, 3.3 et 3.4. Des paquets binaires sont disponibles via Anaconda, la distribution de paquets binaires dédiée au calcul scientifique maintenue par Continuum Analytics, l'entreprise qui développe Numba.
Version 1.0 de Julia
Julia, un langage de programmation peu connu, a atteint la version 1.0 (disponible uniquement sur Linux et Mac OS X actuellement). Le langage a été créé par des scientifiques et se veut donc optimisé pour leurs besoins : le calcul scientifique, l'apprentissage automatique (machine learning en anglais), la fouille de données (data mining), le calcul algébrique linéaire à grande échelle et le calcul distribué et parallèle.
Ils veulent un langage :
- Très simple à apprendre, mais qui puisse aussi convenir aux « hackeurs sérieux » : Julia a une syntaxe facile à apprendre pour les utilisateurs de Matlab, tout en étant homoiconique avec des vrais macros comme le Lisp.
- Aussi utilisable pour la programmation « normale » que Python, aussi simple pour les statistiques que R, aussi naturel pour le traitement de texte que Perl (Julia supporte les PCRE), aussi puissant pour l'algèbre linéaire que Matlab et aussi bon pour lier des programmes ensemble que le shell.
Avec une implémentation :
- Open source avec une licence peu contraignante : Julia est sous licence MIT.
- Aussi performante que le C tout en ayant la dynamicité de Ruby : quelques benchmarks sont sur la page d'accueil de Julia qui est dynamiquement typé avec annotation optionnelle de type (et dispatch multiple).
- Fournissant un mode interactif et compilé.
Bref, ils sont ambitieux ! Leur manuel de référence est assez bien fait : à vous de juger…
NdA : Merci à Nÿco, olivierweb, Brndan et particulièrement à reno pour leur aide lors de la rédaction de cette dépêche.
Journal Un ouvrage sur Julia
Bonjour,
Je me permets de faire un peu de publicité pour mon livre d’introduction au langage de programmation Julia, le premier livre en français à ma connaissance. Le livre est destiné en priorité (mais pas exclusivement) à un public de mathématiciens généralistes, pas forcément spécialistes du calcul scientifique. Les trucs très matheux représentent à peu près le tiers du livre.
On peut le lire gratuitement en ligne, ou acheter une version papier (en couleurs !) pour 19 € .
http://www.iecl.univ-lorraine.fr/~Olivier.Garet/livre_julia/
incompact3d.com fête son premier anniversaire
Pour célébrer le premier anniversaire du site incompact3d.com, faisons une brève plongée dans le code de calcul éponyme sous licence libre (GNU GPL) qui a plus de 15 ans ! Il permet de résoudre les équations de Navier‐Stokes incompressibles en 2D/3D et peut exploiter efficacement plus d’un million de cœurs.
Journal Des nouvelles de Fortran
Punk is not dead, Fortran non plus. La preuve, avec le présent journal, LinuxFr.org compte désormais en tout et pour tout sept contenus taggés "Fortran" : https://linuxfr.org/tags/fortran/public
Une évolution par les normes
Rappelons que Fortran, qui s'écrivait à l'époque FORTRAN (pour mathematical FORmula TRANslating system), est né chez IBM entre 1954 et 1957 et fait donc partie des tous premiers langages informatiques. Il fait également partie des langages normalisés, ses premières normes datant du milieu des années 60. Depuis (…)
Journal Encore des nouvelles de Fortran
Mon précédent article Des nouvelles de Fortran du 3 mai 2020 commençait par ces mots : « Punk is not dead, Fortran non plus ». Et voilà que dans le TIOBE Index d'avril 2021, le Fortran fait son retour dans le top 20 avec un saut de la 34e position à la 20e, après 10 ans d'éclipse. Avec un taux de 0,91 %, on pourrait se contenter de s'étonner et penser que l'on est dans le bruit (…)
Retour d’expérience d’utilisation de logiciels libres en école d’ingénieur
Cette dépêche fait suite à mon journal sur le même sujet que j’ai amélioré en fonction des commentaires.
J’ai fini ma troisième année d’étude en école d’ingénieurs, et je souhaite partager mon expérience d’utilisateur de logiciels libres en milieu hostile. Je n’étais pas dans une école d’informatique, l’administration et les profs ne juraient que par Windows, et le seul langage de programmation étudié fut Visual Basic…
La seconde partie de la dépêche sera consacrée à une liste de logiciels et quelques conseils pour choisir son matériel.
Journal SeqTools 1.0.0: la programmation concurrente, c'est dur!
J'ai profité des vacances pour améliorer ma librairie en python SeqTools, déjà présentée sur linuxfr.
Pour rappel, cette librairie permet le traitement "paresseux" de séquences, c'est-à-dire de tout conteneur qui permet l'accès à ses éléments par indexation, en gros des listes, des tableaux ou un objet qui implémente __getitem__
.
La librairie se destine plutôt à des transformations éléments par éléments ou à la réorganisation/combinaison d'une ou de plusieurs séquences entre elles. Pour les pythonistes: c'est un peu (…)
Journal Mechamatic de la méca pour tous !
Cher nal,
Comme tu le sais, j'adore l'informatique et la mécanique. Aussi, je m'amuse beaucoup à mélanger ces deux activités pour imaginer des solutions/applications plus ou moins utiles dans ces domaines. Je ne manque pas d'ailleurs de t'en tenir à chaque fois informé, car je sais que quelques mécaniciens barbus sont quelquefois de passages par ici.
Aujourd'hui, je voudrais te parler de Mechamatic.
Il s'agit tout simplement d'un site ouèbe qui permet de mettre en œuvre deux techniques avancées (…)
Journal Minsky, pour les ingénieurs économistes
Cher journal,
Aujourd'hui, je voudrais te parler d'un économiste pour lequel j'ai une grande estime. Comme tu peux te l'imaginer, si j'en parle ici, c'est que le bonhomme est un brin iconoclaste. Gagné.
Le monsieur s'appelle donc Steve Keen. Je viens de finir son bouquin récemment traduit en français : « L'imposture économique » dont la lecture est passionnante et accessible pour ce genre d'ouvrage et que je conseillerais à tout étudiant en économie. Avec un titre pareil, on pourrait s'attendre aux élucubrations (…)