No bullshit guide to linear algebra – v2
minireference.com
minireference.com
You're not supposed to solicit upvotes for submissions. But that's exactly how this story on HN came to be: everyone who bought the book got an email announcement that the v2 version was finished (congrats, btw!) and it specifically asked people to upvote this particular submission.
Please don't do things like that. Just a few steps past that and you've got Product Hunt and the lesser subreddits. It's a good piece of work; people would have noticed and highlighted it on their own.
----------------------
Speaking of Axler, his Linear Algebra Done Right is still the best book on the subject, in my opinion.
For one, it's lean. You can fit the softcover in a purse, and read it in the bathroom. It may be scant on examples, but it's a book that can be read in its entirety.
This book, at 500+ hundred pages, simply means nobody will really read it. No student is going to be reading several dozen pages of hard math EVERY WEEK - the exceptions to that are those who will do well with any other book too.
So we have a book here that, alas, is not meant to be read - in entirety, at least.
Yes, these are two very different books. But then we also have Linear Algebra Done Wrong.
A text by Serge Treil, it was written as a counter to Axler's book (and was named in jest). It covers many of the same topics, and is available as a free (!) PDF.
So, my question is - why this book? Aside from the title, what does it really do in a new way?
There's not enough in the preview for me to conclude that this book did anything Linear Algebra Done Wrong does not, so I ask those who read it (or the author).
But then the feature creep starts! In the introduction of the book I make the claim about how powerful LA techniques are, and how they serve as the foundation of machine learning, and generally "scientific modelling." To substantiate this claim, I decided to make a kick-ass applications chapter that SHOWS how powerful linear algebra really is (show me, don't tell me). Two years later, the result is a 270-page survey of pretty much everything I've learned over the years from engineering, physics, and computer science that used linear algebra.
> why this book? what does it really do in a new way?
The main point of this book is to teach all the LA material in an approachable, informal narrative as opposed to formal the theorem-proof approach used in most textbooks. Can serious mathematical topics be introduced using informal language, yet without saying anything outright wrong? Can I trick the reader into learning advanced topics like Fourier transforms and quantum mechanics by making the connections to basic operations explicit? Can I sneakily introduce spaced repetition by covering core ideas several times in the book using different notation and in different contexts?
So, the book is really three books.
How do you get around actually proving things?
In a future pass I plan to add more proofs, wherever adding formal structure doesn't interfere with the flow.
part of me feels like , especially for a topic like this, I want webpages with interactive diagrams. Not last century's info dissemination tech but this century's info dissemination tech
I feel page like this
https://pomax.github.io/bezierinfo/
is far better online than any paper book on the same topic could ever be. that feels like it's probably true for almost all math, physics, and computer topics.
if I'm reading up on game ai i'd much rather have in page interactive examples than static text on a page.
this isn't in anyway meant as a comment on the book above itself. it's more a comment on tech/math/physics books in general
anyone else agree or am I alone in this way of thinking?
I just want accompanying lectures that build intuition like these https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2x... or even the author standing in front of a blackboard discussing each chapter in the book and posting the lectures on the book's page. Some author's have done this like https://cs.wheaton.edu/~tvandrun/dmfp/
If it must be 'immersive' I'd also rather have a self-contained interactive book I can keep locally with signed errata updates instead of having to rely on slow websites that may be abandoned by the author or shutdown for whatever copyright reasons or ninja edited by somebody with misinformation.
Edit: or a book with an online tutor, like the one MIT made for SICP http://icampustutor.csail.mit.edu/6.001-public/
Then for any given topic a given subject's 'lesson plan' could just follow a 'sequence' (a la LW) of excerpts reviewed for accuracy (in lieu of reading such excerpts out of a book) along with mediawiki/etc animations/images/videos that go along with those subjects.
I suppose it'd be a good idea to version those 'lesson plans' so later courses/syllabuses can benefit from newly-researched knowledge after it has been peer reviewed and added to a later 'version' of the curriculum (i.e. mitigating the 'quality control' issue of information shared online). And of course lecturing as it traditionally exists can still thrive albeit with a more freed focus for interactive learning (Q+A, practice problems in class, or whatever transpires to be the best tool to use in dedicated class time/lecture time)... It just seems like singleton books as knowledge containers are obsolete next to the potential of QAing existing 'open source' knowledge without the publisher/etc overhead.
The “they” who make Wikipedia are just volunteer contributors. Go make it happen!
Which as an idle speculative wish is fine as far as it goes, but has a vanishingly tiny chance of happening in whatever way you are envisioning. (Of course, various people around the world who are working on teaching math will continue to do their best, but without paying any attention to your specific desires.)
If instead you said “Wow, I have this great idea that would be worth a large team of people spending a few tens of thousands of hours on. Does anyone have an idea about what kind of prototyping, political organizing, or other work I can do to start on a project like that so I can make my dream a reality? Is there anyone I should talk to about this?” Etc. that would be a much more interesting basis for further discussion, and might actually lead somewhere.
The volunteers (and the tiny handful of paid staff) in charge of Wikipedia are certainly interested in new ideas for improving things. If you think it’s impossible that they’ll ever accept an improvement, and you aren’t interested in discussion, what’s the point in speculating about it?
Highly, highly recommended for anyone who wants to actually understand linear algebra. If you're studying the material or need to use linear algebra in applications or are just curious watch those videos. It's not a huge time invest and it's a huge "force multiplier" to actually have an intuition for what's going on under the hood instead of seeing things as just collections of numbers and magical sequences of operations that "do stuff" for who knows what reason.
Highly recommended!
Bret Victor liked to point out that we're completely ignoring the potential of the medium we're dealing with. We're using a dynamic medium made of magic ink to present static, non-interactive content. We're just delivering "information to be consumed" instead of creating "an environment to think in"[0].
If picture is worth a thousand words, then an interactive model is worth a thousand pictures. This is one good thing that could come out of proliferation of features in our browsers, as well as make tablets actually useful as a learning tool - that is, if more people bothered to use the medium to its full power. There are only few of those who try; some of their works can be found in [1], which is a lovely resource to sink your time in and see the yet untapped potential of digital technology.
--
That said, the three blue one brown youtube course on Linear Algebra is truly amazing. I highly recommend it.
I find that for a lot of Maths, having both a static textbook for "doing the rote exercises" and in paraller an interactive ebook or website is key for doing the thing you need to do to learn it, seeing the thing to feel it, and then ultimately step three being doing it yourself and seeing it work in order to understand it.
My page actually started that way - I wanted to understand Bezier curves because I was doing OpenType Font work from the ground up, and didn't know enough about Beziers, so I grabbed me some internet, learnt me some Bezier maths, and then in order to get the feeling and understanding working, I programmed the visuals so I could see what they did and in the process understand exactly why they did that.
Having pages like the Primer available is invaluable, but I'd posit that unless you also extend yourself to reading the "dry bits" and try to make it work yourself, it's really more eye candy than educational material. Nothing wrong with eye candy of course, and maybe it'll spark some recreational maths, but if you're serious about learning a subject, hit up all the resources and then try to teach it, even if just to yourself =)
Edit: This book looks like a good candidate. :)
It's easier to relearn some of this stuff when you know what you don't know!
https://www.youtube.com/watch?v=kjBOesZCoqc&list=PLZHQObOWTQ...
You really only need to know arithmetic to get started.
Use Anki to create flash-cards so that you learn faster and don't forget.
Also, manual calculation is fundamentally how you learn mathematics. Following along is a first step, but is not good enough to learn the material. You need to do the calculations and run into problems, so you can re-create the knowledge in your brain.
EDIT> Take Coursera's Learning How to Learn Course. It sounds flaky, but will accelerate all of your other learning, and help with procrastination as well.
Ivan, can you give those of us with the first edition a summary of the changes?
The main difference is the applications. Instead of one chapter, I expanded this part to three chapters that cover applications to chemistry, electronics, economics, optimization, probability theory, and even quantum mechanics. All of these sounds like fancy stuff, right? Actually they're simple applications of basic ideas of vectors and matrix operations, so it's quite easy to pick up once you learn LA.
BTW, if you bought the book the pre-release version through gumroad, you have access to v2 as well. Check your email—I just sent out an update.
I explain the math, but I'm not expert enough to talk about practical graphics topics like OpenGL / WebGL etc, so not sure how much further I can go. To merit the "NO BULLSHIT" label, it's really important that the author know the subject matter inside out ;)
[1] https://minireference.com/static/excerpts/noBSguide2LA_previ...
For you, and for me, but not for everyone.
Why worry about the title if it brings more people to the table?
I read books to learn about something that I didn't know about before. So I as a reader can't distinguish between the important stuff and the 'fluff'. The author has to do that for me. The best texts do that rigorously but the bulk does not, unfortunately.
Too often learning starts at the abstracted level so intuition is lost in exchange for memorized techniques. There is a flip side of intuition-first techniques basically dumbing down everything into tweets but this video series is great at not doing that IMO.
My primary question is whether this book is good at conveying the reasoning that promotes intuition around the more difficult (for me) topics, such as vector spaces and the many theorems associated with the Fundamental Theorem of LA?
If not, suggestions for other resources are very welcome!
I need to brush up on my former knowledge and this look slike a great way to learn more!
Nice textbook in Computer Modern just gets me all jazzed up. :)
I guess the main "bullshit" I could reproach is the price tags, $60 -- $90, but even that is nothing compared to the textbooks for first-year calculus and mechanics that run $200+.
For learning, I recommend working with the complex numbers C for where they do help, with very little extra effort, and let the real case be mostly a special case.
(2) The main motivation for linear algebra is just solving systems of simultaneous linear equations as in high school. The main solution technique is just the elementary row operations used as in Gauss elimination -- can learn that in three minutes and program it in 10.
(3) Matrix theory is central, even crucial, in linear algebra but really is just some darned convenient notation that can motivate just from solving a system of linear equations. So, for positive integers m and n, an m x n matrix is a rectangular array of numbers (real, complex, other, as you have decided to work with) with m rows and n columns. So, it's just notation.
(4) The big deal about matrix theory is just that can multiply matrices. The multiplication is defined just so that a system of linear equations can be written as a product of (A) a matrix from the coefficients and (B)+ a matrix with one column of the unknowns set equal to a matrix of one column for the right hand side. Let's try it for some high school case of 2 equations in two unknowns (roughly as in TeX, and underscore character starts a subscript):
a_11 x_1 _ a_12 x_2 = b_1
a_21 x_1 _ a_22 x_2 = b_2
So, the 2 unknowns are x_1 and x_2. / a_11 a_12 \
2 x 2 A = | |
\ a_21 a_22 /
/ x_1 \
2 x 1 x = | x_2 |
\ x_3 /
and similarly for 1 x 1 b. Then the matrix multiplication Ax is defined just so that we can write Ax = b and have that be equivalent to the 2 equations in 2 unknowns in the high school form above.Commonly we write A = [a_ij] for i = 1, 2, ..., m and j = 1, 2, ..., n.
Now, we can do some arithmetic on the matrices, and that starts to get darned useful: E.g., for a number p we can define the product pA = [p a_ij]. So we multiply the matix A by the number (call it a scalar if you want) p. And we can add two matrices: So for m x n A = [a_ij] and m x b B = [b_ij] we can define m x n C = A + B where C = [a_ij + b_ij]. So just add the corresponding components (elements, entries).
Then presto, bingo, we get to why this subject is called linear algebra: Given m x n A, n x 1 x, n x 1 y, and numbers p and q, we have
A(px + qy) = (pAx) + (qAy)
which says that A is linear or a linear operator -- in calculus, both differentiation and integration are also linear operators. There is a huge book Linear Operators by Dunford and Schwartz, that is, functional analysis, that is where the points we are talking about, analyzing, actually functions. So, biggie special cases are Hilbert space and Banach space. So, linearity in linear algebra is a biggie start on functional analysis.Why care about linearity? Because its (A) simple, (B) permits powerful theorems fairly easy to prove, and (C) is an assumption that often holds quite well in applications in science and engineering.
The next biggie deal about matrix multiplication is that it's associative:
(AB)C = A(BC)
and that property drives a lot in duality, game theory, matrix computations, error correcting coding theory, etc. Can write out a proof in terms of the i's and j's and, there, will see that the crucial step is being able to interchange the order of summation signs (which in calculus is the same as interchanging the order of integral signs which in more advanced parts of calculus is Fubini's theorem) when adding finitely many numbers but could also know that the result is true because A, B, and C are functions, function composition is essentially just matrix multiplication, and function composition is essentially obviously associative!Given m x n matrix A with m = n, then A is square. If a_ij = a_ji, that is, if reflect about the diagonal from upper left to lower right and get the same thing, the A is symmetric.
Now a biggie, IMHO the most important result in linear algebra: Regard
Maybe in the future I will complete the writing and post, but what is there now is incomplete and too rough. So, please delete.
For learning, I recommend working with the complex numbers C for where they do help, with very little extra effort, and let the real case be mostly a special case.
(2) The main motivation for linear algebra is just solving systems of simultaneous linear equations as in high school. The main solution technique is just the elementary row operations used as in Gauss elimination -- can learn that in three minutes and program it in 10.
(3) Matrix theory is central, even crucial, in linear algebra but really is just some darned convenient notation that can motivate just from solving a system of linear equations. So, for positive integers m and n, an m x n matrix is a rectangular array of numbers (real, complex, other, as you have decided to work with) with m rows and n columns. So, it's just notation.
(4) The big deal about matrix theory is just that can multiply matrices. The multiplication is defined just so that a system of linear equations can be written as a product of (A) a matrix from the coefficients and (B)+ a matrix with one column of the unknowns set equal to a matrix of one column for the right hand side. Let's try it for some high school case of 2 equations in two unknowns (roughly as in TeX, and underscore character starts a subscript):
a_11 x_1 _ a_12 x_2 = b_1
a_21 x_1 _ a_22 x_2 = b_2
So, the 2 unknowns are x_1 and x_2. / a_11 a_12 \
2 x 2 A = | |
\ a_21 a_22 /
/ x_1 \
2 x 1 x = | x_2 |
\ x_3 /
and similarly for 1 x 1 b. Then the matrix multiplication Ax is defined just so that we can write Ax = b and have that be equivalent to the 2 equations in 2 unknowns in the high school form above.Commonly we write A = [a_ij] for i = 1, 2, ..., m and j = 1, 2, ..., n.
Now, we can do some arithmetic on the matrices, and that starts to get darned useful: E.g., for a number p we can define the product pA = [p a_ij]. So we multiply the matix A by the number (call it a scalar if you want) p. And we can add two matrices: So for m x n A = [a_ij] and m x b B = [b_ij] we can define m x n C = A + B where C = [a_ij + b_ij]. So just add the corresponding components (elements, entries).
Then presto, bingo, we get to why this subject is called linear algebra: Given m x n A, n x 1 x, n x 1 y, and numbers p and q, we have
A(px + qy) = (pAx) + (qAy)
which says that A is linear or a linear operator -- in calculus, both differentiation and integration are also linear operators. There is a huge book Linear Operators by Dunford and Schwartz, that is, functional analysis, that is where the points we are talking about, analyzing, actually functions. So, biggie special cases are Hilbert space and Banach space. So, linearity in linear algebra is a biggie start on functional analysis.Why care about linearity? Because its (A) simple, (B) permits powerful theorems fairly easy to prove, and (C) is an assumption that often holds quite well in applications in science and engineering.
The next biggie deal about matrix multiplication is that it's associative: