HACKER Q&A
📣 belfalas

Best beginner friendly linear algebra book?


Hello all, the title really says it all. Hoping to find a linear algebra book that is friendly for visual learners.

EDIT: thank you all for the great responses!


  👤 isaacimagine Accepted Answer ✓
I enjoyed Linear Algebra Done Wrong [0], to be used in combination with a more traditional textbook, like Linear Algebra and its Applications [1] (which has some good diagrams). I've already seen it mentioned, but I'd like to add that 3b1b's Essence of Linear Algebra [2] videos are well made and make for a good supplementary resource early on.

[0]: https://www.math.brown.edu/streil/papers/LADW/LADW_2017-09-0...

[1]: https://www.amazon.com/Linear-Algebra-Its-Applications-5th/d... — PDFs exist.

[2]: https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2x...


👤 jimhefferon
I have a text at https://hefferon.net/linearalgebra/index.html. It is aimed at beginners. It comes with perhaps two dozen exercises per lecture along with complete worked answers to every question, with videos of the lectures, a lab manual using Sage, and some other ancillaries.

Like others here I recommend 3B1B, which may be what you are looking for visually, but whatever you end up with it is absolutely crucial that you do exercises. Do many of them. It is the only way to get better.


👤 ycdavidsmith
“Introduction to Linear Algebra” by Gilbert Strang is the book. Recommend getting a used older edition as not much has changed.

His course at MIT is legendary, completely available online https://ocw.mit.edu/courses/18-06-linear-algebra-spring-2010...

And there’s so much good linear algebra stuff on YouTube from 3brown1blue.

If you can do one thing now, watch this Veritasium video to disprove the myth that you’re a visual learner: https://youtu.be/rhgwIhB58PA.


👤 gmw
Although it’s not a book, a good series on YouTube is 3Blue1Brown Essence of Linear Algebra. That explains it in a very visual way. That, in addition to Linear Algebra and its applications by Gilbert Strang, would be a strong mix. I would also recommend 3000 solved problems in Linear Algebra by Seymour Lipschutz as a strong foundation in linear algebra requires practice.

👤 haneefmubarak
Personally I liked the No Bullshit Guide to Linear Algebra. It kind of builds up things slowly and in a conversational manner, but you can also skip thru pretty quickly if you just need a reference.

I don't think I've been able to find any particularly good visual LinAlg books - most of what you're trying to achieve is actually quite abstract and I found the classic books a little confusing.

As an addendum - if you live stateside, classes at community colleges may be quite inexpensive and fairly approachable.


👤 tptacek
This video about "learning styles" and the idea that there's no such thing as a "visual learner" is all over the thread:

https://www.youtube.com/watch?v=rhgwIhB58PA&feature=youtu.be

It's worth calling out that the video itself doesn't support some of the blunt arguments being made here. The point of the video is that it's likely that everyone does better with a multimodal approach. It thus remains reasonable to seek out books that do a good job with visual representations! No visual components, or, worse, bad diagrams are, according to the video, an impediment to everyone, not just people who have used a disfavored term in their Ask HN question. :)

I like 3Blue1Brown as much as everyone else, it's an achievement and kind of a joy to watch, but my experience was that, after many go-rounds over the years, the thing that made any of this actually stick was doing exercises. I tend to bang the less abstract ones out in Sage: https://www.sagemath.org (you have to do a little bit of extra work to make sure Sage isn't doing too much of the work for you.

I'm a fan of Strang's approach. But I'm bad at linear algebra, so, grain of salt.


👤 saeranv
I wouldn't reccomend Strang's "Introduction to Linear Algebra" textbook to a beginner. Strang has a very odd, dense way of writing, often with references to material that has yet to be introduced. I think this is a consequence of it's intended use as an aid to his lectures, and can't really stand on its own. The goodreads reviews on the textbook seems to share my opinion: https://www.goodreads.com/book/show/179700.Introduction_to_L...

