Prerequisites
Linear algebra has a reputation for being intimidating, but the truth is that it needs surprisingly little before you start. You do not need to have seen vectors, matrices, or any linear algebra at all — that is the whole point of the book, and we build every idea from the ground up. What you do need is a certain comfort with the kind of thinking that earlier math courses develop. Here is exactly what that means.
What you need
One semester of calculus — as a maturity signal, not a tool. This surprises people, so let us be clear about it. Linear algebra uses almost no calculus. You will not be taking many derivatives or evaluating many integrals in these pages; the handful of places they appear (a Fourier coefficient here, a covariance there) are explained as they come up. We ask for a semester of calculus not because you will use it, but because of what surviving it tells us: that you are comfortable manipulating symbols, following a multi-step argument, and sitting with an abstract definition until it makes sense. That mathematical maturity is the real prerequisite. If you have it from some other source, you will be fine without the calculus.
Comfort with algebra. You should be at ease with the ordinary machinery of high-school and early-college algebra: solving a system of two equations in two unknowns, manipulating expressions with variables, factoring a quadratic, working with exponents and fractions, and rearranging equations to isolate a variable. Much of linear algebra is, at the level of computation, organized bookkeeping of exactly these operations across many variables at once. If $3x + 2y = 7$ does not faze you, you have what you need.
Coordinate geometry. You should be able to plot a point in the $xy$-plane, recognize the equation of a line, and picture what a line or a plane looks like in space. Geometry is the first way we present every idea in this book — vectors as arrows, transformations as motions of the plane, a system of equations as intersecting lines — so being able to draw and read simple pictures in two and three dimensions matters more here than in most math courses. You do not need any formal geometry course; you need to be able to think visually about points, lines, and planes.
Basic Python. This book demonstrates every concept with short pieces of Python using the numpy library. To follow and run that code, you should know the basics of the language: variables, for and while loops, if statements, defining and calling functions, and working with lists. You should be comfortable running a script or a notebook cell and reading its printed output. A little familiarity with numpy itself — creating an array with np.array([...]), indexing it, and doing arithmetic on it — is helpful but not required; we introduce what we use, and Appendix C walks you through installation and the first steps.
One small thing to file away now, because it will trip you up otherwise: mathematics counts from 1, but Python counts from 0. When the math writes the first component of a vector as $v_1$, the corresponding numpy code is v[0]. We will remind you the first time this matters in each chapter, but it is worth knowing from the start.
What you do NOT need
You do not need any prior exposure to linear algebra, vectors, matrices, determinants, or eigenvalues. You do not need multivariable calculus, differential equations, or proof-writing experience — the book teaches you to read and write proofs as it goes, and the most proof-heavy material is clearly marked so you can engage with it at the depth that suits your goals. You do not need to be a strong programmer; if you can write a loop and call a function, the code in this book is within your reach.
A quick self-check
Run through this list. If you can comfortably answer each item, you are ready to start Chapter 1. If a few give you trouble, that is fine — note them, and see the pointers below.
- [ ] Can you solve the system $\;2x + y = 5,\;\; x - y = 1\;$ for $x$ and $y$?
- [ ] Can you plot the points $(2, 3)$ and $(-1, 4)$ on a grid, and sketch the line $y = 2x - 1$?
- [ ] Can you expand $(x + 3)(x - 2)$ and factor $x^2 - 5x + 6$?
- [ ] Can you rearrange $3a + 2b = c$ to solve for $a$?
- [ ] In Python, can you write a loop that adds up the numbers in a list and prints the total?
- [ ] Can you read this and predict what it prints?
python def f(n): total = 0 for k in range(n): # k goes 0, 1, ..., n-1 total = total + k return total print(f(4)) # prints 6 (0 + 1 + 2 + 3)
If most of these felt routine, you are well-prepared. If you breezed through the math but the Python gave you pause — or vice versa — you can still start; just lean a little harder on the relevant appendix.
Where to brush up
You do not need to fix every gap before Chapter 1; you can fill them in as you go. But two appendices exist precisely for this purpose:
- Appendix A — Prerequisite Math Review. A focused refresher on the algebra, coordinate geometry, functions, and the small amount of trigonometry and complex-number arithmetic the book leans on. If any of the math self-check items felt shaky, start here.
- Appendix C — Python and
numpySetup. Step-by-step installation (Python,numpy,scipy,matplotlib), how to run the examples in a script or a Jupyter notebook, and a gentle on-ramp to thenumpyoperations the book uses most. If the code self-check gave you pause, start here.
That is the whole list of prerequisites. The barrier to entry is low on purpose — the difficulty in linear algebra comes from the ideas, not from the background you need to begin. If you can solve a simple system of equations, sketch a line, and write a Python loop, you are ready. Turn to Chapter 1.