<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>o_O</title>
	<atom:link href="http://trovato.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://trovato.wordpress.com</link>
	<description>numerical analysis takeaways</description>
	<lastBuildDate>Fri, 10 Oct 2008 21:20:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='trovato.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>o_O</title>
		<link>http://trovato.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://trovato.wordpress.com/osd.xml" title="o_O" />
	<atom:link rel='hub' href='http://trovato.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Iterative Solvers in a Nutshell</title>
		<link>http://trovato.wordpress.com/2008/04/12/iterative-solvers-in-a-nutshell/</link>
		<comments>http://trovato.wordpress.com/2008/04/12/iterative-solvers-in-a-nutshell/#comments</comments>
		<pubDate>Sat, 12 Apr 2008 22:40:56 +0000</pubDate>
		<dc:creator>secr</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://trovato.wordpress.com/?p=5</guid>
		<description><![CDATA[Basic concepts of iterative algorithms for elliptic PDEs can be compressed to the following remarks: 1. Continuous and discrete equations (a) Given a PDE with Dirichlet boundary conditions, an linear elliptic differential operator, we wish to find the solution . (b) The solution can be written formally as . is a linear elliptic integral operator, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=trovato.wordpress.com&amp;blog=3438228&amp;post=5&amp;subd=trovato&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Basic concepts of iterative algorithms for elliptic PDEs can be compressed to the following remarks:</p>
<p><strong>1. Continuous and discrete equations</strong></p>
<p>(a) Given a PDE <img src='http://s0.wp.com/latex.php?latex=Lu+%3D+v&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='Lu = v' title='Lu = v' class='latex' /> with Dirichlet boundary conditions, <img src='http://s0.wp.com/latex.php?latex=L&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='L' title='L' class='latex' /> an linear elliptic <em>differential </em>operator, we wish to find the solution <img src='http://s0.wp.com/latex.php?latex=u&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='u' title='u' class='latex' />.</p>
<p>(b) The solution can be written formally as <img src='http://s0.wp.com/latex.php?latex=u+%3D+L%5E%7B-1%7D+v&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='u = L^{-1} v' title='u = L^{-1} v' class='latex' />. <img src='http://s0.wp.com/latex.php?latex=L%5E%7B-1%7D&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='L^{-1}' title='L^{-1}' class='latex' /> is a linear elliptic <em>integral </em>operator, given by <img src='http://s0.wp.com/latex.php?latex=L%5E%7B-1%7D+v%28x%29+%3D+%5Cint+G%28y-x%29+%5C%2C+v%28y%29+%5C%2C+dy&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='L^{-1} v(x) = &#92;int G(y-x) &#92;, v(y) &#92;, dy' title='L^{-1} v(x) = &#92;int G(y-x) &#92;, v(y) &#92;, dy' class='latex' />, the convolution of the right hand side with some Green&#8217;s function of <img src='http://s0.wp.com/latex.php?latex=L&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='L' title='L' class='latex' />.</p>
<p>(c) <img src='http://s0.wp.com/latex.php?latex=L&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='L' title='L' class='latex' /> and <img src='http://s0.wp.com/latex.php?latex=v&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='v' title='v' class='latex' /> can be discretized (somehow) as <img src='http://s0.wp.com/latex.php?latex=A&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='A' title='A' class='latex' /> (a matrix) and <img src='http://s0.wp.com/latex.php?latex=b&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='b' title='b' class='latex' /> (a vector). The goal is to find the discretized version <img src='http://s0.wp.com/latex.php?latex=x&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='x' title='x' class='latex' /> of <img src='http://s0.wp.com/latex.php?latex=u&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='u' title='u' class='latex' />, given by <img src='http://s0.wp.com/latex.php?latex=A+x+%3D+b&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='A x = b' title='A x = b' class='latex' />.</p>
<p>(d) The formal solution of the discretized problem is <img src='http://s0.wp.com/latex.php?latex=x+%3D+A%5E%7B-1%7D+b&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='x = A^{-1} b' title='x = A^{-1} b' class='latex' />. But inverting <img src='http://s0.wp.com/latex.php?latex=A&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='A' title='A' class='latex' /> directly would be to expensive, that&#8217;s where the iterative solver springs into action.</p>
<p><strong>2. The iterative solver</strong></p>
<p>(a) The goal is to build an iteration <img src='http://s0.wp.com/latex.php?latex=x_%7Bi%2B1%7D+%3D+f%28x_i%2C+b%29&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='x_{i+1} = f(x_i, b)' title='x_{i+1} = f(x_i, b)' class='latex' /> that converges against the solution <img src='http://s0.wp.com/latex.php?latex=x+%3D+A%5E%7B-1%7D+b&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='x = A^{-1} b' title='x = A^{-1} b' class='latex' />.</p>
<p>(b) While <img src='http://s0.wp.com/latex.php?latex=i&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='i' title='i' class='latex' /> increases, we wish that <em>the error in</em> <img src='http://s0.wp.com/latex.php?latex=x+%3D+x_i&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='x = x_i' title='x = x_i' class='latex' />,</p>
<p style="text-align:center;"><img src='http://s0.wp.com/latex.php?latex=e_i+%3D+x_i+-+x&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='e_i = x_i - x' title='e_i = x_i - x' class='latex' />,</p>
<p>decreases and finally reaches 0.  We&#8217;ll never know the value of <img src='http://s0.wp.com/latex.php?latex=e_i&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='e_i' title='e_i' class='latex' /> because <img src='http://s0.wp.com/latex.php?latex=x&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='x' title='x' class='latex' /> is unknown. But that doesn&#8217;t matter as long as <em>the error in</em> <img src='http://s0.wp.com/latex.php?latex=Ax_i+%3D+b&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='Ax_i = b' title='Ax_i = b' class='latex' />,</p>
<p style="text-align:center;"><img src='http://s0.wp.com/latex.php?latex=r_i+%3D+b+-+A+x_i&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='r_i = b - A x_i' title='r_i = b - A x_i' class='latex' /></p>
<p>is known. The name of <img src='http://s0.wp.com/latex.php?latex=e_i&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='e_i' title='e_i' class='latex' /> is simply &#8220;the error&#8221; while <img src='http://s0.wp.com/latex.php?latex=r_i&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='r_i' title='r_i' class='latex' /> is called &#8220;the residual&#8221;.</p>
<p>(c) The relation between the error and the residual is <img src='http://s0.wp.com/latex.php?latex=-+A+e_i+%3D+r_i&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='- A e_i = r_i' title='- A e_i = r_i' class='latex' />, i.e. <img src='http://s0.wp.com/latex.php?latex=e_i&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='e_i' title='e_i' class='latex' /> scales with <img src='http://s0.wp.com/latex.php?latex=r_i&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='r_i' title='r_i' class='latex' />. The &#8220;anisotropic&#8221; scaling-factor is <img src='http://s0.wp.com/latex.php?latex=A%5E%7B-1%7D&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='A^{-1}' title='A^{-1}' class='latex' />.</p>
<p>(d) The relation between the exact solution and the residual is <img src='http://s0.wp.com/latex.php?latex=x+%3D+x_i+%2B+A%5E%7B-1%7D+r_i&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='x = x_i + A^{-1} r_i' title='x = x_i + A^{-1} r_i' class='latex' />. If we replace <img src='http://s0.wp.com/latex.php?latex=A%5E%7B-1%7D&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='A^{-1}' title='A^{-1}' class='latex' /> with an approximation <img src='http://s0.wp.com/latex.php?latex=B&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='B' title='B' class='latex' />, we&#8217;ll get an approximation of <img src='http://s0.wp.com/latex.php?latex=x&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='x' title='x' class='latex' />:</p>
<p style="text-align:center;"><img src='http://s0.wp.com/latex.php?latex=x_%7Bi%2B1%7D+%3D+x_i+%2B+B+r_i&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='x_{i+1} = x_i + B r_i' title='x_{i+1} = x_i + B r_i' class='latex' />.</p>
<p style="text-align:left;">I would frame this equation now if I could, because it defines <img src='http://s0.wp.com/latex.php?latex=f%28x_i%2C+b%29&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='f(x_i, b)' title='f(x_i, b)' class='latex' />, the iterator that&#8217;ll hopefully converge against <img src='http://s0.wp.com/latex.php?latex=x&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='x' title='x' class='latex' />.</p>
<p>(e) To be sure that it does, <img src='http://s0.wp.com/latex.php?latex=%7C%7Ce_i%7C%7C&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='||e_i||' title='||e_i||' class='latex' /> has to approach 0 for <img src='http://s0.wp.com/latex.php?latex=i+%5Crightarrow+%5Cinfty&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='i &#92;rightarrow &#92;infty' title='i &#92;rightarrow &#92;infty' class='latex' />. The related proof is always done by induction, i.e. <img src='http://s0.wp.com/latex.php?latex=e_%7Bi%2B1%7D&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='e_{i+1}' title='e_{i+1}' class='latex' /> has to be related to <img src='http://s0.wp.com/latex.php?latex=e_i&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='e_i' title='e_i' class='latex' />. Note that our iteration <img src='http://s0.wp.com/latex.php?latex=x_%7Bi%2B1%7D+%3D+x_i+%2B+B+r_i&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='x_{i+1} = x_i + B r_i' title='x_{i+1} = x_i + B r_i' class='latex' /> can be rewritten as <img src='http://s0.wp.com/latex.php?latex=x_%7Bi%2B1%7D+%3D+x_i+-+B+A+e_i&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='x_{i+1} = x_i - B A e_i' title='x_{i+1} = x_i - B A e_i' class='latex' /> (can be simply done with (c)), so that <img src='http://s0.wp.com/latex.php?latex=e_%7Bi%2B1%7D+%3D+x_%7Bi%2B1%7D+-+x+%3D+x_i+-+B+A+e_i+-+x&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='e_{i+1} = x_{i+1} - x = x_i - B A e_i - x' title='e_{i+1} = x_{i+1} - x = x_i - B A e_i - x' class='latex' />. So  eventually</p>
<p style="text-align:center;"><img src='http://s0.wp.com/latex.php?latex=e_%7Bi%2B1%7D+%3D+%28I++-+B+A%29+e_i&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='e_{i+1} = (I  - B A) e_i' title='e_{i+1} = (I  - B A) e_i' class='latex' />.</p>
<p style="text-align:left;">To conclude whether  <img src='http://s0.wp.com/latex.php?latex=x_i&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='x_i' title='x_i' class='latex' /> approaches <img src='http://s0.wp.com/latex.php?latex=x&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='x' title='x' class='latex' />, we have to make sure that <img src='http://s0.wp.com/latex.php?latex=%7C%7Ce_i%7C%7C&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='||e_i||' title='||e_i||' class='latex' /> approaches 0. The key is the following relation between <img src='http://s0.wp.com/latex.php?latex=%7C%7Ce_%7Bi%2B1%7D%7C%7C&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='||e_{i+1}||' title='||e_{i+1}||' class='latex' /> and the spectral radius of <img src='http://s0.wp.com/latex.php?latex=I+-+BA&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='I - BA' title='I - BA' class='latex' />:</p>
<p style="text-align:center;"><img src='http://s0.wp.com/latex.php?latex=%7C%7Ce_%7Bi%2B1%7D%7C%7C+%5Cleq+%5Crho%28I-BA%29+%7C%7Ce_i%7C%7C&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='||e_{i+1}|| &#92;leq &#92;rho(I-BA) ||e_i||' title='||e_{i+1}|| &#92;leq &#92;rho(I-BA) ||e_i||' class='latex' />.</p>
<p style="text-align:left;">You&#8217;ll see it if you expand <img src='http://s0.wp.com/latex.php?latex=e_%7Bi%2B1%7D+%3D+%28I++-+B+A%29+e_i&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='e_{i+1} = (I  - B A) e_i' title='e_{i+1} = (I  - B A) e_i' class='latex' /> in the Eigenbase of <img src='http://s0.wp.com/latex.php?latex=I-BA&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='I-BA' title='I-BA' class='latex' />. The conclusion is:</p>
<p style="text-align:center;">If <img src='http://s0.wp.com/latex.php?latex=%5Crho%28I+-+BA%29+%3C+1&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='&#92;rho(I - BA) &lt; 1' title='&#92;rho(I - BA) &lt; 1' class='latex' /> then convergence.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/trovato.wordpress.com/5/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/trovato.wordpress.com/5/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/trovato.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/trovato.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/trovato.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/trovato.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/trovato.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/trovato.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/trovato.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/trovato.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/trovato.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/trovato.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/trovato.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/trovato.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/trovato.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/trovato.wordpress.com/5/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=trovato.wordpress.com&amp;blog=3438228&amp;post=5&amp;subd=trovato&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://trovato.wordpress.com/2008/04/12/iterative-solvers-in-a-nutshell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">secr</media:title>
		</media:content>
	</item>
		<item>
		<title>Heat Equation &amp; Finite Differences</title>
		<link>http://trovato.wordpress.com/2008/04/10/heat-equation-finite-differences/</link>
		<comments>http://trovato.wordpress.com/2008/04/10/heat-equation-finite-differences/#comments</comments>
		<pubDate>Thu, 10 Apr 2008 14:30:57 +0000</pubDate>
		<dc:creator>secr</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://trovato.wordpress.com/?p=3</guid>
		<description><![CDATA[The 2D-steady-state-heat-equation (hail to the hyphen) is Introducing a rectangular grid (step-width and points in each direction) on a finite domain (which need not to be rectangular) and substituting the continuous functions and operators with discretized versions gives (provided the special case and zero boundary conditions) - Convergence ( for ) can be shown (even [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=trovato.wordpress.com&amp;blog=3438228&amp;post=3&amp;subd=trovato&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The 2D-steady-state-heat-equation (hail to the hyphen) is</p>
<p><img src='http://s0.wp.com/latex.php?latex=%5Cpartial_x%5E2+u+%2B+%5Cpartial_y%5E2+u+%3D+f.&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='&#92;partial_x^2 u + &#92;partial_y^2 u = f.' title='&#92;partial_x^2 u + &#92;partial_y^2 u = f.' class='latex' /></p>
<p>Introducing a rectangular grid (step-width <img src='http://s0.wp.com/latex.php?latex=h&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='h' title='h' class='latex' /> and <img src='http://s0.wp.com/latex.php?latex=N&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='N' title='N' class='latex' /> points in each direction) on a finite domain (which need not to be rectangular) and substituting the continuous functions and operators with discretized versions</p>
<p><img src='http://s0.wp.com/latex.php?latex=%5Cpartial_x%5E2+u+%5Crightarrow&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='&#92;partial_x^2 u &#92;rightarrow' title='&#92;partial_x^2 u &#92;rightarrow' class='latex' /> <img src='http://s0.wp.com/latex.php?latex=%5Cpartial_x%5E%7B-%7D+%5Cpartial_x%5E%7B%2B%7D+u+%3D+%28u_%7Bm%2B1%2Cl%7D+-+2+u_%7Bm%2Cl%7D+%2B+u_%7Bm-1%2Cl%7D%29%2Fh%5E2&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='&#92;partial_x^{-} &#92;partial_x^{+} u = (u_{m+1,l} - 2 u_{m,l} + u_{m-1,l})/h^2' title='&#92;partial_x^{-} &#92;partial_x^{+} u = (u_{m+1,l} - 2 u_{m,l} + u_{m-1,l})/h^2' class='latex' /></p>
<p>gives (provided the special case <img src='http://s0.wp.com/latex.php?latex=N+%3D+4&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='N = 4' title='N = 4' class='latex' /> and zero boundary conditions)</p>
<p><a href="http://trovato.files.wordpress.com/2008/04/heatmatrix.jpg"><img class="alignnone size-full wp-image-4" src="http://trovato.files.wordpress.com/2008/04/heatmatrix.jpg" alt="" /></a></p>
<p>- Convergence (<img src='http://s0.wp.com/latex.php?latex=v_%7Bml%7D+%5Crightarrow+u%28m%2Cl%29&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='v_{ml} &#92;rightarrow u(m,l)' title='v_{ml} &#92;rightarrow u(m,l)' class='latex' /> for <img src='http://s0.wp.com/latex.php?latex=h+%5Crightarrow+0&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='h &#92;rightarrow 0' title='h &#92;rightarrow 0' class='latex' />) can be shown (even though it&#8217;s a bit tricky, the proof makes use of the discrete version of the maximum-principle).</p>
<p>- The matrix belongs to the family of block-matrices, i.e. it&#8217;s built by (N-1)^2 blocks of quadratic sub-matrices of size N-1 (the &#8220;bandwith&#8221;), so the total number of elements is <img src='http://s0.wp.com/latex.php?latex=%28N-1%29%5E4&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='(N-1)^4' title='(N-1)^4' class='latex' />. Each block is either diagonal or tridiagonal. This tridiagonal-block-matrix shape is characteristic for all elliptic problems.</p>
<p>- Solving the system with the wrong algorithm can be highly expensive: Gauss-elimination costs <img src='http://s0.wp.com/latex.php?latex=O%28n%5E3%29&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='O(n^3)' title='O(n^3)' class='latex' /> and bandsolvers <img src='http://s0.wp.com/latex.php?latex=O%28n%5E2%29&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='O(n^2)' title='O(n^2)' class='latex' /> (with <img src='http://s0.wp.com/latex.php?latex=n%5E2+%3D+N&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='n^2 = N' title='n^2 = N' class='latex' />), while the price of the most sophisticated algorithms is <img src='http://s0.wp.com/latex.php?latex=O%28n+%5Clog+n%29&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='O(n &#92;log n)' title='O(n &#92;log n)' class='latex' /> (Buneman&#8217;s Total Reduction) or even <img src='http://s0.wp.com/latex.php?latex=O%28n%29&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='O(n)' title='O(n)' class='latex' /> (adaptive multilevel Schwartz + Krylov).The problem with Total Reduction is that it can&#8217;t be applied to all elliptic problems. Good general-purpose solvers are iterative solvers, i.e. Jacobi, Gauss-Seidel, gradient method (all <img src='http://s0.wp.com/latex.php?latex=O%28n%5E2%29&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='O(n^2)' title='O(n^2)' class='latex' />), SOR, conjugated gradient (<img src='http://s0.wp.com/latex.php?latex=O%28n%5E%7B2%2F3%7D%29&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='O(n^{2/3})' title='O(n^{2/3})' class='latex' />) method plus some more sophisticated methods (adaptive multilevel Schwartz + Krylov, <img src='http://s0.wp.com/latex.php?latex=O%28n%29&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='O(n)' title='O(n)' class='latex' />).</p>
<p>- In d dimensions: The bandwith of the matrix-blocks is given by <img src='http://s0.wp.com/latex.php?latex=w%3D%28N-1%29%5E%7B%28d-1%29%7D&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='w=(N-1)^{(d-1)}' title='w=(N-1)^{(d-1)}' class='latex' />, or approximately <img src='http://s0.wp.com/latex.php?latex=n%2FN&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='n/N' title='n/N' class='latex' />. The multilevel-method wins in all dimensions, but note that in 1D, bandsolvers aren&#8217;t worse.</p>
<pre style="padding-left:30px;">full    Gauss elim.   bandsolver  Jacobi, GS, gradient    SOR, CG     fast solvers</pre>
<pre style="padding-left:30px;">d = 1        3            1                3                 2             1</pre>
<pre style="padding-left:30px;">d = 2        6            4                4                 3             2</pre>
<pre style="padding-left:30px;">d = 3        9            7                5                 4             3</pre>
<p>d is the number of dimensions, the numbers # describe the asymptotic (i.e. large N) costs to reach a given accuracy as <img src='http://s0.wp.com/latex.php?latex=O%28N%5E%5Csharp%29&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='O(N^&#92;sharp)' title='O(N^&#92;sharp)' class='latex' />. In general, bandsolver&#8217;s cost is <img src='http://s0.wp.com/latex.php?latex=O%28n+w%5E2%29+%3D+O%28N%5Ed+w%5E2%29&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='O(n w^2) = O(N^d w^2)' title='O(n w^2) = O(N^d w^2)' class='latex' />. With w = n/N it&#8217;s <img src='http://s0.wp.com/latex.php?latex=O%28N%5E%7B3d-2%7D%29&amp;bg=ffffff&amp;fg=333333&amp;s=0' alt='O(N^{3d-2})' title='O(N^{3d-2})' class='latex' />, which is cheap for d=1, but expensive for d &gt; 1.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/trovato.wordpress.com/3/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/trovato.wordpress.com/3/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/trovato.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/trovato.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/trovato.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/trovato.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/trovato.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/trovato.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/trovato.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/trovato.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/trovato.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/trovato.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/trovato.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/trovato.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/trovato.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/trovato.wordpress.com/3/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=trovato.wordpress.com&amp;blog=3438228&amp;post=3&amp;subd=trovato&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://trovato.wordpress.com/2008/04/10/heat-equation-finite-differences/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">secr</media:title>
		</media:content>

		<media:content url="http://trovato.files.wordpress.com/2008/04/heatmatrix.jpg" medium="image" />
	</item>
	</channel>
</rss>
