complex(7) — Linux manual page

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | EXAMPLES | SEE ALSO | COLOPHON

complex(7)          Miscellaneous Information Manual          complex(7)

NAME         top

       complex - basics of complex mathematics

LIBRARY         top

       Math library (libm, -lm)

SYNOPSIS         top

       #include <complex.h>

DESCRIPTION         top

       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         top

       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         top

       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         top

       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)