complex (5)  File formats and conventions  Unix Manual Pages  :man▋
complex  basics of complex mathematics
CONTENTS
Synopsis Description Example
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 exponential 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 supports 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));
}
cabs(3), carg(3), cexp(3), cimag(3), creal(3)
