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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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
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/
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.
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.
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
I love his blog too! Probably overthinking it.
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/
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/
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
This is a deliberate pedagogical choice, and one which will familiar to those who did one of Jeremy Howard's deep learning courses.
And eigenvectors in the first lesson!
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
Vector addition is just matrix multiplication in a homogeneous coordinate system, what's the problem?
"The Fibonacci sequence is just addition of specific numbers, what's the problem?"
Funnily enough Fibonacci sequence is also matrix multiplication
What would you suggest as a complimentary resource to this?
I think GP is both referring to and suggesting:
https://linear.axler.net/
Also: https://lew98.github.io/Mathematics/LADR_Solutions/LADR_Solu...
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.
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.
Did you misstate your comment? The Jordan normal form is more general than spectral decomposition so it should come after.
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.
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.
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.
'Coding the matrix' has a black cover with white/bright text.
what's the deal with the loop example? am i supposed to understand what this represents before going through the material?
Where's chapter 3?
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
Klong shines there:
https://www.t3x.org/klong/
Quick ref:
https://www.t3x.org/klong/klong-qref.txt.html
Intro:
https://www.t3x.org/klong/klong-intro.txt.html
Klong for K users:
https://www.t3x.org/klong/klong-vs-k.txt.html
I got my hands on a stanford Math 55 textbook and tried to do the exercises in numpy.
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
What was the problem you solved?
What was the business problem, broadly? How did you apply linear algebra to it?