<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Using your laptop to compute PageRank for millions of webpages</title>
	<atom:link href="http://michaelnielsen.org/blog/using-your-laptop-to-compute-pagerank-for-millions-of-webpages/feed/" rel="self" type="application/rss+xml" />
	<link>http://michaelnielsen.org/blog/using-your-laptop-to-compute-pagerank-for-millions-of-webpages/</link>
	<description></description>
	<lastBuildDate>Mon, 07 May 2012 21:35:26 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
	<item>
		<title>By: Jorge Catumba Ruiz</title>
		<link>http://michaelnielsen.org/blog/using-your-laptop-to-compute-pagerank-for-millions-of-webpages/comment-page-1/#comment-35994</link>
		<dc:creator>Jorge Catumba Ruiz</dc:creator>
		<pubDate>Wed, 29 Feb 2012 01:26:46 +0000</pubDate>
		<guid isPermaLink="false">http://michaelnielsen.org/blog/?p=523#comment-35994</guid>
		<description>Ok, thanks.</description>
		<content:encoded><![CDATA[<p>Ok, thanks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Nielsen</title>
		<link>http://michaelnielsen.org/blog/using-your-laptop-to-compute-pagerank-for-millions-of-webpages/comment-page-1/#comment-35983</link>
		<dc:creator>Michael Nielsen</dc:creator>
		<pubDate>Mon, 27 Feb 2012 19:42:26 +0000</pubDate>
		<guid isPermaLink="false">http://michaelnielsen.org/blog/?p=523#comment-35983</guid>
		<description>Hi Jorge - Two things:

(1) My code was for educational purposes, and is not suited to production use.  E.g., there are edge cases not dealt with, the data structures are deliberately chosen for clarity in exposition, not for utility in execution, and so on.  I would not release the code for production use; frankly, it would need to be rewritten from scratch.

(2) The patent for PageRank is held by Google, and I&#039;m not sure whether Sage could incorporate it in any case.

So I&#039;m afraid I&#039;d prefer not.</description>
		<content:encoded><![CDATA[<p>Hi Jorge &#8211; Two things:</p>
<p>(1) My code was for educational purposes, and is not suited to production use.  E.g., there are edge cases not dealt with, the data structures are deliberately chosen for clarity in exposition, not for utility in execution, and so on.  I would not release the code for production use; frankly, it would need to be rewritten from scratch.</p>
<p>(2) The patent for PageRank is held by Google, and I&#8217;m not sure whether Sage could incorporate it in any case.</p>
<p>So I&#8217;m afraid I&#8217;d prefer not.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jorge Catumba Ruiz</title>
		<link>http://michaelnielsen.org/blog/using-your-laptop-to-compute-pagerank-for-millions-of-webpages/comment-page-1/#comment-35963</link>
		<dc:creator>Jorge Catumba Ruiz</dc:creator>
		<pubDate>Sun, 26 Feb 2012 00:30:56 +0000</pubDate>
		<guid isPermaLink="false">http://michaelnielsen.org/blog/?p=523#comment-35963</guid>
		<description>Hi, I want to use your code for implement the PageRank method in Sage with other methods similar to it. Have I your permission? If yes, I will put your name as author.

Thanks in advance!</description>
		<content:encoded><![CDATA[<p>Hi, I want to use your code for implement the PageRank method in Sage with other methods similar to it. Have I your permission? If yes, I will put your name as author.</p>
<p>Thanks in advance!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: MapReduce: What are some good class projects for Machine Learning using MapReduce? - Quora</title>
		<link>http://michaelnielsen.org/blog/using-your-laptop-to-compute-pagerank-for-millions-of-webpages/comment-page-1/#comment-30578</link>
		<dc:creator>MapReduce: What are some good class projects for Machine Learning using MapReduce? - Quora</dc:creator>
		<pubDate>Fri, 29 Apr 2011 10:48:13 +0000</pubDate>
		<guid isPermaLink="false">http://michaelnielsen.org/blog/?p=523#comment-30578</guid>
		<description>[...] also see OpenCV catalog: http://opencv.willowgarage.com/w... 9) PageRank, here is a good tutorial: http://michaelnielsen.org/blog/u...10) For a wealth of open ended problems see Programming Challenges: What are some good &quot;toy [...]</description>
		<content:encoded><![CDATA[<p>[...] also see OpenCV catalog: <a href="http://opencv.willowgarage.com/w.." rel="nofollow">http://opencv.willowgarage.com/w..</a>. 9) PageRank, here is a good tutorial: <a href="http://michaelnielsen.org/blog/u...10" rel="nofollow">http://michaelnielsen.org/blog/u&#8230;10</a>) For a wealth of open ended problems see Programming Challenges: What are some good &quot;toy [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Quora</title>
		<link>http://michaelnielsen.org/blog/using-your-laptop-to-compute-pagerank-for-millions-of-webpages/comment-page-1/#comment-30324</link>
		<dc:creator>Quora</dc:creator>
		<pubDate>Thu, 24 Feb 2011 09:34:20 +0000</pubDate>
		<guid isPermaLink="false">http://michaelnielsen.org/blog/?p=523#comment-30324</guid>
		<description>&lt;strong&gt;What are some good resources for learning about matrix computations?...&lt;/strong&gt;

This list is a stub. You can help by expanding it. * BellKor, Matrix factorization for recommender systems: www2.research.att.com/~volinsky/papers/ieeecomputer.pdf * BellKor, Scalable Collaborative Filtering..: public.research.att.com/~volinsky/netflix...</description>
		<content:encoded><![CDATA[<p><strong>What are some good resources for learning about matrix computations?&#8230;</strong></p>
<p>This list is a stub. You can help by expanding it. * BellKor, Matrix factorization for recommender systems: www2.research.att.com/~volinsky/papers/ieeecomputer.pdf * BellKor, Scalable Collaborative Filtering..: public.research.att.com/~volinsky/netflix&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Data Scientists and Artists are the new upper class &#8211; and will be in the future &#171; The Apps Lifestyle</title>
		<link>http://michaelnielsen.org/blog/using-your-laptop-to-compute-pagerank-for-millions-of-webpages/comment-page-1/#comment-27090</link>
		<dc:creator>Data Scientists and Artists are the new upper class &#8211; and will be in the future &#171; The Apps Lifestyle</dc:creator>
		<pubDate>Sun, 31 Oct 2010 20:38:17 +0000</pubDate>
		<guid isPermaLink="false">http://michaelnielsen.org/blog/?p=523#comment-27090</guid>
		<description>[...] Linear algebra: a grounding in linear algebra is common among many data scientists, and important because matrix math underpins many data mining applications, such as the famous&#160;PageRank. [...]</description>
		<content:encoded><![CDATA[<p>[...] Linear algebra: a grounding in linear algebra is common among many data scientists, and important because matrix math underpins many data mining applications, such as the famous&nbsp;PageRank. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: links for 2010-05-27 &#171; Blarney Fellow</title>
		<link>http://michaelnielsen.org/blog/using-your-laptop-to-compute-pagerank-for-millions-of-webpages/comment-page-1/#comment-26920</link>
		<dc:creator>links for 2010-05-27 &#171; Blarney Fellow</dc:creator>
		<pubDate>Fri, 28 May 2010 01:34:46 +0000</pubDate>
		<guid isPermaLink="false">http://michaelnielsen.org/blog/?p=523#comment-26920</guid>
		<description>[...] Michael Nielsen » Using your laptop to compute PageRank for millions of webpages (tags: pagerank google algorithm ranking recomendation) [...]</description>
		<content:encoded><![CDATA[<p>[...] Michael Nielsen » Using your laptop to compute PageRank for millions of webpages (tags: pagerank google algorithm ranking recomendation) [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Nielsen » Using your laptop to compute PageRank for millions of webpages : Popular Links : eConsultant</title>
		<link>http://michaelnielsen.org/blog/using-your-laptop-to-compute-pagerank-for-millions-of-webpages/comment-page-1/#comment-26917</link>
		<dc:creator>Michael Nielsen » Using your laptop to compute PageRank for millions of webpages : Popular Links : eConsultant</dc:creator>
		<pubDate>Thu, 27 May 2010 08:35:56 +0000</pubDate>
		<guid isPermaLink="false">http://michaelnielsen.org/blog/?p=523#comment-26917</guid>
		<description>[...] original post here: Michael Nielsen » Using your laptop to compute PageRank for millions of webpages   24 September 2009  &#124; Uncategorized &#124; Trackback &#124; del.icio.us &#124; Stumble it! &#124; View Count : 0  Next [...]</description>
		<content:encoded><![CDATA[<p>[...] original post here: Michael Nielsen » Using your laptop to compute PageRank for millions of webpages   24 September 2009  | Uncategorized | Trackback | del.icio.us | Stumble it! | View Count : 0  Next [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Nielsen</title>
		<link>http://michaelnielsen.org/blog/using-your-laptop-to-compute-pagerank-for-millions-of-webpages/comment-page-1/#comment-26214</link>
		<dc:creator>Michael Nielsen</dc:creator>
		<pubDate>Wed, 30 Sep 2009 21:06:03 +0000</pubDate>
		<guid isPermaLink="false">http://michaelnielsen.org/blog/?p=523#comment-26214</guid>
		<description>Daniel - Thanks for the note.  When preparing the notes I considered doing something similar, but decided the presentation would be a little easier to understand without it.  It&#039;s been a while, but as I recall, my line of thought was simply that I wanted to avoid numpy, probably because the notes were originally prepared for people not at all familiar with numpy. The purpose of the notes is, of course, pedagogical - production code would be vastly different.</description>
		<content:encoded><![CDATA[<p>Daniel &#8211; Thanks for the note.  When preparing the notes I considered doing something similar, but decided the presentation would be a little easier to understand without it.  It&#8217;s been a while, but as I recall, my line of thought was simply that I wanted to avoid numpy, probably because the notes were originally prepared for people not at all familiar with numpy. The purpose of the notes is, of course, pedagogical &#8211; production code would be vastly different.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Daniel Smilkov</title>
		<link>http://michaelnielsen.org/blog/using-your-laptop-to-compute-pagerank-for-millions-of-webpages/comment-page-1/#comment-26213</link>
		<dc:creator>Daniel Smilkov</dc:creator>
		<pubDate>Wed, 30 Sep 2009 18:55:29 +0000</pubDate>
		<guid isPermaLink="false">http://michaelnielsen.org/blog/?p=523#comment-26213</guid>
		<description>You know,

instead of using column matrices, you can use n-dim arrays:
v = numpy.matrix(numpy.zeros((n,1)))
becomes
v = numpy.zeros(n,dtype=numpy.float32)

and
p = numpy.matrix(numpy.ones((n,1)))/n 
becomes
p = numpy.ones(n,dtype=numpy.float32)/n

and putting the initialization of the v vector out of step function, initializing it only ones in pagerank function,

you can get a lot of speed-up.</description>
		<content:encoded><![CDATA[<p>You know,</p>
<p>instead of using column matrices, you can use n-dim arrays:<br />
v = numpy.matrix(numpy.zeros((n,1)))<br />
becomes<br />
v = numpy.zeros(n,dtype=numpy.float32)</p>
<p>and<br />
p = numpy.matrix(numpy.ones((n,1)))/n<br />
becomes<br />
p = numpy.ones(n,dtype=numpy.float32)/n</p>
<p>and putting the initialization of the v vector out of step function, initializing it only ones in pagerank function,</p>
<p>you can get a lot of speed-up.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

