Utilisation des nombres complexes en python [fermé]

111

Je suis un débutant en maths. Maintenant, j'approfondis les types de données Python. Je ne comprends pas comment utiliser un nombre complexe. Veuillez me donner des exemples d'utilisation de nombres complexes en Python.

I159
la source
1
Comme vous dites que vous êtes nouveau en mathématiques, pouvez-vous écrire ce que vous voulez faire en notation mathématique?
mmmmmm
14
Je ne pense pas que cela aurait dû être fermé. J'ai également trouvé déroutant que python utilise la syntaxe imaginaire 'j' commune en ingénierie par rapport à la syntaxe 'i' plus intuitive commune en mathématiques, statistiques, R, etc. La première réponse ci-dessous a fait un bon travail en introduisant cela.
Mittenchops
Cela semble un docbug légitime sur Python qui help(complex)ne montre aucun exemple, contrairement par exemple à `import decimal; help (decimal) `
smci

Réponses:

188

En python, vous pouvez mettre 'j' ou 'J' après un nombre pour le rendre imaginaire, vous pouvez donc écrire facilement des littéraux complexes:

>>> 1j
1j
>>> 1J
1j
>>> 1j * 1j
(-1+0j)

Le suffixe «j» vient du génie électrique, où la variable «i» est généralement utilisée pour le courant. ( Raisonnement trouvé ici. )

Le type d'un nombre complexe estcomplex , et vous pouvez utiliser le type comme constructeur si vous préférez:

>>> complex(2,3)
(2+3j)

Un nombre complexe a des accesseurs intégrés:

>>> z = 2+3j
>>> z.real
2.0
>>> z.imag
3.0
>>> z.conjugate()
(2-3j)

Plusieurs fonctions intégrées prennent en charge les nombres complexes:

>>> abs(3 + 4j)
5.0
>>> pow(3 + 4j, 2)
(-7+24j)

Le module standardcmath a plus de fonctions qui gèrent les nombres complexes:

>>> import cmath
>>> cmath.sin(2 + 3j)
(9.15449914691143-4.168906959966565j)
Rob Mayoff
la source
8
«i» est également utilisé par les mathématiciens, les physiciens et presque tous les autres scientifiques. Si ce n'est pas assez déroutant, certains utilisent «i» pour représenter la racine carrée «positive» de un, alors que «j» est la racine carrée «négative» de un. Donc i == -j. FYJ ...
jvriesem
13

L'exemple suivant pour les nombres complexes doit être explicite, y compris le message d'erreur à la fin

>>> x=complex(1,2)
>>> print x
(1+2j)
>>> y=complex(3,4)
>>> print y
(3+4j)
>>> z=x+y
>>> print x
(1+2j)
>>> print z
(4+6j)
>>> z=x*y
>>> print z
(-5+10j)
>>> z=x/y
>>> print z
(0.44+0.08j)
>>> print x.conjugate()
(1-2j)
>>> print x.imag
2.0
>>> print x.real
1.0
>>> print x>y

Traceback (most recent call last):
  File "<pyshell#149>", line 1, in <module>
    print x>y
TypeError: no ordering relation is defined for complex numbers
>>> print x==y
False
>>> 
Abhijit
la source