Wolfram Function Repository
Instant-use add-on functions for the Wolfram Language
Function Repository Resource:
Perform persistent homology on a point cloud dataset
ResourceFunction["PersistentHomology"][{e1,e2,…}] performs persistent homology on the ei and returns a PersistentHomologyObject that can be queried for results. | |
ResourceFunction["PersistentHomology"][{e1,e2,…},"Modulus"→p] performs persistent homology over the coefficient field ℤp. |
"Distance" | "Maximal" | the maximal distance scale to perform homology |
"Modulus" | 2 | the characteristic of the coefficient field used |
Perform persistent homology on random data:
In[1]:= | ![]() |
Out[1]= | ![]() |
Query the output for the barcode:
In[2]:= | ![]() |
Out[2]= | ![]() |
Visualize the MeshRegion for the H1 generator found:
In[3]:= | ![]() |
Out[3]= | ![]() |
PersistentHomology can be performed for data of any dimension:
In[4]:= | ![]() |
In[5]:= | ![]() |
Out[5]= | ![]() |
Evaluate the persistent homology of data with dimension 1000:
In[6]:= | ![]() |
In[7]:= | ![]() |
Out[7]= | ![]() |
The maximum distance used in computations can be specified:
In[8]:= | ![]() |
In[9]:= | ![]() |
Out[9]= | ![]() |
This will sometimes speed up computation times:
In[10]:= | ![]() |
Out[10]= | ![]() |
In[11]:= | ![]() |
Out[11]= | ![]() |
The finite field chosen for computations can be specified:
In[12]:= | ![]() |
In[13]:= | ![]() |
Out[13]= | ![]() |
PersistentHomology is invariant under isometries:
In[14]:= | ![]() |
In[15]:= | ![]() |
Out[15]= | ![]() |
In[16]:= | ![]() |
Out[16]= | ![]() |
In[17]:= | ![]() |
Out[17]= | ![]() |
PersistentHomology computation times grow quickly in the number of data points:
In[18]:= | ![]() |
Out[18]= | ![]() |
In[19]:= | ![]() |
Out[19]= | ![]() |
In[20]:= | ![]() |
Out[20]= | ![]() |
In[21]:= | ![]() |
Out[21]= | ![]() |
Draw some data in and perform PersistentHomology on it:
In[22]:= | ![]() |
Out[22]= | ![]() |
This work is licensed under a Creative Commons Attribution 4.0 International License