2.19. Komplekse tal

I Python er der naturligvis også støtte for komplekse tal (komplekse tal er sammensat af reelle tal (normale tal) og irrationale tal som f.eks. kvadrat- og kubikrod, Pii og uendelige uperiodiske decimalbrøker). De immaginære tal skrives med et efterstillet j eller J.

Komplekse tal med et reelt tal, de ikke er nul, skrives som (reelle tal + immaginære tal med efterstillet j) eller kan dannes ved anvendelse af complex(reelt tal, immaginært tal) funktionen.

>>> 5 * 4j
20j
>>> 5.0 * 5j
25j
>>> 1j * 1J
(-1+0j)
>>> 1j * complex(0,1)
(-1+0j)
>>> 3+1j*3
(3+3j)
>>> (3+1j)*3
(9+3j)
>>> (1+2j)/(1+1j)
(1.5+0.5j)

Komplekse tal repræsenteres ved en reel og en immaginær del. De to dele kan adskilles ved brug af kompleksTal.real og kompleksTal.imag:

>>> a=1.5+0.5j
>>> a.real
1.5
>>> a.imag
0.5

Konverterings funktionerne for flydende tal og heltal (float(), int() and long()) fungerer ikke på komplekse tal. Her skal du anvende abs(immaginære del af tal) og komplekseTal.real:

>>> a.real
3.0
>>> a.imag
4.0
>>> abs(a)  # sqrt(a.real**2 + a.imag**2)
5.0
>>>