Using Anki for mathematics

Over the years I have fairly regularly gotten requests from people to explain my approach to using Anki for mathematics. This article therefore hopes to detail some of the tips I've arrived at after over 5 years and 1500 cards of study.

Before starting however, a few caveats.

The first is that of course these are only the tips I've found that work for me – your needs may be different. For that reason the most important meta-tip I would suggest is that you just experiment and see what approaches you like. I like to think of Anki like learning an instrument or training a muscle. Practice and building familiarity will go a very long way.

The second thing to mention is the distinction between the memorisation part of maths and the problem-solving part. Anki is a tool designed for memorisation, so it is mainly suited to that part of mathematical study. You can train problem-solving with Anki as well (and I include some tips on that below), but I wouldn't recommend doing so unless or until you're quite familiar with using Anki the intended way.

And finally, as you might tell from the fact that these tips exist in the first place, even the rote part of mathematics isn't the easiest possible to topic to put into Anki. So if you're completely new to Anki I might gently encourage you to try other subjects first (or at least alongside maths) to get a feel for the program. (Classic choices include geography and languages.)

Basic tips

  1. Learn how to use LaTeX in Anki with MathJax. This used to be a lot more painful but these days you can simply press the "fx" button in the card editing UI, once you've learned how LaTeX syntax works. If you're going to be writing a lot of maths then learning LaTeX syntax is a must – you will thank me later. The resulting text is quick to write, looks great at any zoom level, doesn't take up much memory, and can be searched through using the normal search bar.
  2. Use cloze deletion wherever possible. (In fact I use cloze deletion on literally all of my maths cards.) This is another reason MathJax is essential: it allows you to put clozes inside formulae. You can write e.g. "sin2(x) + cos2(x) = {{c1::1}}" and it will work like you expect.
  3. Definitions in mathematics are always equivalence statements, so use clozes to make them bi-directional. For example: "A binary operation, *, is called {{c2::commutative}} if {{c1::for every a, b in its domain we have a * b = b * a}}." The same goes for theorem statements when those theorems have an established name.
  4. Where appropriate, have cards that ask you what symbols stand for. For example: "Let X, Y be sets. {{c2::f : X → Y}} denotes {{c1::that f is a function from X to Y}}."
  5. Organise topics using tags rather than decks, since much of the time a card will be relevant to more than one topic. E.g. there's a big overlap between cards which are "Group theory" and ones which are "Algebra".

Hierarchical cards

Cards with too much information are a common problem with mathematics. Breaking down cards hierarchically is a great way around this.

To illustrate, consider the definition of a vector space. In most undergraduate courses this object is defined by listing up to 8 separate properties. (See the table on Wikipedia for example.) If you naively write that up into a card you've got no chance of remembering it. Clozing each property separately is better but not very useful in practice (since it gives up too much surrounding information).

Hierarchical cards are a different approach. Here you would write "{{c2::A vector space}} is {{c1::an F-module where F is a field}}." Then you can have separate cards that define what an F-module and a field are. Spoiler: they are both hierarchical as well!

Card citations

With maths cards you will often want to see the definition of a term on one card which exists on some other card, and it can be hard to find, especially for terms that are used a lot. To help with this I use what I call "Card citations" (or identifiers). I give every card an extra field called "identifier", in which I put an arbitrary, but unique, number. I can then reference the card from elsewhere like a citation. E.g. my actual vector space card is written like this: "A vector space is an F-module8 where F is a field2". I can then use "Identifier:8" in the search bar to be brought immediately to the definition of an F-module.

Problems cards

As discussed in the preamble, it's possible to use Anki for maths problems as well. However, if you try this it's important to tailor your approach to the fact you're using Anki in a way it's not designed for.

The benefit of Anki for problems is that it's a way of scheduling a time for you to revisit a problem. To make this work best, put problems cards in their own decks and increase the interval modifier. This is because for problems it's actually bad if you memorise too much. (And because reviews take a long time.)

For problems cards, try to physically write an answer when it comes up for review (on paper, a blackboard, etc.) I find this helps because with maths in particular it's very easy to trick yourself into thinking you have a well-thought-out answer when in reality you don't.

Card citations are even more useful when it comes to using theorems in your problem solutions, since often theorems will not have an established name.