DFP_Bann_Transformation_Numérique

Python scientifique : principes et applications

Présentation

  • Ville
    • GRENOBLE Presqu'île
  • Durée 3 jours
  • Accessible en
    • Formation continue

Résumé

Pro08

Prochaine session : du 11 au 13 juin 2024

 Cette formation est recommandée par l'institut MIAI
(outil utilisé en intelligence artifcielle)

Objectifs


• Connaitre la structure du langage Python dans sa version 3 ou ultérieure.
• Mettre en œuvre les bonnes pratiques de développement objet en vue de créer une application.
• Utiliser les principales librairies mathématiques vectorielles dont Numpy/Scipy pour effectuer des calculs optimisés en temps.
• Visualiser les résultats de calcul avec la librairie graphique Matplotlib et Plotly.
• Savoir manipuler des données avec le module Pandas.

Les + de la formation
  • Les caractéristiques du langage Python et des librairies Numpy/Scipy et les notions de programmation objet sont abordées progressivement.
  • Les notions importantes sont appliquées dans le cadre de petits exercices tirés de problèmes réels et dans des mini-projets dans le dernier tiers de la formation.
  • Le nombre réduit des participants (deux intervenants sont prévus pour un groupe supérieur à 6 dans les parties pratiques) permet une réelle aide personnalisée dans l’apprentissage

Nos atouts pédagogiques

Cette formation s’appuie sur les moyens techniques de l’école Grenoble INP - Phelma, UGA, école nationale supérieure de Physique, Electronique et Matériaux.
Les intervenants sont enseignant-chercheurs de l’école Grenoble INP-Phelma, UGA, auprès des futurs ingénieurs des filières Ingénierie Physique pour la Photonique de la Microélectronique (IPHY) et Signal, Image, Communication, Multimédia (SICOM), ainsi que des doctorants en simulation numérique. Ils mettent ainsi à profit leur expérience de développement d’outils numériques en Python dans le cadre de leurs recherches en modélisation au sein de l’IMEP LHAC et de l’Institut Néel, ou encore du traitement de données au sein du laboratoire GIPSA-Lab.
 
   phelma           
              

Admission

  • Tarif 1 950 €/personne
  • Accessible en :
    • Formation continue

Conditions d'admission


Pour qui ? 
Cette formation s'adresse à des techniciens, des ingénieurs ou des chercheurs ayant déjà des bases en programmation structurée, voulant développer des applications objets en langage python dans sa version 3 ou ultérieure.

Pré-requis : Connaitre l’algorithmique et maitriser un autre langage de programmation (niveau Bac+3 ou équivalent). Maitriser les bases de la programmation en python.

Effectif : 4 à 12 personnes
 

Programme

  • Durée des études 3 jours

Programme

Jour 1 - Le langage python et la programmation objet


1. Eléments du langage python
• Notion de variables dynamiques, initialisation, portée d’une variable, affectation, opérateurs
• Structures de contrôle : branchements, boucles, itérateurs et générateurs
• Fonctions et librairies classiques. Arguments d’une fonction. Passage de paramètres par nom
• Entrées / sorties sur fichiers ASCII. Formatage des sorties

2. La programmation objet avancée
• Intérêt, concept de classe, apport de l’approche objet
• Constructeur, destructeurs, méthodes magiques
• Attributs et méthodes, méthodes statiques, accesseurs et décorateurs
• Surcharge d’opérateurs
• Fonction sur les objets
• Gestion des exceptions
 

Jour 2 - Les Librairies avancées


• Construire un tableau Numpy
• Modifier le profil d’un tableau. Copie et référence
• Référencer les éléments d’un tableau. Notion de slicing
• Calcul numérique vectoriel. Opérations sur les matrices
• Application : résolution d’un système linéaire par la méthode du pivot. Gestion des exceptions
• Représenter des données avec Matplotlib et Plotly. Limitations
• Module et sous-modules de Scipy
• Stocker les données dans une matrice creuse. Quel format choisir ?
• Application : résolution de systèmes linéaires par la méthode du gradient conjugué
• Module Pandas : manipulation facile de données tabulées (DataFrames) à analyser
• Utilisation des fichiers HDF5 avec Pandas
 

Jour 3 - DéveLoppement de mini-proJets


• Projet Graphe1D : représentation de données et ajustement d’une fonction polynomiale.
• Projet Convolution : application du sous-module ndimage de la libraire Scipy
• Projet Modes propres d’une corde : manipulation de listes et de matrices Numpy.
• Résolution numérique d’une équation différentielle d’ordre n.

Des extensions du programme sont possibles sur mesure à la demande, par exemple dans le domaine des interfaces graphiques (librairie PyQt) ou du machine learning (librairie Scikit-learn).

International

  • Stage à l'étranger Non

Débouchés