Utilisation Scientifique de Python
Utilisation Scientifique de Python
Utilisation Scientifique de Python
Inititiation à
l’utilisation scientifique de Python
• Philosophie de Python
• Quelques éléments de syntaxe
– Types
– Conditions
– Boucles
– Fichiers
– Fonctions
• Modules
– Son propre module
– Modules scientifiques
– Tableaux
• Tracé de courbes
– Introduction à Gnuplot
– Interface avec Python
additionner 2 valeurs
>>> 1 + 1
2 On peut aussi créer un programme
affecter une variable sans l’interpréteur
>>> a = 1
>>> a
1 Il suffit de lancer l’interpréteur python :
Chaîne de caractère Python.exe monprogramme.py
>>> s = “hello world”
>>> print s
hello world
• Indentation importante:
If n in range(1,10):
Print n
Print ‘fini’
• Documentation
– Commentaires précédés de #
– Ou bien ’’ ’’ ’’
• True ou False
>>>test=true
>>>if test :
Print « vrai »
Vrai
• ‘abc’+’def’ ‘abcdef’
• 3*’abc’ ‘abcabcabc’
• ’text’.find(’ex’) 1 #recherche
• ’Abc’.upper() ’ABC’
• ’Abc’.lower() ’abc’
• Conversion vers des nombres: int(’2’), float(’2.1’)
• Conversion vers du texte : str(3), str([1, 2, 3])
• Utilisation
>>>print dico[‘C’]
Carbone
• Concaténation de dictionnaires
>>> dico3=dico+dico2
<condition>:
if i==1:
<code> print
elif i==2:
'A'
else: print
elif i==3:
'B'
<code> else:
print 'C'
print "?"
Cours Utilisation scientifique de Python O. Taché
Boucles for loop
while <condition>:
<instructions>
Exécution répétée d’instructions en fonction d’une condition
• En Python :
>>>f=open(‘nom_du_fichier.txt’,’w’)
>>>f.write(‘ligne1\n’)
>>>f.write(‘ligne2\n’)
>>>f=close()
• Syntaxe :
def nomdelafonction(arguments):
instructions
return quelquechose
>>> addition(2,3)
5
>>> addition('nom','prenom')
'nomprenom'
>>> addition(1.25,5.36)
6.6100000000000003
• Numerical Python
– Nouveau type array (tableau)
– Fonctions mathématiques universelles permettant de les
manipuler
>>>import Numeric
• Scientific Python
– Collection de modules pour le calcul scientifique puissantes et
complètes
>>>import Scientific
• Scipy
– « Fourre-tout » de modules scientifiques
– Fonctionalités de plotting (?!)
– Interface genre matlab
• PACKAGE CONTENTS
• BSP (package)
• DictWithDefault
• Functions (package)
• Geometry (package)
• IO (package)
• Installation
• MPI (package)
• Mathematica
• NumberDict
• Physics (package)
• Signals (package)
• Statistics (package)
• Threading (package)
• TkWidgets (package)
• Visualization (package)
- array - NumPy Array construction - arrayrange (arange) - Return regularly spaced array
- zeros - Return an array of all zeros - asarray - Guarantee NumPy array
- shape - Return shape of sequence or array - sarray - Guarantee a NumPy array that keeps precision
- rank - Return number of dimensions - convolve - Convolve two 1-d arrays
- size - Return number of elements in entire array or a - swapaxes - Exchange axes
certain dimension - concatenate - Join arrays together
- fromstring - Construct array from (byte) string - transpose - Permute axes
- take - Select sub-arrays using sequence of indices - sort - Sort elements of array
- put - Set sub-arrays using sequence of 1-D indices - argsort - Indices of sorted array
- putmask - Set portion of arrays using a mask - argmax - Index of largest value
- reshape - Return array with new shape - argmin - Index of smallest value
- repeat - Repeat elements of array - innerproduct - Innerproduct of two arrays
- choose - Construct new array from indexed array tuple - dot - Dot product (matrix multiplication)
- cross_correlate - Correlate two 1-d arrays - outerproduct - Outerproduct of two arrays
- searchsorted - Search for element in 1-d array - resize - Return array with arbitrary new shape
- sum - Total sum over a specified dimension - indices - Tuple of indices
- average - Average, possibly weighted, over axis or array. - fromfunction - Construct array from universal function
- cumsum - Cumulative sum over a specified dimension - diagonal - Return diagonal array
- product - Total product over a specified dimension - trace - Trace of array
- cumproduct - Cumulative product over a specified dimension - dump - Dump array to file object (pickle)
- alltrue - Logical and over an entire axis - dumps - Return pickled string representing data
- sometrue - Logical or over an entire axis - load - Return array stored in file object
- allclose - Tests if sequences are essentially equal - loads - Return array from pickled string
- ravel - Return array as 1-D
- nonzero - Indices of nonzero elements for 1-D array
- shape - Shape of array
- where - Construct array from binary result
help(Numeric) - compress - Elements of array where condition is true
- clip - Clip array between two values
- zeros - Array of all zeros
help(function) - ones - Array of all ones
- identity - 2-D identity array (matrix)
Cours Utilisation scientifique de Python O. Taché
Introduction à Gnuplot
Utilisation du module
Gnuplot.py
import Gnuplot
import Numeric as N
# Initialize Gnuplot
g = Gnuplot.Gnuplot()
# Set up data
x = N.arange(0., 5., 0.1)
y = N.exp(-x) + N.exp(-2.*x)
curve=Gnuplot.Data(x, y,with='linespoints')
g.title('N.exp(-x) + N.exp(-2.*x)')
g.plot(curve)
• www.python.org
• Numerical Python (http://numeric.scipy.org/)
• Scientific Python (Konrad Hinsen)
http://starship.python.net/~hinsen/ScientificPytho
n/
• www.SciPy.org
• www.gnuplot.info
• Transparents inspirés de “Introduction to
Scientific Computing with Python”
• www-drecami.cea.fr/scm/lions/python