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.jl
which 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 inHDF5
orZarr
files. -
A Python package called
QuantumGravPy
which is based onpytorch-geometric
,h5py
andzarr
. 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 supplied 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.
For the Julia package QuantumGrav.jl
, TODO:
Note that the two packages are designed to function in unison, with the Julia package producing data that the python package consumes.