Think Linear Algebra (2023)

(allendowney.github.io)

217 points | by tamnd 1 day ago

12 comments

  • staplung 1 day ago
    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/

    • neves 22 hours ago
      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.
      • nosioptar 21 hours ago
        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.
    • guiambros 16 hours ago
      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

    • shibaprasadb 14 hours ago
      I love his blog too! Probably overthinking it.
    • fn-mote 1 day ago
      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/

  • s-zeng 1 day ago
    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

    • rahimnathwani 17 hours ago
      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.
    • bsoles 1 day ago
      And eigenvectors in the first lesson!
      • finghin 1 day ago
        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

    • krackers 14 hours ago
      Vector addition is just matrix multiplication in a homogeneous coordinate system, what's the problem?
      • Pay08 12 hours ago
        "The Fibonacci sequence is just addition of specific numbers, what's the problem?"
    • victor106 20 hours ago
      What would you suggest as a complimentary resource to this?
      • isomorphic 12 hours ago
        I think GP is both referring to and suggesting:

        https://linear.axler.net/

        • Koshkin 1 hour ago
        • srean 9 hours ago
          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.

          • mamonster 8 hours ago
            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.

            • KalMann 1 hour ago
              Did you misstate your comment? The Jordan normal form is more general than spectral decomposition so it should come after.
  • emang23 1 day ago
    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.
  • mangomountain 20 hours ago
    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.

    • rahimnathwani 17 hours ago
      'Coding the matrix' has a black cover with white/bright text.
  • kevinwang 4 hours ago
    Where's chapter 3?
  • vidro3 1 day ago
    what's the deal with the loop example? am i supposed to understand what this represents before going through the material?
  • immanuwell 11 hours ago
    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
  • anthk 22 hours ago
  • fnord77 1 day ago
    I got my hands on a stanford Math 55 textbook and tried to do the exercises in numpy.
  • The_Blade 1 day ago
    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
    • deadbishop 23 hours ago
      What was the problem you solved?
    • bonsai_spool 1 day ago
      What was the business problem, broadly? How did you apply linear algebra to it?