Ask Your Question

Revision history [back]

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?

delete_edge() Won't Delete Edges from Graph.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?