Computational Topology - Vietoris-Rips Complex Graph
Write code in Python for the function RipsGraph(P,d) as follows.
- Inputs:
- P : a set of points P belonging to R2 given as a k x 2 numpy matrix
- d : a diameter d >= 0
-Output:
- a networkx graph which is the 1-skeleton of the Rips complex VR(P, d).
Create a point set of 15 random points in the box [0, 1]x[0, 1]. Draw this graph as an overlay on the points.
Note: I have little to no programming skills, so I'm just learning. Please bear with me.
Here's my work so far:
import numpy as np
import networkx as nx
P = np.random.random((15,2)) #each point is row in matrix
from scipy.spatial import distance-matrix
plt.matshow(distance-matrix(P,P))
row,col = np.where(D<???) #must find point with distance <???... not sure what distance to use
print(row[:10],'\n',col[:10]) - slicing matrix
#Next, I must remove duplicates and any point where col>row.. by slicing the matrix with specific parameters..
#Then, I must tell networkx where I want the vertices, so it can produce the edges for the 1-skeleton
Any help is greatly appreciated. Thanks!