Calculs dans C

Aide sur les questions d'analyses.
Jon83
Membre
Messages : 379
Inscription : 26 novembre 2013, 16:08

Calculs dans C

Message par Jon83 » 14 octobre 2017, 10:35

Bonjour !
On a -1=sqrt(-1)*sqrt(-1)=sqrt((-1)*(-1))=sqrt(1)=1 ... où est l'erreur?

Avatar de l’utilisateur
Job
Propriétaire du forum
Messages : 2584
Inscription : 28 juin 2013, 15:07
Contact :

Re: Calculs dans C

Message par Job » 14 octobre 2017, 13:17

Bonjour

L'erreur vient du fait que l'écriture $\sqrt{-1}$ n'a pas de sens.

L'écriture $\sqrt a$ avec $a\geq 0$ désigne le réel positif qui a pour carré $a$ c'est le seul cs où on peut utiliser le symbole de racine carrée.
Par contre on peut dire que (-1) a 2 racines carrées $i$ et $(-i)$

Jon83
Membre
Messages : 379
Inscription : 26 novembre 2013, 16:08

Re: Calculs dans C

Message par Jon83 » 14 octobre 2017, 14:49

J'ai oublié de préciser que l'on se place dans C ....
On doit donc pouvoir écrire:
sqrt(a)=exp(1/2 ln a) et ln a =ln |a|+i*arg(a) ; donc si a=-1 on a ln -1 =ln(1)+i*pi=i*pi et sqrt(-1)=exp(i*pi/2)=i ???

Avatar de l’utilisateur
Job
Propriétaire du forum
Messages : 2584
Inscription : 28 juin 2013, 15:07
Contact :

Re: Calculs dans C

Message par Job » 14 octobre 2017, 18:29

Le problème est que le logarithme complexe ne possède pas toutes les propriétés algébrique du logarithme réel puisque si on veut appliquer :
$\ln ((-1)^2)=2\ln (-1)=2(\ln 1+i\pi)=2i\pi$ et $\ln ((-1)^2)=\ln 1 =0$ d'où le problème

Jon83
Membre
Messages : 379
Inscription : 26 novembre 2013, 16:08

Re: Calculs dans C

Message par Jon83 » 14 octobre 2017, 19:46

Oui, en effet...L'erreur vient de l'écriture sqrt(-1)*sqrt(-1))=sqrt[(-1)*(-1)] qui est incorrecte : en vertu de la définition de log z = log|z|+i*arg(z) , on a
log(z1*z2) = log(|z1|) + log(|z2|) modulo (2i*pi)
Merci pour ta réponse. A+

Répondre