Why is matrix multiplication defined the way it is?
When I first learned about it, the formula seemed too complicated and counter-intuitive! I wondered, why not just multiply elements at the same position together?
Let me explain why!
↓ A thread. ↓
1/11
First, let's see how to make sense of matrix multiplication!
The elements of the product are calculated by multiplying rows of 𝐴 with columns of 𝐵.
It is not trivial at all why this is the way. 🤔
To understand, let's talk about what matrices really are!
2/11
Matrices are just representations of linear transformations: mappings between vector spaces that are interchangeable with addition and scalar multiplication.
Let's dig a bit deeper to see why are matrices and linear transformations are (almost) the same!
3/11
The first thing to note is that every vector space has a basis, which can be used to uniquely express every vector as their linear combination.
4/11
The simplest example is probably the standard basis in the 𝑛-dimensional real Euclidean space.
(Or, with less fancy words, in 𝐑ⁿ, where 𝐑 denotes the set of real numbers.)
5/11
Why is this good for us? 🤔
💡 Because a linear transformation is determined by its behavior on basis vectors! 💡
If we know the image of the basis vectors, we can calculate the image of every vector, as I show below.
6/11
Because the image of a basis vector is just another vector in our vector space, it can also be expressed as the basis vectors' linear combination.
💡 These coefficients are the elements of the transformation's matrix! 💡
(The image of 𝑗-th basis gives the 𝑗-th column.)
7/11
So, let's recap!
For any linear transformation, there is a matrix such that the transformation itself corresponds to the multiplication with that matrix.
What is the equivalent of matrix multiplication in the language of linear transformations?
8/11
Function composition!
(Keep in mind that a linear transformation is a function, just mapping vectors to vectors.)
9/11
💡 Multiplication of matrices is just the composition of the corresponding linear transforms! 💡
This is why matrix multiplication is defined the way it is.
10/11
Having a deep understanding of math will make you a better engineer. I want to help you with this, so I am writing a comprehensive book about the subject.
If you are interested in the details and beauties of math, check out the early access!
A concise guide from zero to one. 100% knowledge, 0% fluff. 🠓
1/13
Functions, the central objects of mathematics and computer science, are just mappings of inputs to outputs.
A convenient (albeit quite imprecise) way to define them is to describe their effect. An explicit formula is often available, which we can translate to code.
2/13
However, giving an explicit formula is not always easy or possible.
For instance, can you calculate the number of ways we can order a deck of n cards by shuffling its cards?
The single best way to get into machine learning is to build something with it.
Here is an extensive list of hands-on projects that you can start right now. Take inspiration, learn tools, and find the topics you are passionate about.
Read on and go create something awesome. ↓
I am grouping the projects into the following categories.
These hands-on projects work the best when you
• follow along and do the coding as well,
• understand why and how things work,
• and try to bring what you built to the next level.