Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The pretty animations are nice, and the ability to manipulate the vectors is very nice; however, I am sorry to say (and I do not mean this negatively) that there's not much "explanation".

The first sentence just describes the utility of the Eigens (so no explanation there). The next lays out the setting for the diagram. And the third says, "if we can do X, then v is an eigenvector and \lambda an eigenvalue". But... what if you can't do "X" ? What if v, (0,0) and Av are not colinear?

The skeleton of a great explanation is there, but the meat isn't there yet. A few more sentences would go a long way in making this better.

I appreciate the OP's effort, and I hope this will come across as constructive criticism.



WRITE THOSE SENTENCES! Don't leave us hanging!


My take:

The eigenvectors are the “axes” of the transformation represented by the matrix.

Consider spinning a globe (the universe of vectors): every location faces a new direction, except the poles.

An “eigenvector” is an input that doesn’t change direction when it’s run through the matrix (it points “along the axis”). And although the direction doesn’t change, the size might. The eigenvalue is the amount the eigenvector is scaled up or down when going through the matrix.

(Shameless plug, more here: http://betterexplained.com/articles/linear-algebra-guide/)


Be careful using this to interpret complex eigenvalues, though! (One could argue that a complex eigenvector points along the same complex axis, but that probably doesn't help much to understand the eigenvalues of a real matrix like ( ( 0 1 ) ( 1 0 ) ).)


Who says ((0 1) (1 0)) is a real matrix? It's a complex matrix whose entries all happen to have 0 as the value of their imaginary part :)


I didn't say that it isn't complex, only that it is real—and as such can be visualised as a transformation of the real plane, in which context one might still strive to understand its (complex) eigendecomposition.


What's a kernel?


http://en.wikipedia.org/wiki/Kernel_%28linear_algebra%29

If you have a linear transformation from one vector space to another, the kernel is the part of the domain that maps to the zero vector in the range. Intuitively, if you have a function that satisfies certain properties, the kernel is the part that it collapses to "zero".


This from wikipedia is where it started to click for me:

"In the 18th century Euler studied the rotational motion of a rigid body and discovered the importance of the principal axes. Lagrange realized that the principal axes are the eigenvectors of the inertia matrix".

So the eigenvectors are like the directions that describe position of an airplane: roll pitch and yaw.


This point of view was used in a recent HN post: https://news.ycombinator.com/item?id=8904089 .


Matrices represent linear transformations of spaces as described in the article. Not all matrices are well-behaved however. We'll talk first about diagonalizable matrices.

A diagonalizable matrix is a matrix which functions much like a diagonal one—one which is non-zero only on its diagonal. To consider a small example, multiplying an arbitrary 3-dimensional vector by a 3x3 diagonal matrix

    [ x1          [ b1 0  0            [ x1 * b1
      x2     *      0  b2 0       =      x2 * b2
      x3 ]          0  0  b3 ]           x3 * b3 ]
What we observe is that a diagonal matrix affects each element of the vector independently. Since a vector represented as a list of numbers merely reads out how "far along" the vector is with each basis vector of the space, this means that a diagonal matrix merely "stretches" vectors along the space's bases.

It's important to remember that vectors do not have a canonical representation. The vector [1 2 3] might be equivalent to [3 2 1]---we could simply be changing the bases, in this case by rearrangement. With this intuition in hand, (most) diagonalizable matrices are merely diagonal matrices in some other basis.

A diagonal matrix M is thus one such that there exists two matrices A and P such that M = P A inv(P) where A is diagonal and P corresponds to a "rotation". In other words, to act upon a vector x by M, to compute Mx, we first rotate with inv(P), apply a basis scaling, and then rotate back with P---we've effectively "stretched" the vector along a different basis.

If you think carefully about it, vectors which already lie along that "other" basis will be purely scaled, affected by only one component of the diagonal matrix. This satisfies the definition of eigenvector and the corresponding diagonal entry of A is the eigenvalue.

---

So far this has been a description of "nice" matrices---nice linear transforms which can be fully described by scaling (or reflecting, consider a negative eigenvalue) along some choice of basis which may or may not be the one we're currently writing our vectors in. Matrices which are not "nice" are called "defective". We might call non-square matrices defective (since a diagonal along a rectangle doesn't "go all the way").

Defective matrices still have eigenvalues and eigenvectors, but they are non-unique or incomplete in some way that makes the transformation "confusable". In particular, there may be multiple decompositions M = P A inv(P) which all work. Or none at all. As a very simple example, consider

http://www.wolframalpha.com/input/?i=eigensystem+of+%7B%7B1%...

technically (0, 0) isn't an eigenvector---for this matrix there is only one eigenvector and so it can't "scale" in two dimensions as it would need to in order to fit the intuition laid out above.

---

Defective matrices are rare. If you pick a random matrix it is highly unlikely (almost impossible) to be defective. Instead, you can think of these are ones where things line up "just right" to eliminate some information.

Geometrically, what occurs is that a defective matrix "shears" the space. Since we cannot describe a shearing motion in terms of a rotation+scaling+reflection then we no longer get the simple eigenvalue picture above.

---

It's worth noting that you can go quite far without leaving the world of matrices which have nice or mostly nice diagonalizations. As stated, random matrices are nearly always diagonalizable. You're more likely to see them in graph theory where structures of certain graphs induce "shearing".

That said, defective matrices can be nice still. For instance, diagonalizability is not necessary for invertibility---shearing transformations can be invertible. That's still a very "nice" matrix.

To consider this further, think about what happens to a diagonalizable matrix if you take one of the eigenvalues to 0. Suddenly, one "axis" of the stretch merely compresses all information away. We're now non-invertible.


I really like your explanation of diagonalizable matrices! I've always seen explanations of how to determine if a matrix is diagonalizable, but hadn't run across the idea that they are just scaled diagonal matrices for a different basis.


I'm glad it's useful!


One piece of information that helped me understand eigenvectors and values was to learn that eigen is a German word meaning own as in characteristic or distinct.


"But... what if you can't do 'X' ? What if v, (0,0) and Av are not colinear?"

That's the point of the simulation -- to wiggle things and see what happens. You drag stuff in and out of colinearity on the third one down and see how repeated steps get pulled along the eigenspace, getting your steady state (I'd love to see an example using these sims to explain underdamped/overdamped systems).

