<?xml version="1.0" encoding="UTF-8" standalone="yes"?><oembed><version><![CDATA[1.0]]></version><provider_name><![CDATA[Azimuth]]></provider_name><provider_url><![CDATA[https://johncarlosbaez.wordpress.com]]></provider_url><author_name><![CDATA[John Baez]]></author_name><author_url><![CDATA[https://johncarlosbaez.wordpress.com/author/johncarlosbaez/]]></author_url><title><![CDATA[Graph Laplacians]]></title><type><![CDATA[link]]></type><html><![CDATA[<p>There&#8217;s been some new progress on graph Laplacians!  </p>
<p>As a mathematical physicist, I&#8217;ve always been in love with the <a href="http://en.wikipedia.org/wiki/Laplace_operator">Laplacian</a>:</p>
<p><img src='https://s0.wp.com/latex.php?latex=%5Cdisplaystyle%7B+%5Cnabla%5E2+%3D+%5Cfrac%7B%5Cpartial%5E2%7D%7B%5Cpartial+x%5E2%7D+%2B+%5Cfrac%7B%5Cpartial%5E2%7D%7B%5Cpartial+y%5E2%7D+%2B+%5Cfrac%7B%5Cpartial%5E2%7D%7B%5Cpartial+z%5E2%7D+%7D&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;displaystyle{ &#92;nabla^2 = &#92;frac{&#92;partial^2}{&#92;partial x^2} + &#92;frac{&#92;partial^2}{&#92;partial y^2} + &#92;frac{&#92;partial^2}{&#92;partial z^2} }' title='&#92;displaystyle{ &#92;nabla^2 = &#92;frac{&#92;partial^2}{&#92;partial x^2} + &#92;frac{&#92;partial^2}{&#92;partial y^2} + &#92;frac{&#92;partial^2}{&#92;partial z^2} }' class='latex' />   &nbsp; &nbsp;  <img src="https://i1.wp.com/math.ucr.edu/home/baez/emoticons/love.gif" alt="" /></p>
<p>It shows up in many of the most fundamental equations of physics: the wave equation, the heat equation, Schr&ouml;dinger&#8217;s equation&#8230; and <a href="http://en.wikipedia.org/wiki/Poisson%27s_equation">Poisson&#8217;s equation</a>:</p>
<p><img src='https://s0.wp.com/latex.php?latex=%5Cnabla%5E2+%5Cphi+%3D+%5Crho+&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;nabla^2 &#92;phi = &#92;rho ' title='&#92;nabla^2 &#92;phi = &#92;rho ' class='latex' /></p>
<p>which says how the density of matter, <img src='https://s0.wp.com/latex.php?latex=%5Crho%2C&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;rho,' title='&#92;rho,' class='latex' /> affects the gravitational potential <img src='https://s0.wp.com/latex.php?latex=%5Cphi.&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;phi.' title='&#92;phi.' class='latex' /></p>
<p>As I&#8217;ve grown interested in <a href="https://johncarlosbaez.wordpress.com/2011/10/26/network-theory-part-15/">network theory</a>, I&#8217;ve gotten more and more interested in &#8216;graph Laplacians&#8217;.  These are discretized versions of the Laplacian, where we replace 3-dimensional space by a &#8216;graph&#8217;, meaning something like this:</p>
<div align="center"><a href="http://www.ams.org/samplings/feature-column/fcarc-geometry-glossary"><br />
<img src="https://i1.wp.com/www.ams.org/featurecolumn/images/geometry-glossary5.jpg" /></a>
</div>
<p>You can get a lot of interesting information about a graph from its Laplacian.  You can also set up discretized versions of all the famous equations I mentioned.</p>
<p>The new progress is a <i>simple algorithm for very efficiently solving Poisson&#8217;s equation for graph Laplacians</i>:</p>
<p>&bull; Jonathan A. Kelner, Lorenzo Orecchia, Aaron Sidford, Zeyuan Allen Zhu, <a href="http://arxiv.org/abs/1301.6628">A simple, combinatorial algorithm for solving SDD systems in nearly-linear time</a>.</p>
<p>Here&#8217;s a very clear explanation of the general idea, conveying some sense of why it&#8217;s so important, without any nasty equations:</p>
<p>&bull; Larry Hardesty, <a href="http://web.mit.edu/newsoffice/2013/short-algorithm-long-range-consequences-0301.html">Short algorithm, long-range consequences</a>, <i>MIT News</i>, 1 March 2013.</p>
<p>It begins:</p>
<blockquote><p>
In the last decade, theoretical computer science has seen remarkable progress on the problem of solving graph Laplacians — the esoteric name for a calculation with hordes of familiar applications in scheduling, image processing, online product recommendation, network analysis, and scientific computing, to name just a few. Only in 2004 did researchers first propose an algorithm that solved graph Laplacians in “nearly linear time,” meaning that the algorithm’s running time didn’t increase exponentially with the size of the problem.</p>
<p>At this year’s ACM Symposium on the Theory of Computing, MIT researchers will present a new algorithm for solving graph Laplacians that is not only faster than its predecessors, but also drastically simpler.</p>
<div align="center">
<a href="http://web.mit.edu/newsoffice/2013/short-algorithm-long-range-consequences-0301.html"><br />
<img width="200" src="https://i0.wp.com/img.mit.edu/newsoffice/images/animations/laplacians.gif" /><br />
</a></div>
<p>This animation shows two different &#8220;spanning trees&#8221; for a simple graph, a grid like those used in much scientific computing. The speedups promised by a new MIT algorithm require &#8220;low-stretch&#8221; spanning trees (green), in which the paths between neighboring nodes don&#8217;t become excessively long (red).
</p></blockquote>
<p>I can&#8217;t beat this article at its own game&#8230; except to clarify that &#8216;solving graph Laplacians&#8217; means solving Poisson&#8217;s equation with a graph Laplacian replacing the usual Laplacian.</p>
<p>So, let me just supplement this article with the nasty equations saying what a graph Laplacian actually is.  Start with a graph.  More precisely, start with a <a href="http://en.wikipedia.org/wiki/Graph_%28mathematics%29#Simple_graph"><b>simple graph</b></a>.   Such a graph has a set of vertices <img src='https://s0.wp.com/latex.php?latex=V&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='V' title='V' class='latex' /> and a set of edges <img src='https://s0.wp.com/latex.php?latex=E+%5Csubseteq+V+%5Ctimes+V%2C&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='E &#92;subseteq V &#92;times V,' title='E &#92;subseteq V &#92;times V,' class='latex' /> such that</p>
<p><img src='https://s0.wp.com/latex.php?latex=%28x%2Cy%29+%5Cin+E+%5Cimplies+%28y%2Cx%29+%5Cin+E+&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='(x,y) &#92;in E &#92;implies (y,x) &#92;in E ' title='(x,y) &#92;in E &#92;implies (y,x) &#92;in E ' class='latex' /></p>
<p>which says the edges are undirected, and</p>
<p><img src='https://s0.wp.com/latex.php?latex=%28x%2Cx%29+%5Cnotin+E+&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='(x,x) &#92;notin E ' title='(x,x) &#92;notin E ' class='latex' /></p>
<p>which says there are no loops.  </p>
<p>The <a href="http://en.wikipedia.org/wiki/Laplacian_matrix"><b>graph Laplacian</b></a> is an operator <img src='https://s0.wp.com/latex.php?latex=H&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='H' title='H' class='latex' /> that takes a function on the vertices of our graph,</p>
<p><img src='https://s0.wp.com/latex.php?latex=%5Cphi+%3A+V+%5Cto+%5Cmathbb%7BR%7D&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;phi : V &#92;to &#92;mathbb{R}' title='&#92;phi : V &#92;to &#92;mathbb{R}' class='latex' /> </p>
<p>and gives a new such function <img src='https://s0.wp.com/latex.php?latex=H%5Cphi%2C&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='H&#92;phi,' title='H&#92;phi,' class='latex' /> as follows:</p>
<p><img src='https://s0.wp.com/latex.php?latex=%5Cdisplaystyle%7B+%28H+%5Cphi%29%28x%29+%3D++%5Csum_%7By+%5C%2C%5C%2C+%5Ctextrm%7Bsuch+that%7D+%5C%2C+%5C%2C%28x%2Cy%29+%5Cin+E%7D+%5C%21%5C%21%5C%21%5C%21%5C%21%5C%21%5C%21%5C%21%5C%21%5C%21%5C%21+%28%5Cphi%28y%29+-+%5Cphi%28x%29%29+%7D+&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;displaystyle{ (H &#92;phi)(x) =  &#92;sum_{y &#92;,&#92;, &#92;textrm{such that} &#92;, &#92;,(x,y) &#92;in E} &#92;!&#92;!&#92;!&#92;!&#92;!&#92;!&#92;!&#92;!&#92;!&#92;!&#92;! (&#92;phi(y) - &#92;phi(x)) } ' title='&#92;displaystyle{ (H &#92;phi)(x) =  &#92;sum_{y &#92;,&#92;, &#92;textrm{such that} &#92;, &#92;,(x,y) &#92;in E} &#92;!&#92;!&#92;!&#92;!&#92;!&#92;!&#92;!&#92;!&#92;!&#92;!&#92;! (&#92;phi(y) - &#92;phi(x)) } ' class='latex' /></p>
<p>The version of Poisson&#8217;s equation for this graph Laplacian is thus</p>
<p><img src='https://s0.wp.com/latex.php?latex=H+%5Cphi+%3D+%5Crho+&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='H &#92;phi = &#92;rho ' title='H &#92;phi = &#92;rho ' class='latex' /></p>
<p>But I should warn you: this operator <img src='https://s0.wp.com/latex.php?latex=H&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='H' title='H' class='latex' /> has eigenvalues that are less than equal to zero, like the usual Laplacian <img src='https://s0.wp.com/latex.php?latex=%5Cnabla%5E2.&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;nabla^2.' title='&#92;nabla^2.' class='latex' />  People often insert a minus sign to make the eigenvalues &ge; 0.  </p>
<p>There is a huge amount to say about graph Laplacians!  If you want, you can learn more here:</p>
<p>&bull; Michael William Newman, <i><a href="http://www.seas.upenn.edu/~jadbabai/ESE680/Laplacian_Thesis.pdf">The Laplacian Spectrum of Graphs</a></i>, Masters Thesis, Department of Mathematics, University of Manitoba, 2000.</p>
<p>I&#8217;ve been learning about some of their applications here:</p>
<p>&bull; Ernesto Estrada, <i>The Structure of Complex Networks: Theory and Applications</i>, Oxford University Press, Oxford, 2011.</p>
<p>I hope sometime to summarize a bit of this material and push the math forward a bit.  So, it was nice to see new progress on efficient algorithms for doing computations with graph Laplacians!</p>
]]></html><thumbnail_url><![CDATA[https://i1.wp.com/math.ucr.edu/home/baez/emoticons/love.gif?fit=440%2C330]]></thumbnail_url><thumbnail_height><![CDATA[15]]></thumbnail_height><thumbnail_width><![CDATA[15]]></thumbnail_width></oembed>