# 12.7. Math Complex Numbers¶

• Complex number with real and imaginary parts

• Engineering notation j not mathematical i

• No space inside the expression

## 12.7.1. Defining complex¶

complex()                # 0j
complex(real=0, imag=0)  # 0+0j

complex(1)              # (1+0j)
complex(imag=1)         # 1j
complex(real=1)         # (1+0j)

complex(real=1, imag=2) # (1+2j)
complex(1, 2)           # (1+2j)
complex(1.12, 2.34)     # (1.12+2.34j)
complex(1, 2.34)        # (1+2.34j)

complex(1+2j)           # (1+2j)
complex(1+2j, 3+4j)     # (-3+5j)

complex('1+2j')         # (1+2j)
complex('1.5+2.7j')     # (1.5+2.7j)
complex('1 + 2j')       # ValueError: complex() arg is a malformed string


## 12.7.2. Arithmetic on complex¶

a = complex(1, 2)       # (1+2j)
b = 3+4j                # (3+4j)

a + b                   # (4+6j)
a - b                   # (-2-2j)
a * b                   # (-5+10j)
a / b                   # (0.44+0.08j)


## 12.7.3. Builtin functions¶

### 12.7.3.1. Absolute¶

abs(1+2j)
# 2.23606797749979

abs(3+4j)
# 5.0


## 12.7.4. cmath¶

• mathematical functions for complex numbers

• Python complex number z is stored internally using rectangular or Cartesian coordinates