Le module cmath

Python met aussi à notre disposition un module cmath pour les calculs sur les nombres complexes. La plupart des noms sont identiques à ceux du module math mais les fonctions sont ici considérées comme allant de C dans C (cette homonymie plaide en la faveur d’une importation par import ... plutôt que par from ... import ...)

Pour prolonger l’exemple précédent, et revenir sur les questions d’homonymie, si on charge le module math (avec la syntaxe from math import *, puis le module cmath (avec la syntaxe from cmath import *), alors les fonctions de cmath “recouvrent” celle de math (il est facile de deviner ce qui se passe si on inverse les deux chargements de module).

En mémoire, un nombre complexe z est représenté par le couple (x, y) formé de ses parties réelle et imaginaire (qui sont accessibles individuellement par z.real et z.imag). On sait que les fonctions du package cmath reprennent (et étendent à C) celles du module math. On notera tout de même les trois fonctions suivantes, spécifiques aux nombres complexes.

phase(z) argument de z, exprimé en radians dans l’intervalle ] − π, π]
polar(z) forme polaire de z ; équivalent à (abs(z), phase(z))
rect(r,θ) passage de la forme polaire {re^{i\theta}} à la forme cartésienne x + iy

Il existe enfin d’autres modules de nature mathématique et numérique. On trouvera l’aide nécessaire à l’adresse suivante (en changeant éventuellement la partie de l’adresse qui est relative au numéro de version de Python) :

http://docs.python.org/3.3/library/numeric.html

Retour à l’accueil du cours Python/Numpy

Sommaire du chapitre 2

  1. Quelques types (classes) de base
  2. Opérations entre types numériques
  3. Les opérateurs avec assignation
  4. Les fonctions mathématiques du module math
  5. Le module cmath
  6. Arithmétique des entiers
  7. Valeurs booléennes et comparaisons
  8. Égalité structurelle et égalité physique