Python pour le calcul scientifique/Fonctions mathématiques générales

Un livre de Wikilivres.
Sauter à la navigation Sauter à la recherche

Par défaut, Python ne propose que les quatre opérations et l'élévation à la puissance. Le module NumPy fournit les opérations mathématiques avancées. En particulier, il propose des fonctions « universelles » (ufunc) qui peuvent travailler directement sur des matrices.

Fonctions universelles de base[modifier | modifier le wikicode]

On retrouve les quatre opérations mais sous la forme de fonctions de deux variables :

  • np.add(x1, x2) : x1 + x2 ;
  • np.subtract(x1, x2) : x1x2 ;
  • np.multiply(x1, x2) : x1 × x2 ;
  • np.divide(x1, x2), np.true_divide(x1, x2) : x1 ÷ x2.

Les variables x1 et x2 peuvent être des matrices de même dimension, les opérations sont alors faites élément par élément. Ces fonctions disposent en outre de méthodes, notamment de la méthode .accumulate() qui cumule les opérations, par exemple

np.add.accumulate([1, 2, 3, 4, 5])
# array([ 1,  3,  6, 10, 15])

Cette méthode existe d'ailleurs pour toutes les fonctions universelles de deux variables.

Les autres opérations de base sont :

  • np.negative(x) : –x ;
  • np.reciprocal(x) : 1 / x ;
  • np.mod(x1, x2), np.remainder(x1, x2) : reste de la division euclidienne x1 ÷ x2 ;
  • np.absolute(x), np.abs(x) : |x| ;
  • np.rint(x) : arrondit à l'entier le plus proche ;
  • np.floor(x), np.ceil(x) : arrondit respectivement à l'entier directement inférieur et supérieur ;
  • np.trunc(x) : tronque les décimales, partie entière, E(x) ;
  • np.sign(x) : signe de x (+1 ou –1) ;
  • np.gcd(x1, x2) : PGCD ;
  • np.lcm(x1, x2) : PPCM.

Autres fonctions universelles[modifier | modifier le wikicode]

  • np.power(x1, x2) : x1x2 ;
  • np.square(x) : x2 ;
  • np.sqrt(x) :  ;
    si x est une matrice de réels, alors le résultat doit être réel, les valeurs négatives renvoient un NaN ; si x contient au moins un nombre complexe, alors le résultat est complexe, par exemple :
np.sqrt(-1) # NaN
np.sqrt(-1 + 0j) # 0 + 1j
np.sqrt(complex(-1)) # 0 + 1j
  • np.cbrt(x) :  ;
  • np.exp(x) : exp(x), ex ;
  • np.exp2(x) : 2x ;
  • np.expm1(x) : exp(x) – 1 ;
  • np.log(x) : ln(x), logarithme népérien ;
  • np.log2(x) : logarithme en base 2 ;
  • np.log10(x) : log(x), logarithme en base 10 ;
  • np.log1p(x) : ln(1 + x) ;
  • np.conj(z) : z, conjugué complexe ;
  • np.heavyside(x1, x2) : fonction marche, vaut 0 si x1 < 0, 1 si x1 > 0, et x2 si x1 = 0.

Autres fonctions[modifier | modifier le wikicode]

Fonction trigonométriques
  • np.sin(x) ;
  • np.cos(x) ;
  • np.tan(x) ;
  • np.arcsin(x) ;
  • np.arccos(x) ;
  • np.arctan(x).

Notes et références[modifier | modifier le wikicode]


Découverte de Python et de Jupyter < > Éléments de programmation