Ni! Hello Phillip,

Don't think there's a boxed method for this task, but you can easily improve your algorithm, though that is no longer a question for graph-tool.

Two possible ways to improve it:

* you could use the fact that the min() function in Python takes an iterable as argument, and pass it something like the generator below:

# chain must be imported from itertools
for v in g.vertices():
    g.vp.year[v] = min( g.ep.year[e] for e in chain(v.out_edges(), v.in_edges()) )

* you could iterate only once over g.edges() and then, update the g.vp.year of source and target for each edge.

I would go with something like this:

# this assumes g.vp.year was initlized to a large value by passing 'val' to new_vertex_property()
for e in g.edges():
    for v in (e.source(), e.target()):
        if g.vp.year[v] > g.ep.year[e]:
            g.vp.year[v] = g.ep.year[e]

Yet again, this has little to do with graph tool, you might prefer to look for advice in general programming.

Cheers,

ale
.~'


On Fri, Sep 16, 2016 at 1:57 PM, P-M <pmj27@cam.ac.uk> wrote:
I have a network where each of my edges is labelled with a date. I want to
now also label my vertices so that each vertex has a date assigned to it
corresponding to the minimum date of all edges incident and emanating from
it. Is there an inbuilt function to find this which would be faster than me
looping over all vertices and then all edges for each vertex manually? My
current code idea is:

lowest_year = 2016
for v in g.vertices():
   for e in v.in_edges():
      year = g.ep.year[e]
      lowest_year = min(year,lowest_year)
   for e in v.out_edges():
      year = g.ep.year[e]
      lowest_year = min(year,lowest_year)
   g.vp.year[v]=lowest_year
   lowest_year = 2016





--
View this message in context: http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/Find-minimum-value-of-edge-property-for-all-edges-connected-to-a-given-node-tp4026722.html
Sent from the Main discussion list for the graph-tool project mailing list archive at Nabble.com.
_______________________________________________
graph-tool mailing list
graph-tool@skewed.de
https://lists.skewed.de/mailman/listinfo/graph-tool