• Aucun résultat trouvé

NUMPY ou l’utilisation des vecteurs (ndarray)

N/A
N/A
Protected

Academic year: 2022

Partager "NUMPY ou l’utilisation des vecteurs (ndarray)"

Copied!
1
0
0

Texte intégral

(1)

Environnement de simulation numérique Python - Numpy - Scipy - Matplotlib

Quésaco ? Pour quoi faire ?

Deux catégories de langages de programmation

Langage compilé(à compiler, ou langage de « bas niveau ») rustique (rédaction complète, puis compilation, puis exécution), contraignant (typage statique, ordre des fonctions et modules...) ; performant (rapide), fiable (types déclarés).

−→ calcul intensif.

Exemples : FORTRAN,TURBO PASCAL,C,C++...

Langage interprété

Dans un interpréteur (qui compile et exécute immédiatement).

Lent mais d’abord simple (intuitif, direct), souple d’utilisation (typage dynamique...).

−→ développement rapidede nouveaux programmes / applications.

Exemples : PYTHON,PERL,SQL,PHP...

1 / 4

Environnement de simulation numérique Python - Numpy - Scipy - Matplotlib

Quésaco ? Pour quoi faire ?

Définition- environnement de programmation pour le calcul numérique Outil intermédiaire associant

ergonomie(langage de programmation interprété, typage dynamique, graphiques...) et

efficacitépour des fonctions/algorithmes pré-compilés et optimisés (calcul « vectorisé », bibliothèques).

En bref : une calculatrice graphique programmable très sophistiquée.

Exemples

Python avec les modules Numpy, Scipy et Matplotlib ; Scilab (ou Matlab, Octave, R...).

2 / 4

Environnement de simulation numérique Python - Numpy - Scipy - Matplotlib

NUMPY ou l’utilisation des vecteurs (ndarray)

Créer des vecteurs -l’objet « array », la brique de base

import numpy as np # import avec alias (facultatif) L = np.array([0,2,np.pi,5]) # crée un vecteur

L[1] # renvoie 2

np.zeros((n,m)) # crée un tableau de 0 np.ones((n,m)) # crée un tableau de 1 M = np.array([[0,2],[np.pi,5]])

M[1,1] # renvoie 5

M[0,:] # renvoie la 1ere ligne (0,2)

T = np.linspace(0,1,11) # renvoie [0,0.1,0.2,..., 1.0]

S = np.arange(2,5) # renvoie [2,3,4]

Opérations

Opérations élément par élément (vecteurs-matrices conformes) boucle implicite) : addition (A+B), produit (A*B), puissance (A**B) ;

Produit matriciel :dot(A,B);

Concaténation :concatenate(A,B) ...

3 / 4

Environnement de simulation numérique Python - Numpy - Scipy - Matplotlib

NUMPY ou l’utilisation des vecteurs (darray)

Attention : passage par référence ! A = np.array([0,2,np.pi,5])

B = A # B et A pointent sur la même zone mémoire B[3] = 0

A # renvoie [0,2,0,5]

C = np.copy(A)

Vectorisation⇒ puissance - exemple : sin(t) pourt∈[0,999999]

Calcul LONG (mode interprété) Calcul RAPIDE (mode compilé)

resu = [] t = np.arange(1000000)

for t in range(1000000): resu = np.sin(t) resu += [np.sin(t)]

Le gain en temps de calcul est ici de plus de 50 !

4 / 4

Références

Documents relatifs

Par e xe mple , toujours avec notre tableau précédent, on a construit un tableau B de dimension 2*2 e xt rait du tableau A :. On peut aussi remplacer une partie du tableau par

(a) ´ Ecrire un programme Python permettant de d´ eterminer le nombre de vecteurs propres de A dont les coefficients sont des entiers compris entre −10 et 10 (bornes incluses)2.

• monTablo.reshape(tuple) : renvoie un tableau formant une nouvelle vue sur les données rassemblées dans monTablo, mais en les réarrangeant pour que la forme du tableau

Fig. 1: Figure Conceptual diagram showing the relationship between the three fundamental objects used to describe the data in an array: 1) the ndarray itself, 2) the data-type

On trouvera par exemple la classe (le constructeur) Polynomial pour fabriquer (instancier) des polynômes représentés par le vecteur de leurs coefficients dans la base canonique.

Montrer (sans passer par une r´ esolution explicite) que si un champ de vec- teurs lin´ eaire de dimension 2 a une orbite p´ eriodique de p´ eriode T 0 , alors toutes ses orbites

Il faut pour cela que la variable y soit un tableau numpy (de type

La strat´egie g´en´erale pour d´eterminer les valeurs propres et les vecteurs propres consiste `a construire une suite de transformations en des matrices semblables jusqu’`