1.1 Introduction

NumPy est une bibliothèque (library) permettant la manipulation de tableaux multidimensionnels (vecteurs, matrices, etc.). Cette bibliothèque comprend une vaste collection de fonctions mathématiques pouvant opérer sur ces tableaux.

L'élément central de NumPy est le ndarray, un tableau à \(n\) dimensions. Ce tableau, à l'instar des listes de Python est un container mutable. En revanche, contrairement à une liste, cette structure est homogène (tous les éléments sont du même type) et sa taille est fixée à sa création. Ces contraintes permettent d'optimiser les calculs et un tableau NumPy autorise des opérations ''vectorisées'' où tout le ''vecteur'' (tableau) est traité comme une unité. L'exécution de ces opérations vectorisées est beaucoup plus efficace que le traitement séparé de chaque opération. Cette approche rend la bibliothèque NumPy particulièrement performante. Cette dernière a ainsi par exemple été l'un des éléments-clés ayant permis d'obtenir la première image d'un trou noir en 2019 (Trou noir M87, Event Horizon Telescope Collaboration) :

L'histoire de cette image et la description détaillée de la bibliothèque NumPy peuvent être consultées en ligne à l'adresse https://numpy.org/.

Une bonne manière d'importer la bibliothèque numpy est d'avoir en préambule d'un notebook Python la ligne :

import numpy as np

Une fonction fct de numpy doit alors être appelée par np.fct.

La touche <TAB> permet (dans presque tous les environnements) d'obtenir facilement les fonctions disponibles. Par exemple, np.t<TAB>, permet d'avoir accès à une trentaine de fonctions, parmi lesquelles on trouve la fonction np.tan. De plus amples informations (docstrings) sur la fonction np.tan (par exemple) peuvent ensuite être obtenues en utilisant le point d'interrogation :

np.tan?