How to find the sum weight on a vertex

asked 5 years ago

Milad gravatar image

Hi I want to define a random labeling on edges of a graph (without duplicate labels ) and then find the sum of the weights of incident edges to each vertex. Here is code I wrote:

n=[]
import random
W=random.sample(G.num_edges(),G.num_edges())   
w_edges = [(E[i][0], E[i][1], W[i]) for i in xrange(q)]
for i in G.vertex_iterator():
     x=sum(W[k] for k in G.neighbor_iterator(i))
      n.append(x)

But I receive some errors. I'll be happy if you can help me.

Preview: (hide)

Comments

What is q? What sorts of errors do you get? What is a sample graph that we can work with?

John Palmieri gravatar imageJohn Palmieri ( 5 years ago )

@John

q=G.num_edges()

I get these errors:

 Traceback (most recent call last):            n.append(x)
      File "", line 1, in <module>

      File "/private/var/folders/v7/j_ry66_d0s333h_720qz836c0000gn/T/tmpu6JFBi/___code___.py", line 7
        for i in G.vertex_iterator():
        ^
    IndentationError: unexpected indent
Milad gravatar imageMilad ( 5 years ago )

I wanted to obtain an antimagic labeling. A graph G is antimagic if there exists a bijective edge labeling from E(G) to {1,..., |E(G)|} such that the vertex sums are pairwise distinct. If you have another code, I will appreciate if you tell me.

Milad gravatar imageMilad ( 5 years ago )

The code you posted has an indentation error on the last line: n.append(x) is indented an extra space compared to the previous line. There is no such error on the line for i in ....

John Palmieri gravatar imageJohn Palmieri ( 5 years ago )

Also, random.sample takes a list as the first argument, and G.num_edges() is a number, not a list.

John Palmieri gravatar imageJohn Palmieri ( 5 years ago )