Комплексные числа являются чилами вида z = a+b*i, где a и b являются
вещественными числами, а i = sqrt(-1) (квадратный корень из минус
единицы, так называемая мнимая единица -- прим.пер.),
так что i*i = -1.
Существуют и другие способы представления комплесных чисел. Пара
вещественных чисел (a,b) может быть представлена как точка на
плоскости, которая задаётся координатными осями X и Y. Эта же
самая точка может быть также описана парой вещественных чисел (r,phi),
где r - это дистанция от нулевой точки отсчёта 0, а phi - угол между
осью X и прямой 0z. Итак, z = r*exp(i*phi) = r*(cos(phi)+i*sin(phi)).
Основные операции с комплесными числами, заданными в виде
z = a+b*i и w = c+d*i следующие:
Почти все математические функции имеют своих комплексных собратьев,
но есть и только комплексные функции.
ПРИМЕР
Ваш C-компилятор может работать с комплексными числами, если он поддерживает
стандарт C99. Связывание (компановку) нужно производить с опцией -lm
(чтобы подключилась математическая библиотека -- прим.пер.).
Здесь мнимая единица представлена как 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));
}