I think it's great for an intermediate student, or someone who's also watching Strang's lectures.


👤 whatsakandr
Highly recommend 3blue1brown's essence of linear algebra playlist as a supplement to anything you do. I "knew" linear before watching this playlist, now I know it. Link: https://youtube.com/playlist?list=PL0-GT3co4r2y2YErbmuJw2L5t...

👤 dragontamer
Why are you trying to learn linear algebra?

This is highly important. Linear algebra is applicable to so many fields, but learning linear algebra for say... Graphics Programmers, is a completely different feel from learning linear algebra for an Electrical Engineer Signals-and-systems engineer.

Graphics programmers largely need to learn "how to use" matricies. Emphasis on associative properties. Emphasis on non-communitive operations.

In contrast, Electrical Engineers / Signals-and-systems want to learn linear-algebra as a stepping stone to differential calculus. In this case, you're going to be focusing more on eigen-values, spring-mass systems / resonant frequencies, applicability to calculus and other tidbits (how linear algebra relates to the Fourier Transform).

----------

The graphics programmer (probably) doesn't need to learn eigenvalues. So any textbook written as "linear algebra for graphics programmers" can safely skip over that.

The electrical engineer however needs all of this other stuff as "part" of the linear algebra class.

I'm sure other fields (statistics, error-correction codes/galois fields, abstract algebra, etc. etc.) have "their own ways" of teaching linear algebra that is most applicable to them.

Yes, "linear algebra" is broadly applicable. But instead of trying to "learn all of it", you should instead focus on the "bits of linear algebra that is most applicable to the problems you face". That shrinks down the field, increases the "pragmatism" of your studies.

Later, when you're more familiar with "some bits" of linear algebra, you can then take the next step of generalizing off of your "seed knowledge".

--------

I personally never was able to learn linear algebra from a linear algebra book.

Instead, I relearned linear algebra 4 or 5 times as the "basis" of other maths I've learned. I learned it for differential calculus. I relearned linear algebra for signals. I relearned linear algebra for Galois fields/CRC-codes/Reed Solomon. I relearned linear algebra for graphics.

Yes, it seems inefficient, but I think my "focus" isn't strong enough to just study it in the abstract. I needed to see the "applicable" practice to encourage myself to learn. Besides, each time you "relearn" linear algebra, its a lot faster than the last time.


👤 photochemsyn
I'll recommend Linear Algebra: A Modern Introduction by David Poole (which I picked up rather randomly in a library clearance sale for $2). It tackles most subjects from both algebraic and geometric perspectives, so from the visual aspect it might fit. What's particularly useful about it relative to HN is it leans into computational applications pretty heavily.

For example, if some particular method is computationally efficient relative to others, the text makes a note of it, and has lots of computational examples. Most of the examples could be set up fairly straightforwardly with something like a Python notebook and Numpy for matrices. It also covers things like computational errors wrt floating-point operations when doing vector and matrix calculations, efficient algorithms for approximating eigenvalues of a matrix, etc.

And!, the full text is available on archive.org with a free account:

https://archive.org/details/linearalgebramod0000pool


👤 krosaen
Strang has a newer book aimed at being more approachable and tying in a preview of deep learning and other modern topics. I like it a lot.

“Linear Algebra for Everyone”

https://math.mit.edu/~gs/everyone/


👤 bajsejohannes
I really liked Linear Algebra And Its Applications by David C Lay, although it seems that more people dislike it. I believe it's a pretty common book for college intro courses. It does illustrate everything pretty well if I remember correctly.

Perhaps a game development book is even more visual? I haven't read it (yet), but this book is getting recommendations: https://gamemath.com/book/


👤 throwaway81523
I liked Hirsch and Smale's old book called something like "Linear algebra, differential equations, and dynamical systems". It is now replaced by an expanded edition with a 3rd author added and a longer title, that I expect is also good, though I haven't looked at it.

