lettura normale

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.

 




Se qualcosa non ti è chiaro, scrivi la tua domanda nei commenti.




FacebookTwitterLinkedinLinkedin