teaching:progappchim:scipy_simple

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
teaching:progappchim:scipy_simple [2014/02/09 22:49] – créée villersdteaching:progappchim:scipy_simple [2019/03/22 12:07] (Version actuelle) villersd
Ligne 1: Ligne 1:
 ====== Les bases de SciPy====== ====== Les bases de SciPy======
-La librairie SciPy ajoute à NumPy des fonctionnalités mathématiques (intégration, optimisation, fonctions spécialesinterpolation,).+La librairie SciPy ajoute à NumPy des fonctionnalités mathématiques
 + 
 +===== Directive d'importation ==== 
 +  * Méthode standard : <code>import scipy as sp</code> 
 +  * Importation par sous-modules (//cf// le [[http://docs.scipy.org/doc/scipy/reference/api.html#guidelines-for-importing-functions-from-scipy|site de Scipy]]) : <code>from scipy import optimize 
 +from scipy import interpolate 
 +from scipy import integrate 
 +...</code> 
 + 
 +===== Fonctionnalités ===== 
 +La libraire SciPy est particulièrement intéressante pour ces méthodes numériques : 
 +  * intégrales numériques 
 +  * intégration d'équations différentielles ordinaires 
 +  * Recherche de racines d'équations 
 +  * minimisation de fonctions 
 +  * modélisation par moindres carrés 
 +  * fonctions spéciales 
 +  * transformées de Fourier 
 +  * analyse du signal 
 +  * interpolation 
 +  * algèbre linéairey compris les problèmes aux valeurs propres et vecteurs propres 
 + 
 +Des informations générales sur ces techniques numériques peuvent être trouvées notamment sur le site de [[http://www.nr.com/|Numerical Recipes]]. En particulier, les anciennes éditions sont [[http://www.nrbook.com/a/bookcpdf.php|accessibles gratuitement]] à la lecture. Les méthodes et algorithmes sont transposables à des langages comme le Python, y compris avec l'utilisation de librairies comme SciPy. 
 + 
 +===== Intégrales définies ===== 
 +La librairie [[http://docs.scipy.org/doc/scipy/reference/integrate.html|scipy.integrate]] propose plusieurs programmes permettant de calculer des intégrales définies et intégrer des [[http://fr.wikipedia.org/wiki/%C3%89quation_diff%C3%A9rentielle|équations différentielles ordinaires]] (ODE) 
 + 
 +Exemple de calcul avec quad : 
 +<code python integrate-01.py> 
 +#!/usr/bin/env python 
 +# -*- coding: utf-8 -*- 
 +"""  
 +Intégration numérique. Références : 
 +http://docs.scipy.org/doc/scipy/reference/integrate.html 
 +http://docs.scipy.org/doc/scipy/reference/generated/scipy.integrate.quad.html 
 +quad retourne un tuple dont le premier élément est l'intégrale définie calculée 
 +""" 
 +from scipy.integrate import quad 
 + 
 +def f(x): 
 +    return x**4. 
 + 
 +I = quad(f,0,2) 
 +print(I, I[0]) 
 +</code> 
 + 
 +===== Constantes physiques ===== 
 + 
 +<code python scipy.constants-01.py> 
 +#!/usr/bin/env python3 
 +# -*- coding: utf-8 -*- 
 +""" 
 +https://docs.scipy.org/doc/scipy-1.0.0/reference/constants.html 
 + 
 +""" 
 +import scipy.constants 
 +for key, val in scipy.constants.physical_constants.items(): 
 +    print(key, val) 
 +    print(key, scipy.constants.value(key), scipy.constants.unit(key), scipy.constants.precision(key)) 
 + 
 +print(scipy.constants.find('Boltzmann')) 
 +print(scipy.constants.Boltzmann) 
 +print(scipy.constants.physical_constants['Boltzmann constant']) 
 +print(scipy.constants.value('Boltzmann constant')) 
 +print(scipy.constants.unit('Boltzmann constant')) 
 +print(scipy.constants.precision('Boltzmann constant')) 
 +</code>
  
 ===== Références ===== ===== Références =====
   * [[http://docs.scipy.org/doc/scipy/reference/tutorial/index.html|SciPy tutorial]]   * [[http://docs.scipy.org/doc/scipy/reference/tutorial/index.html|SciPy tutorial]]
 +  * [[http://docs.scipy.org/doc/scipy/reference/index.html|Reference guide]]
 +  * [[http://scipy-lectures.github.io/intro/scipy.html|Scipy : high-level scientific computing]], de Adrien Chauve, Andre Espaze, Emmanuelle Gouillart, Gaël Varoquaux, Ralf Gommers
 +  * [[http://wiki.scipy.org/Cookbook|Cookbook]]
 +    * [[http://wiki.scipy.org/Cookbook/LoktaVolterraTutorial?action=show&redirect=LoktaVolterraTutorial|Lotka-Volterra]]
 +    * [[http://wiki.scipy.org/Cookbook/BrownianMotion|Mouvement brownien]]
 +  * [[https://uiuc-cse.github.io/2014-01-30-cse/lessons/thw-scipy/tutorial.html]]
 +
  
  • teaching/progappchim/scipy_simple.1391982566.txt.gz
  • Dernière modification : 2014/02/09 22:49
  • de villersd