I made a mistake. 
Sorry for the noise. 

On Monday, February 22, 2016 at 1:27:20 PM UTC+1, Yichao Yu wrote:
>
> On Mon, Feb 22, 2016 at 5:59 AM, Sisyphuss <[email protected] 
> <javascript:>> wrote: 
> > I have the following PageRank code: 
> > n = 5 
> > adj = Float64[0 0 1 1 0; 
> >               0 0 1 0 0; 
> >               0 1 0 0 0; 
> >               1 0 1 0 1; 
> >               0 1 1 0 0] 
> > adj ./= sum(adj,2) 
> > 
> > pageRank = ones(Float64,n) 
> > N = 1 
> > for t = 1:N 
> >   temp = zeros(n) 
> >   for j = 1:n 
> >     temp[j] = 0.15 + 0.85 * vecdot(pageRank,adj[:,j]) 
> >     pageRank = copy(temp) # this line should have been put below, but 
> isn't 
> > harmful here either 
>
> I'm not sure about the algorithm but putting this line here vs below 
> are obviously difference since it is used one line above in the loop. 
>
> >   end 
> >   # pageRank = copy(temp) 
> > end 
> > 
> > pageRank 
> > 
> > 5-element Array{Float64,1}: 
> >  0.433333 
> >  0.15 
> >  0.461667 
> >  0.334167 
> >  0.244681 
> > 
> > 
> > However, the correct result should be 
> > 
> > 5-element Array{Float64,1}: 
> >  0.433333 
> >  1.425 
> >  2.13333 
> >  0.575 
> >  0.433333 
> > 
> > if the `pageRank = copy(temp)` is placed in the right place. 
> > 
> > This makes the 2nd and 3rd item do not converge when N is large enough. 
> > 
> > Is it a bug? Or am I missing something? 
> > 
>

Reply via email to