Most of our daily experiences, be it writing a blog post on a laptop or slicing bread with a knife, build on the enormous amount of knowledge and progress mankind has accumulated over the millennia. Most of the times, and quite understandably, we take all this for granted and live thinking about the future rather than the past. It is not worth recalling the iron age every time we use a fork, or all the people involved in the invention of the transistor every time we use a computer. Every now and then, though, it is hard not to be overwhelmed by the magnitude of past scientists.
It occurred to me some weeks ago with mathematicians, when I read a nice article by Davide Castelvecchi on Nature News. It reports an analysis done on the Mathematics Genealogy Project, a database aiming to list present and past mathematicians together with their advisor, in order to build a family tree of the advisor-advisee relationships. This analysis shows that two thirds of the over 200 thousand mathematicians present in the database can be assigned to one of only 24 families, the biggest of which founded by the Italian mathematician (physician and natural philosopher) Sigismondo Polcastro, who lived between 14th and 15th century.
Although I had already explored this database previously, after reading this article I decided to go further into the past, something easily done by clicking on the advisor link. While doing so I encountered many many big names, those that you meet multiple times when you study calculus. And I was somehow startled that they were in direct advisor-advisee relation! It is really not too difficult to end up on Euler (over 96 thousand descendants) meeting Dirichlet, Fourier and Lagrange on the path, to name a few.
So I decided to save some of these advisor-advisee relationship and plot them as a directed graph with d3. In the graph below an arrow from A to B means A was advisor of B. You can (and probably have to) drag the points around to clarify some links.
The selection of nodes is completely arbitrary, I only saved nodes that somehow struck me because something important in mathematics is named after them.
There should be other interesting cliques in the database. For example, where are Gauss, Riemann, Dedekind? And what about Cauchy and Hilbert?
I found the following links useful to draw the network:
- An A to Z of extra features for the D3 force layout, a tutorial by Simon Raper,
- a question on Stack Overflow, How to embed d3 in a jekyll blog post and references therein.
- Last but not least, this helped me correct a fundamental mistake I was making in selecting the relevant html element.
Header image from Flickr