complex
SYNOPSIS #include <complex.h>
DESCRIPTION Complex numbers are numbers of the form a+b*i, where a and
b are real numbers and i = sqrt(1), so that i*i = 1.
There are other ways to represent that number. Because the
point z=(a,b) is on a plane you can also define that point
with distance and angle (r,phi). The number
z=r*(cos(phi)+i*sin(phi)) can also be described as expo
nential function z=r*exp(i*phi) as found by Euler.
The basic operations are defined on z = a+b*i and w =
c+d*i as:
addition: z+w = (a+c) + (b+d)*i
multiplication: z*w = (a*c  b*d) + (a*d + b*c)*i
division: z/w = ((a*c + b*d)/(c*c + d*d)) + ((b*c 
a*d)/(c*c + d*d))*i
Nearly all math function have a complex counterpart but
there are some complex only functions.
EXAMPLE Your Ccompiler can work with complex numbers if it sup
ports the C99 standard. Link with lm. The imaginary unit
is represented by I.
/* check that exp(i*pi) == 1 */
#include <math.h> /* for atan */
#include <complex.h>
main() {
double pi = 4*atan(1);
complex z = cexp(I*pi);
printf("%f+%f*i\n", creal(z), cimag(z));
}
SEE ALSO cabs(3), carg(3), cexp(3), cimag(3), creal(3)
20020728 complex(5)
