Thoughts on using the Zettelkasten method for Mathematics notes

Some of the ideas below are included in the video.

I’ve been writing notes using the Zettelkasten method for the past 6 months or so. The Zettelkasten method is a way of organizing your notes where for each idea you have or want to note down you make a small note. You then link these ideas together to generate a network of notes. Here are my thoughts on using the Zettelkasten method for math research. The Zettelkasten system of note taking definitely isn’t some magical way to instantly become a successful academic or top student, but it does encourage some good practice that allows you to learn things very effectively. In this video I’ll discuss my experience taking notes with Zettelkasten and how its changed the way that I approach doing research.

Overview of the Zettelkasten method applied to Mathematical notes

I’ll quickly give an overview of the Zettelkasten method and how I’m using it for mathematics research. I’m currently a graduate student working in differential geometry and I found that I needed to know a lot of material to be able to work on my project as it has relations to many areas. Mathematics papers are actually quite good for writing Zettels (small atomic notes) from, since they are often split up into definitions, propositions, theorems etc.

My idea for writing notes for mathematics notes is to try and keep my notes to one or two definitions, theorems or propositions, and if I want to note the proof of a proposition or theorem then I’ll include that in the same note. I’ll split up these things into different notes if I can envisage a situation where you would want to mention one with out the other. Sometimes two ideas are so closely linked that it makes sense to keep them in the same note. Very often a mathematical proof can be summarised in a few sentences. I try and do this as much as possible, and then reference other notes in the proof.

This method works quite well if you want to learn the material in a textbook or paper. For papers it’s particularly good because you can develop an understanding of the landscape of results without needing a textbook or survey paper. If you write your notes sufficiently well, combining results from lots of different sources into your own notes to find new is original research, and after writing the notes, it’s particularly easy to combine them to produce a draft of a paper.

How I actually write notes

I started out using obsidian, but I got quite annoyed by the fact that there wasn’t an easy way to define theorem and definition environments. Also in the back of my mind was that it would be difficult to export all these obsidian notes into a LaTeX document if I wanted to say write up some of the results in my Zettelkasten. So instead I started writing notes in LaTeX. I knew that you could render html pages with LaTeX so I assumed that there would be some way of creating links between different LaTeX documents. This was a bit tricky to setup initially, but I was able to automate this process. I’ve made a video about an app called TeXNotes that I made to do just that.

So, I’ve thought quite a lot about the best way to actually keep a collection of digital notes, but I’ve come to the conclusion that it probably doesn’t matter that much. The most important thing to do is to reduce the friction in writing notes. It needs to be sufficiently easy and the output needs to be easy to read. It’s also beneficial if you can search through your notes, and visualising connections is also a nice feature to have, particularly when writing up the notes.

It changes how you think about learning

The biggest change for me while practicing the Zettelkasten method has been it’s ability to change the way in which I think about learning new things. Now when I read a paper, I’m much more interested in finding little details and results from the paper and integrating these into my network of notes, rather than getting a good global understanding of the paper as presented by the author. This might seem like you’re maybe going to miss out on some details of the paper but if you think about it, this is the reason that you read papers in the first place: you’re not going to read a paper that is exactly in line with the research that you want to carry out. Everyone has their own research projects and there will be some papers where the key result is a ground breaking new result in the field, but typically papers prove rather niche results that incrementally advance the field, and what is most interesting is perhaps not the final results of the papers, but the methods used and the ways that the authors think about things. Because of this, it makes sense to read papers not to completely understand all the results and proofs, but to try and capture these bits of insight from the authors and in particular how it relates to the things that you’re thinking about.

Bad Notes Mean that I don’t Understand

I use my ability to be able to write notes on a topic as a test of my understanding. If I can just sit down and recall various theorems etc then I’m pretty happy that I have a reasonable understanding of the topic. If I struggle to make notes then I’m happy to read about it and the act of making notes that link in with my previous notes is a good way to learn or rfresh my memory. Sometimes I’ll be able to make some notes on a topic but I’ll end up with links that aren’t very well laid out. This is also another sign that I need to do some more thinking to make sure that I really do understand the topic. It’s important to go back and make sure that the notes are in good shape. This is something that’s quite hard to do. It’s important to refine the notes once they’ve been written, not just write them and forget and then get annoyed when you can’t easliy reference ideas that you know are contained in some of the notes.

 Programming Principles and automatic proof systems

When using the Zettelkasten for mathematics in this way, there seems to be a link between how I write mathematics and how I write code. I’d like to read more into formal proof systems as I think this might be related. When you write software for, then you tend to split the functionallity into little blocks called functions. Roughtly speaking, a function is a black box that you give some inupt and it produces some output. For example, you might have the multiply funciton, which takes two numbers as inputs and gives their product as an output.


Posted

in

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *