] > Écrire des codes de calcul numérique avec Python (Logilab - Solutions, Services et Formations en Informatique Scientifique et Gestion de Connaissances)

Écrire des codes de calcul numérique avec Python

reference

PYTHON-NUMERIQUE

duration

4

objectives

Python est un langage puissant, orienté objet, convenant parfaitement à la majorité des travaux de développement d'applications et d'interfaces graphiques. Outre sa lisibilité et la simplicité de sa syntaxe, un des grands avantages de Python est de s'appuyer sur une bibliothèque standard extrêmement fournie et des bibliothèques annexes nombreuses et variées. Ainsi, dans le domaine du calcul numérique, Python dispose de plusieurs bibliothèques qui en font un des langages de prédilection pour ce domaine exigeant.

La formation proposée ici a pour objectif d'apprendre à écrire des codes de calcul numérique avec Python et ses bibliothèques. Elle ne s'adresse pas aux personnes souhaitant utiliser Python pour écrire des scripts de calcul ou d'exploration de données mais aux personnes qui doivent écrire des codes de calcul lourds. Il est souligné que les participants doivent avoir une expérience préalable de développement d'applications industrielles avec Python.

La formation aborde différentes thématiques spécifiques au calcul numérique et présente les solutions, existant en Python et dans les deux principales bibliothèques numériques que sont NumPy et SciPy, pour répondre aux besoins rencontrés. Elle présente également différentes caractéristiques de Python permettant d'optimiser des fonctions de calcul (appel de fonctions C ou Fortran, parallélisation). Enfin, tout au long de la formation, les différents modules sont présentés avec un regard critique exposant clairement leurs avantages et inconvénients.

La formation comporte une large part de travaux pratiques permettant de mettre en œuvre immédiatement les concepts ayant été vus dans le cadre du cours.

audience

Ce cours s'adresse aux personnes souhaitant utiliser Python pour développer des codes lourds de calcul numérique, que ce soit dans les domaines de l'informatique scientifique ou de l'informatique financière. Ces personnes doivent avoir une importante expérience préalable de la programmation en Python.

prerequisites

Excellente connaissance de la programmation en Python (au moins une année de pratique continue), solides connaissances de la programmation objet, bonne expérience des problématiques du calcul numérique et de l'informatique scientifique. Une expérience de programmation en C ou Fortran aidera à la compréhension de certaines parties du cours.

thematic content

Les éléments présentés ci-dessous s'appuient principalement sur les bibliothèques NumPy et SciPy de Python.

Matrices et tableaux

  • Bibliothèque NumPy

    création de tableaux, manipulation de formes, calculs élémentaires
  • Tracés simples

    avec la bibliothèque matplotlib

Stockage des données

  • Formats numériques

    NetCDF, HDF5
  • Autres formats

    CSV, MSExcel®, OpenDocument
  • Bases de données

    lecture et écriture de données dans une base relationnelle

Calculs sur les données

  • Algèbre linéaire

    résolution de systèmes d'équations linéaires, diagonalisation, décomposition de matrices, matrices creuses
  • Fonctions mathématiques

    dérivation, intégration, recherche de minimums ou maximums, interpolation, fitting
  • Transformée de Fourier et traitement du signal

    FFT, filtres, convolution, traitement d'image
  • Probabilités et statistiques

    tableaux de nombres aléatoires, calculs de moments et d'indicateurs, tests statistiques
  • Apprentissage statistique

    sélection d'attributs, apprentissage supervisé et non supervisé, notions de validation et erreurs classiques

Performance et calcul parallèle

  • Intégration d'autres langages

    F2Py (Fortran), CTypes (DLL), Cython (C)
  • Multifil et multiprocessus

    problématiques en Python, gestion
  • Autres outils de parallélisation

    MPI, PyCUDA, OpenCL

Autres bibliothèques et outils

  • Scikits de SciPy, 3D, Code_Aster, Salome, Outils de développement d'applications graphiques

customization

Cette formation peut être adaptée afin de répondre au mieux à vos besoins. En particulier, il est possible d'approfondir les bibliothèques ou les modules intéressant prioritairement les auditeurs. Logilab dispose aujourd'hui d'une palette très large de modules pédagogiques permettant la personnalisation de ses formations.

L'adaptation des cours en intra-entreprise ne pose aucun problème; cette opération est cependant plus difficile pour les cours en inter-entreprises. N'hésitez pas à demander conseil à notre service commercial.

terms

Des sessions en inter-entreprises sont organisées régulièrement dans nos locaux à Paris. Il est possible d'organiser, à votre demande, une ou plusieurs sessions en intra-entreprise (sur site) n'importe où en France ou en Europe.
Chaque participant à la formation dispose d'un exemplaire personnel du support de cours et du manuel d'exercices.

Durée

Langue

au choix, française ou anglaise

Intervenant

Tous les intervenants animant cette formation bénéficient de compétences pédagogiques reconnues. D'autre part, ils participent activement au développement du langage Python ainsi que de sa bibliothèque standard, et sont intervenus dans des projets d'informatique scientifique utilisant Python et ses bibliothèques spécialisées, ainsi que des codes de simulation en C++, C et Fortran.

Travaux pratiques

Cette formation accorde une place prépondérante aux travaux pratiques qui permettent, tout au long du cours, de mettre en œuvre et assimiler les concepts théoriques.

Inter-entreprises

  • groupes de 4 personnes minimum et 8 personnes maximum
  • mardi-vendredi 9h-12h15, 13h30-17h00
  • Paris
  • déjeuner inclus

Intra-entreprise

  • groupes de 10 personnes maximum
  • 4 journées