Hacker News new | ask | show | jobs
by posterboy 3490 days ago
I still don't get the significance of complex numbers, to me they seem like vectors with certain operations and I still suppose there is no deeper revelation, that sqrt(-1) represents, and every example could have a geometric interpretation, even if this isn't motivated by the example. Likewise, the only explanation for e^(pi*i)-1=0 I know is the conversion to polar coordinates.

>Since you need to keep track of your current orientation this slightly complicates things a bit

>If at each step we keep the imaginary multiplication term from the previous step we can effectively encode the rotation in our expression

Why, you could just keep track of the rotation as an angle, which would likewise be a result of the previous step. In binary there wouldn't even be much of a difference: Look at a 2-bit value either as a modulo 4 ring of type pi/2, or as a modulo 2 vector of the two complex components. That's my first thought, at least. Although, the real and imaginary parts would always have opposite values, so only one bit is needed. I wonder if complexity analysis would show a difference.

4 comments

The best non-geometric interpretation of complex numbers is algebraic closure, IMO. Basically, mathematicians invent new kinds of numbers when they want to do things and have the result of the operation always be a number. Adding and multiplying natural numbers gets you a natural number. Subtraction on integers yields integers. Division for rational numbers. Infinite series for real numbers. And factoring all polynomials is the raison d'etre for complex numbers.
A complex number is a “complex” consisting of a scalar part (“real” or “parallel” number) and a bivector part (“imaginary” or “perpendicular” number) complected together into one single object.

IMO the best way to think of it is as the quotient or ratio between two arbitrary vectors T = v/u in a Euclidean vector space. Or equivalently, as a type of mathematical operator which you can apply (by multiplication on the left) to one vector u to produce another vector v, i.e. Tu = (v/u)u = v. This operator T will scale and rotate any other vector in the plane spanned by your two vectors u and v in the same way.

http://geocalc.clas.asu.edu/pdf/OerstedMedalLecture.pdf http://geocalc.clas.asu.edu/pdf/GrassmannsVision.pdf

(first, I second ThrustVectoring's comment about algebraic closure. That's a key part of understanding complex numbers)

I recommend reading this[1] article. I found it very enlightening about why complex numbers are useful.

[1] https://acko.net/blog/how-to-fold-a-julia-fractal/

edit: Warning - [1] requires WebGL.

>e^(pi*i)+1=0

fixed, otherwise e^pi would be trivially wrong