I don't know if the H&S book is beginner friendly, but what I found good about it was studying linear algebra and differential equations at the same time, i.e. treating them as closely related topics rather than separate ones. So you could use your physical intuition about (say) a harmonic oscillator (mass on a spring, the archetypal second order ODE), then see how the 2nd order equation can be separated into a system of first order ODE's, and solved by finding matrix eigenvalues.

That worked better for me than the abstract linear algebra approach that was purely about vector spaces with nothing going on in them. It showed real sensible motivations of linear algebra.


👤 FastMonkey
3blue1brown is fantastic. Every once in a while I'll be like "what is the intuition behind determinants again?", and boom, there's a thoughtful and concise video on it.

However, there's no magic bullet that will let you learn linear algebra in a couple of hours. At some point you have to sit down and work to figure it out. The field has university departments researching it, so there's a lot more to it than just multiplying m×p by p×n matrices.

I don't know what you mean exactly by beginner, but assuming you have some level of mathematical maturity, UT Austin has an edx course you can audit for free, "Linear Algebra Foundations to Frontiers", and FastAI also have a pretty good free video series/course on it too.



👤 i-das
Introduction to Applied Linear Algebra – Vectors, Matrices, and Least Squares : https://web.stanford.edu/~boyd/vmls/

👤 ThatGeoGuy
"Linear and Geometric Algebra" by Alan Macdonald.

It's definitely not the norm compared to many of the other listings in this thread but it definitely gave me a better understanding of many algebraic properties and helped build an intuition around spaces, vectors, products, etc.

It doesn't have a ton of graphics, to which you might snub your nose at it (you mentioned visual learning), but the graphics it does have are incredibly useful for building a geometric understanding of what linear algebra concepts map to. The subsection on quaternions and pseudoscalars is one of the best descriptions of such in my experience.


👤 lamename
I've found the "_ for Dummies" series to be quite clear for math. I used Linear Algebra for Dummies to brush up on some concepts recently to solve a problem at work.

👤 rscho
If you want something hands on: "coding the matrix"

👤 aurnik
Fun series on learning practical linear algebra from a robotics engineer: https://youtu.be/FKs1XhlrZDw

I don't remember how I found this guy but watching him feels more like learning from a friend who's extremely knowledgeable about linear algebra rather than sitting in a university course.


👤 jjtheblunt
https://www.amazon.com/Numerical-Linear-Algebra-Lloyd-Trefet...

that book, i think, is fantastic. i was a TA for a graduate (and undergraduate) level course using it in Urbana-Champaign around 25 years ago. It's just a great book.


👤 hn_version_0023
I’d ask a follow-up question of: what are the prerequisites for being able to successfully complete any of these courses/books? I’ve been thinking of doing something similar myself, and am 20 years removed from daily math exercises. Thanks in advance!


👤 boloust
There's many good recommendations for books here. But if you're a developer without much mathematics experience, I think you can harness your dev experience to learn far more efficiently than a standard approach.

Basically, go through the exercises in the book, but use numpy, Julia, MATLAB, or similar. Learn the "Matrix API" back to front.

I've successfully taught a number of devs without a strong mathematics background with this method. The fast feedback loop this approach affords allows a good intuition to be built up very quickly.


👤 axegon_
One which was posted here is an absolute masterpiece if you ask me:

https://news.ycombinator.com/item?id=24892907


👤 gnicholas
Several commenters have mentioned 3B1B and other youtube videos. I'm curious about the suggested ordering: should one watch the videos to get an intuitive sense of things, then proceed with a textbook/practice questions? Or would it be better to struggle through a textbook/problems, and then watch videos to crystalize concepts after you've primed your brain a bit?

I realize the answers will differ for different people/situations, but I'd be curious to know what has or hasn't worked for others.


👤 johnamata
I used a combination of books, and all of them were mentioned in this thread. But the best resource that i've used as a self-learner werent books but udemy courses from a math professor

