Introduction

Why Linear Algebra?

Linear algebra is the mathematics of vectors and matrices — the language of machine learning, computer graphics, scientific computing, and data analysis. Every neural network, every 3D game, every recommendation system is built on it.

  • Machine Learning — gradient descent, PCA, SVD, attention in transformers
  • Computer Graphics — transformations, projections, shading
  • Data Science — dimensionality reduction, regression, covariance
  • Physics Simulations — systems of differential equations
  • Cryptography — lattice-based cryptography is pure linear algebra

Why NumPy and SymPy?

NumPy gives you fast numerical linear algebra:

  • Vectors and matrices as np.array
  • np.dot, np.linalg.solve, np.linalg.eig — all backed by LAPACK and BLAS
  • Runs at C speed on arrays of millions of values

SymPy gives you exact symbolic algebra with beautiful rendering:

  • Symbols, expressions, equations — no floating point error
  • sympy.pprint() renders equations as Unicode art in your terminal:
 ⎡1  2⎤           2
 ⎢    ⎥   (x + 1)
 ⎣3  4⎦

Together, they cover both the computational and symbolic sides of linear algebra.

What You Will Learn

This course contains 15 lessons organized into 4 chapters:

  1. Vectors — Create NumPy vectors, perform element-wise operations, compute dot products, and normalize with the L2 norm.
  2. Matrices — Build 2D matrices, apply transpose, multiply with the @ operator, and compute determinants.
  3. Linear Systems — Test invertibility, solve Ax = b with np.linalg.solve, find eigenvalues, and fit lines with least squares.
  4. Symbolic Math — Use SymPy to factor polynomials, solve equations exactly, and render expressions as beautiful Unicode math.

Let's compute.

Next →