igraph-help
[Top][All Lists]
Advanced

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

Re: [igraph] igraph_community_leading_eigenvector_step implementation


From: Gábor Csárdi
Subject: Re: [igraph] igraph_community_leading_eigenvector_step implementation
Date: Sat, 10 Jan 2009 19:20:36 +0100

On Sat, Jan 10, 2009 at 7:09 PM, Al <address@hidden> wrote:
> Gabor
> igraph_community_leading_eigenvector has its own step function.

Not really. igraph_i_community_leading_eigenvector_step is actually
called by igraph_community_leading_eigenvector_step (implicitly). Just
like igraph_i_community_leading_eigenvector is called by
igraph_community_leading_eigenvector. But these functions do not
calculate modularity, at least not explicitly, all they do is
multiplying the modularity matrix by a given vector. This is the only
required step for ARPACK to find the leading eigenvector.

Btw. these (igraph_i_community_leading_eigenvector and
igraph_i_community_leading_eigenvector_step) are exactly the functions
where the substantial modifications should be made for adding edge
weights; the modularity matrix is defined by them.

Gabor

> Please
> refer line 1276 of the communities.c R package source file.
> Thanks, Al
>
>
> On Sat, Jan 10, 2009 at 1:04 PM, Gábor Csárdi <address@hidden> wrote:
>> Al, as far as I can see both these functions do the same. The
>> modularity is not explicitly calculated, but according to the original
>> paper, and also http://arxiv.org/abs/physics/0602124 the leading
>> eigenvector of the modularity matrix will be negative if the split
>> would decrease the modularity, and in this case we don't split.
>>
>> I don't really know what difference you can see between the two
>> functions, but I coded these quite a while ago, so can't remember all
>> the details, so I might be wrong.
>> Where does igraph_community_leading_eigenvector calculate the modularity?
>>
>> Best,
>> Gabor
>>
>> On Sat, Jan 10, 2009 at 6:06 PM, Al <address@hidden> wrote:
>>> Hi
>>>
>>> I am a developer tasked with generalizing the implementation of the M.
>>> Newman community detection algorithm to accept weighted edges. We want
>>> to use the step wise variation of the function (located in
>>> communities.c under the igraph_community_leading_eigenvector_step
>>> function). On inspection of the source code, it is not obvious to me
>>> that he modularity calculation is actually being preformed. However,
>>> in the non-step was variation of the function
>>> (igraph_community_leading_eigenvector), I notice that it is properly
>>> implemented. So I am wondering if the step wise variation is properly
>>> implemented? and if so maybe some insight could be shed on where it is
>>> preforming the M. Newman modularity calculation.
>>>
>>> Thanks
>>> Al Tucker
>>>
>>>
>>> _______________________________________________
>>> igraph-help mailing list
>>> address@hidden
>>> http://lists.nongnu.org/mailman/listinfo/igraph-help
>>>
>>
>>
>>
>> --
>> Gabor Csardi <address@hidden>     UNIL DGM
>>
>>
>> _______________________________________________
>> igraph-help mailing list
>> address@hidden
>> http://lists.nongnu.org/mailman/listinfo/igraph-help
>>
>
>
> _______________________________________________
> igraph-help mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/igraph-help
>



-- 
Gabor Csardi <address@hidden>     UNIL DGM




reply via email to

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