Think Linear Algebra (2023)

224 points
1/21/1970
3 days ago
by tamnd

Comments


staplung

Allen Downey (author of the above) has a number of books on computer science-y things. You can buy hardcopies but I think all of them are also just freely available.

Here's a few:

Think Complexity

https://github.com/AllenDowney/ThinkComplexity2

Think DSP

https://github.com/AllenDowney/ThinkDSP

Think Stats

https://github.com/AllenDowney/ThinkStats/

Think Bayes

https://github.com/AllenDowney/ThinkBayes2/

3 days ago

neves

BTW, if Allen Downey is reads this, I just want to send some love. I saw the beginning of the Internet. Everybody was full of dreams of the free flow of information and shareable knowledge, which greatest representation was executable code. Now, when we are surrounded by walled gardens and evil billionaires, Allen is always sharing his knowledge for all the world. Thank you.

3 days ago

nosioptar

Seconded, not only is Downey quite generous, his books are every bit as good, if not better, than expensive counterparts. Think Stats bailed my ass out of failing a stats class because it was so much clearer than the assigned book.

3 days ago

guiambros

Also:

- Think Python

- Think Data Structures

- Think Java

- Think Perl6 (!)

- Modeling and Simulation in Python

- Probably Overthinking It

And more [1]. He's a prolific writer, and very generous for offering many of them for free. I read several of them online or through O'Reilly, and bought printed copies just to appreciate his work. Really enjoyed Think DSP, Think Complexity, Think Bayes, etc.

[1] https://www.amazon.com/stores/Allen-Downey/author/B001O8NBPS

3 days ago

shibaprasadb

I love his blog too! Probably overthinking it.

3 days ago

fn-mote

You missed How to Think Like a Computer Scientist.

Many places on the web. Runestone is probably the most useful like but I’ll leave my favorite classic one below.

http://www.openbookproject.net/thinkcs/python/english3e/

3 days ago

nosioptar

Here's a newer version (2023 vs 2012).

I'm pretty sure there are also some forks where people adapted the book to other languages than Java or Python.

https://allendowney.github.io/ThinkPython/

3 days ago

s-zeng

Matrix multiplication introduced before vector addition... the "Linear Algebra Done Right" in me is screaming inside.

That being said, it is definitely cool to have a Jupyter-notebook based set of examples of practical linear algebra

3 days ago

rahimnathwani

This is a deliberate pedagogical choice, and one which will familiar to those who did one of Jeremy Howard's deep learning courses.

  One of the challenges of learning Linear Algebra is where to start. Most textbooks start with vector arithmetic, which make senses if you are working with paper and pencil, but they take a long time to get to something useful.
  
  With a computational approach, we have the option to proceed top-down -- that is, we can start with libraries that implement the core algorithms of linear algebra, and wait until later to see how they work. With this approach we can can get to the good stuff faster.
3 days ago

bsoles

And eigenvectors in the first lesson!

3 days ago

finghin

I think at the beginning of learning LA I would have benefited from a more broad introduction to the topic by explaining that it is the algebra of transformations, generally linear transformations, and also the art of quantifying those transformations in meaningful ways.

I would have benefited from some more handwaving in this regard (matrix multiplication, eigenvectors and eigenvalues) and less on the mechanics of the operations, before starting on the basic technicalities. But a “lesson” on these topics on day 0 is too soon

3 days ago

[deleted]
3 days ago

krackers

Vector addition is just matrix multiplication in a homogeneous coordinate system, what's the problem?

3 days ago

Pay08

"The Fibonacci sequence is just addition of specific numbers, what's the problem?"

2 days ago

krackers

Funnily enough Fibonacci sequence is also matrix multiplication

2 days ago

victor106

What would you suggest as a complimentary resource to this?

3 days ago

isomorphic

I think GP is both referring to and suggesting:

https://linear.axler.net/

3 days ago

srean

This is a great book but and as the author himself notes, it's not an ideal first linear algebra book.

Strang can be great as a first book. He focuses more on what rather than why, so if one wants to delve deeper, it needs to be supplemented by a few other books.

2 days ago

mamonster

I still don't get why Axler decided to discuss the Jordan normal form after already doing the spectral theorem, it's a bit like presenting Riemannian integration after Lebesgue.

For the long term his emphasis on operators is probably better as naturally transitions into functional analysis, but you can get a lot of stuff done without ever touching them.

2 days ago

KalMann

Did you misstate your comment? The Jordan normal form is more general than spectral decomposition so it should come after.

2 days ago

mamonster

I'm open to being corrected, but AFAIK the normal form (1870) precedes the official focus on operators (with Hilbert) by like 20-30 years.

2 days ago

srean

KalMann is correct. Jordan canonical form decomposition is more general. Every matrix in an algebraically closed field will have such a decomposition. This is not true for spectral decomposition. Only diagonalizable matrices will have a spectral decomposition and they are a smaller subset.

That said, Jordan form is uglier than spectral decomposition, to my taste that is. Spectral decomposition so beautiful and neat.

a day ago

[deleted]
3 days ago

emang23

Beyond regression, I’d like to see chapters on statistical topics like PCA, CCA. This textbook format which interleaves code and prose is the perfect way to show how scikitlearn’s decomposition.cca and decomposition.pca are implemented, e.g. the SVD matrix decomposition, etc.

3 days ago

mangomountain

I saw a linear algebra “textbook” on Twitter in maybe 2022? It was black background and bright text with a good amount of graphs like someone’s incredibly long blog post. I’ve tried a few times to find it since but haven’t had any luck.

This looks a bit more involved but lovely I think I’ll try it. I read Think Bayes and thought it was great.

3 days ago

rahimnathwani

'Coding the matrix' has a black cover with white/bright text.

3 days ago

immanuwell

Downey's "Think X" series is consistently the on-ramp for people who learned to code before they learned the math, and honestly at this point everything is linear algebra

2 days ago

vidro3

what's the deal with the loop example? am i supposed to understand what this represents before going through the material?

3 days ago

kevinwang

Where's chapter 3?

2 days ago

fnord77

I got my hands on a stanford Math 55 textbook and tried to do the exercises in numpy.

3 days ago

[deleted]
3 days ago

The_Blade

Linear Algebra is dope, as in when we got to apply some mid-level linear to a real business problem and it worked i got high

3 days ago

deadbishop

What was the problem you solved?

3 days ago

bonsai_spool

What was the business problem, broadly? How did you apply linear algebra to it?

3 days ago