[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [igraph] edge indexing
From: |
Elena Tea Russo |
Subject: |
Re: [igraph] edge indexing |
Date: |
Mon, 15 Jun 2015 13:02:39 +0200 |
Thank you very much!
Then I will use, as you suggest, attributes.
Et Russo
Il giorno 15/giu/2015, alle ore 12:56, Tamas Nepusz <address@hidden> ha scritto:
>> In particular, I can't understand what happens to edges' id when I add/remove
>> egdes and when I transform an undirected graph to a directed (MUTUAL) one.
> igraph does not _guarantee_ anything -- if you need to keep track of edges'
> identities after a destructive graph operation, you have to add a unique
> attribute to the edges and look edges up based on these unique attributes, or,
> alternatively, search for edges based on the endpoints instead of relying on
> edge IDs.
>
>> In the first case, I suppose that, if you have a graph with N edges indexed
>> from 0 to N-1 and you add the (N+1)th edge, it will be indexed as N. Am
>> I right or am I not?
> Yes, this is correct, although the official documentation does not claim that
> it will always stay this way. (I see no reason to change it in the future,
> though).
>
>> Then, what happens when I remove an edge? there will be a gap or a
>> re-indexing?
> igraph will reindex some of the edges to close the gap. The actual mechanism
> for reindexing is up to igraph to decide and we make no guarantees that it
> will
> not change in the future.
>
>> And, in particular: let us suppose i have an undirected graph with N edges,
>> indexed from 0 to N-1. I want to transform the graph into a directed one with
>> mutual edges, i.e. the number of edges will be doubled. What happens to the
>> ids? Let us suppose I consider the edge indexed as j; the mutual edge will be
>> j+1 (and thus, the old edges will be re-indexed) or N+j? Or something else?
> The _current_ implementation seems to make the "original edges" keep their IDs
> between 0 and N-1, and uses the range N to 2*N-1 to store the "reversed
> edges".
> However, I have to stress that it is not guaranteed and we are free to change
> it in some future version. A more reliable way is to use igraph_get_eid() (or
> get_eid() from R or Python) to look up an edge based on its endpoints.
>
> T.
>
> _______________________________________________
> igraph-help mailing list
> address@hidden
> https://lists.nongnu.org/mailman/listinfo/igraph-help
- [igraph] Import error in python : undefined symbol gzopen64, ashutosh srivastava, 2015/06/10
- Re: [igraph] Import error in python : undefined symbol gzopen64, Tamás Nepusz, 2015/06/10
- Re: [igraph] Import error in python : undefined symbol gzopen64, ashutosh srivastava, 2015/06/10
- Re: [igraph] Import error in python : undefined symbol gzopen64, Tamas Nepusz, 2015/06/11
- Re: [igraph] Import error in python : undefined symbol gzopen64, ashutosh srivastava, 2015/06/12
- [igraph] edge indexing, Elena Tea Russo, 2015/06/14
- Re: [igraph] edge indexing, Tamas Nepusz, 2015/06/15
- Re: [igraph] edge indexing,
Elena Tea Russo <=
- Re: [igraph] edge indexing, Gábor Csárdi, 2015/06/15
- Re: [igraph] edge indexing, Elena Tea Russo, 2015/06/15
- Re: [igraph] edge indexing, Gábor Csárdi, 2015/06/15
- Re: [igraph] Import error in python : undefined symbol gzopen64, Tamas Nepusz, 2015/06/15
- Re: [igraph] Import error in python : undefined symbol gzopen64, Tamas Nepusz, 2015/06/15
- Re: [igraph] Import error in python : undefined symbol gzopen64, ashutosh srivastava, 2015/06/15