`(make-rectangular x[1] x[2])`procedure`(make-polar x[3] x[4])`procedure`real-part``z`procedure`imag-part``z`procedure`magnitude``z`procedure`angle``z`procedureThese procedures are part of every implementation that supports general complex numbers. Suppose x[1], x[2], x[3], and x[4] are real numbers and z is a complex number such that

z = x[1] + x[2]i = x[3] . e^i x[4]

Then

(make-rectangular x[1] x[2]) ===> z (make-polar x[3] x[4]) ===> z (real-part z) ===> x[1] (imag-part z) ===> x[2] (magnitude z) ===> |x[3]| (angle z) ===> x[angle]

where - pi < x[angle] < pi with x[angle] = x[4] + 2 pi n for some integer n.

Rationale: Magnitude is the same as abs for a real argument, but abs must be present in all implementations, whereas magnitude need only be present in implementations that support general complex numbers.