++ed by:

1 PAUSE user
3 non-PAUSE users.

Alberto Simões 🐪
and 1 contributors

# NAME

Math::GSL::Complex - Complex Numbers

# SYNOPSIS

``````    use Math::GSL::Complex qw/:all/;
my \$complex = Math::GSL::Complex->new([3,2]); # creates a complex number 3+2*i
my \$real = \$complex->real;                    # returns the real part
my \$imag = \$complex->imag;                    # returns the imaginary part
\$complex->gsl_set_real(5);                    # changes the real part to 5
\$complex->gsl_set_imag(4);                    # changes the imaginary part to 4
\$complex->gsl_set_complex(7,6);               # changes it to 7 + 6*i
(\$real, \$imag) = \$complex->parts;``````

# DESCRIPTION

Here is a list of all the functions included in this module :

`gsl_complex_arg(\$z)`

Return the argument of the complex number \$z

`gsl_complex_abs(\$z)`

Return |\$z|, the magnitude of the complex number \$z

`gsl_complex_rect(\$x,\$y)`

Create a complex number in cartesian form \$x + \$y*i

`gsl_complex_polar(\$r,\$theta)`

Create a complex number in polar form \$r*exp(i*\$theta)

`gsl_complex_abs2(\$z)`

Return |\$z|^2, the squared magnitude of the complex number \$z

`gsl_complex_logabs(\$z)`

Return log(|\$z|), the natural logarithm of the magnitude of the complex number \$z

`gsl_complex_add(\$c1, \$c2)`

Return a complex number which is the sum of the complex numbers \$c1 and \$c2

`gsl_complex_sub(\$c1, \$c2)`

Return a complex number which is the difference between \$c1 and \$c2 (\$c1 - \$c2)

`gsl_complex_mul(\$c1, \$c2)`

Return a complex number which is the product of the complex numbers \$c1 and \$c2

`gsl_complex_div(\$c1, \$c2)`

Return a complex number which is the quotient of the complex numbers \$c1 and \$c2 (\$c1 / \$c2)

`gsl_complex_add_real(\$c, \$x)`

Return the sum of the complex number \$c and the real number \$x

`gsl_complex_sub_real(\$c, \$x)`

Return the difference of the complex number \$c and the real number \$x

`gsl_complex_mul_real(\$c, \$x)`

Return the product of the complex number \$c and the real number \$x

`gsl_complex_div_real(\$c, \$x)`

Return the quotient of the complex number \$c and the real number \$x

`gsl_complex_add_imag(\$c, \$y)`

Return sum of the complex number \$c and the imaginary number i*\$x

`gsl_complex_sub_imag(\$c, \$y)`

Return the diffrence of the complex number \$c and the imaginary number i*\$x

`gsl_complex_mul_imag(\$c, \$y)`

Return the product of the complex number \$c and the imaginary number i*\$x

`gsl_complex_div_imag(\$c, \$y)`

Return the quotient of the complex number \$c and the imaginary number i*\$x

`gsl_complex_conjugate(\$c)`

Return the conjugate of the of the complex number \$c (x - i*y)

`gsl_complex_inverse(\$c)`

Return the inverse, or reciprocal of the complex number \$c (1/\$c)

`gsl_complex_negative(\$c)`

Return the negative of the complex number \$c (-x -i*y)

`gsl_complex_sqrt(\$c)`

Return the square root of the complex number \$c

`gsl_complex_sqrt_real(\$x)`

Return the complex square root of the real number \$x, where \$x may be negative

`gsl_complex_pow(\$c1, \$c2)`

Return the complex number \$c1 raised to the complex power \$c2

`gsl_complex_pow_real(\$c, \$x)`

Return the complex number raised to the real power \$x

`gsl_complex_exp(\$c)`

Return the complex exponential of the complex number \$c

`gsl_complex_log(\$c)`

Return the complex natural logarithm (base e) of the complex number \$c

`gsl_complex_log10(\$c)`

Return the complex base-10 logarithm of the complex number \$c

`gsl_complex_log_b(\$c, \$b)`

Return the complex base-\$b of the complex number \$c

`gsl_complex_sin(\$c)`

Return the complex sine of the complex number \$c

