$ luarocks install cmath
cmath.lua is a pure-lua extension of the lua standard math library
that includes complex arithmetic. The goal of this complex arithmetic
library is complete and seamless integration into lua. cmath includes
complex arithmetic with operator overloading via metatables, togther
with extensions of all math library functions. Complex operations
return real values where possible, enabling equality comparisons with
standard numbers. As with lua strings, different expressions that
evaluate to the same complex number refer to the same internal stored
object. This makes it possible to use complex values as table indices.
cmath.sqrt(-1) == i ==> true
e^(i*pi) == -1 ==> true
t = {}
t[3 + 7*i] = 12
t[1 + 2 + 3*i + 4*i] == 12 ==> true
cmath is not "industrial-grade" from the perspectives of high performance
or high numerical accuracy. It is intended to be fun, easy to install and use,
and good for playing around with complex numbers on small projects.