An Open-Source Approach to Quantum Gravity

#mozsprint 2017 Interview Series

Adam (@adamgetchell) is the Director of Information Technology at UC Davis, Physics PhD student in quantum gravity and research software engineer. A longtime contributor to the Mozilla Science Lab, Adam was selected to join the third cohort of Mozilla Open Leaders for his work on ‘Causal Dynamical Triangulations in C++’.

I interviewed Adam to learn about his experience in Mozilla Open Leaders, his project ‘Causal Dynamical Triangulations in C++’ and how you can help.

What is Causal Dynamical Triangulations in C++?

In a nutshell, we’re trying new approaches to solving quantum gravity, which is the intersection of General Relativity with Quantum Mechanics. This is a very hard problem in physics; it’s been worked on for almost 100 years, and we still don’t have a solid understanding.

As far as why it’s important, well, it’s the ultimate answer to Life, the Universe, and Everything. Do we live in one universe, or are there uncountably many others? Are there four dimensions, or six, or ten, or eleven? What caused the Big Bang and are there others?

It also answers some questions that may have practical utility someday, such as: Does time travel exist? Can we make warp drives? Are wormholes possible?

More specifically, it’s a project to do fast Monte Carlo simulations on a model of quantum gravity. The model, dynamical triangulations, replicates general relativity by using Regge calculus on Delaunay triangulations. By explicitly enforcing a timelike foliation, the model is constrained to be causal, which solves some problems of earlier ideas. Combining Regge calculus with statistical mechanics, one can obtain a discrete quantum mechanical partition function. Using the Metropolis-Hastings algorithm, one then generates an ensemble from the partition function which sums all possible configurations and solves the path integral. Because the simulations are at the Planck scale, it is hoped that Causal Dynamical Triangulations will give insights into the fundamental nature of the universe.

Why did you start Causal Dynamical Triangulations in C++?

Well, as with any other academic endeavor, I’m standing on the shoulders of others. In this instance, my predecessor Rajesh Kommu had written the first independent confirmation of Causal Dynamical Triangulations, along with many other collaborators including David Kamensky, Christian Anderson, Jonah Miller, and Kyle Lee; all working under the supervision of Professor Steve Carlip.

This version was written in Lisp, which was elegant but not the easiest to get running or modify. In particular, the problem that I was looking to resolve (finding a Newtonian limit) required some spatial geometric structures to do properly; the Lisp code was purely combinatoric. So after many attempts using SAGE/Python, F#, Clojure, and Julia I found the Computational Geometry Algorithms Library, which had many robust implementations of Delaunay Triangulations backed by several PhDs and decades of research and practice. After a last attempt to use CGAL in Python via SWIG, I bit the bullet and started from scratch in C++.

Fortunately for me, around this time C++ really started to evolve quickly with the C++11, C++14, and now C++17 standards. So it has been fun (with a bit of pain) to learn everything all over again, along with the physics, of course.

Where can I go to learn more about causal dynamical triangulations?

Oh, there are many sources.

Looking back at where you were when you joined the Mozilla Open Leaders cohort, are you where you expected to be? What have you learned in this process?

Well, it’s very hard to build up a community around a project! I have a lot of respect for those that have, because I’m not really there yet!

I’ve had a few collaborators, but I haven’t been able to sustain contributions so far. I think part of it may be that the project is not quite in a state where you can see something interesting yet. Also, there’s probably a fairly tall hurdle to clear to really contribute; I’ve done my best with documenting everything, and learned a lot from this cohort on better ways to do so, but still. I suspect it probably just takes a certain mindset to want to play with this stuff, and probably a lot more time than most people have to get going.

I definitely see the value of networking, and again this has helped me a lot in this regard.

I obviously still have more to learn! Along with physics, and coding, and well, everything else!

How can others help you continue the work on Causal Dynamical Triangulations in C++?

I have an issues list, as well as an overarching plan! Beyond that, if any of the documentation is unclear I accept pull requests.

I’ve really been trying to get my project to build on Windows! (I thought I had this worked out, but it hasn’t yet.) I found from a CppCast podcast that 50% of the C++ developers out there are using Windows, so I’d like to double my pool of potential contributors!

By lucky coincidence, I’m headed off to the Making Quantum Gravity Computable conference at the Perimeter Institute, so I’m hopeful I’ll get my project (via poster session) in front of a lot of folks that can help!

Is there anything else you’d like to add?

I found that I make my best progress when I’m consistently coding. Codestats is a fun way to gamify this. The others, e.g. Pomodoros and Todoist, are necessary but not quite as much fun.

What meme or gif best represents your project?

I don’t know about a meme or gif (other than the one I’m already using), but when people ask me what I study I ask them if they’ve seen the movie “Interstellar”. If they haven’t, then I tell them to go see it; if they have, that usually makes a light go off in their heads!


Interested in bringing your own projects to a Mozilla event? Submit a session to MozFest, the world’s leading festival for the open Internet movement. October 27–29, 2017 Ravensbourne College, London.

Read, Write, Participate

What Mozilla is thinking, building and doing about internet health.

Mozilla Open Leaders

Written by

A cohort of Open Leaders fueling the #internethealth movement through mentorship & training on working open. Work Open, Lead Open #WOLO mzl.la/openleaders

Read, Write, Participate

What Mozilla is thinking, building and doing about internet health.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade