Linear Algebra
Across many different fields, we face problems that need to be modeled, analyzed, and solved. These problems might involve electrical currents in electrical engineering, stresses and forces in mechanical engineering, sound waves in physics, images in computer vision, and, most importantly for us, machine learning.
Now imagine having a single language, a single set of tools, that allows us to work with all of these problems in a unified way. That language is linear algebra. Linear algebra gives us a framework for translating complex real-world systems into mathematical objects we can manipulate, analyze, and ultimately solve using well-defined calculations.
The power of linear algebra comes from how general it is. The same concepts apply across many domains, which is why it shows up everywhere. The downside of this generality is that the definitions can feel abstract or unintuitive at first. To address this, we’ll always connect abstract definitions to concrete examples, such as lists of numbers, tables of data, and geometric interpretations using arrows in space, so that strong intuition develops alongside formal understanding.
Formally speaking, linear algebra is the study of linear transformations on finite-dimensional vector spaces. While that may sound intimidating right now, there’s no need to worry. We’ll build everything from the ground up, starting with simple ideas and gradually layering on more powerful concepts. Each new idea will act like an upgrade, expanding the kinds of problems we’re able to tackle.
This course is organized into five parts, each made up of several chapters. Each new part builds on what came before it, gradually adding new ideas and features to the basics we start with. Everything is introduced step by step, so even if you have a limited background in math, you should be able to follow along without trouble.
Each chapter starts with a guiding question, which is then explored throughout the chapter, along with a brief overview of what will be covered. At the end of every chapter, there’s a short summary that highlights the most important points, making it easy to review or refresh your understanding.
This course brings together the abstract mathematical view of linear algebra with the matrix-based perspective that is most relevant for computer scientists—myself included. Looking only at matrices, bases, and coordinates doesn’t fully reveal the true power of linear algebra, while focusing solely on abstract definitions can feel unintuitive and intimidating.
In this course, I aim to strike a balance between these two extremes. I highlight the key mathematical definitions and theorems, explain what they mean and how they work, but without diving into formal proofs or derivations. Instead, I include practical algorithm implementations that I find especially relevant. For those who want to explore a topic in more depth, I’ve also included references to the sources I used to build this course.
Now, let’s begin at the foundation.