6 ms·
I knew linear algebra in high school. I taught myself matrix math because I wanted to make games, and because the most challenging math my lackluster rural publ
by Hydraulix989 10y ago
I knew linear algebra in high school. I taught myself matrix math because I wanted to make games, and because the most challenging math my lackluster rural public high school offered was basic calculus.
My top university's CS program had a linear algebra class that loaded me up with theory though like Hilbert spaces, wavelet transforms, spectral theory, abstract algebra, and of course, principal component analysis (but the latter, along with SVD, is becoming more valuable these days with data science-y type jobs).
It was more concerned with proofs and advanced concepts than applications, which was fine for me, because I already learned the applications in high school because I was bored and self-motivated. The most valuable benefit of learning all of this extra theory to me was learning how to solve problems because doing proofs isn't some algorithm like long division or evaluating a derivative that you can just crunch as a cog-in-the-wheel.
The question is whether all of that extra rigmarole is worth it in my day-to-day development work. The answer to that is "no." Occasionally, I'll borrow some code that does thing X that is tangentially related (like convolution for computer vision and deep learning), but the theory behind it rarely comes in handy because I'm not doing academia or R&D work.
Of course, your usual full stack developer job won't even come close to touching any of this, but if you're doing moonshot type work like self-driving cars, you're going to need all of this theory to really attack the types of unsolved problems you're facing. Those types of jobs are rare, sometimes highly-compensated, and inaccessible to your Hack Reactor grad.
- alkonaut 10y agoLinear algebra is used in even the simplest of games, and almost anything related to cad, computer vision, engineering, ... If the problem is related to web and databases and crap then there is rarely any linear algebra (heck there are rarely even real numbers) but we didn't go to school to work with databases and web forms did we ;) Obviously hilbert spaces might not be useful everywhere but for example, anecdotally I did stumble across one interesting problem already in my first year out of university: A drawing program needed to scale a drawn ellipse in one direction, which wasn't necessarily along one of its axes. Q: is the result an ellipse? What are its axes? A: (I had to ask a friend with better linear algebra skills, which still bugs me): the axes will be given by the eigenvectors of the matrix involved. The math was fairly hairy compared to most other things in a simple drawing program, but it was fun and really rewarding when the math worked.
- Retric 10y agoThere is a tiny fraction of linear algebra that's very useful for most games, but you can pick most of it up over a long weekend. Further taking the class five years ago means you still need that long weekend anyway... Compared to say learning direct X it's a tiny time investment and hardly worth a degree.
- Hydraulix989 10y agoYes, and most of your linear algebra on the field as an engineer consists of plugging numbers into MATLAB and letting it crunch. It's much better for the bottom line if you just use everything out-of-the-box and bolt it together with duct tape and bubble gum. You'll keep your boss happy with your fast progress, and the bean counters will be happy as well.