Hania Uscka-Wehlou: https://www.udemy.com/user/hania-uscka-wehlou/

Great for visual learners: full of colours, highlights relevant parts of the equations, visualisations, etc.


👤 iamcreasy
Did you take any college course on this? In class, I've found Linear Algebra to be confusing as there are many ways to say the same things and ideas are connected to each other like a giant web. I would not be able to follow along if I did not have my instructor who is willing to pause and explain it to me.

I recommend enrolling in a class, explain the instructor about your goal and s/he can find topics and walk you through them.


👤 scott01
Lots of great suggestions here! The original question was probably answered already, but nevertheless I'd like to humbly leave a link to the article “So You Want to Study Mathematics…” by Susan Rigetti [1] — it covers not only linear algebra but other parts of math as well. Quite inspirational, I'd say.

[1]: https://www.susanrigetti.com/math


👤 enhdless
I recommend The Manga Guide to Linear Algebra! I read it the summer before college and their visuals and analogies really helped me grasp basic concepts.

👤 gadrev
I believe I used this back in the day when preparing the LA course at uni, A First Course in Linear Algebra: http://linear.ups.edu/download.html .

Also I'm sure it's been mentioned here already, but the MIT Linear Algebra course by Gilbert Strang was absolutely phenomenal. Really made it click for me.


👤 hgomersall
Linear and Geometric Algebra, by Alan MacDonald.

http://www.faculty.luther.edu/~macdonal/laga/

It's a great and very geometric presentation of linear algebra that takes it through to geometric algebra. A very nice presentation of a coherent set of geometric techniques.


👤 agumonkey
I bought "Linear Algebra with Applications by Gareth Williams" 5th or 6th edition on ebay for 6 bucks. It's very simple and operative (manual matrix calc so you don't stay stuck in fuzzy terminology for too long). It's so easy I'm not even sure it's proper undergrad level. But it deeply unlocked my brain on the topic..

👤 djmips
belfalas you probably feel you don't need another one but this is a great book that is friendly for visual learners (even though apparently they don't exist!)

Practical Linear Algebra - Gerald Farin & Dianne Hansford.

IIRC, the first edition was based on a work designed to educate design workers at a car firm who either didn't have the background or needed shoring up. So from the beginning it was aimed at the common person. It has since been developed over the years to it's current form.

All I know is this book has great illustrations / great analogies and was written in a way that worked _for me_ where other books did not and was a springboard to more advanced texts which as you can tell by the comments there are many. I highly reccomend.

http://www.farinhansford.com/books/pla/


👤 rileytg
I would highly recommend starting with khan academy. it’s pretty visual and worked great for me- a largely visual learner.

👤 trenchgun
Gilbert Strang: Linear Algebra for Everyone

👤 zhamisen
I think you'll enjoy Matrix Analysis and Applied Linear Algebra from Carl Meyer: http://matrixanalysis.com/

Almost every topic is illustrated with an application or illustrative example, and the applications are very interesting.


👤 bmitc
There's a lot of great responses, but I really like Linear Algebra by Harold Edwards. He's an excellent writer and takes an algorithmic approach in his approach. It's pretty short and designed for one-semester, and you could learn a lot from coding the various algorithms.

👤 hprotagonist
Oldie but a goodie: Herb Gross’ stuff stands up.

https://ocw.mit.edu/courses/res-18-008-calculus-revisited-co...


👤 penguin_booze
My recommendation is always Pavel Grinfeld's youtube 3-part playlists, starting from https://www.youtube.com/playlist?list=PLlXfTHzgMRUKXD88IdzS1....

👤 mch82
“Linear Algebra” on Wikibooks may be worth a look (and consider helping to make it better if it’s not useful enough yet) https://en.m.wikibooks.org/wiki/Linear_Algebra

👤 harshreality
Try Singh's _Linear Algebra: Step by Step_, along with youtube.

