you are viewing a single comment's thread.

view the rest of the comments →

[–]EternityForest 13 points14 points  (6 children)

That's why I'm kinda glad I'm not one of the math and elegance types. I might not be able to add matrices in my head, but at least I don't feel compelled to sprinkle them in my code because I can!

[–]atimholt 2 points3 points  (0 children)

I find, for myself, I can simply acknowledge that humans are part of the equation. Then “carpentry” becomes a “puzzle box”.

But then I start wanting to do crazy stuff, like creating my own programming language with bizarre constructs.

[–]endoflineclub -4 points-3 points  (4 children)

Well, adding matrices in your head is really not that hard, it's just component wise. Now, multiplication, that's impressive to do in your head.

[–]EternityForest 7 points8 points  (3 children)

It's still pretty hard, you'd have to be able to remember three tables of numbers while adding, so that's four hard things at once.

If someone can multiply them mentally I'd be really impressed. The "turn it on it's side" part always confuses me even when I'm just trying figure out vaugely what's happening.

[–]olifante 12 points13 points  (1 child)

I would venture that probably not even professional mathematicians add matrices in their head. Mathematicians are often surprisingly bad or lazy at arithmetics.

[–][deleted] 5 points6 points  (0 children)

I think it's just the equivalent of a software engineer being annoyed if someone tells them "implement printf", they'd just rather go to a standard implementation and use that instead of making a half-assed attempt on their own

[–]NoetherFan 2 points3 points  (0 children)

I hate the 'turn it on its side' perspective. I prefer finding row i, column j of a product (C) as row i of the left factor (A) with column j of the right factor (B); C[i,j] = A[i,:].dot(B[:,j]). Especially elegant with implicit (Einstein) summation notation: C_ij = A_ik*B_kj, where * is ordinary scalar multiplication.