summaryrefslogtreecommitdiffstats
path: root/man5/complex.5
diff options
context:
space:
mode:
Diffstat (limited to 'man5/complex.5')
-rw-r--r--man5/complex.549
1 files changed, 49 insertions, 0 deletions
diff --git a/man5/complex.5 b/man5/complex.5
new file mode 100644
index 000000000..1347aded6
--- /dev/null
+++ b/man5/complex.5
@@ -0,0 +1,49 @@
+.\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
+.\" Distributed under GPL
+.\"
+.TH COMPLEX 5 2002-07-28 "" "complex math"
+.SH NAME
+complex \- basics of complex mathematics
+.SH SYNOPSIS
+.B #include <complex.h>
+.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.
+.br
+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 EXAMPLE
+Your C-compiler can work with complex numbers if it supports the C99 standard.
+Link with -lm. The imaginary unit is represented by I.
+.sp
+.nf
+/* 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));
+}
+.fi
+.SH "SEE ALSO"
+.BR cabs (3),
+.BR carg (3),
+.BR cexp (3),
+.BR cimag (3),
+.BR creal (3)