Wolfram Function Repository
Instant-use add-on functions for the Wolfram Language
Function Repository Resource:
Produce random spatial graphs by sprinkling points into a Riemannian manifold with an arbitrary extrinsic curvature
| ResourceFunction["ExtrinsicCurvedManifoldToGraph"][cond,{x1,…,xm},n] produces a random sprinkling of n points into a Riemannian manifold with extrinsic curvature satisfying the conditions cond, assuming a discreteness scale of 1. | |
| ResourceFunction["ExtrinsicCurvedManifoldToGraph"][cond,{x1,…,xm},disc,n] produces a random sprinkling of n points with discreteness scale disc into a Riemannian manifold with extrinsic curvature satisfying the conditions cond. | |
| ResourceFunction["ExtrinsicCurvedManifoldToGraph"][cond,{x1,…,xm},{{xmin,xmax},…},n] produces a random sprinkling of n points into a Riemannian manifold with extrinsic curvature satisfying the conditions cond restricted to the bounds {xmin,xmax}×…, assuming a discreteness scale of 1. | |
| ResourceFunction["ExtrinsicCurvedManifoldToGraph"][cond,{x1,…,xm},{{xmin,xmax},…},disc,n] uses discreteness scale disc. | |
| ResourceFunction["ExtrinsicCurvedManifoldToGraph"][…,"prop"] gives the property "prop" for the Riemannian manifold sprinkling with the specified extrinsic curvature. | 
| "SpatialGraph" | spatial graph with vertex coordinates given by the underlying manifold coordinates | 
| "Points" | plot of the sprinkled points only (without spatial edges) | 
| "PointsList" | list of the manifold coordinates of all sprinkled points | 
| "DiscretenessScale" | discreteness scale of the sprinkling | 
| "PointsCount" | number of sprinkled points | 
| "Dimensions" | number of dimensions in the continuum manifold approximation | 
| "EdgeCount" | total number of spatial edges | 
| "PureSpatialGraph" | spatial graph with vertex coordinate information removed | 
| "Properties" | list of properties | 
Produce a random sprinkling of 100 points into a 2-dimensional Riemannian manifold with a hyperbolic extrinsic curvature condition, with discreteness scale 0.8:
| In[1]:= | ![manifold = ResourceFunction["ExtrinsicCurvedManifoldToGraph"][
  x^2 - y^2 < 1, {x, y}, {{-2, 2}, {-2, 2}}, 0.8, 100]](https://www.wolframcloud.com/obj/resourcesystem/images/e5d/e5de507e-2896-4a3c-971e-cb30ce9a8188/7e9b853511a0ca3d.png)  | 
| Out[1]= |   | 
Show the spatial graph:
| In[2]:= | ![manifold["SpatialGraph"]](https://www.wolframcloud.com/obj/resourcesystem/images/e5d/e5de507e-2896-4a3c-971e-cb30ce9a8188/60c553a3fe6e790f.png)  | 
| Out[2]= |   | 
Show the pure spatial graph (with vertex coordinate information removed):
| In[3]:= | ![manifold["PureSpatialGraph"]](https://www.wolframcloud.com/obj/resourcesystem/images/e5d/e5de507e-2896-4a3c-971e-cb30ce9a8188/4cca1003ae3241cc.png)  | 
| Out[3]= |   | 
Produce a random sprinkling of 200 points into a 3-dimensional Riemannian manifold with a hyperboloidal extrinsic curvature condition, with discreteness scale 1.2:
| In[4]:= | ![manifold = ResourceFunction["ExtrinsicCurvedManifoldToGraph"][
  x^2 + y^2 - z^2 == 1, {x, y, z}, {{-2, 2}, {-2, 2}, {-2, 2}}, 1.2, 200]](https://www.wolframcloud.com/obj/resourcesystem/images/e5d/e5de507e-2896-4a3c-971e-cb30ce9a8188/018ebd32c34c4871.png)  | 
| Out[4]= |   | 
Show the spatial graph:
| In[5]:= | ![manifold["SpatialGraph"]](https://www.wolframcloud.com/obj/resourcesystem/images/e5d/e5de507e-2896-4a3c-971e-cb30ce9a8188/73110268030263d9.png)  | 
| Out[5]= |   | 
Show the pure spatial graph (with vertex coordinate information removed):
| In[6]:= | ![manifold["PureSpatialGraph"]](https://www.wolframcloud.com/obj/resourcesystem/images/e5d/e5de507e-2896-4a3c-971e-cb30ce9a8188/0a864b40ba0d09c8.png)  | 
| Out[6]= |   | 
Plot the positions of the sprinkled points only (without spatial edges):
| In[7]:= | ![manifold["Points"]](https://www.wolframcloud.com/obj/resourcesystem/images/e5d/e5de507e-2896-4a3c-971e-cb30ce9a8188/786c7d9b389a1c93.png)  | 
| Out[7]= |   | 
Produce a random sprinkling of 200 points into a 3-dimensional Riemannian manifold with a paraboloidal extrinsic curvature condition based on Flamm's paraboloid (related to the Schwarzschild geometry), with discreteness scale 0.3:
| In[8]:= | ![manifold = ResourceFunction["ExtrinsicCurvedManifoldToGraph"][
  2*Sqrt[(x^2 + y^2)] == z, {x, y, z}, {{-1, 1}, {-1, 1}, {-1, 1}}, 0.3, 200]](https://www.wolframcloud.com/obj/resourcesystem/images/e5d/e5de507e-2896-4a3c-971e-cb30ce9a8188/1ac5d6e9d5e606f2.png)  | 
| Out[8]= |   | 
Plot the positions of the sprinkled points only (without spatial edges):
| In[9]:= | ![manifold["Points"]](https://www.wolframcloud.com/obj/resourcesystem/images/e5d/e5de507e-2896-4a3c-971e-cb30ce9a8188/5cde769ab5054905.png)  | 
| Out[9]= |   | 
Show the spatial graph:
| In[10]:= | ![manifold["SpatialGraph"]](https://www.wolframcloud.com/obj/resourcesystem/images/e5d/e5de507e-2896-4a3c-971e-cb30ce9a8188/3e65e40fefef6505.png)  | 
| Out[10]= |   | 
Show the pure spatial graph (with vertex coordinate information removed):
| In[11]:= | ![manifold["PureSpatialGraph"]](https://www.wolframcloud.com/obj/resourcesystem/images/e5d/e5de507e-2896-4a3c-971e-cb30ce9a8188/67f0e1575a629618.png)  | 
| Out[11]= |   | 
By default, the discreteness scale is assumed to be equal to 1:
| In[12]:= | ![manifold = ResourceFunction["ExtrinsicCurvedManifoldToGraph"][
  x^2 + y^2 - z^2 == 1, {x, y, z}, {{-2, 2}, {-2, 2}, {-2, 2}}, 200]](https://www.wolframcloud.com/obj/resourcesystem/images/e5d/e5de507e-2896-4a3c-971e-cb30ce9a8188/6257c3e825c56ae7.png)  | 
| Out[12]= |   | 
Show the spatial graph:
| In[13]:= | ![manifold["SpatialGraph"]](https://www.wolframcloud.com/obj/resourcesystem/images/e5d/e5de507e-2896-4a3c-971e-cb30ce9a8188/468b21fbf6dbba41.png)  | 
| Out[13]= |   | 
By default, the manifold region is restricted to the bounds {{-1,1},…}:
| In[14]:= | ![manifold = ResourceFunction["ExtrinsicCurvedManifoldToGraph"][
  x^2 + y^2 + z^2 == 1, {x, y, z}, 100]](https://www.wolframcloud.com/obj/resourcesystem/images/e5d/e5de507e-2896-4a3c-971e-cb30ce9a8188/082cc4903e56dff2.png)  | 
| Out[14]= |   | 
Show the spatial graph:
| In[15]:= | ![manifold["SpatialGraph"]](https://www.wolframcloud.com/obj/resourcesystem/images/e5d/e5de507e-2896-4a3c-971e-cb30ce9a8188/6cff5b2c43486d97.png)  | 
| Out[15]= |   | 
Sprinklings can be produced in 1-dimensional Riemannian manifolds:
| In[16]:= | ![manifold = ResourceFunction["ExtrinsicCurvedManifoldToGraph"][
  x^2 < 1, {x}, {{-2, 2}}, 0.3, 100]](https://www.wolframcloud.com/obj/resourcesystem/images/e5d/e5de507e-2896-4a3c-971e-cb30ce9a8188/5c14c91f06180efa.png)  | 
| Out[16]= |   | 
Show the spatial graph:
| In[17]:= | ![manifold["SpatialGraph"]](https://www.wolframcloud.com/obj/resourcesystem/images/e5d/e5de507e-2896-4a3c-971e-cb30ce9a8188/3351be1de4653757.png)  | 
| Out[17]= |   | 
Produce a sprinkling in a 2-dimensional Riemannian manifold:
| In[18]:= | ![manifold2 = ResourceFunction["ExtrinsicCurvedManifoldToGraph"][
  x^2 - y^2 < 1, {x, y}, {{-2, 2}, {-2, 2}}, 0.8, 100]](https://www.wolframcloud.com/obj/resourcesystem/images/e5d/e5de507e-2896-4a3c-971e-cb30ce9a8188/3c93476ebe4b39b2.png)  | 
| Out[18]= |   | 
Show the spatial graph:
| In[19]:= | ![manifold2["SpatialGraph"]](https://www.wolframcloud.com/obj/resourcesystem/images/e5d/e5de507e-2896-4a3c-971e-cb30ce9a8188/2c04dab3b111adff.png)  | 
| Out[19]= |   | 
Produce a sprinkling in a 3-dimensional Riemannian manifold:
| In[20]:= | ![manifold3 = ResourceFunction["ExtrinsicCurvedManifoldToGraph"][
  x^2 + y^2 - z^2 < 1, {x, y, z}, {{-2, 2}, {-2, 2}, {-2, 2}}, 1.2, 200]](https://www.wolframcloud.com/obj/resourcesystem/images/e5d/e5de507e-2896-4a3c-971e-cb30ce9a8188/7682355639e01032.png)  | 
| Out[20]= |   | 
Show the spatial graph. Note that, unlike the resource function FlatManifoldToGraph, ExtrinsicCurvedManifoldToGraph does not support higher-dimensional sprinklings:
| In[21]:= | ![manifold3["SpatialGraph"]](https://www.wolframcloud.com/obj/resourcesystem/images/e5d/e5de507e-2896-4a3c-971e-cb30ce9a8188/262d05d02401410c.png)  | 
| Out[21]= |   | 
Properties can be requested directly from ExtrinsicCurvedManifoldToGraph:
| In[22]:= | ![ResourceFunction["ExtrinsicCurvedManifoldToGraph"][
 x^2 + y^2 == 1, {x, y}, 0.5, 100, "PureSpatialGraph"]](https://www.wolframcloud.com/obj/resourcesystem/images/e5d/e5de507e-2896-4a3c-971e-cb30ce9a8188/3d6d7e9c2a310a4e.png)  | 
| Out[22]= |   | 
Produce a random sprinkling of 200 points into a 2-dimensional Riemannian manifold with hyperboloidal extrinsic curvature condition, with discreteness scale 1.2:
| In[23]:= | ![manifold = ResourceFunction["ExtrinsicCurvedManifoldToGraph"][
  x^2 + y^2 - z^2 == 1, {x, y, z}, {{-2, 2}, {-2, 2}, {-2, 2}}, 1.2, 200]](https://www.wolframcloud.com/obj/resourcesystem/images/e5d/e5de507e-2896-4a3c-971e-cb30ce9a8188/41c129b60cced28b.png)  | 
| Out[23]= |   | 
Show the complete list of properties:
| In[24]:= | ![manifold["Properties"]](https://www.wolframcloud.com/obj/resourcesystem/images/e5d/e5de507e-2896-4a3c-971e-cb30ce9a8188/4dcd1b48d82b27cc.png)  | 
| Out[24]= |   | 
Show the spatial graph:
| In[25]:= | ![manifold["SpatialGraph"]](https://www.wolframcloud.com/obj/resourcesystem/images/e5d/e5de507e-2896-4a3c-971e-cb30ce9a8188/6202e52f44cbbfc5.png)  | 
| Out[25]= |   | 
Plot the positions of the sprinkled points only (without spatial edges):
| In[26]:= | ![manifold["Points"]](https://www.wolframcloud.com/obj/resourcesystem/images/e5d/e5de507e-2896-4a3c-971e-cb30ce9a8188/29113a2949b3b03e.png)  | 
| Out[26]= |   | 
Show a complete list of manifold coordinates for the sprinkled points:
| In[27]:= | ![Take[manifold["PointsList"], 100]](https://www.wolframcloud.com/obj/resourcesystem/images/e5d/e5de507e-2896-4a3c-971e-cb30ce9a8188/25cdb5f0c3cb1ecb.png)  | 
| Out[27]= |   | 
Show the discreteness scale:
| In[28]:= | ![manifold["DiscretenessScale"]](https://www.wolframcloud.com/obj/resourcesystem/images/e5d/e5de507e-2896-4a3c-971e-cb30ce9a8188/48433130ed299dcb.png)  | 
| Out[28]= |   | 
Show the number of dimensions in the background manifold:
| In[29]:= | ![manifold["Dimensions"]](https://www.wolframcloud.com/obj/resourcesystem/images/e5d/e5de507e-2896-4a3c-971e-cb30ce9a8188/4e636c2bf4181e87.png)  | 
| Out[29]= |   | 
Show the total number of spatial edges:
| In[30]:= | ![manifold["EdgeCount"]](https://www.wolframcloud.com/obj/resourcesystem/images/e5d/e5de507e-2896-4a3c-971e-cb30ce9a8188/422fd1ce0849de24.png)  | 
| Out[30]= |   | 
Show the pure spatial graph (with vertex coordinate information removed):
| In[31]:= | ![manifold["PureSpatialGraph"]](https://www.wolframcloud.com/obj/resourcesystem/images/e5d/e5de507e-2896-4a3c-971e-cb30ce9a8188/3e0b2594b5afa983.png)  | 
| Out[31]= |   | 
This work is licensed under a Creative Commons Attribution 4.0 International License