complex(7) — Linux manual page
complex(7) Miscellaneous Information Manual complex(7)
NAME
complex - basics of complex mathematics
LIBRARY
Math library (libm, -lm)
SYNOPSIS
#include <complex.h>
DESCRIPTION
Complex numbers are numbers of the form z = 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. The pair (a,b) of
real numbers may be viewed as a point in the plane, given by X-
and Y-coordinates. This same point may also be described by
giving the pair of real numbers (r,phi), where r is the distance
to the origin O, and phi the angle between the X-axis and the
line Oz. Now z = r*exp(i*phi) = r*(cos(phi)+i*sin(phi)).
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.
EXAMPLES
Your C-compiler can work with complex numbers if it supports the
C99 standard. The imaginary unit is represented by I.
/* check that exp(i * pi) == -1 */
#include <math.h> /* for atan */
#include <stdio.h>
#include <complex.h>
int
main(void)
{
double pi = 4 * atan(1.0);
double complex z = cexp(I * pi);
printf("%f + %f * i\n", creal(z), cimag(z));
}
SEE ALSO
cabs(3), cacos(3), cacosh(3), carg(3), casin(3), casinh(3),
catan(3), catanh(3), ccos(3), ccosh(3), cerf(3), cexp(3),
cexp2(3), cimag(3), clog(3), clog10(3), clog2(3), conj(3),
cpow(3), cproj(3), creal(3), csin(3), csinh(3), csqrt(3),
ctan(3), ctanh(3)
COLOPHON
This page is part of the man-pages (Linux kernel and C library
user-space interface documentation) project. Information about
the project can be found at
⟨https://www.kernel.org/doc/man-pages/⟩. If you have a bug report
for this manual page, see
⟨https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/CONTRIBUTING⟩.
This page was obtained from the tarball man-pages-6.9.1.tar.gz
fetched from
⟨https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/⟩ on
2024-06-26. If you discover any rendering problems in this HTML
version of the page, or you believe there is a better or more up-
to-date source for the page, or you have corrections or
improvements to the information in this COLOPHON (which is not
part of the original manual page), send a mail to
man-pages@man7.org
Linux man-pages 6.9.1 2024-06-15 complex(7)
Pages that refer to this page: cabs(3), cacos(3), cacosh(3), carg(3), casin(3), casinh(3), catan(3), catanh(3), ccos(3), ccosh(3), cexp2(3), cexp(3), cimag(3), clog10(3), clog2(3), clog(3), conj(3), cpow(3), cproj(3), creal(3), csin(3), csinh(3), csqrt(3), ctan(3), ctanh(3)