---
name: "complex"
section: "7"
platform: "linux"
package: "man-pages"
version: "6.19-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/complex/7"
---

# complex(7)

basics of complex mathematics

## 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)](/cabs/3.md), [**cacos**(3)](/cacos/3.md), [**cacosh**(3)](/cacosh/3.md), [**carg**(3)](/carg/3.md), [**casin**(3)](/casin/3.md), [**casinh**(3)](/casinh/3.md), [**catan**(3)](/catan/3.md), [**catanh**(3)](/catanh/3.md), [**ccos**(3)](/ccos/3.md), [**ccosh**(3)](/ccosh/3.md), [**cerf**(3)](/cerf/3.md), [**cexp**(3)](/cexp/3.md), [**cexp2**(3)](/cexp2/3.md), [**cimag**(3)](/cimag/3.md), [**clog**(3)](/clog/3.md), [**clog10**(3)](/clog10/3.md), [**clog2**(3)](/clog2/3.md), [**conj**(3)](/conj/3.md), [**cpow**(3)](/cpow/3.md), [**cproj**(3)](/cproj/3.md), [**creal**(3)](/creal/3.md), [**csin**(3)](/csin/3.md), [**csinh**(3)](/csinh/3.md), [**csqrt**(3)](/csqrt/3.md), [**ctan**(3)](/ctan/3.md), [**ctanh**(3)](/ctanh/3.md)
