
I numeri complessi in Python
In questa lezione online ti spiego come definire un numero complesso nel linguaggio Python
Cosa sono i numeri complessi? I numeri complessi sono un'estensione dei numeri reali. Ogni numero complesso è composto da una parte reale e una immaginaria. La parte reale è un numero reale, mentre la parte immaginaria è il prodotto tra un numero reale e una costante immaginaria "i" o "j", detta unità immaginaria, che ha la proprietà di essere una radice di -1. Ad esempio, il numero complesso 2 + 3j è composto da una parte reale 2 e una parte immaginaria 3j. $$ z = 2+3j $$ Ricorda, Python usa come unità immaginaria solo la lettera "j". Se utilizzi la lettera "i" restituisce un errore.
Ti faccio un esempio pratico.
Per assegnare a una variabile il numero complesso 2+3j devi digitare
>>> num=2+3j
Alla variabile num viene assegnato il valore (2+3j) e il tipo di dato <complex>.
In alternativa, per definire una variabile con un numero complesso puoi anche usare la funzione complex()
num=complex(2,3)
Il risultato è sempre lo stesso, alla variabile num è assegnato il valore (2+3j)
Come verificare se una variabile è complessa?
Per verificare il tipo di dato puoi digitare il comando type(num).
>>> type(num)
<class 'complex'>
Python ti conferma che la variabile ha come data type la classe <class 'complex'>.
Una volta definite due variabili complesse, puoi svolgere qualsiasi calcolo utile nei numeri complessi.
Le operazioni con i numeri complessi
Ad esempio, assegna due numeri complessi a due variabili diverse.
>>> a=5+2j
>>> b=4-3j
Con queste due variabili diamo un'occhiata alle principali operazioni matematiche tra numeri complessi
Addizione
Per sommare i due numeri complessi digita a+b
>>> a+b
(9-1j)
Il risultato è il numero complesso (9-1j)
Nota. Nelle operazioni dove utilizzi utilizzi un numero complesso, anche con la parte immaginaria nulla, il risultato è sempre un altro numero complesso.
Sottrazione
Per sottrarre i due numeri complessi digita a-b
>>> a-b
(1+5j)
Il risultato è il numero complesso (1+5j)
Moltiplicazione
Per moltiplicare i due numeri complessi digita a*b
>>> a*b
(26-7j)
Il risultato è il numero complesso (26-7j)
Divisione
Per dividere due numeri complessi digita a/b
>>> a/b
(0.56+0.93j)
Il risultato è il numero complesso (0.56+0.93j)
Numero coniugato
Per trovare il numero coniugato del numero complesso a=5+2j usa il metodo conjugate()
>>> a.conjugate()
(5-2j)
Il numero coniugato di 5+2j è 5-2j.
Il modulo
Per calcolare il modulo del numero complesso a=5+2j usa la funzione abs()
>>> abs(a)
5.385164807134504
Il modulo del numero complesso 5+2j è circa 5.38
La parte reale
Per estrarre la parte reale del numero complesso a=5+2j usa il metodo real
>>> a.real
5.0
La parte reale del numero complesso è 5.0
Nota. Quando estrai la parte reale o immaginaria di un numero complesso, il risultato è sempre un numero reale in virgola mobile (float).
La parte immaginaria
Per estrarre la parte immaginaria del numero complesso a=5+2j usa il metodo imag
>>> a.imag
2.0
La parte immaginaria del numero complesso è 2.0
Il modulo cmath
Nel modulo cmath puoi trovare altre funzioni matematiche utili per il calcolo con i numeri complessi
Modulo e fase
Puoi ottenere il modulo e la fase (o l'argomento) di un numero complesso utilizzando le funzioni abs() e phase() del modulo cmath.
import cmath
z1 = 3 + 4j
modulo = abs(z1)
fase = cmath.phase(z1)
Funzioni complesse
Il modulo cmath fornisce molte altre funzioni utili per lavorare con numeri complessi, come sqrt, log, exp, etc.
radice_quadrata = cmath.sqrt(z1)
logaritmo = cmath.log(z1)
Conversioni tra forme polari e rettangolari
Puoi convertire un numero complesso dalla sua forma rettangolare alla sua forma polare, e viceversa, utilizzando il modulo cmath.
modulo, fase = cmath.polar(z1)
z_from_polar = cmath.rect(modulo, fase)
Ora hai una panoramica abbastanza completa per iniziare a lavorare con i numeri complessi nel linguaggio Python.