Wolfram Function Repository
Instantuse addon functions for the Wolfram Language
Function Repository Resource:
Produce random causal graphs by sprinkling points into a spacetime with a specified algebraic curvature function
ResourceFunction["CurvedSpacetimeSprinkling"][func,{x,x_{min},x_{max}},n] produces a random sprinkling of n points into a onedimensional spacetime with algebraic curvature given by func as a function of x.  
ResourceFunction["CurvedSpacetimeSprinkling"][func,{x,…},{y,…},…] produces a random sprinkling of n points into a higherdimensional spacetime with multivariable algebraic curvature function func (in variables x,y,…, etc.).  
ResourceFunction["CurvedSpacetimeSprinkling"][func,{x,…},…,n,"prop"] gives the property "prop" for the spacetime sprinkling with the specified algebraic curvature function. 
"CausalGraphFull"  full causal partial order graph (before transitive reduction) 
"CausalGraph"  transitively reduced causal partial order graph 
"Points"  plot of the sprinkled points only (without causal edges) 
"PointsList"  list of the spacetime coordinates of all sprinkled points 
"Dimensions"  number of dimensions in the continuum spacetime approximation 
"TotalEdgeCount"  total number of causal edges (before transitive reduction) 
"ReducedEdgeCount"  number of transitively reduced causal edges 
"PureCausalGraphFull"  full causal partial order graph (before transitive reduction) with vertex coordinate information removed 
"PureCausalGraph"  transitively reduced causal partial order graph with vertex coordinate information removed 
"Properties"  list of properties 
A twovariable algebraic curvature function:
In[1]:= 

Out[1]= 

Produce a random sprinkling of 100 points into a 1+1dimensional spacetime with the specified curvature function:
In[2]:= 

Out[2]= 

Show the causal graph:
In[3]:= 

Out[3]= 

Show the full causal graph (without transitive reduction):
In[4]:= 

Out[4]= 

A slightly more complicated twovariable algebraic curvature function:
In[5]:= 

Out[5]= 

Produce a random sprinkling of 200 points into a 1+1dimensional spacetime with the specified curvature function:
In[6]:= 

Out[6]= 

Show the causal graph:
In[7]:= 

Out[7]= 

Show the pure causal graph (with vertex coordinate information removed):
In[8]:= 

Out[8]= 

Show the pure causal graph with a layered graph embedding:
In[9]:= 

Out[9]= 

A threevariable algebraic curvature function:
In[10]:= 

Out[11]= 

Produce a random sprinkling of 200 points into a 2+1dimensional spacetime with the specified curvature function:
In[12]:= 

Out[12]= 

Plot the positions of the sprinkled points only (without causal edges):
In[13]:= 

Out[14]= 

Show the causal graph:
In[15]:= 

Out[15]= 

Sprinklings can be produced in 0+1dimensional spacetimes:
In[16]:= 

Out[16]= 

Show the pure causal graph:
In[17]:= 

Out[17]= 

A sprinkling in 1+1dimensional spacetime:
In[18]:= 

Out[18]= 

Show the causal graph:
In[19]:= 

Out[19]= 

A sprinkling in 2+1dimensional spacetime:
In[20]:= 

Out[20]= 

Show the causal graph. Note that, unlike FlatSpacetimeSprinkling, CurvedSpacetimeSprinkling does not support higherdimensional sprinklings:
In[21]:= 

Out[21]= 

Properties can be requested directly from CurvedSpacetimeSprinkling:
In[22]:= 

Out[22]= 

Produce a random sprinkling of 100 points into a 1+1dimensional spacetime with a complicated algebraic curvature function:
In[23]:= 

Out[23]= 

Show the complete list of properties:
In[24]:= 

Out[24]= 

Show the full causal graph:
In[25]:= 

Out[25]= 

Show the transitively reduced causal graph:
In[26]:= 

Out[26]= 

Plot the positions of the sprinkled points only (without causal edges):
In[27]:= 

Out[27]= 

Show the complete list of spacetime coordinates for the sprinkled points:
In[28]:= 

Out[28]= 

Show the number of sprinkled points:
In[29]:= 

Out[29]= 

Show the number of dimensions in the background spacetime:
In[30]:= 

Out[30]= 

Show the total number of causal edges:
In[31]:= 

Out[31]= 

Show the number of causal edges after transitive reduction:
In[32]:= 

Out[32]= 

Show the pure full causal graph (with vertex coordinate information removed):
In[33]:= 

Out[33]= 

Show the pure transitively reduced causal graph (with vertex coordinate information removed):
In[34]:= 

Out[34]= 

This work is licensed under a Creative Commons Attribution 4.0 International License