`gsl_complex_cos(\$c)`

Return the complex cosine of the complex number \$c

`gsl_complex_sec(\$c)`

Return the complex secant of the complex number \$c

`gsl_complex_csc(\$c)`

Return the complex cosecant of the complex number \$c

`gsl_complex_tan(\$c)`

Return the complex tangent of the complex number \$c

`gsl_complex_cot(\$c)`

Return the complex cotangent of the complex number \$c

`gsl_complex_arcsin(\$c)`

Return the complex arcsine of the complex number \$c

`gsl_complex_arcsin_real(\$x)`

Return the complex arcsine of the real number \$x

`gsl_complex_arccos(\$c)`

Return the complex arccosine of the complex number \$c

`gsl_complex_arccos_real(\$x)`

Return the complex arccosine of the real number \$x

`gsl_complex_arcsec(\$c)`

Return the complex arcsecant of the complex number \$c

`gsl_complex_arcsec_real(\$x)`

Return the complex arcsecant of the real number \$x

`gsl_complex_arccsc(\$c)`

Return the complex arccosecant of the complex number \$c

`gsl_complex_arccsc_real(\$x)`

Return the complex arccosecant of the real number \$x

`gsl_complex_arctan(\$c)`

Return the complex arctangent of the complex number \$c

`gsl_complex_arccot(\$c)`

Return the complex arccotangent of the complex number \$c

`gsl_complex_sinh(\$c)`

Return the complex hyperbolic sine of the complex number \$c

`gsl_complex_cosh(\$c)`

Return the complex hyperbolic cosine of the complex number \$cy

`gsl_complex_sech(\$c)`

Return the complex hyperbolic secant of the complex number \$c

`gsl_complex_csch(\$c)`

Return the complex hyperbolic cosecant of the complex number \$c

`gsl_complex_tanh(\$c)`

Return the complex hyperbolic tangent of the complex number \$c

`gsl_complex_coth(\$c)`

Return the complex hyperbolic cotangent of the complex number \$c

`gsl_complex_arcsinh(\$c)`

Return the complex hyperbolic arcsine of the complex number \$c

`gsl_complex_arccosh(\$c)`

Return the complex hyperbolic arccosine of the complex number \$c

`gsl_complex_arccosh_real(\$x)`

Return the complex hyperbolic arccosine of the real number \$x

`gsl_complex_arcsech(\$c)`

Return the complex hyperbolic arcsecant of the complex number \$c

`gsl_complex_arccsch(\$c)`

Return the complex hyperbolic arccosecant of the complex number \$c

`gsl_complex_arctanh(\$c)`

Return the complex hyperbolic arctangent of the complex number \$c

`gsl_complex_arctanh_real(\$x)`

Return the complex hyperbolic arctangent of the real number \$x

`gsl_complex_arccoth(\$c)`

Return the complex hyperbolic arccotangent of the complex number \$c

`gsl_real(\$z)`

Return the real part of \$z

`gsl_imag(\$z)`

Return the imaginary part of \$z

`gsl_parts(\$z)`

Return a list of the real and imaginary parts of \$z

`gsl_set_real(\$z, \$x)`

Sets the real part of \$z to \$x

`gsl_set_imag(\$z, \$y)`

Sets the imaginary part of \$z to \$y

`gsl_set_complex(\$z, \$x, \$h)`

Sets the real part of \$z to \$x and the imaginary part to \$y

# EXAMPLES

This code defines \$z as 6 + 4*i, takes the complex conjugate of that number, then prints it out.

``````    my \$z = gsl_complex_rect(6,4);
my \$y = gsl_complex_conjugate(\$z);
my (\$real, \$imag) = gsl_parts(\$y);
print "z = \$real + \$imag*i\n";``````

This code defines \$z as 5 + 3*i, multiplies it by 2 and then prints it out.

``````    my \$x = gsl_complex_rect(5,3);
my \$z = gsl_complex_mul_real(\$x, 2);
my \$real = gsl_real(\$z);
my \$imag = gsl_imag(\$z);
print "Re(\\$z) = \$real\n";``````

# AUTHORS

Jonathan "Duke" Leto <jonathan@leto.net> and Thierry Moisan <thierry.moisan@gmail.com>