summaryrefslogtreecommitdiffstats
path: root/upstream/debian-bookworm/man7/complex.7
diff options
context:
space:
mode:
Diffstat (limited to 'upstream/debian-bookworm/man7/complex.7')
-rw-r--r--upstream/debian-bookworm/man7/complex.781
1 files changed, 81 insertions, 0 deletions
diff --git a/upstream/debian-bookworm/man7/complex.7 b/upstream/debian-bookworm/man7/complex.7
new file mode 100644
index 00000000..b21d91a1
--- /dev/null
+++ b/upstream/debian-bookworm/man7/complex.7
@@ -0,0 +1,81 @@
+.\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
+.\"
+.\" SPDX-License-Identifier: GPL-1.0-or-later
+.\"
+.TH complex 7 2022-10-30 "Linux man-pages 6.03"
+.SH NAME
+complex \- basics of complex mathematics
+.SH SYNOPSIS
+.nf
+.B #include <complex.h>
+.fi
+.SH 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.
+.PP
+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)).
+.PP
+The basic operations are defined on z = a+b*i and w = c+d*i as:
+.TP
+.B addition: z+w = (a+c) + (b+d)*i
+.TP
+.B multiplication: z*w = (a*c \- b*d) + (a*d + b*c)*i
+.TP
+.B division: z/w = ((a*c + b*d)/(c*c + d*d)) + ((b*c \- a*d)/(c*c + d*d))*i
+.PP
+Nearly all math function have a complex counterpart but there are
+some complex-only functions.
+.SH EXAMPLES
+Your C-compiler can work with complex numbers if it supports the C99 standard.
+Link with \fI\-lm\fP.
+The imaginary unit is represented by I.
+.PP
+.EX
+/* 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\en", creal(z), cimag(z));
+}
+.EE
+.SH SEE ALSO
+.BR cabs (3),
+.BR cacos (3),
+.BR cacosh (3),
+.BR carg (3),
+.BR casin (3),
+.BR casinh (3),
+.BR catan (3),
+.BR catanh (3),
+.BR ccos (3),
+.BR ccosh (3),
+.BR cerf (3),
+.BR cexp (3),
+.BR cexp2 (3),
+.BR cimag (3),
+.BR clog (3),
+.BR clog10 (3),
+.BR clog2 (3),
+.BR conj (3),
+.BR cpow (3),
+.BR cproj (3),
+.BR creal (3),
+.BR csin (3),
+.BR csinh (3),
+.BR csqrt (3),
+.BR ctan (3),
+.BR ctanh (3)