Higher math tends to be abstract; you can't visualize higher-dimensional linear algebra concepts directly. The standard resources (Strang, Axler, etc) are worth the effort.


👤 nojito
Nothing holds a candle to https://web.stanford.edu/~boyd/vmls/

Applied learning is the best way to learn linear algebra.


👤 FabHK
Not sure whether it's been said, but: there are not shortcuts. Sure, there are somewhat more and somewhat less intuitive texts, but there are no shortcuts. So I somewhat dislike the question.

👤 jerDev
YouTube. Khan academy. There are so many people trying to make a buck with a whiteboard online. Find one that you like ( gender, nationality, accent, whatever works for you ) and then stick to it

👤 gtsnexp
"Linear Algebra done right" by Sheldon Axler. He also has a beautiful series for videos on YouTube that can serve as a companion to the book.

👤 nojs
I remember Linear Algebra and its Applications by David Lay was very approachable and had good visuals. It’s a small book that sticks to the main points.

👤 abxytg
What are you learning for? I'm in the industry learning for work in medical image visualization.

👤 rglullis
Off-topic, I know... but let's not propagate the idea that there is such a thing as "visual learners": https://www.veritasium.com/videos/2021/7/9/the-biggest-myth-...

👤 graycat
I'll get you a start here:

For the graphical part, start with, say, (3,7). Regard that as the coordinates in the standard X-Y coordinate system of a point on the plane. So, the X coordinate is the 3 and the Y coordinate is the 7. You could get out some graph paper and plot the thing. So, more generally, given two numbers x and y, (x,y) is the coordinates of a point in the plane. We call (x,y) a vector and imagine that it is an arrow from the origin to an arrow head at point (x,y). Then we can imagine that we can slide the vector around on the plane, keeping its length and direction the same.

What we did for the plane and X-Y we could do for space with X-Y-Z. So, there a vector would have three coordinates. Ah, call them components.

Now in linear algebra, for a positive integer n, we could have a vector with n components. For geometric intuition, what we saw in X-Y or X-Y-Z is usually enough.

We can let R denote the set of real numbers. Then R^n denotes the set of all of the vectors with n components that are real numbers. Our R^n is the leading example of a vector space. Sometimes it is good to permit the components to be complex numbers, but that is a little advanced. And the components could be elements of some goofy finite field from abstract algebra, but that also is a bit advanced.

Here we just stay with the real numbers, elements of R.

Okay, suppose someone tells us

ax + by = s

cx + dy = t

where the a, b, c, d, s, t are real numbers.

We want to know what the x and y are. Right, we can think of the vector (x,y). Without too much work we can show that, depending on the coefficients a, ..., t, the set of all (x,y), that fits the two equations has none, one, or infinitely many (points, vectors) solutions.

So, that example is two equations in two unknowns, x and y. Well, for positive integers m and n, we could have m equations in n unknowns. Still, there are none, one, or infinitely many solutions.

C. F. Gauss gave us Gauss elimination that lets us know if none, one, or infinitely many, find the one, or generate as many as we wish of the infinite.

We can multiply one of the equations by a number and add the resulting equation to one of the other equations. We just did an elementary row operation, and you can convince yourself that the set of all solutions remains the same. So, Gauss elimination is to pick elementary row operations that make the pattern of coefficients have a lot of zeros so that we can by inspection read off the none, one, or infinitely many. Gauss elimination is not difficult or tricky and programs easily in C, Fortran, ....

Quite generally in math, if we have a function f, some numbers a and b, and some things, of high generality, e.g., our vectors, and it is true that for any a, b and things x and y

f(ax + by) = af(x) + bf(y)

then we say that function f is linear. Now you know why our subject is called linear algebra.

A case of a linear function is Schroedinger's equation in quantum mechanics, and linear algebra can be a good first step into some of the math of quantum mechanics.

Let's see why those equations were linear: Let

f(x,y) = ax + by

Then

