If I had a dollar for every explanation of complex numbers that is basically just "A complex number is a real number plus an imaginary component, where i = sqrt(1)" I would almost have enough money to go back to uni and study math. It's far enough through the curriculum that most people get through the class by symbolic pattern matching and algorithmic question-answering rather than actual understanding (I studied EE), and I am pretty certain that even most (note, most) professors only really understand them as a quirky trick of our mathematical system. Ask them to explain it in English, not just as a mathematical definition, they all seem to come unstuck.
This old but very good lecture series really helped me - I can at least accept that complex numbers are not some ficticious hack now - but I confess I still dont have an intuitive grasp of complex numbers.
My definition of complex numbers : 2D points with multiplication such as you multiply their polar radius and add their polar angle (https://en.wikipedia.org/wiki/Polar_coordinate_system) and normal vector addition. (You can find back i=sqrt(-1) and all complex numbers properties / theorems after that of course)
This video is FANTASTIC. Thank you so much. First time I've ever see someone draw what the imaginary number is conceptually! Also seeing a 4 dime sional vector space defined in R2 blew my mind. Thankyou.
I am an EE and our complex analysis class definitely did define complex numbers "rigorously" (in the usual R^2 with multiplication -> wow, it's a field way, none of the fancy algebraic closure stuff).
However, later I spoke with some of my classmates and it turned out that this left absolutely zero impression on them and they still believed that "we define i to be sqrt(-1)" high school rubbish...
Thank you for the feedback. That is a very valid complaint and one that is hard to avoid because the complex numbers are basically derived by trying to solve equations like x^2 + 1 = 0. It may be a bit more geometrically intuitive to describe complex numbers as a system of making 2D vectors work with multiplication and division which I sort of touch on later. The explanation is there to provide a brief overview and support the following visualizations, but I will see if I can improve that section.
I didnt really intend it as personal feedback for your post, its as much about my failure to understand as it is the explanations. If its useful to you then great, but on the flip side, dont take it too much to heart :)
> a complex number is a point in the plane (in the same way as a real number is a point in a straight line)
More accurately: a complex number is not a point in the plane (in the same way as a real number is not a point in a straight line)
Given a line and an arbitrary selection of a 0-point and positive direction, you can map between real numbers and points on the line, and you can do a similar thing with complex numbers and points on a plane (which requires separate selection of positive directions for the real and complex axes.)
But real numbers aren't points on a line, and complex numbers aren't points on a plane.
While it is true that 2 real numbers can determine both a complex number and a point in plane and it is also true that 1 real number can determine both a real number and a point in a straight line, these are different mathematical things.
The correct view is that the real numbers, also known as scalars, are quotients of 1-dimensional vectors, while the complex numbers are quotients of 2-dimensional vectors.
This means that given two 1-dimensional vectors, the second being non-null, there is always a real number by which you can multiply the second vector to obtain the first vector.
The same for two 2-dimensional vectors and a complex number. In this case the magnitude of the complex number changes the magnitude of the vector, while the phase rotates the vector.
When you understand this fact about complex numbers, than it becomes obvious that the imaginary unit is not imaginary but just a rotation with a right angle and it is trivial that its square, i.e. a rotation with 180 degrees is equivalent with a multiplication by -1.
The point are a third, different kind of mathematical entities, distinct from both real & complex numbers and from vectors.
In fact points (i.e. members of 1-dimensional, 2-dimensional and so on affine spaces) are the primitive objects.
From points you can define the vectors as differences of points (i,e, translations). Then from vectors you can define real numbers, complex numbers, quaternions and higher-dimensional matrices as quotients of vectors.
(Such definitions define e.g. a 2-dimensional vector as a class of equivalence of pairs of points in plane that are transformed into each other by a translation, and a complex number as a class of equivalence of pairs of 2-dimensional vectors which are transformed into each other by a proportional change in magnitude and a rotation with a fixed angle.)
Obviously, my explanation here is very simplified, but it is useful to be aware that e.g. a point in plane, a 2-dimensional vector and a complex number are 3 very different kinds of mathematical objects, even if all 3 are determined by a pair of real numbers.
They are very different because the set of operations that can be applied to each is different. For example only the complex numbers are members of a field. You can add 2-dimensional vectors (i.e. compose 2 translations), but you cannot add 2 points from a plane.
Sorry, there were a couple of typos in the reply above.
I want just to clarify more the last 2 sentences for those less familiar with mathematical jargon. The reference the the field of the complex numbers means that you can multiply 2 complex numbers, i.e. compose 2 geometric transformations consisting of scaling + rotation. You cannot multiply neither two 2-dimensional vectors nor two points.
In conclusion, in a programming language one should have different data types for points, vectors and complex numbers, because each type allows different operations and attempting to pass them as arguments to an inappropriate function should be an error.
Exactly as I have written above, a 1D vector is the difference between 2 points on a straight line.
In most mathematical handbooks it is now traditional to define first the real numbers deriving them from integer numbers, via rational numbers, without any geometric interpretations, then to define the straight line and the mapping between the real numbers and the straight line. Then usually the vectors are derived from tuples of real numbers.
I believe that this methodology is very wrong because it occults the real meaning and usefulness of vectors, real numbers, complex numbers and of many other important mathematical entities. This sequence of the derivations of the main mathematical objects leads to many confusions and mistakes and it also does not correspond with the historical development of mathematics, where the real numbers, that is the "measures", as they were initially called, were indeed obtained since the earliest times as quotients of differences between points, i.e. as quotients of vectors (e.g. the quotient between a measured length and a standard length, e.g. a foot), and not as some limits of rational sequences.
It is perfectly possible and much clearer in my opinion, to start from axioms of the affine spaces (i.e. the spaces of points) and to derive the real numbers (and everything else in geometry) from that.
The result that the real numbers correspond to limits of rational sequences is very important in practice, but it is not the motivation for the introduction of real numbers. Why would you believe a priori that the limits of rational number sequences are of any interest for you?
The points are interesting, because they model your environment. Then the vectors and then the real numbers, complex numbers, matrices etc. become interesting to be able to model the geometric transformations of the points.
> What does it mean to multiply two points in the plane? You still need an additional rule for that.
yes, you do. I was answering the question of what complex numbers are. There are many things that you can do with them, that you need to define separately.
Hmm, I tend to think that what one can do with some objects is an essential part of what they are.
Two-dimensional vectors can just as well be thought of as points in the plane. What sets complex numbers apart is eg that we define complex multiplication of them.
A more general example: a group is not just some set G, but that set with a binary operation satisfying certain axioms.
The images are missing a way to identify zeroes and poles. Here are my takes on this subject with this shader "Complex Maps" https://www.shadertoy.com/view/Ms2Bz3
www.visual.wegert.com is beautiful yearly calendar of visualizations of Complex functions. There is also an entire book devoted to exploring C.A. using visualization.
This old but very good lecture series really helped me - I can at least accept that complex numbers are not some ficticious hack now - but I confess I still dont have an intuitive grasp of complex numbers.
https://youtu.be/BOx8LRyr8mU