Welcome to the QuantumGrav documentation!
This project is dedicated to providing tools for creating causal sets as used in the corresponding approach to quantum gravity, and to building machine learning systems for analyzing them. Therefore, this project consists of two parts:
-
A Julia package called
QuantumGrav.jlwhich is build on top ofCausalSets.jl, which creates a causal sets of a different varieties (manifold-like, random non-manifold like, non-causal-set DAGs). For now, manifold-like causal sets are restricted to 2D. This package also provides functions for deriving a set of quantities from the graph-level properties of the produced causal sets. It also allows for storing the data inZarrfiles. -
A Python package called
QuantumGravPywhich is based onpytorch-geometricandzarr. This package is thus responsible for the data preprocessing, and model training. This package is based on a configuration-code separation in which you will define your model using YAML files and only supply code where the predefined abstractions do not suffice.
Start with the Getting started page to get up and running.
For the Python package QuantumGravPy, the Datasets and Preprocessing section will show you how to use the supplied dataset classes for processing your raw data. Next, you should learn about the model architecture used in this package in Graph Neural Network models.
To learn how to train a model, check out the Model training section.
Finally, the API documentation will tell you everything you need to know about the source code of the package.
Note that the two packages are designed to function in unison, with the Julia package producing data that the python package consumes.