32.33. Math::Complex
use Math::Complex;
$z = Math::Complex->make(5, 6);
$z = cplx(5, 6); # same thing, but shorter
$t = 4 - 3*i + $z; # do standard complex math
print "$t\n"; # prints 9+3i
print sqrt(-9), "\n"; # prints 3i
The
Math::Complex module provides complex number objects with
overloaded operators. These are numbers with both real and imaginary
portions, like those satisfying even-numbered integral roots of
negative numbers as shown above. Besides arithmetical operators,
many built-in math functions are also overridden by versions that
understand complex numbers, including
abs,
log,
sqrt,
sin,
cos, and
atan2. Other functions provided are
Re
and
Im to provide the real and imaginary portions of their complex
arguments, plus a full battery of extended trigonometric functions,
such as
tan,
asin,
acos,
sinh,
cosh, and
tanh.
The module also exports the constant
i, which, as you might imagine, holds the value of
i; that is, the square root of -1.