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.