f[ c(x,y) + d(u,v)]

= f[ (cx, cy) + (du,dv) ]

= f(cx + du, cy + dv)

= a(cx + du) + b(cy + dv)

= c(ax) + d(au) + c(by) + d(bv)

= c(ax + by) + d(au + bv)

= cf(x,y) + df(u,v)

Done!

This linearity is mostly what makes linear algebra get its mathematical theorems and its utility in applications.

We commonly regard the plane with coordinates X-Y as 2 dimensional and space with coordinates X-Y-Z as 3 dimensional. If we study dimension carefully, then the 2 and 3 are correct. Similarly R^n is n dimensional.

We can write

ax + by = s

cx + dy = t

as x(a,c) + y(b,d) = (s,t)

So, (a,c), (b,d), and (s,t) are vectors, and x and y are coefficients that let us write vector (s,t) as a linear combination of the two vectors (a,c) and (b,d).

Apparently the superposition in quantum mechanics is closely related to this linear combination.

Well suppose these two vectors (a,c) and (b,d) can be used in such a linear combination to get any vector (s,t). Then, omitting some details, (a,c) and (b,d) span all of R^2, are linearly independent, and form a basis for the vector space R^2.

Sure, the usual basis for R^2 is just

(1,0)

(0,1)

And that our basis has two vectors is because R^2 is 2 dimensional. Works the same in R^n -- n dimensional and a basis has n vectors that are linearly independent.

Now for some geometric intuition, given vectors in R^3 (x,y,z) and (u,v,w), then for coefficients a and b, the set of all

a(x,y,z) + b(u,v,w)

forms, depending on the two vectors, a point, a line, or a plane through (0,0,0) -- usually a plane and, thus, a vector subspace of dimension 0, 1, 2, usually 2.

And this works in R^n: We can have vector subspaces of dimension 0, 1, ..., n. For a subspace V of dimension m, 1 <= m <= n, there will be a basis of m linearly independent vectors in subspace V.

Let's explain matrix notation: Back to

ax + by = s

cx + dy = t

On the left side, let's rip out the x and y and write the rest as

     /a  b\
     |    |
     \c  d/
So, this matrix has two rows and two columns. Let's call this matrix A. For positive integers m and n, we can have a matrix with m rows and n columns and call it an m x n (pronounced m by n) matrix.

The (x,y) we can now call a 1 x 2 matrix. But we really want its transpose, 2 x 1 as

     /x\
     | | 
     \y/
Let's call this matrix v.

We want to define the matrix product

     Av
We define it to be just what we saw in

ax + by = s

cx + dy = t

That is, Av is the transpose of (s,t).

If we have a vector u and coefficients a and b and define matrix addition in the obvious way, we can have

     A(au + bv) = aAu + bAv

     = a(Au) + b(Av)

     = (aA)u + (bA)v
that is, we have some (associativity), so that A acts like a linear function. Right, the subject is linear algebra.

And matrix multiplication is associative, and the usual proof is just an application of the interchange of summation signs for finitely many terms.

We can define the length of a vector and the angle between two vectors. then multiplying two vectors by an orthogonal matrix U does not change the length or angle of two vectors.

Then for any orthogonal matrix U, all it does is reflect and/or make a rigid rotation.

We can also have a symmetric, positive definite matrix S. What S does is stretch a sphere into an ellipsoid (the 3 dimensional case does provide good intuition). Then A can be written as SU. That is, all A can do is rotate and reflect and then move a sphere into an ellipsoid. That is the polar decomposition and is the key to much of the most advanced work in linear algebra. Turns out, once we know more about orthogonal and symmetric matrices, the proof is short.

That's enough for a fast introduction!


👤 Iwan-Zotow
Alan Macdonald

Linear and Geometric Algebra


👤 aero-glide2
Coding the Matrix

👤 SneakyTornado29
Math 51 Stanford

👤 fugalfervor
There's no such thing as a visual learner