Re:Matrix Multiplication
by snovv_crash on Friday November 25, 2016 @11:39AM
(#13037886)
I really like that. And matrix * matrix would just have to be 3D, with a whole cube of taps. Sure, not easy to illustrate, but the concept extends well. It also makes it more obvious what the complexity of the operation is.
Actually the complexity of matrix multiplication is not known. Current best is n^2.37
There is a proven lower bound [1], though.
Re:Matrix Multiplication
by justinpombrio on Friday November 25, 2016 @11:56AM
(#13038017)
In a little more detail:
Look at the animation in the article, after the second matrix has been rotated and put on top of the first one. Then flip its top up so the two matrices are orthogonal. Finally, rotate the whole thing 90 degrees to the left (rotating along the axis that goes from the top of the page to the bottom of the page). Now you can see that the result will be a 2x3 matrix. And the values in each spot will be the sum of the products beneath it.
Re:Matrix Multiplication
by sudoscript on Saturday November 26, 2016 @12:32AM
(#13041884)
That's pretty cool. For me, everything changed when I started thinking in terms of column spaces and linear transformations. Matrices are not just a series of multiplications and additions. They describe so much more.
The point then is that the taps (again, representing the matrix values) determine how much of each item in the input vector, that should be mixed into each item in the output vector.
This analogy has the limitation that the taps are allowed to enhance the flow, not just limit it, like physical taps would. That is, outputting more than 100% of the input :P Also, while this way of illustrating it may make some sense for matrix * vector multiplication, matrix * matrix would probably become a prohibitively cluttered image.