I'm currently trying to map out mathematics, by writing up a whole lot of definitions, theorems and axioms and noting the dependencies between them (for instance if B is a definition, it will contain words which themselves were defined earlier in definition A, so B depends on A).

I don't just want to make a big list of theorems and definitions, though, I have this picture in my head of an incredibly big graph (in the graph theoretic sense) - a map, if you will, of mathematics. This is a very rough example of the template, though I'd have it the other way round, personally.

The aim is to find software which I can use to create this graph. Here are my wants and needs:

  1. I need it to be interactive. This is in the sense that if I click on a node (the theorems, definitions, etc are nodes, dependencies are represented by arrows), I'd like a picture to appear somewhere of the page detailing that node. I'd assume this would be achieved by either somehow linking the graph to the pdf file of the list, or perhaps by my taking a screenshot of the particular page in the list and perhaps linking that in some way to the node. It would be preferable if the picture remained in the programme, rather than making adobe open up or something.

    It would also be amazing if I could also link the document to the graph, so I can open up the big list through this software, and click on the page of 'theorem A' to highlight the node of 'theorem A'.

  2. I need it to allow the labelling the nodes and arrows for ease of navigation. So one node might look something like [Theorem A], for example.

  3. I need it to be able to handle a large number of nodes. Potentially thousands. If this is simply not possible I can try to overcome that, I guess.

  4. I would greatly like it to be zoomable, in a sense perhaps similar to google maps. All I mean is that a large, static picture is unlikely to suit me.

  5. It would be nice if the software were fairly easy to use, but I can cope with a learning curve if the documentation is good.

  6. If at all possible, I'd like the software to work on a Mac. This is just because my laptop is a mac, and so is not a necessity by any means.

Does anyone know of software that could meet my needs? Or might I need to try to create it? (I'm learning C++, given enough time I could surely make such a program with that, right?)

Many thanks, this is probably an unusual request. The tags are me throwing darts at a wall, if anyone could improve them I'd be much obliged.

2 Answers 2


When reading your request I do believe that the software you are looking for a mind mapping tool. There exists however quite few of them, and you'll need to look around to find which suits your needs best. To get you started do a search for something like best mind mapping tools.

I would like to mention two options which I think would fit your needs. One a little pricier than the other, and those are MindJet's MindManager (price from 349 USD) and XMind (price from free through 99 USD).

Both of these has the following options:

  • Possible drill-down to a given node
  • Linking nodes to each other (also outside of the main node tree)
  • Can handle large number of nodes
  • Allows labeling
  • Are zoomable
  • Both are available, I think, for both Windows and Mac (and possibly both Android and iOS)

I've used MindJet some years back, and was very satisfied with it, but I don't like the pricing scheme of it. Haven't used Xmind, but it seems promising, and has gotten good reviews lately.


Thinking about it you need to display various levels of details, for example a given theorem might deal with invariant sets of irrational numbers as mapped to modelling social interactions within primate groups, (he says winging it outrageously), at an overview level this would not be displayable. However at the top level you might have broad areas such as set theorems, real world modelling and numeric operations.

This suggests to me that you could use a data model where you had several levels of classification and an interactive process that depending on your zoom level displays the differing content.

This sort of thing can be achieved with a combination of iPython, pandas and bokeh.

With iPython you can detail your theorems in markdown with full MathJax support, link them together and plot examples with bokeh and output to html, latex &/or pdf.

Free, (gratis & open source), & cross platform.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.