igraph-help
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [igraph] igraph_get_eid strange behaviour


From: Maria Grineva
Subject: Re: [igraph] igraph_get_eid strange behaviour
Date: Mon, 24 Mar 2008 18:22:00 +0300

Thanks a lot,


> you don't have to do this. Edge ids always go from zero to
> number_of_edges-1. You can do something like:
>
> igraph_vector_t weights;
> long int ec=igraph_ecount(&community_graph);
> igraph_vector_init(&weights, ec);
> for (e=0; e<ec; e++) {
> VECTOR(weights)[e] = EAN(community_graph, "weight", e);
> }

That was the key for me and it works fine now!

I haven't tried the fixes you mention yet, as everything works fine for now.

Maria




Maria,

On Fri, Mar 21, 2008 at 06:41:10PM +0300, Maria Grineva wrote:
> Hi all,
>
> I am using igraph C library and faced with the following problem.
>
> I have a weighted graph and use edges attributes for it.
>
> // assign weight attributes to all edges in a graph
> igraph_cattribute_EAN_setv(&g, "weight", &weights);
> ...
>
> then I extract a subgraph from my weigthed graph:
>
> igraph_subgraph(g, &community_graph, community_vs);
>
> and then I need to extract weigths from the community_graph, and I try to do
> it
> the like this:
>
> igraph_get_edgelist(&community_graph, &community_edges, 0);
> <iterate over community_edges>
> { ...
> igraph_get_eid(&community_graph, &eid, i, i+1, false);
> EAN(&community_graph, "weight", eid);
> ... }

you don't have to do this. Edge ids always go from zero to
number_of_edges-1. You can do something like:

igraph_vector_t weights;
long int ec=igraph_ecount(&community_graph);
igraph_vector_init(&weights, ec);
for (e=0; e<ec; e++) {
VECTOR(weights)[e] = EAN(community_graph, "weight", e);
}

It is quite stupid, we should have an EANV function that gives back
all value at once in a vector. THe thing is that noone was really
using attributes from C, but it seems now that some people started
doing this...

> BUT eid provided by the igraph_get_eid is always 0. (EAN also doesn't work
> consequently).

Hmmm, we have just corrected some bugs, I think you need to make the
changes listed here:
http://cneurocvs.rmki.kfki.hu/cgi-bin/archzoom.cgi/address@hidden/igraph--main--0.6--patch-30/src/cattributes.c.diff?diff

I think the very last change is causing your trouble. Then you need
to recompile and reinstall igraph.

Please tell me if this helps,
G.

> What am I doing wrong?
>
> Maria
>
>
>

> _______________________________________________
> igraph-help mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/igraph-help


--
Csardi Gabor <address@hidden> UNIL DGM



reply via email to

[Prev in Thread] Current Thread [Next in Thread]