I think the meat isn't in the words, but in the play.


> That's the point of the simulation -- to wiggle things and see what happens.

Unfortunately, playing with the inputs to the simulation does not reveal to me any simple mental model of what's happening. About all I can figure out from the simulation is that the X- and Y- coordinates of each input and output are correlated (if I move a2 to the right, Av will move to the right, and so on). The relationship between A1, A2 and S1, S2 are not clear to me.

I have to agree with the parent that it doesn't explain much. It only states things and allows you to visualize the mathematical consequences. The visualization however does not assist me in understanding the model. I'm limited to understanding it from the pure mathematics.

A core part of explanation is allowing people to tie new knowledge to existing knowledge. Visualizations can be helpful because they allow people to take advantage of the inherent human visual system. For example, you might demonstrate how matrices can be used to transform object coordinates in a 3D system by displaying a 3D cube and allowing people to fiddle with the parameters. You could provide individual controls for translation and pitch/yaw/roll and show how those feed into matrix cells. By dragging one parameter, a person would see the cube begin to rotate, for example. That's an example of the kind of intuitive explanation that this page is missing; I can't connect the visualizations to any preexisting mental model of what should be happening.


True, but it doesn't supply the analytical tools so that you can find the correct A to produce an eigenvector without iteration to reduce error. Having said that you can reduce the linear system by hand if you are reasonably au fait with matricies etc and derive it yourself; but I suspect this "tutorial" is probably most beneficial for those who are struggling, i.e. the very people who wouldn't be able to leap to a solution on their own.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: