Retour à IS104 – Algorithmique Numérique

Aide mémoire Numpy/Scipy

Cette partie comporte une liste de fonctions et commandes du langage Python (ainsi que de ses bibliothèques Numpy et Scipy) qui sont généralement utilisées lors de la composition d’algorithmes numériques. Pour mémoire, les documentations de référence de ces bibliothèques sont disponibles aux adresses suivantes :

http://docs.scipy.org/doc/numpy/reference
http://docs.scipy.org/doc/scipy/reference

Manipulation globale

Commande Bibl. Résultat
import file   Importe le module file
help()   Lance l’aide interactive
help(comm)   Affiche l’aide associée à la commande comm
print(x)   Affichage esthétique (pretty-printing) de x
quit()   Permet de quitter l’interpréteur

Opérateurs arithmétiques élémentaires

Commande Bibl. Résultat
=   Affectation
==, !=   Égalité, différence
and, or   Disjonction, conjonction
not(b)   Négation de b
+, -   Addition, soustraction
*, /   Multiplication, division
x**y, pow(x,y)   Fonction puissance x^y
x % y   Fonction modulo x\ [y]
abs(x)   Valeur absolue de x
rint(x) numpy Nombre entier le plus proche de x
floor(x), ceil(x) numpy Partie entière supérieure et inférieure de x

Fonctions réelles usuelles

Commande Bibl. Résultat
sqrt(x) numpy Racine carrée de x
exp(x), log(x) numpy Exponentielle, logarithme népérien
sin(x), cos(x) numpy Fonctions sinus et cosinus
arcsin(x), arccos(x) numpy Fonctions trigonométriques inverses
rand() numpy.random Générateur aléatoire sur [0; 1]
rand(n,p) numpy.random Générateur aléatoire de matrice de dimension n\times p sur [0; 1]

Constantes usuelles

Commande Bibl. Résultat
True, False   Constantes vrai et faux
1e5   Écriture scientifique de 10^{n} (ici 10^5)
nan numpy Valeur de Nan (cf. norme IEEE-754)
inf numpy Valeur de Inf (cf. norme IEEE-754)
pi numpy Valeur approchée de \pi \approx 3.1415
exp(1) numpy Valeur approchée de e \approx 2.7183
1j   Nombre complexe i tel que i^2 = -1

Vecteurs

Commande Bibl. Résultat
matrix([a, b, ..]) numpy Représente le vecteur horizontal [a\ b\ \dots\ d]
matrix([[a], [b], ..]) numpy Représente le vecteur vertical \left[\begin{array}{c} a \\ b \\ \vdots \\ d \end{array}\right]
x[i]   Représente le i-ème élément du vecteur
x
x.size numpy Renvoie la longueur du vecteur x
range(a,b)   Construit le tableau d’entiers [a; a+1; \dots; b]
arange(a,b,i) numpy Construit le tableau générique [a; a+i; a+2i; \dots; b]

Matrices

Commande Bibl. Résultat
matrix([[a,b .. d],
[e,f ..,h], ..])
numpy Représente la matrice \left[\begin{array}{cccc}a & b &\cdots & d \\ e & f & \cdots & h \\\vdots &  &  & \vdots \\ \end{array}\right]
m[i,j] numpy Représente l’élément m_{i,j} de la matrice
m
m.shape numpy Renvoie la taille de la matrice m sous forme d’une liste
m[i,:] numpy Extrait la i-ème ligne de la matrice m
m[:,i] numpy Extrait la i-ème colonne de la matrice m
zeros([n,p]) numpy Représente la matrice nulle de taille n\times p
eye(n,p) numpy Représente la matrice identité de taille n\times p
ones([n,p]) numpy Représente la matrice de coefficients 1 de taille n\times p
asarray(m) numpy Transforme une matrice en tableau
asmatrix(m) numpy Transforme un tableau en matrice
norm(m) numpy.linalg Norme de la matrice m
transpose(m) numpy Transposée de la matrice m
det(m) numpy.linalg Déterminant de la matrice m

Polynômes

Commande Bibl. Résultat
poly1d([a .. d]) numpy Représente le polynôme ax^n + \ldots + cx + d
poly1d([a .. d],True) numpy Représente le polynôme (x-a) \ldots (x-d)
p.order numpy Degré du polynôme p
p.roots, roots(p) numpy Racines du polynôme p
p.coeffs numpy Coefficients du polynôme p
p(x), polyval(p,x) numpy Évalue le polynôme p au point
x (selon le schéma de Horner)

Remarque : Les polynômes sont aussi des objets de première classe en Python, ce qui fait qu’on peut les additionner, les multiplier et les exponentier. Il est possible de les stocker dans des listes mais pas dans des tableaux.

Commandes graphiques

Commande Bibl. Résultat
plot(x,y,c?) matplotlib.pyplot Affiche les points définis par les vecteurs x et y, (Option~: c permet de définir le format et la couleur du
tracé)
imshow(m,c?) matplotlib.pyplot Affiche la matrice m en deux dimensions
show() matplotlib.pyplot Affiche la figure courante
savefig(name) matplotlib.pyplot Sauvegarde la figure courante dans le fichier name
clf() matplotlib Efface la figure courante
legend(array,loc?) matplotlib.pyplot Dessine une légende contenant les lignes apparaissant dans
array (Option~: loc = (x,y) pour définir
l’emplacement)
xlabel(str)
ylabel(str)
matplotlib.pyplot Imprime une légende pour décrire les axes horizontaux et
verticaux
axis([xl,xr,yb,yt]) matplotlib.pyplot Cadre la figure sur le rectangle décrit par les 4 coordonnées.

Remarque : Le graphique n’est effectivement calculé que lors de l’appel d’une commande show ou savefig. Pour réaliser une figure, il est donc possible d’empiler des commandes de dessin (par exemple plusieurs appels à la commande plot) avant de lancer l’affichage final.