I was in tears as I left the math building that warm June day. Summer on college campus was relatively quiet, but my mind was clamoring with the noise of theorems and derivations, and proofs drumming away at my confidence. “What have I gotten myself into?” I thought. I had left a good paying job and returned to college after nine years to pursue a master of science degree in mechanical engineering. The very first class I had was Linear Algebra. It was a lot of work re-learning matrices and vectors, moving into linear transformations, determinants, eigenvalues and all their applications. There were times when I didn’t know if I could do it, but I kept at it and looked for ways each day to apply my new knowledge so that it would be interesting and meaningful. Such was the beginning of Linear Algebra for me.
Do you remember the other day when you played a video game, or went to an animated digital movie. How did the movie makers make those complex graphic images look so convincing and real? Perhaps just today you swiped your fingers on a touch pad or touch screen and the photograph you just captured moved or rotated or zoomed at your command. Chances are pretty good that the people who programmed your device used linear algebra or matrix arithmetic to pan, zoom, scale, rotate, or even give depth perspective and reflection to the scene making it look real, like you were really there.
If you think of each point or pixel on the screen as a member of a large array or matrix of vectors (↗: lines with magnitude and direction), then using the rules or theorems of linear algebra you can program all these points to move or change color or take on different shades of grey or even reflect light coming from another point (a.k.a., ray tracing). You can even make one object appear to disappear behind the one in front of it (It’s called “hidden line or object removal”). It’s pretty amazing actually. Suppose one matrix represents an object on your screen, say the eight corners of a cube, and let’s say you throw the cube off a tall building, or at least you want your audience to think it is really being thrown off a building, you can use the laws of physics (classical mechanics) to calculate what a real cube would do as it falls (speed, rotation, trajectory or arc), and then multiply the cube matrix by the speed, rotation, and trajectory pipeline of matrices to get the next frame of the movie, update the pixels on the screen and then repeat the process over and over again forty times per second until the cube hits the ground. But wait, don’t stop there, you can continue the scene as the cube bounces or crushes, or gets stepped on…
Linear Algebra is used in computer graphics, games, chemistry, flying real airplanes, economics, forecasting the weather, data compression (e.g. jpeg), sociology, traffic flow, electrical circuits, and many, many other applications.
During my graduate work, and after, I have used Linear Algebra to write my own computer graphics software, develop mechanical systems to reshape complex surfaces, and many other things. When I create using a computer aided design (CAD) application, I understand what the software is doing when I click the mouse or drag a feature from one point to another. When I sit down to a digitally animated movie, I’m a little distracted from the story because “I know how they do it!” I know how they made all those characters move around and do what they do. Linear Algebra is a powerful tool. No tears anymore, just determination. I still don’t have all the rules memorized; but that’s okay, they’re not hidden. I know where to find them.