> I personally never was able to learn linear algebra from a linear algebra book.

> Instead, I relearned linear algebra 4 or 5 times as the "basis" of other maths I've learned. I learned it for differential calculus. I relearned linear algebra for signals. I relearned linear algebra for Galois fields/CRC-codes/Reed Solomon. I relearned linear algebra for graphics.

If I were way better at websites and at advanced mathematics than I actually am, I'd make a site for learning math in a top down manner where you start with some result or application that interests you and then are taught just enough more elementary math to support that result or application.

The site would have a list of results and applications, and for each tell what math is necessary to understand it. You pick a result or application that interests you, either because it is interesting to you itself or because you see that it depends on some more elementary math that you wish to learn.

Once you pick, the site would show you a proof of the result or development of the application, at a level that one would find in a journal aimed at professionals in the relevant field. This of course will most likely be largely incomprehensible at this point.

You can select any part of the proof or development and ask the site for more information. There are two kinds of additional information you can ask for.

One is to ask for smaller steps. You use this when there is some step A -> B where you are comfortable with A and B but just don't see how it jumps from A to B. You understand what A means, what B means, just not why A -> B. The site fills in the intermediate steps.

The other is to ask what something means. This is for when the proof uses something you have not yet studies. For example if the proof uses integration and you have not yet studied it calculus that would be a great place to use a "what does this mean?" request. The site would then give you a short explanation of integration.

A key feature of the site would be that this is all recursive. If you use a "what does this mean?" request on an integral and get the short explanation of integration, you could use "smaller steps" requests and "what does this mean?" requests in that explanation.

Using "what does this mean?" requests recursively should let you go all the way down to things that can be explained with only high school algebra and precalculus.

Note that if you've never studied anything past high school algebra and precalculus and then use the site to learn something like say an analytic proof of the prime number theorem you will learn much elementary calculus but not all. You will learn just what is needed for the prime number theorem.

But there would be other interesting theorems and applications that use different parts of elementary calculus, so doing those would fill in more of your elementary calculus.

The site should have a planner that lets you pick areas of undergraduate or masters level math that you would like to learn and then shows you lists of interesting theorems and applications it has that will cover those areas.

I think this would be an interesting and effective way to learn. At all points everything you are learning goes directly toward supporting the top level proof you have chosen to learn, and you have an idea of why it is useful because you are there because you've already encountered something where you need it.

I think that for many people this will provide better motivation. In the conventional approach, where you do say a whole class in calculus or abstract algebra, then do a more advanced class that uses those results, and so on, a lot of time you are learning stuff with no idea of why it is useful.