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:
- Vectors — Create NumPy vectors, perform element-wise operations, compute dot products, and normalize with the L2 norm.
- Matrices — Build 2D matrices, apply transpose, multiply with the
@operator, and compute determinants. - Linear Systems — Test invertibility, solve
Ax = bwithnp.linalg.solve, find eigenvalues, and fit lines with least squares. - Symbolic Math — Use SymPy to factor polynomials, solve equations exactly, and render expressions as beautiful Unicode math.
Let's compute.