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.