• Aide
  • Eurêkoi Eurêkoi

Livre

Approche fonctionnelle des calculs scientifiques : méthodes numériques et applications : langage Python

Résumé

Après une initiation au langage Python, l'auteur s'intéresse à la résolution d'équations non linéaires, avant d'aborder l'approximation numérique des intégrales et la résolution des équations différentielles. ©Electre 2016


  • Éditeur(s)
  • Date
    • 2016
  • Langues
    • Français
  • Description matérielle
    • 1 vol. (272 p.) ; 22 x 15 cm
  • Sujet(s)
  • ISBN
    • 978-2-36493-556-3
  • Indice
    • 518 Calcul et analyse numériques
  • Quatrième de couverture
    • Le langage Python est un langage dit multiparadigme et multiplateforme. Multiparadigme car il intègre plusieurs formes de programmation (impérative, objet, fonctionnelle...). Il existe un très grand nombre de classements de paradigmes. Un paradigme étant une manière de programmer un ordinateur basé sur un ensemble de principes ou une théorie.

      Cet ouvrage se concentre essentiellement sur le paradigme du fonctionnel et se veut à la fois pédagogique et pratique. Chaque chapitre présente un exemple de programmes associés aux méthodes numériques de résolution de problèmes scientifiques particuliers. Seules les fonctions récursives et les listes y sont employées pour résoudre la méthode considérée.

      Ce livre n'est pas un ouvrage d'analyse numérique, nombreuses littératures et sites internet traitant des démonstrations des méthodes employées peuvent compléter les connaissances du lecteur, ce dernier pourra consulter en fin de chapitre, de nombreuses références et des liens internet, permettant de trouver rapidement la plupart des méthodes évoquées ayant inspiré la rédaction du chapitre. Par sa nature didactique et ses applications, puis, par la diversité des méthodes abordées, la démarche se veut avant tout pédagogique et démontre que la programmation fonctionnelle s'intégre totalement à l'univers des calculs scientifiques.

      L'objectif principal de ce livre est d'abord de fournir à un public le plus large possible un ouvrage qui pourra servir à comprendre les bases du domaine fonctionnel et à mettre en oeuvre l'application des listes, la récursivité et le pattern-matching afin de résoudre différents problèmes scientifiques. Les programmes de ces méthodes et techniques ont vocation à intervenir dans la quasi-totalité des domaines de la science, ce livre s'adresse donc particulièrement, aux étudiants scientifiques d'IUT ou de la formation continue, aux élèves d'école d'ingénieur confrontés au codage d'un problème numérique. aux doctorants en recherche d'une solution sur un sujet particulier et une information aux enseignants des grandes écoles et universités.

      À noter que le langage Python est devenu le langage par défaut des concours en mathématiques par exemple le C.A.P.E.S, l'agrégation, ou encore le master 1 dans le domaine scientifique.


  • Tables des matières
      • Approche fonctionnelle des calculs scientifiques

      • Méthodes numériques et applications

      • Gérald Jean-Baptiste

      • Cépaduès

      • Sommaire1
      • Introduction3
      • Remerciements6
      • Chapitre 1 - Initiation au langage Python7
      • 1. Introduction 7
      • 2. Exemples de base 8
      • 2.1. Quelques exemples sous le SHELL8
      • 2.2. Structures conditionnelles simples10
      • 2.3. Les modules11
      • 2.4. Le module math11
      • 2.5. Quelques fonctions prédéfinies12
      • 2.6. Erreurs de typage13
      • 3. Déclarations de liaisons globales et locales 14
      • 4. La puissance des fonctions 14
      • 4.1. Quelques exercices15
      • 5. Lecture d'un fichier TXT 18
      • 6. Fonctions récursives 19
      • 6.1. L'imparable fonction factorielle19
      • 6.2. La fonction puissance19
      • 7. La suite de fibonacci 20
      • 8. Implémentation des fonctions sur les suites 20
      • 9. Les fonctions anonymes 32
      • 10. Trier une suite 32
      • 10.1. Tri par séléction avec extraction du plus grand élément33
      • 10.2. Tri par partition35
      • Principe du partitionnement de deux suites35
      • 10.3. Tri par fusion36
      • Principe du take et du drop36
      • Codage du tri36
      • 11. Génération de nombres aléatoires 37
      • 12. Lancer un programme directement par IDLE 38
      • 13. Quelques exercices 40
      • Chapitre 2 - Résolution d'équations non linéaires49
      • 1. Résolution d'une équation à une inconnue 49
      • 1.1. Méthode itérative49
      • Implémentation de la méthode en langage Python49
      • Exécution sous le SHELL Python50
      • 1.2. Dérivation d'une fonction-Résolution par pas constant du type Grégory-Newton50
      • 1.3. Méthode Newton Raphson51
      • 1.3.1. Implémentation de la méthode en langage Python52
      • 1.4. Méthode de Lagrange52
      • 1.4.1. Implémentation de la méthode en langage Python 53
      • 1.5. Méthode de la dichotomie53
      • 1.5.1. Implémentation de la méthode en langage Python54
      • 1.6. La méthode des parties proportionnelles55
      • 1.6.1. Implémentation de la méthode en Python55
      • 1.7. La méthode de la parallèle56
      • 1.7.1. Implémentation de la méthode en Python56
      • 1.8. La méthode de Steffensen57
      • 1.8.1. Implémentation de la méthode en Python57
      • 1.9. La méthode de la sécante58
      • 1.9.1. Implémentation de la méthode en Python58
      • 2. Bibliographie 59
      • Chapitre 3 - Intégration numérique en 1D61
      • 1. Introduction 61
      • 1.1. La méthode des trapèzes62
      • 1.2. La méthode de Simpson64
      • 2. Intégration Gaussienne 66
      • Chapitre 4 - Approximation des intégrales doubles en coordonnées cartésiennes-bornes non dépendants de fonctions69
      • 1. Introduction 69
      • 1.1. Intégrales doubles sur un rectangle69
      • 1.2. Propriétés de l'intégrale double70
      • 1.3. Intégrale double sur un domaine non rectangulaire70
      • 1.4. Un premier exemple73
      • 1.5. Optimisation du programme74
      • 1. Différents exemples applicatifs 75
      • 2.1. à 2.3 Approximation de différentes intégrales doubles75
      • 3. Optimisation - Implémentation en utilisant les listes 78
      • 3.1. Une première implémentation78
      • 3.2. Amélioration de l'efficacité79
      • 4. Résolution de différentes intégrales doubles 80
      • 4.1. à 4.3 Calculer et approximer l'intégrale suivante80
      • 5. Bibliographie 82
      • Chapitre 5 - Approximation numérique des intégrales par la méthode de Monte-Carlo83
      • 1. Introduction 83
      • 2. Générateur de nombres pseudo-aléatoires 84
      • 2.1. Définitions de nombres pseudo-aléatoires85
      • 2.2. Loi Uniforme86
      • 2.2.1. Loi Uniforme discrète86
      • 2.2.2. Loi Uniforme continue86
      • 2.3. Analyse de l'erreur pour l'intégration de Monte-Carlo88
      • 2.3.1. Intervalle de confiance88
      • 3. Estimation de (...) 90
      • 3.1. Code impératif en Python92
      • 4. Intégration en une dimension 93
      • 4.1. Principe de calcul93
      • 4.2. Une simple programmation93
      • 4.2.1. Un premier exemple93
      • 4.2.2. Un second exemple95
      • 4.3. Autres exemples95
      • 4.4. Utilisation du type abstrait Liste et calcul d'erreur97
      • 4.4.1. Exemple de l'approximation ci-dessus en fonctions récursives Python98
      • 4.4.2. Code Python en plusieurs fonctions récursives globales99
      • 5. Exemples de résolution de plusieurs intégrales 1D 100
      • 5.1. Exemple n° 1100
      • 5.2. Exemple n° 2101
      • 5.3. Exemple n° 3101
      • 5.4. Exemple n° 4101
      • 6. Programmation 1D en impératif 102
      • 7. Intégration double pour des bornes dépendantes de fonctions 103
      • 7.1. Source en liste et récursive en Python104
      • 7.2. Un exemple106
      • 7.3. Nombre d'épreuves107
      • 7.3.1 Exemple n° 1108
      • 7.3.2 Exemple n° 2108
      • 7.3.3 Exemple n° 3109
      • 7.3.4 Exemple n° 4111
      • 8. Intégration triple pour des bornes dépendantes de fonctions 111
      • 8.1. Source Python112
      • 8.2. Exemple de calcul du volume d'une sphère unité-code Python114
      • 9. Bibliographie 115
      • Chapitre 6 - Intégrales triples en coordonnées cartésiennes117
      • 1. Introduction 117
      • 2. Implémentation en langage Python 118
      • 2.1. Exemple- Approximation d'une sphère unité118
      • 2.1.1. Implémentation118
      • 2.2. Exemple- Centre de gravité d'une demi-boule119
      • 2.2.1. Approximation120
      • 2.3. Exemple n°2121
      • 2.4. Exemple n°3121
      • 2.4.1. Application122
      • 3. Bibliographie 123
      • Chapitre 7 - Résolution d'équations différentielles125
      • 1. Introduction 125
      • 2. Méthodes à pas séparé 127
      • 2.1. Méthode d'Euler ordinaire127
      • 2.2. Méthode d'Euler améliorée129
      • 2.3. Méthode d'Euler-Cauchy. - (Méthode d'Euler modifiée)131
      • 2.4. Méthode de Runge-Kutta - formulation d'ordre 2 et 4133
      • 2.5. Méthodes de Runge-Kutta-Merson avec estimé de l'erreur136
      • 2.5.1. Algorithme de Runge-Kutta-Merson d'ordre global 4 avec estimé de l'erreur[6]137
      • 2.5.2. Algorithme de Runge-Kutta-Fehlberg d'ordre global 5 avec estimé de l'erreur[6]139
      • 3. Méthode à pas multiples 142
      • 3.1. Méthode de Nyström142
      • 3.2. Méthode d'Adams-Bashfort-Moulton144
      • 4. Équation différentielle du second ordre- Méthode des différences finies 147
      • 5. Bibliographie 151
      • Chapitre 8 - Résolution d'un système linéaire153
      • 1. Définition des fonctions primitives matricielles 153
      • 2. Application - .Méthode de résolution s'intégrales de Romberg 163
      • 3. Application - .Résolution Ly=b et Ux=y 165
      • 3.1. Résolution d'un système triangulaire supérieur : Ux=y165
      • 3.2. Résolution d'un système triangulaire inférieur : Ly=b168
      • 4. Factorisation A=LU 169
      • 4.1. Réalisation en langage Python170
      • 5. La méthode de Gauss-Jordan 173
      • 5.1. Principe par l'exemple173
      • 5.2. Algorithme175
      • 5.3. Implémentation Python175
      • 6. Inverse d'une matrice 178
      • 6.1. Création d'une matrice identité178
      • 6.2. Inversion de la matrice en utilisant la méthode de Gauss Jordan179
      • 7. Méthode de Doolittle - Méthode de Crout 179
      • 7.1. Implémentation Python de la méthode de Doolittle180
      • 7.2. Factorisation LR - Méthode de Crout182
      • 7.3. Implémentation de la méthode de factorisation LR en Python183
      • 8. Factorisation des matrices symétriques 186
      • 8.1. Factorisation de Choleski applicable aux matrices symétriques définies positives186
      • 8.2. Réalisation en langage Python186
      • 9. Méthodes itératives de relaxation 192
      • 9.1. Algorithme de Jacobi192
      • 9.2. Implémentation Python de la méthode de Jacobi192
      • 9.3. Implémentation Python de la méthode de Jacobi - utilisation des fonctions map194
      • 9.4. Algorithme de Gauss-Seidel195
      • 9.5. Implémentation Python de la méthode de Gauss-Seidel195
      • 9.6. Algorithme de S.O.R. (Successive Over Relaxation)196
      • 9.7. Implémentation Python de la méthode S.O.R. (Successive Over Relaxation)197
      • 10. Méthodes du gradient conjugué 198
      • 10.1 Implémentation Python du gradient conjugué200
      • 11. Extension de la méthode du gradient conjugué pour des matrices quelconques 202
      • 11.1. Méthode du résidu minimal202
      • 11.2. Implémentation Python du résidu minimal202
      • 12. Méthode de l'équation normale 206
      • 12.1. Algorithme206
      • 12.2. Implémentation de l'équation normale206
      • 12.3. Gradient conjugué préconditionné => Matrice A Symétrique [2]208
      • 12.4. Implémentation Python du gradient conjugué préconditionné208
      • 13. Méthode du gradient bi-conjugué 210
      • 13.1. Implémentation Python du gradient bi-conjugué211
      • 14. Exercices -Multiplication de 2 polynômes213
      • 14.1. Implémentation récursive Python213
      • 15. Bibliographie 214
      • Chapitre 9 - Recherche des valeurs propres et des vecteurs propres associés215
      • 1. Plus grande valeur propre - méthode de la puissance 215
      • 1.1. Implémentation de la méthode en Python218
      • 2. Plus grande valeur propre - méthode de la norme du maximum 220
      • 2.1. Implémentation de la méthode en Python221
      • 3. Plus petite valeur propre - norme du maximum inverse 223
      • 3.1. Implémentation de la méthode en Python223
      • 4. Plus petite valeur propre - méthode de la puissance inverse 225
      • 4.1. Implémentation de la méthode en Python225
      • 5. Calcul de la valeur propre la plus proche d'un nombre donné par la méthode de la puissance inverse 227
      • 5.1. Implémentation de la méthode en Python227
      • 6. Calcul de la valeur propre la plus proche d'un nombre donné par la méthode de l'itération inverse de Rayleigh 229
      • 6.1. Implémentation de la méthode en Python230
      • 7. Recherche de toutes les valeurs propres d'une matrice par la méthode QR 232
      • 7.1. Factorisation A=QR par la méthode de Householder232
      • 7.2. Algorithme de la Factorisation A=QR233
      • 7.3. Implémentation de la méthode en Python233
      • 7.4. Recherche de toutes les valeurs propres - Python239
      • 8. Recherche de toutes les valeurs propres d'une matrice par la méthode de Rutishauser (Décomposition LR) 242
      • 8.1. Factorisation LR (méthode de Crout)242
      • 8.2. Algorithme de la méthode de Crout243
      • 8.3. Implémentation de la méthode de factorisation LR en Python243
      • 8.4. Recherche de toutes les valeurs propres (méthode de Rutishauser)246
      • 9. Tridiagonalisation d'une matrice - la méthode de Lanczos 248
      • 9.1. Implémentation Python249
      • 10. Bibliographie 251
      • Annexe : Primitives.py253

  • Origine de la notice:
    • Electre
  • Disponible - 518 GER

    Niveau 2 - Sciences