Hacker News new | past | comments | ask | show | jobs | submit login
Immersive Linear Algebra (2016) (immersivemath.com)
1269 points by reverse 27 days ago | hide | past | web | favorite | 140 comments

Without having looked at the text in depth, I applaud the idea here - I'm convinced the web browser can help us improve upon maths textbooks printed on paper, but there aren't many 'hypertextbooks' like this in existence (partly, I think, because most people positioned to author a maths textbook want to use latex; and most people who are able to develop a web app aren't positioned to author a maths textbook).

I'm interested to know how the authors funded this, and if they have any data about the impact it has had.

For my Linear Algebra (http://joshua.smcvt.edu/linearalgebra/), the thing that has held me back has been that the tech changes every few years. I can't keep revising something that I give away for free. In contrast, the LaTeX in which I wrote the book is 98% unchanged since the early 90's.

Perhaps the tech is settling down, I'm not sure.

Perhaps this is a reason why there are some nicely designed apps with not-so-great content, and lots of books with legendary content: the whole ecosystem around app development isn't very friendly to the long-term process of writing a classic text.

It's also hard to focus on design, coding and content solo, and writing great, cohesive content tends to be a private endeavour. I'm not surprised to see immersivemath.com is written by a team.

I know (through fond memory!) your texts have some interactivity in hyperlinking to solutions and I found that very useful, but making it work must have taken time and been a bit of a headache. Extrapolate that to writing a webapp and it's easy to imagine you would never finish.

And yes, the words 'legendary' and 'classic' are direct compliments to you: your Lin Alg sits next to Spivak's Calculus on my bookshelf. They are both immortal.

Thank you, I appreciate it.

Wow! Your textbook looks phenomenal. Eyeballing the table of contents and a few chapters, this arrangement of material looks exactly like what I'm advocating throughout this thread. Gaussian elimination and systems of linear equations before vector spaces, a coverage of fields in tandem with vector spaces, some treatment of sets and functions in appendices, generous usage of matrices to supplement theory...

And you include solutions for your exercises? This is fantastic! Do you have any plans to write something like this for functional analysis?

Thank you, that's very kind. Working on Theory of Computation. Don't know any functional analysis, sorry.

This is great news. Please model the Theory of Computation book after your Linear Algebra book (by including full solutions). This is an excellent resource for self-learners.

Do you have a timeline for the release of the book? Would you have any interest in writing an Abstract Algebra text?

> Do you have a timeline for the release of the book?

Several years. I have a very early draft, no doubt full of errors, that I am teaching from. It is linked-to from the linear page.

> Would you have any interest in writing an Abstract Algebra text?

Sorry, no. But all my stuff is Free and you could take the .cls file, etc. Go nuts.

Thank you for your contributions. I want to echo what others have said. Thank you for providing complete solutions to your linear algebra book. This is an incredibly useful resource for self-learners.

These things take time lol, he might not even want to write any other books after that theory of computation one!

Thank you for including the solutions to the exercises. This truly is godsend. You have no idea how much it is helpful for those of who try to learn outside an educational institution.

It is very hard to feel confident in learning when I have no way to gauge if I am on the right track or not.

Thanks again.

Solving problems like this is one of the motivators for my nascent BubbleOS project — we need a stable software base that isn't upgraded every couple of years to replace known security holes with unknown ones, also introducing unknown incompatibilities. Executable code is clearly the best representation for many kinds of knowledge, but our existing systems software isn't up to the task.

Your book taught me a lot. I got stuck some of the way in (dropped out of education at 16 - kids and full time job don't offer much opportunity for the focus it deserves). It's the furthest I've progressed with this topic and helped me understand in ways other books didn't. Thank you!

It always makes it a good day when I get a note like yours. Glad it helped.

It's true that things went from embedded Java applets (or, eh, ActiveX objects, thanks Microsoft!) to embedded Flash applets to... HTML5/Canvas, but the latter does seem finally stable-ish, especially once web assembly is widespread (which it kinda is, already: https://caniuse.com/#search=wasm)

The technological endurance of LaTeX is legendary, though

Forgive me but the page says "WebAssembly or "wasm" is a new portable, size- and load-time-efficient format suitable for compilation to the web." It is the "new" part that makes me shy.

It IS newish and it is fair to be cautious of new things, but this one may stick around for awhile, as it's mostly just a modification/refinement of what Emscripten was already doing successfully https://github.com/emscripten-core/emscripten acting as a build target for the vast majority of C/C++ code out there, and Emscripten is not at all new. Here are some demos/examples to show what it's already accomplished: https://github.com/emscripten-core/emscripten/wiki/Porting-E...

And JavaScript itself (for better or worse) isn't going anywhere, it is literally "too big to fail" at this point.

I'm a web developer and have been following this space since the Web came out, these are just my best educated guesses. I would deem "developing with a target of HTML5/Canvas/JS/emscripten/wasm" to be future-proof for the foreseeable future (the next 10 years).

BONUS: You may already know about being able to convert LaTeX to HTML5 via JS, but just in case you haven't, this is pretty cool: https://latex.js.org/

Thanks. I was unaware of the web page. I've saved a bookmark.

I'll trade you. I perceive that the standard for conversion at this point, which you may not know about, is https://www.tug.org/tex4ht/.

(Sorry, do you know the author of the latex.js package? I would like to contact him.)

I found his email in the package information: https://github.com/michael-brade/LaTeX.js/blob/master/packag...

Your book is genius. Really. Thanks for making it free.

Thank you for your free book. Another great book is Gilbert Strang's book: Introduction to Linear Algebra. Also Boyle: Linear Algebra and its Applications.

Perhaps your free book can be used to develop some evolving tool for the student. For example: the student take a test and then the book select the best exercises and topics for that student.

Any interest in doing that? Serious question. There are some platforms such as WeBWorK http://webwork.maa.org/ that seem to me to be promising targets.

A lot of work for a null reward. So not really.

So, you want him to do lots of work for no reward! How progressive!

Thank you for your book. I applaud all sorts of free texts.

I notice that there is an option to buy your book, and perhaps there are other options to somehow get money to you. I was wondering if you felt comfortable revealing approximately how much money has come to you as a result of your (donated) labours?

I occasionally get contributions via the PayPal button on the book's web page. I use them, among other things, to fund going to conferences. I say "conferences" but really there has only been one (very, very good) conference on Inquiry-Based Learning at Westfield State, in connection with my IBL Proofs text. To be fair, the contribute button has only been up for a year-ish.

I sell hard copies on Amazon. Well, really Orthogonal Publishing L3C sells them. This is a limited-profit company that Lon Mitchell set up to publish Free texts. Naturally we round the price up rather than down so there is some money. Since Amazon's price, $21.95, is not far from the price of media, you can guess that there is not much money. I'm reluctant to quote exact numbers but the dollar amount is not much, especially per hour.

However, my school, St Michael's College, has the wisdom to give me professional credit for the work so that counts for a lot.

Thank you for letting me know. It's good to hear that St Michael's College values your work, too.


I'm also working on an education related project. With projects like this....the truth is, it is mostly a labor of love or passion for the subject that drives you. There isn't much money to be made (even to just support yourself) in creating free courseware. If you want to make money you are better off just working for a traditional university.

You can even see it for yourself. This guy started this project 3 years ago. Fast forward to today we can see that his youtube channel has 500 subscribers and most of his videos have around 1k views...this is after 2-3 years of each video being uploaded. Basically, no one is using this site. It is no surprise that we see so many of these education type projects being half built. The developers eventually toss in the towel.

Personally I think we need a combination of both to really change education though - open educational resources and the associated tools to learn the subject better. Preferably free but also low cost might work or supported by donations.

Right now the big publishers pretty much control the entire market. They own the content and they create the tools. Then they spoon feed it to university faculty (by making tools to basically "drag and drop" the content for teachers) and the student/taxpayers ends up footing the bill for it.

This resonates with "There are no projects like side projects" https://crastina.se/theres-no-projects-like-side-projects/ I wrote a few years ago (and it is still my credo).

Since I create educational projects (luckily, Quantum Game with Photons http://quantumgame.io/ was partially supported by an outreach grant; all other writings and stuff - not so much), I would love to see some way to support such endeavors.

Yup, that write up definitely hit the nail on the head. I could work on more lucrative side projects but there are just some side projects that you have to do because it just has the potential to be great and do real good in the world. Mostly what I see these days is a void in the educational market - you have a traditional educational system practically resistant to changing and then you have all of these emerging technologies. The emerging technologies go on to change other industries....but education, nothing changes, or very slowly. That's where my side project ideas some into play. I'm working on making a course right now in a traditional college level subject then adding a bunch tools (student data analysis, simulation games, interactive lectures etc.) to help students learn the subject better. Simply put, I want to take traditional college courses and then apply the latest technology to teach that subject. Let's create the world's best online course, create a bunch of really useful tools to learn the subject then scale it up and give it away to everyone for free.

Also I looked at your game and I really love it. It is so much fun (even though I don't know much about quantum physics). Now just imagine if we have a traditional college-level subject, such as quantum physics, and then use tools like your game to help people learn better. You still learn all the usual topics but the overall learning experience is made SIGNIFICANTLY better by having these extra tools to use to learn. Your game is an educational game but using the same technology used to create that game could also be used to create all sorts of things - experiment simulation, interactive graphics etc.

Sadly, innovation in teaching is neither a priority in academia (since it is not research) nor in the industry (since it is this kind of activity that ).

I wouldn't say there is no innovation though. There are science-based games (https://github.com/stared/science-based-games-list; it was here some time ago: https://news.ycombinator.com/item?id=14661813). I started collecting interactive machine learning, stats and maths: http://p.migdal.pl/interactive-machine-learning-list/ (a lot of things; of course, Immersive Linear Algebra is there). Most of these projects are side projects, though.

Also - I had a plan to extend the quantum game (it is nice to hear you enjoyed it!) to more particles... and then, a full course, with experimental widgets (e.g. showing interference, then explaining it, then giving space to play with it). With some framework (maybe $, but I care even more for collaborators and deadlines), I would love to continue that.

What are your projects?

> partly, I think, because most people positioned to author a maths textbook want to use latex; and most people who are able to develop a web app aren't positioned to author a maths textbook

Luckily we have interactive notebooks (like Jupyter) and MathJax for LaTeX. You can have all the beauty of LaTeX typesetting in your browser and make it highly pedagogical with interactive computation.

+1 for Jupyter and Miniconda. I was at a Python meetup recently and one of the seminars was intro to deep learning. It is very easy to setup and quite seamless. Great learning tool as well, because you have output side by side with the teacher’s code. Many modern IDEs still struggle with this (Lighttable being a notable exception).

Most notebooks have Python code in them. How to make that interactive in browser? Are there smooth solutions out there, be it client-side or some hosted service? Or does one have to write all the code in JavaScript?

The only reason I was able to learn any math in college is because you don't need a computer to do it, so you can avoid the distractions. A browser, the source of all the distractions, seems like a really bad place to learn math.

Just because some people choose to get distracted doesn't mean the whole technology is worthless.

I see your point! There is something very focused and calming about having a book open with no screens around. I hope it is possible to recreate this flow state in a browser (because I plan to try over the next few years). I'm imagining a very minimal UI, 66 characters per line typeface, a distraction free mode (full screen kiosk, a la Sublime Text), a 'dusting' of gamification maybe. I have spent hours on Project Euler before without switching tabs so I believe it's possible to focus at a computer, though I agree that a lot of the positives of the textbook experience don't easily translate; but I still believe that, with respect for the learner, their working memory and attention, a great in-browser learning experience can be achieved.

I think it's also the greatest tool for learning there is, so it's worth it to over come that tendency and develop discipline when using it for learning.

as an undergrad who's currently downloading mathematica to play with .cdfs instead of actually studying them, this hits home

I mean there are a million and one useful resources on the internet that enhance learning and just ot getting distracted is also an option

To an extent I disagree. Yes, drawing diagrams can be useful, but simply solving lots of problems is honestly the best way to learn maths. I also much prefer reading from a physical book. Im not sure simple animations will improve things massively.

I don't mind if a book skips some details and I have to fill it in myself, for example drawing a diagram to help understand a key point.

Perhaps in school most people treat maths more mechanically, and exploring requires more mathematical maturity. I don't think some basic animations will improve that directly.

That being said, people like 3b1b on YouTube are in the intersection of people who can animate and know the maths. They certainly produce things which spark the imagination.

I think examples rather than problem solving is the way to go. Some very advanced topics are arcane enough that they really do need hand holding.

Compare Dirac's book on general relativity with one people actually read(To learn from) and you'll see why hand-holding and diagrams are helpful

Two of the authors, Kalle and Tomas, are at Lund University, in sort of the perfect fields for this project - Computer vision and computer graphics (Tomas wrote _the_ book on real-time rendering). I think Jacob is a graphics guy as well.

My guess on the funding is spare time and spare university resources.

>I'm convinced the web browser can help us improve upon maths textbooks printed on paper, but there aren't many 'hypertextbooks' like this in existence (partly, I think, because most people positioned to author a maths textbook want to use latex;

We have much better tools right now such as Jupyter notebook which as accessible to everyone. However, your concept of hyper textbook is intriguing.

What do you mean by that? Can a webpage be an hypertextbook? Then aren't all online books already hypertext books?

Anyways, I am working to build a different medium of learning called Primer. The courses on Primer are basically books that teaches you through conversation. It offers much more than that though. Creates latex pdf, generates flash cards , implements SRS etc. Can you check if Primer matches your description of Hypertextbook.


Interesting concept, Primer. Just a note: Scrolling is rather erratic on my iPad.

I am aware of that issue. I added parallax and regretted it.

I will change the front page once I launch in March.

The website works well in Dekstop only.


I saw the word hypertextbook somewhere online once and it just stuck in my head. For me, it has come to mean a textbook (so, beautifully typeset, well organised and written, easy to tell where I am, distraction-free) enhanced with code (keep track of learning, tasteful interactives, maybe video, a smattering of ai perhaps). A webpage/app lends itself to this nicely. If I'm honest, the idea is a little inchoate but my instincts tell me there's something to it.

Primer looks like an interesting system - I'm on the mailing list, good luck!

You can write texts in LaTeX, and post them online using Ximera!


You can also literately program in Lean, and get out math theorems like http://pat.perso.ens-lyon.org/M1P1/

For another great source of open source textbooks I highly recommend OpenStax (https://openstax.org/). I am currently re-learning calculus and their Calculus text is great. As an aside, I'm currently working through mathematics I wish I had taken in college (I was a biology major), starting with Calculus, and would love to connect with anyone else on a similar mathematical journey!

And for even more open source textbooks: https://open.umn.edu/opentextbooks/

I've been doing Khan academy most days (like, 28 of 30) for the last year. It's been super friendly and I've moved through the algebra, geometry, trig, precalc, and differential material... I'm currently working through some integral calc stuff. I'm planning on doing the stats and linear parts of kahn before trying to take some of the online college-level courses; Sal Kahn is super great as a teacher but I am starting to feel like I can now benefit from some more difficult to digest material.

My hope is to generally increase my math abilities so I can do some electronics design classes and some study about how to start applying ML/ AI tools.

But I've found studying math to be quite fun and useful in its own right. It's fun and I feel like it's helped my general intellectual abilities.

Khan Academy is great, the only issue I have with it is it's too long-winded sometimes. Taking much longer than necessary at the cost of maintaining that comfort level of a beginner student. There is something to be said about struggling just enough according to your proficiency level (the idea of Flow in psychology).

I too would like to work my way up to calculus and beyond.

What sequence of courses do I take on the site to get to calculus, starting from the beginning with the basics?

How familiar are you with algebra? The stronger you are with algebra, the easier you will find Calculus. You will also need a relatively strong understanding of trigonometry, but I've mostly been able to review the trig I need as it comes up. That being said, don't feel like you need to be an expert at all prior math before jumping into Calc. In fact, Calculus might be the class you finally grok algebra since you'll use it so much!

Here is a good review of the algebra you'll use in a Calc I course: http://tutorial.math.lamar.edu/Extras/AlgebraTrigReview/Alge...

I had a humbling experience last year when I browsed the available courses until I found one that only contained math I'm already familiar with and I had to go all the way back to fourth year elementary school. :/

I went back to school for CS, and ended up taking courses starting at Grade 10 math as prereqs so that I could rebuild my math knowledge. Even the start of that was rough, since I hadn't done math in a long, long time. By the end of the course, I was much stronger.

What I'm trying to say is that you've made a good decision by jumping way back. Once thing I realized pretty quickly is that to do well in math, you need to know the prior content pretty well. And for the next thing, the current content pretty. And so on. If you can stay on top of it, it 's a lot less challenging (and more interesting).

How were you able to determine what level you were at?

I started at precalculus and worked my way back until I found a video that didn't assume I already knew something I don't already know.

Could be that you know a lot of maths at a higher level than that, but your education just has a lot of holes in it.

If only that were true. :) I only know cross multiplication and basic arithmetic, excepting long division.

We all start somewhere! One of the beauties of math is it’s hierarchical structure. Once you figure out where you’re at, it’s just a matter of progressing further up the hierarchy of abstraction (spoken by someone who has only made it to Calculus in the hierarchy)

I really want to make a site that expresses this like a skill tree you'd find in an RPG or in Civilisation.

Duolingo has something like this. I rather like it.

That was my experience. I took through calculus in high school, but that was a lot of years ago. I discovered my trig and logs were very weak, and started back at algebra 2 and worked my way forward. A lot of it was review, but a lot of it felt completely new to me.

I'm in the middle of a very similar experience.

I run into this every time I help my kids with their math homework- even for subjects I thought I had learned comprehensively their curriculum covers branches/approaches I've never seen before, down to elementary school work.

What was your math background before you started Khan?

20 years ago I flunked out of a Calc 2 class in college and (unrelated) never got back to it because I changed my major to Philosophy.

I program for a living, but was having trouble, like, with multiplying fractions and that basic level. But it's not hard to learn if you do it every day.

I mean, it's slow going, and I am certain that there are folks who think that integrals are pretty basic math, but its fun and interesting to me, and derivatives have helped me understand quite a few things I never quite groked already.

University CS programs are designed to produce professors, not programmers. Many students who graduate from these programs and go into software development are over-qualified. Many students that flunk out of them have their careers needlessly derailed for a few years.

Well, for what it's worth, I am now a programmer by trade.

I took a silly path and spent all my 20s in school, largely working on a PhD in English while I raised my kids.

> I am now a programmer by trade. I took a silly path and spent all my 20s in school, largely working on a PhD in English while I raised my kids ...

"silly path"? What exactly did you miss out on? Raising children is one of life's great joys. Working towards an English PhD (regardless of whether you obtained one), provides a unique experience that many dream of.

Would you trade that for a few extra years of a larger salary at a tech company? Sure, maybe you would be making 20% more now, but would that give you a significantly different life? It sounds like you used your time as a "CS dropout" wisely, or at least productively.

I'm more concerned for folks who drop out of unnecessarily challenging technical degrees and end up working at fast food shops for ten years, when they can be doing something far more gratifying and lucrative.

I think that most people here would think I took a sub-optimal path.

It hasn't been until the last couple of years that my undergrad degree in Philosophy started to pay off.

But yeah, it's not a bad life.

And you're right about CS education, in general.

I had a look at their pre-algebra chapter. They differentiate between "counting" number and whole numbers.

Why not use the correct terminology and call "counting" numbers "natural" numbers, it's what we've been taught in schools for tens of years, if not hundreds now.

Sure, explain that naturals are "countable" at the beginning, but this redefinition is verging on dumbing down.


reading further:

"Counting numbers are also called natural numbers."

But they seem to keep calling them "counting" numbers. Just call them their proper name and re-enforce this.

And then in this first intro... below a terrible graphic.:

"The point labeled 0 is called the origin. The points are equally spaced to the right of 0 and labeled with the counting numbers. When a number is paired with a point, it is called the coordinate of the point."


I was taught that whole numbers is a wider set of numbers than natural numbers. While "counting numbers" is a good name for natural numbers, because they are used for counting, the idea of countable set is all about our ability to count elements of this set. We can of course talk about countable set in terms of finding a bijection between the set and natural numbers, but it doesn't matter really. It is just different words to spell the same idea, while (we cannot deny it) counting elements is easier to a beginner. Maybe counting numbers is easier to grasp then natural, maybe it is just authors of textbook thinks so. I cannot understand why are you so bothered with it.

> Just call them their proper name and re-enforce this.

I'll tell you a story. When I learned math in college I was stuck by a Galois theory, I just was unable to understand it. So I decided to look different authors, to find some other approaches to explaining things. I found at least one textbook which I was forced to read from a very beginning, because it used a very different notation which I couldn't understand at all.

It was not the first time I have meet a new (for me) notations for things I already knew. I spent two more years learning math, and finally I understood one thing: there are no such a thing as "proper name" in a math. If you need to refer to a some thing, you need to define it. Math is all about your ability to name and to define things, to invent a math notation to write this things down, and to stick your mind to live inside universe which was built by your definitions, names and notations. It is doesn't matter then how original your notation is. All that matter is what results you can achieve.

From all the branches of math algebra is the most about different notations for the same thing. Just take a look at multiplicative and additive notations for groups. You can use either with any group, nothing matter just your convenience. If you like to use a plus sign and write "a+b" then use additive notation. It you prefer to use no sign and write "ab" then use multiplicative one. In algebra it is your respected right to use notation you like. But it comes with a cost: you need to respect other's right to use any notation they like.

You can do better in your own textbooks :)

I've been reviewing the calculus I've forgotten years ago, by taking pictures of my old Schaum's study guide with my iPad, and doing the problems while sitting on public transportation.

I find the badly kerned math typography of the Open Stax offering, and the PDF version of the modern Schaum's study guide, to be distractingly jarring.

It's impressive that they managed to mess that up. They didn't use LaTex for math?

[Deleted comment]

Your product sounds interesting but promoting it more than once per thread might turn some people off, especially around here.

Understood. Thanks. Will remove the comment above.

Your scrolling enhancement makes the site hard to navigate. I scroll down and the page keeps sliding, as if I'm skidding on ice.

Yes. I apologise for that. I will remove that in a week or two when I launch Primer.

Front end is not my forte. Clearly. :(

This seems like one of the best uses of computers for educational media, one of the ways digital instruction can really shine through compared to physical text which can often require supplemental videos or help from a teacher to elucidate a concept.

Feels very reminiscent to me of 3B1B videos [1] on topics that use visuals to elucidate math topics more clearly as well.

[1] = https://www.youtube.com/channel/UCYO_jab_esuFRV4b17AJtAw

In case anyone is interested in a written version of some of the essential points 3Blue1Brown makes, I recently released my own review notes which try to provide a brief overview of some of the main linear algebra topics as well as applications: https://github.com/photonlines/Intuitive-Overview-of-Linear-...

3Blue1Brown's Essence of linear algebra series is the go to place for learning this material. I've included the link to the series below so people don't get lost in all his other wonderful videos along the way.


No offense to 3b1b, the production quality is impressive and the content is effectively insightful.

However, it is ultimately a very limited linear format covering the topic only lightly.

I see you used a throwaway because there are so many fans. I might not be as harsh but while I enjoyed the pretty animations they didn't actually help me learn linear algebra. They're still full of jargon written for people who already know the topic.

Upvoting this because I think it's really important that we start getting more open source textbooks which specialize in exposition[1]. That being said, I'd make a different arrangement of the material.

Here are a few thoughts:

1. This book embraces the modern take on a rigorous course in linear algebra, which I disagree with. That is to say, it covers vector spaces front and center in the first chapter. Conversely, systems of linear equations (Gaussian elimination) and corresponding notions like row reduction of coefficient/augmented matrices are pushed back several chapters. You see this in popular "flagship" textbooks like Axler's Linear Algebra Done Right because they're prioritizing the underlying theory. I think Gaussian elimination should be covered first because it motivates the material - you're never going to cover Linear Algebra in a way that makes all the pieces fall together in a purely straightforward dependency.

But if you first cover systems of linear equations, you actually motivate the purpose of vector spaces. Moreover, many (most?) proof-based problems in linear algebra reduce to solving a system of linear equations (and therefore reducing a matrix) which is modeled after the thing you're trying to prove. What's the basis of a null space of this linear transformation? You can solve it with row reduction. Is this spanning set a basis of this vector space? Solvable through row reduction. You get a lot of equipment for solving vector space problems if you build up the row reduction scaffolding to a minimal level before vector space coverage. This does not have to temper the theoretical rigor of later, abstract material; if anything it grounds and augments it.

This is why I'm a huge fan of the way that Hoffman & Kunze cover this material. That is a heavily theoretical book, which easily surpasses undergrad-level linear algebra in later chapters. A couple of decades ago it had the spotlight as the really good linear algebra book (it displaced Halmos' Finite Dimensional Vector Spaces, and was itself displaced by Friedberg or Axler). But it motivates a very rigorous coverage of vector spaces by starting with Gaussian elimination, matrix representation of systems of linear equations and (reduced) row echelon forms. If you don't cover this first, you have to either assume the student knows it already or you resign yourself to wading through several chapters of potentially unmotivated abstraction.

2. In my opinion, linear maps should be covered directly after vector spaces. They're a logical succession of the same concept - after you've taught linear combinations, linear (in)dependence, spanning sets, bases, subspaces, and related theorems, it's very easy to jump right into functions between vector spaces. It's just an expansion on all of these things. I would therefore rather see chapter 9 immediately following chapter 2. And much like my prior point, linear maps are an abstraction that empowers a lot of the other ideas; this is mainly because so many things are representable as a linear transformation (much like they're representable as a matrix).

3. The rank is a very important concept, but I would argue it should be subsumed into the chapter on matrices. You can cover anything that doesn't fit cleanly in the matrices chapter in the chapter on linear maps, since you'll need to do that anyway before you cover the dimension theorem. That might be a good argument for simply covering matrix multiplication and addition in prerequisite material and subsuming all of matrices under Gaussian elimination and/or linear maps too...

4. I'm a big fan of the prerequisite material covering basic trigonometry. Trigonometric functions are a good source of exercises for vector spaces. I would like to see an expansion which does minimal coverage of naive set theory (sets, subsets, unions/intersections, etc), functions (injection, surjection, bijection) and polynomials. If you cover the basic definition and arithmetic of polynomials here, you save yourself some space when you cover Lagrange interpolation and factorization later on. It's probably a lot to ask for, but some coverage of differentiation of polynomials would also be useful because the theory of vector spaces gets a lot richer when you incorporate exercises which use a bit of calculus/analysis. In particular, using vector spaces of functions and linear maps of differentiation give you a lot of leeway to show how abstract vector spaces can be without going nuts on the moon math.

5. I've received pushback on this before, but I think it's really important to cover fields as their own subject before covering vector spaces. If you're going to cover vector spaces rigorously, you really need to cover the field axioms. Scalar multiplication doesn't make sense without first defining a field (you can handwave it, but it's easy to make subtle mistakes - like missing that the set of all integer $n$-tuples cannot comprise a vector space). Likewise you ordinarily need your linear map to agree on a field to be well-defined. This coverage would ideally also establish the basic facts of the real and complex fields, which are almost entirely the fields you work with in undergrad linear algebra.

6. I don't see any exercises. A good math textbook challenges its reader to internalize each chapter's material by substantially using it to prove further material. By not including exercises, this text becomes more of an illustrated monograph. That's totally fine if it's what they're going for, but I think there's a huge opportunity to tailor it even further with targeted exercises that expand on the theorems in each chapter.

Note that I'm mostly nitpicking here, even if I think my critiques have merit. The exposition of material is much more important than the arrangement of material, as long as things are building on each other rigorously. I'm not trying to say the textbook is bad; this is just a stream of consciousness about my opinions on arranging linear algebra for maximal pedagogy. You generally have to supplement textbooks in order to get a rich understanding of the subject matter anyway.

On the plus side, I'm a huge fan of the way they present vectors geometrically. That's a huge win for illustration/animation purposes. I do think there's a missed opportunity to make a sexy illustration of transforming a system of linear equations into coefficient, unknown and constant matrices; then from there illustrating the transformation of the augmented matrix into its reduced row echelon form.


1. For pretty good open source, undergrad-level textbooks in Abstract and Linear Algebra respectively, see http://abstract.ups.edu/aata/ and http://linear.pugetsound.edu/html/fcla.html respectively.

I like this idea. It's also how the subject developed historically. That said, don't you get a very computational book in which students spend a lot of time working with matrices filled with numbers if you teach Gaussian elimination first? How do you make sure that students understand the big picture? After all, modern linear algebra is a lot more than the Gaussian elimination algorithm. I'd even go so far as to say that if a student don't understand Gaussian elimination but understands everything else and that there exists some algorithm to solve linear equations, they'd still get 95% of the value of a linear algebra course.

Maybe you can do that if you make it very visual like the book linked in this post, so that you bring in the geometric concept of a vector and link it to linear equations, rather than only working with tuples of numbers. For example, linking the visual concept of linear independence of a set of vectors to a system of equations having a unique solution. If you do that you may be able to teach linear algebra from a linear equation solving point of view, while not getting bogged down in manipulating matrices of numbers.

> After all, modern linear algebra is a lot more than the Gaussian elimination algorithm

This is kind of my point - there actually isn't a whole lot more than Gaussian elimination at the core of linear algebra until you get to rings and modules. Of course I don't mean that in the sense that there aren't important definitions or topics. The theory is very rich. What I mean is that most theoretical questions you can ask about vector spaces and linear maps (or more abstractly, the linearity of a thing), are reducible to a matrix representation and Gaussian elimination.

You don't have to use Gaussian elimination, and I'm not arguing the course should become rote computation of matrices. There is a middle ground. For example if I hand you a linear map and ask you about the dimension of its range, you can identify a spanning set, refine that to a basis and you have your answer. You could also just take the rank of the matrix representing that linear map reduced to row echelon form. I don't think you lose much theory one way or the other.

But I could be wrong - if you have a specific example I'd be interested in hearing it. I've tried to declare front and center that I'm biased from learning linear algebra through Hoffman & Kunze. Halmos also grounded his (very theoretical) book in a generous use of matrices. Not covering matrices until later is a fairly recent development, and I think it's because (for reasons I've stated elsewhere) many professors don't distinguish between the rote computation of matrices and the rich theory of matrices.

Yeah, I agree that most questions in introductory linear algebra are reducible to Gaussian elimination. However, if I had to play devil's advocate, I'd say:

1) Gaussian elimination is only one of the algorithms for solving linear equations. Why that one? Perhaps there is a better one for pedagogical reasons.

2) Why focus on the algorithm in paricular? Maybe we could formulate the thing Gaussian elimination is doing more abstractly with less reference to a particular algorithm. For instance: any matrix A can be written as LDU where L is strictly lower triangular, D is diagonal, U is strictly upper triangular. Or maybe: any linear map can be written as a projection on the first k coordinates relative to some basis, where k is the rank. Or maybe there is a geometric way to understand it.

3) Why focus on this particular concept in particular? That concept is just one of many concepts in introductory linear algebra. Although you can reduce everything in introductory linear algebra to it, you could also pick some other concept around which you could center the course, such as linear independence, the determinant, or something else. Or some other decomposition, such as A = XDY where X,Y are products of elementary row operations (so they are square and have determinant 1), and D is a rectangular diagonal matrix. This decomposition is arguably more important than the LDU decomposition associated to Gaussian elimination. Why even focus on one concept in particular?

4) This is only for the very basics. You also need a plan for Gram-Schmidt, eigenvalues, spectral theorem, Jordan decomposition, and so on, which form the meat the linear algebra courses.

Apart from Gauss elimination, I think eigenvalues, eigenvectors, scalar product, orthogonal subspaces, and the relation to statistics are important. Statistics associated with SVD, principal components and other topics are a main source of insights. Also Fourier basis is an important concept far beyond Gauss elimination.

Of course, I'd agree. But my comment is pretty long as it is, and is more concerned with the arrangement of material than how many extended topics you cover. I'm treating perfection as nothing left to remove, not nothing left to add :)

This is interesting, but I think there's an implicit assumption here that a particular topic must be covered in depth, at which point its study is completed, not to be returned to.

And indeed, this is way many textbooks are structured. But I see no reason for this to be the case. If topics are covered lightly via an exposition and then subsequently drilled into in depth, the order, and resulting motivation becomes almost a side note.

I say this as I'm currently studying linear algebra via Coursera, and the resource that has become most valuable to me is a Scapple board with a bunch of screenshots, text and arrows. It is this (non-linear) diagram that I return to most often to help internalize and solidify my learning.

In this regard, the order of exposition becomes almost incidental.

I think the problem is a tension between what’s valuable to us in learning and what's valuable to us after learning.

So when I was tutoring, I noticed that my “standard approach” failed: a kid would have a homework problem, I would say, “Here's how you want to think about that problem, it’s (say) a conservation of energy problem, calculate the energy before and after...” and it fostered no real learning! I thought the problem was that I was subsidizing laziness—stepped back a bit but gave lessons after some struggling—and that didn’t hurt much but it didn’t help much either. They were motivated, just the didactic structure was not working for them. I started to ask questions, and that was a bit more helpful, but found that I myself was somewhat unguided about how to accomplish “Socratic teaching” so that they could benefit from it—if you can believe it, my default approach was to try to introduce the same theory ideas as questions from the start, “would conservation of energy apply here?”—so no wonder I only got mixed results: it was basically the same thing.

But questions gave me a way to get off that map, because I started to ask tutees to give me expectations and examples, and somehow those worked well. “What can we expect that this system does, within a few orders of magnitude? Can you give me some examples of similar systems and how they work?”

I think that in order to learn abstract things, we need to first have a bunch of examples in our heads, things that all kind of fit together but do not make sense. The abstraction unifies the examples, helps us remember them and fit them together. We can use each example to test the abstraction for fit, to massage our cognitive ability from one context into another.

When we build a building, we need frameworks and scaffolds to build it. When the building is freestanding, all of that effort of building the scaffolds can be undone, the scaffolding comes down, it's no longer necessary. We go back to a textbook and we want a picture-book: show me the building, and just the building, and nothing but the building. Let me feel lushly indulged by its architecture, by photographs that go into detail in the really rich areas—I want indulgent artistic experience, because that's what the building is!

We have a constant tension in textbooks between the how-to-manual—spartan, practical, containing all of these scaffolding steps and nitty-gritty–and the coffeetable book—rich, whimsical, pop-simplified.

Griffiths’ Introduction to Quantum Mechanics begins with a prologue to this effect, though I thought it was just a quantum quirk at the time I think it's actually much more general now. He says [these will not be exact quotes] that, “This book will teach you to do quantum mechanics because I strongly believe that this has to come before any sort of strange discussions about what quantum mechanics is.” It’s one step between Feynman’s “don’t even try to understand quantum mechanics, just shut up and calculate” and Searle’s response “I’m sorry, I am a philosopher and literally the only thing anyone pays me for is to try and understand things like quantum mechanics.”

And I think that is where I want to focus my teaching efforts, that every textbook should kind of have the appendix coffee-table section, I’d even like to carve out a new name for it and call it an “abridgement” or so, at the end. The book Mazes for Programmers has an appendix like this of “let me summarize all of these maze generation algorithms and their essential properties and their essential approaches” that I really loved, it makes it an absolute joy to keep this thing on the bookshelf and come back to it time and time again. The main text has the “Here’s how to do it” information, the appendix has the polite overview of what was just built that is great for returning to.

Yes, I think you've captured the problem pretty nicely. This is the problem I have with doing something like defining vector spaces on arbitrary fields F (not even R or C!) before you even talk about linear equations. The theory of linear algebra is rich and useful, but it's hard to motivate it that way. I don't mean "motivate" in the sense of, "Why should I care about this, and when will I use it?", because you don't always need that kind of motivation to do math. I mean motivation in the sense of, "Why did people come up with this theory? What led them to these definitions, and why are these definitions the right ones?"

I have seen the hierarchy of math presented like this:

1. In high school, you're taught how to compute arc length. You need to do nothing but calculation, and it doesn't matter why it works.

2. In undergrad, you're taught to prove the formula for computing arc length. Given the theorem statement and the requisite axioms, you can show that the formula works.

3. In grad school, you're taught to derive the formula for arc length from first principles. Given a set of axioms, you come up with the theorem and prove it from scratch.

4. In research, you're not taught anything. Instead you solve the questions, "How should I define arc length? Why does my definition of arc length matter, and where is it useful? What can I prove with it?"

Contrary to (quite a bit of) popular opinion, I would hold that a truly rich understanding of the theory can only happen in the context of the trigger for the theory. You don't need to understand the context of systems of linear equations, or why linearity is a useful concept, to understand vector spaces. But it's a lot easier if you have that context. Likewise you don't need to use Gaussian elimination to solve a lot of questions which ask you to prove something about a vector space or a linear map. But if you have that context, you can use it in your proofs instead of miring in towering heights of complexity.

Incoming tech seems about to change the texts-and-tutoring constraint and opportunity space. I wonder if it's time to start thinking and exploring ahead?

Consider an art project, where you sit in a booth, and watch an interesting video drama. But why is it interesting? The video is a graph of segments, like an old "choose your own adventure" story. And there's an eye tracker watching you. So if you're interested in characters A and B, the story mutates to emphasize them.

Consider a one-on-one tutor on a good day. Noticing a student engaged and enthused, they might reorder content on the fly to leverage that. Might emphasize different aspects, and alter presentation, based on observed interests and weaknesses. Or consider working with a young child, watching them read word by word, noticing their where they hesitate and frown, probing for their thoughts, adjusting difficulty, providing a path of development.

What if that was math content rather than a drama or children's book? What if we could do this at scale? Eye tracking is just one tech coming in on the coattails of VR/AR. A setting for personalization AI is another.

What if saying "the best way to organize and present this topic in a textbook", becomes like saying "the Capital mandates, that every teacher of this grade, will today all teach the following lesson, by saying the following words, regardless of local context"? While not on a national level, that is a real thing.

What might it take to start encoding an adventure graph for linear algebra? The "oh, if you like this perspective on this topic, you might like this similar perspective on this other topic"?

Or if we don't have the tooling for that yet, can we start thinking about the tooling? Or fruitfully do something else now, in preparation for opportunity? Perhaps Kahn academy problems in more flavors, in a richer graph? ML-based textbook aggregation, synthesis and retheming? Perhaps it's all not ripe yet. But something else, maybe?

I feel a bit bad for saying this, but I don't think the interactive visualizations here really contribute very much. Yes, you can move the vectors, but the point is already made by the static picture.

Similarly, you can already traverse, not only a single math book in a non-linear order, but any number of different books and other sources concurrently, and this is how everyone I know of already learns. Many textbooks already have a dependency graph in the beginning showing how you can read the chapters! So every person is already traversing their own personalized "adventure graph" for linear algebra and will be throughout their entire education. It is rather the idea of a totalizing tech solution that will be perfect for everyone that smacks of central planning.

Hmm, I hope the "centralized planning" story wasn't distasteful. I was thinking of the stark contrast between say my writing a learning progression for category theory, versus say pointing out to a toddler that their observation about a game piece on a path, generalizes to any finite loop, including time of day, or a simple parking lot.

So let's see, possible contributions from interactive visualization to teaching linear algebra? Very not my field. And it's been decades for me. And my exposure to math education research is limited. So I don't recall what challenges, misconceptions, and failure modes are faced there. So, all I can offer is a handwave: perhaps a hands-on version of some 3Blue1Brown video?

Apropos "this is how everyone I know of already learns", at least for science education, this describes very very few K-13 students. Even among freshmen at a first-tier university. I'd be surprised if math was significantly different. Surprised but very interested.

Apropos "Many textbooks already have", yes... progress is often not something startlingly novel, but doing something we've already recognized as desirable, but doing it faster, better, more thoroughly, more cheaply, more consistently, for more people, etc.

Perhaps it might be more useful to think of tutoring others, rather than learning oneself? Dropping on someone a pile of texts, and telling them "find the corresponding sections yourself, work past the differences of notation, when you you think you might have a misconception, try googling the math education research primary literature to find how to deal with it, ...", well, hmm. What are the learning experiences we would ideally wish for each student, and can we use incoming tech to deploy less ghastly approximations of that.

I think your idea can be developed today by selecting online forums centered on topics. The main problem is moderation and how to plan the journey.

If you read the older editions of physics (and my comment applies to physics, not math) textbooks like Lanczos and Kittel (let’s leave Landau out of this) where the examples and problems are interspersed in the text often with solutions, the clear implicit invitation is to the students to come up with their own problems (ideally paradoxes!). This is related to point 4 in throwawaymath’s comment: https://news.ycombinator.com/item?id=19265709

If you don’t expect them to be potential future faculty, then by all means let other people hand you the problems and paradoxes unless you’re in contact with experiment.

This. It’s a daily trade-off, as a working professional, between how deep I should learn the fundamentals and how quickly can I get to solving problem at hand.

As an example, I want to learn how to deploy my models on the cloud but the mechanics of how computing on the cloud works is a depth trade-off. I wish I could learn all about distributed computing concepts but I find that I have neither the time or energy for it, at times.

> When we build a building, we need frameworks and scaffolds to build it.

This SIAM published Linear Algebra textbook makes a point about the scaffolding, too: http://matrixanalysis.com/Scaffolding.html

nit: The Feynman bit is a myth: https://physicstoday.scitation.org/doi/full/10.1063/1.176865...

And Searle is an interesting argument for Griffith's perpsective. Searle rose to fame talking about stuff he knew how to do ("speech acts") and in his later years embarassed himself with bad criticisms of AI, as in the Chinese Room, his garbled continuation of the fallacy of the Philosophical Zombie.

It makes perfect sense, since Griffiths’ book is simply not enough to have a working knowledge of quantum, but might be barely enough to pass the GREs (I learned the Heisenberg and interaction pictures from Sakurai, not the pathetic footnote to a problem Griffiths relegates it to)

I like this pedagogical structure. Why do you think so many people recommend Linear Algebra Done Right as a first exposure to the subject?

Because in fairness, it does do so many things right. It's kind of controversial[1] because of Axler's notation and de-emphasis on determinants. But it's an ideal book to give a student who has had a first, computational course in linear algebra (i.e. a course entirely devoted to solving systems of linear equations and drilling matrices).

I think Hoffman & Kunze is really the best textbook for the arrangement of material I'm talking about, but it's outdated at this point and its exposition is strictly less pedagogical than Axler. My vision for the "perfect" linear algebra textbook would be loosely based on Hoffman & Kunze, but replacing a lot of the theoretical exposition with Axler's exposition from Linear Algebra Done Right, then keeping (and even expanding) the mterial on Gaussian elimination and matrices. You could get a solid three-semester sequence of computational and proof-based linear algebra out of such a textbook, and you'd be all set to go to something grad-level like Roman.

Unfortunately it's also hard to judge a lot of linear algebra textbooks because the bifurcation between proof-based and computation-based linear algebra isn't as clean as it is in calculus. Calculus has its own separate course sequence in real/complex analysis, whereas linear algebra doesn't have a distinct name for the more rigorous coverage of the subject. So you have a lot of textbooks which choose one or the other thing, which then results in an over-emphasis on computational stuff in the first course and a complete de-emphasis on the motivation in the second course. When you are learning these back to back in distinct courses that's usually fine, but many first courses actually jump right to Axler despite the words of caution he writes in his own preface.


1. Noam Elkies uses it when he teaches Harvard's Math 55a. See his list of comments and errata for the book: http://www.math.harvard.edu/~elkies/M55a.17/index.html

have you looked at "Matrix Analysis and Applied Linear Algebra" by Carl Meyer? it seems very in line with what you're saying and the exercises are absolutely excellent. I've slowly made my way half way through the book and am very happy over all

If rank is put where you want, the presentation of the Nullity-Rank theorem will be less than ideal.

Why is that? Note that when I mention the dimension theorem, I'm actually referring to the fundamental rank-nullity theorem.

To be more clear, what I was suggesting is to take the section on rank, toss that into the section on matrices, and then toss that into the section on Gaussian elimination (preceding vector spaces). That's useful because the rank of a coefficient matrix tells you the nature of the solution space of the corresponding system.

Then when you cover the rank-nullity theorem in the chapter on linear maps, you'll have the context of 1) what rank means in a matrix, and 2) what rank means in a linear map. That sets up a deeper understanding of how to verify the rank-nullity theorem for any linear map by finding the rank and the nullity using the basic and free variables of the reduced row echelon matrix.

I learned from Apostol and Lax, so maybe those are my biases talking, but I don’t remember rank being covered in more than one place at least in the former. Apostol proves it directly from the indices of linear maps. I could see introducing rank in the context of saying in real life, instead of basic Gaussian elimination, we have to consider condition number, then take the reciprocal of the condition number, talk about rank singularity, and then from there touch upon rank (punting to linear maps for the whole treatment, which you did acknowledge as an option) I think a straightforward more real world example oriented to say a basic REPL like that will pique their interest.

Also I hated hated hated the finding reduced row echelon problems in Apostol so maybe it’s just me and I’m lazy.

I've been working on this for the last two years, I've just started writing content for it :)


The website looks a but weird on mobile [0]. It’s still readable but probably removing the left image would help already.

[0] https://imgur.com/dzidyuV

I thought matrices were pretty cool when I took Linear Algebra in college. However, I hated doing the computations by hand; it makes one really appreciate computers.

There is a similar interactive linear algebra book from Georgia tech : https://textbooks.math.gatech.edu/ila/

Highly recommended.

I recently released my own review notes which try to provide a brief overview of some of the main linear algebra topics in an intuitive / geometric manner in case anyone is interested: https://github.com/photonlines/Intuitive-Overview-of-Linear-...

This reminds me of the mobile game Euclidea, which is a puzzle game where one must build geometric figures with as few operations/tools as possible: https://www.euclidea.xyz/

It's really well designed, give it a try !

This is fantastic! I'm planning on taking linear algebra in the fall and a glance over this makes me think it will save me tons of time searching youtube and etc for explanations of trickier concepts.

3Blue1Brown's youtube channel is great too for visuals and theory. I taught myself linear algebra pretty easily combined with this book.

20 years ago, when web browsing was still newish, I would have expected HUNDREDS of interactive-learning sites like this to have been set up by now. I am very glad to see this!

Another interactive math textbook: https://mathigon.org/

Wow. That is an amazing piece of work.

Thank you so much to ease my life.

Do anyone know any such type interactive books which is related to ML, i don't mind purchasing.

Thanks for the link. I have been meaning to brush up my Linear Algebra for some time now, I’ll give this a serious try.

Side note: anyone else notice that if you scroll up or down really fast (in mobile) the spinning logo starts to go faster & faster. Cool Easter egg!

I really like the concept...but where do people pronounce algebra that way? It sounds like a computer trying to sound normal (to my ear. I'm more of a Al-Ja-bra kind of guy, not Al-Ga-bra)

I need a resource like this for group theory.

Try http://abstract.ups.edu/aata/. I have no affiliation with the authors, but I think it's really quite good. Symmetries in particular have a lot of illustration.

Thank you! I'll check it out.


This is targeted at the beginner. Maybe someone else can comment on how good it is. Doesn't look to be interactive, but more pictorial based.

I'll check this book out. Thank you!

I want interactive proofs to learn linear algebra. I'm trying to build something, it's daunting.

Interactive proofs?

Yes. Unfortunately that term is taken by some cryptography thing. A proof assistant or interactive theorem prover to be more precise.

Great idea.

Learners can interact with book.

Is there anything similar available for Tensors?

Ouch, their Forum is full of spam.

yes! interactivity is where it is!

Is this still being worked on?


Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact