Loading editor...

0. Introduction

Linear algebra stands today as the epitome of accessible yet powerful mathematical theory. It has many appealing facets which radiate in different directions.

Alan Tucker

Linear algebra is one of the most useful topics you will ever learn if you work in technology. It is a foundational skill for areas like scientific computing and machine learning. It also sets the stage to build more sophisticated ideas in applied and pure sciences.


What can one do with it

Linear Algebra provides a powerful set of problem-solving tools. By mastering it and integrating it with programming, one will gain invaluable problem-solving skills that can be applied in a multitude of real-world scenarios.

There is a pervasive belief in the scientific (and maybe philosophical?) community that we look at the world through the lens of linearity. We know how to solve linear problems, and we solve a non-linear problem by approximating it to a linear problem. Linear algebra is the mathematical machinery that powers this lens.

It also forms the bedrock of modern computing and AI. The software behind it has an impressive amount of engineering ingenuity the enables efficiently implementing matrix calculus and calculating matrix products at scale.


Prerequisites

  • You are expected to be familiar with basic geometry and trigonometry.
  • If you understand simple code snippets in Python, that will help a lot. If you cannot, you can just ignore the code snippets and move on.

These code snippets serve as an additional tool for explanation. There is no explanation on how the code is written. For example, the following code snippet illustrates the iterative aspect of matrix-matrix product:

def get_matrix_matrix_product(left_matrix, right_matrix): 
    return [
        get_matrix_vector_product(left_matrix, column_vector) 
        for column_vector in right_matrix
    ]

If you can understand this code, that's great. But if you can't, you can still rely on plain text and the good old latex.

Some other great resources worth mentioning here are:

  • MIT OCW Course by the legendary Prof. Gilbert Strang: This is without a doubt one of the best courses out there to learn linear algebra. And its totally free of cost.
  • Linear Algebra Done Right by Sheldon Axler: This is a great textbook but it may be a bit overwhelming for an absolute beginner.
  • Essence of Linear Algebra by 3blue1brown: It's a great starting point but it only provides a basic introduction to the topic.

Why this series then?

  • It covers more applied topics and problems like Barycentric co-ordinates, Bezier curves, inverse of transpose of a matrix etc.
  • The digital medium allows using visual aids, animations and an interactive format to convey information in a more engaging and intuitive way.
  • It is fully contained and comprehensive - by the end of this series, you will know enough linear algebra required to become a data scientist.

Visualization and interactivity

Each page has a canvas with an editor at the bottom where one can type out commands. The text will also have commands to draw a simple vector. Clicking on it will run the command in the editor.

The implementation of these commands is fully open source. You can also define your own functions and play with them in the editor using extensions.


1. Weighted means →