COMPLEX(7) Linux Programmer's Manual COMPLEX(7)NAME
complex - basics of complex mathematics
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.
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.
/* 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
", creal(z), cimag(z));
}
SEE ALSO cabs(3), carg(3), cexp(3), cimag(3), creal(3)COLOPHON
This page is part of release 3.25 of the Linux man-pages project. A description of the project, and information about reporting bugs, can
be found at http://www.kernel.org/doc/man-pages/.
2009-07-25 COMPLEX(7)
Check Out this Related Man Page
CARG(3) Linux Programmer's Manual CARG(3)NAME
carg, cargf, cargl - calculate the complex argument
SYNOPSIS
#include <complex.h>
double carg(double complex z);
float cargf(float complex z);
long double cargl(long double complex z);
Link with -lm.
DESCRIPTION
A complex number can be described by two real coordinates. One may use rectangular coordinates and gets
z = x + I * y
where x = creal(z) and y = cimag(z).
Or one may use polar coordinates and gets
z = r * cexp(I * a)
where r = cabs(z) is the "radius", the "modulus", the absolute value of z, and a = carg(z) is the "phase angle", the argument of z.
One has:
tan(carg(z)) = cimag(z) / creal(z)
RETURN VALUE
The return value is the range of [-pi,pi].
VERSIONS
These functions first appeared in glibc in version 2.1.
CONFORMING TO
C99.
SEE ALSO cabs(3), complex(7)COLOPHON
This page is part of release 3.44 of the Linux man-pages project. A description of the project, and information about reporting bugs, can
be found at http://www.kernel.org/doc/man-pages/.
2008-08-11 CARG(3)
Hi,
I'm need to do some addition and multiplication of scientific nottaion numbers, in the form 34.23423e-10 for example.
I was echoing the list of numbers to stdout, then using bc -l, then I find that this does not seem to work for numbers with exponential notation. Could someone help me out... (1 Reply)
Hello all!
I used to use expr for doing simple mathematics, but has a main advantage and a main disadvantage:
The advantage is that it can take variables for numbers
(e.g.{1}: echo "Give me first"
read lol
echo "Give other"
read lil
sum=`expr $lol + $lil`
echo "The sum of $lol and $lil =... (5 Replies)
Let, I have three numbers
+00123.25
-00256.54
+00489.23
I need to sum up all those three numbers, after storing them in three variables (say var1, var2, var3).
I used both expr and BC, but they didn't work for me.
But, I am not able to sum up them, as I don't have any idea how to... (13 Replies)
my file contain 1 to 100 numbers and i want to display 50 to 60 numbers in a seperate file. how many ways this is possible in unix:confused: (3 Replies)
Hi there.
I've used Sed to pull out some numbers, can it also be used to perform calculations on these numbers?
For example I have a text file with a list of weights however some of them are presented like 24x18g, I actually need it to multiple the two number and display it as 432g
... (6 Replies)
Hi all,
Looking for suggestions on a better way to sum numbers in a key value pair formated file. What I have works but seems really clunky to me. Any suggestions would be greatly appreciated.
cat test.txt | perl -ne 'm/(M=)(\d+\.?\d?\d?)/ && print "$2\n"' | awk '{ sum+=$1} END {printf... (7 Replies)
I need some help in generating pair of numbers in orders using FORTRAN code.
The order is like following.
loop_1: 1,2 2,3 3,4 4,5 5,6 6,7 7,8 ..... until <= 2000
loop_2: 1,3 3,5, 5,7 7,9 9,11 11,13 ........until <= 2000
loop_3: 1,4, 4,7 7,10 10,13 13,17 ..... until... (3 Replies)
Hey guys.
I have been trying to figure out an easy way to seperate a liste of 150k numbers (10 digits) in a .txt file into odd and even numbers with each of their own files, for a project at work.
I've tried Excel, but it was too much for it and it wasnt very simple. So i gave up after... (13 Replies)