Ask Your Question

Samuel Yusim's profile - activity

2021-10-14 02:05:15 +0100 received badge  Famous Question (source)
2021-10-14 02:05:15 +0100 received badge  Notable Question (source)
2016-06-01 15:54:22 +0100 received badge  Popular Question (source)
2015-08-07 22:48:00 +0100 received badge  Editor (source)
2015-08-07 22:47:11 +0100 asked a question delete_edge() Won't Delete Edges from Graph

Title says it all, really. The following code only outputs complete graphs and I can't figure out why.

def SR(G):
H = G
for a in G.vertices():
    for b in G.vertices():
        H.add_edge(a,b)

for v in G.vertices():
    for w in G.vertices():
        for n in G[v]:
            for m in G[w]:
                if H.distance(v, m) >= H.distance(v, w):
                    G.delete_edge(v , w)

                elif H.distance(n, w)  H.distance(v, w):
                    G.delete_edge(v , w)

return G

This is supposed to output the strong resolving graph of a particular graph $G$, which can be defined to be the graph formed by taking the vertices of $G$ and making a pair $u,v$ adjacent if for all $n \in N(u)$ and all $n' \in N(v)$, we have $d(n, v) \leq d(u, v)$ and $d(u, n') \leq d(u, v)$. In other words we connect vertices if nothing in their neighborhoods in the original graph is farther. Being new to sage I have no idea why my code above wouldn't work. What do I do?