<?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/"
	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>Comments for Justin Domke's Weblog</title>
	<atom:link href="http://justindomke.wordpress.com/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://justindomke.wordpress.com</link>
	<description></description>
	<lastBuildDate>Thu, 10 Dec 2009 03:22:49 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Comment on Automatic Differentiation: The most criminally underused tool in the potential machine learning toolbox? by John Sibert</title>
		<link>http://justindomke.wordpress.com/2009/02/17/automatic-differentiation-the-most-criminally-underused-tool-in-the-potential-machine-learning-toolbox/#comment-203</link>
		<dc:creator>John Sibert</dc:creator>
		<pubDate>Thu, 10 Dec 2009 03:22:49 +0000</pubDate>
		<guid isPermaLink="false">http://justindomke.wordpress.com/?p=441#comment-203</guid>
		<description>Check out admb-project.org. ADMB is a nifty open source wrapper and 4th generation language build on C++ that makes it easy to build automatic differentiation into applications. I know the folks promoting ADMB are eager to enlarge the areas of application.</description>
		<content:encoded><![CDATA[<p>Check out admb-project.org. ADMB is a nifty open source wrapper and 4th generation language build on C++ that makes it easy to build automatic differentiation into applications. I know the folks promoting ADMB are eager to enlarge the areas of application.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Rushern Baker by justindomke</title>
		<link>http://justindomke.wordpress.com/rushern-baker/#comment-200</link>
		<dc:creator>justindomke</dc:creator>
		<pubDate>Mon, 30 Nov 2009 15:15:23 +0000</pubDate>
		<guid isPermaLink="false">http://justindomke.wordpress.com/?page_id=518#comment-200</guid>
		<description>Rushern,

If you could offer a non-illegal explanation of how your campaign obtained the email addresses of all graduate hills and gardens residents, that would go a long way in increasing your credibility for &quot;honesty and ethical reform&quot;.  When I&#039;ve asked you and your staff about this in the past, I was treated with contempt, hung up on, or ignored.  Of course, with your newly improved attitude, it looks like you don&#039;t care about actually answering my concerns, only avoiding embarrassment.</description>
		<content:encoded><![CDATA[<p>Rushern,</p>
<p>If you could offer a non-illegal explanation of how your campaign obtained the email addresses of all graduate hills and gardens residents, that would go a long way in increasing your credibility for &#8220;honesty and ethical reform&#8221;.  When I&#8217;ve asked you and your staff about this in the past, I was treated with contempt, hung up on, or ignored.  Of course, with your newly improved attitude, it looks like you don&#8217;t care about actually answering my concerns, only avoiding embarrassment.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Rushern Baker by Rushern Baker</title>
		<link>http://justindomke.wordpress.com/rushern-baker/#comment-199</link>
		<dc:creator>Rushern Baker</dc:creator>
		<pubDate>Mon, 30 Nov 2009 05:46:57 +0000</pubDate>
		<guid isPermaLink="false">http://justindomke.wordpress.com/?page_id=518#comment-199</guid>
		<description>Good evening Justin
I hope you are doing well, I just wanted to check and make sure you are not receiving my campaign emails. As we get closer to 2010, there will be a lot of exciting things happening with my campaign, i would love for you to be part of what we believe will be a successful campaign. As you know, honesty and ethical reform are the cornerstone of my campaign. Therefore, I want to personally invite you to become a member of Team Baker, should you decide to join Team Baker, please go to www. rushernbaker.com to sign up. Thank you and I look forward to working with you when I become County Executive.</description>
		<content:encoded><![CDATA[<p>Good evening Justin<br />
I hope you are doing well, I just wanted to check and make sure you are not receiving my campaign emails. As we get closer to 2010, there will be a lot of exciting things happening with my campaign, i would love for you to be part of what we believe will be a successful campaign. As you know, honesty and ethical reform are the cornerstone of my campaign. Therefore, I want to personally invite you to become a member of Team Baker, should you decide to join Team Baker, please go to www. rushernbaker.com to sign up. Thank you and I look forward to working with you when I become County Executive.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Notation is evil by Hendrik</title>
		<link>http://justindomke.wordpress.com/2009/10/28/notation-is-evil/#comment-197</link>
		<dc:creator>Hendrik</dc:creator>
		<pubDate>Sat, 21 Nov 2009 22:41:11 +0000</pubDate>
		<guid isPermaLink="false">http://justindomke.wordpress.com/?p=839#comment-197</guid>
		<description>Good points. Those would be handy. I think &quot;incomplete&quot; might be more appropriate than &quot;evil&quot; though. 
Just define your own notation for these and hope that it catches on. Worked for Euler.</description>
		<content:encoded><![CDATA[<p>Good points. Those would be handy. I think &#8220;incomplete&#8221; might be more appropriate than &#8220;evil&#8221; though.<br />
Just define your own notation for these and hope that it catches on. Worked for Euler.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Mandelbrot in Scala by Brett England</title>
		<link>http://justindomke.wordpress.com/2008/11/29/mandelbrot-in-scala/#comment-195</link>
		<dc:creator>Brett England</dc:creator>
		<pubDate>Tue, 10 Nov 2009 16:41:21 +0000</pubDate>
		<guid isPermaLink="false">http://justindomke.wordpress.com/?p=138#comment-195</guid>
		<description>The while loop can be removed if you use a tail recursive function.  This is the functional approach that Scala aspires you to use:

def iterate(z:Complex, c:Complex, level:Int, i:Int): (Complex,Int) =
     if(z.abs &gt; 2 &#124;&#124; i &gt; level) (z,i) else iterate(z*z+c, c, level, i+1)

...
val (z, i) = iterate(new Complex(0,0), new Complex(x,y), level, 0)
out.write(if (z.abs &lt; 2) 0 else i)
...</description>
		<content:encoded><![CDATA[<p>The while loop can be removed if you use a tail recursive function.  This is the functional approach that Scala aspires you to use:</p>
<p>def iterate(z:Complex, c:Complex, level:Int, i:Int): (Complex,Int) =<br />
     if(z.abs &gt; 2 || i &gt; level) (z,i) else iterate(z*z+c, c, level, i+1)</p>
<p>&#8230;<br />
val (z, i) = iterate(new Complex(0,0), new Complex(x,y), level, 0)<br />
out.write(if (z.abs &lt; 2) 0 else i)<br />
&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Completing the square in N dimensions by david</title>
		<link>http://justindomke.wordpress.com/completing-the-square-in-n-dimensions/#comment-192</link>
		<dc:creator>david</dc:creator>
		<pubDate>Mon, 02 Nov 2009 23:26:10 +0000</pubDate>
		<guid isPermaLink="false">http://justindomke.wordpress.com/?page_id=828#comment-192</guid>
		<description>I like this.  Seems like all of numerics is reducing nonlinear problems to linear ones.  Always wondered if there was a generalization of the quadratic equation to operators but never got this far..</description>
		<content:encoded><![CDATA[<p>I like this.  Seems like all of numerics is reducing nonlinear problems to linear ones.  Always wondered if there was a generalization of the quadratic equation to operators but never got this far..</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Mandelbrot in Scala by Ewald</title>
		<link>http://justindomke.wordpress.com/2008/11/29/mandelbrot-in-scala/#comment-191</link>
		<dc:creator>Ewald</dc:creator>
		<pubDate>Sun, 01 Nov 2009 10:54:41 +0000</pubDate>
		<guid isPermaLink="false">http://justindomke.wordpress.com/?p=138#comment-191</guid>
		<description>http://wiki.cython.org/tutorials/numpy

Look here for info on how to use numpy arrays effciently inside a cython routine. I mailed the code.

cython -a yourfile.pyx makes an html file that highlights the slow (python calls) bits. Double click the lines to see the generated code.</description>
		<content:encoded><![CDATA[<p><a href="http://wiki.cython.org/tutorials/numpy" rel="nofollow">http://wiki.cython.org/tutorials/numpy</a></p>
<p>Look here for info on how to use numpy arrays effciently inside a cython routine. I mailed the code.</p>
<p>cython -a yourfile.pyx makes an html file that highlights the slow (python calls) bits. Double click the lines to see the generated code.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Mandelbrot in Scala by Justin</title>
		<link>http://justindomke.wordpress.com/2008/11/29/mandelbrot-in-scala/#comment-189</link>
		<dc:creator>Justin</dc:creator>
		<pubDate>Sun, 01 Nov 2009 00:25:39 +0000</pubDate>
		<guid isPermaLink="false">http://justindomke.wordpress.com/?p=138#comment-189</guid>
		<description>Very cool.  Actually, since writing this post, I have basically abandoned Scala for python, so that is encouraging.  (Python&#039;s libraries are 1000x better, which outweighs everything in the end)  I am frankly amazed you got such good performance out of regular python!  I&#039;ve been using weave, rather than cython for performance, but I should probably take another look at that.  I would appreciate looking at the code ((myfirstname).(mylastname).rit.edu, or just post it as a comment).  I remember having a hard time figuring out how to get cython to run quickly.</description>
		<content:encoded><![CDATA[<p>Very cool.  Actually, since writing this post, I have basically abandoned Scala for python, so that is encouraging.  (Python&#8217;s libraries are 1000x better, which outweighs everything in the end)  I am frankly amazed you got such good performance out of regular python!  I&#8217;ve been using weave, rather than cython for performance, but I should probably take another look at that.  I would appreciate looking at the code ((myfirstname).(mylastname).rit.edu, or just post it as a comment).  I remember having a hard time figuring out how to get cython to run quickly.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Mandelbrot in Scala by Ewald</title>
		<link>http://justindomke.wordpress.com/2008/11/29/mandelbrot-in-scala/#comment-188</link>
		<dc:creator>Ewald</dc:creator>
		<pubDate>Sat, 31 Oct 2009 19:29:07 +0000</pubDate>
		<guid isPermaLink="false">http://justindomke.wordpress.com/?p=138#comment-188</guid>
		<description>Hi, 

Not sure if this is relevant anymore. Just for fun I coded your second example in python and cython (the calculation bit).

Using your numbers, n=2048 level=100 I get:

Python Mandelbrot with n=2048 and level=100 in 58.295 seconds
Cython Mandelbrot with n=2048 and level=100 in 1.218 seconds
Same answer? :  True
Speedup:  47.8744235634

Laptop has Core 2 Duo T9300 with 3GB ram on Ubuntu 8.10 64bit. I can send you the code if you&#039;d like. Using python/cython/scipy/numpy/matplotlib/f2py is probably a better way than more obscure (for number crunching and real world problems) languages. 

Cheers</description>
		<content:encoded><![CDATA[<p>Hi, </p>
<p>Not sure if this is relevant anymore. Just for fun I coded your second example in python and cython (the calculation bit).</p>
<p>Using your numbers, n=2048 level=100 I get:</p>
<p>Python Mandelbrot with n=2048 and level=100 in 58.295 seconds<br />
Cython Mandelbrot with n=2048 and level=100 in 1.218 seconds<br />
Same answer? :  True<br />
Speedup:  47.8744235634</p>
<p>Laptop has Core 2 Duo T9300 with 3GB ram on Ubuntu 8.10 64bit. I can send you the code if you&#8217;d like. Using python/cython/scipy/numpy/matplotlib/f2py is probably a better way than more obscure (for number crunching and real world problems) languages. </p>
<p>Cheers</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Convex Functions by justindomke</title>
		<link>http://justindomke.wordpress.com/convex-functions/#comment-185</link>
		<dc:creator>justindomke</dc:creator>
		<pubDate>Mon, 19 Oct 2009 21:27:39 +0000</pubDate>
		<guid isPermaLink="false">http://justindomke.wordpress.com/convex-functions/#comment-185</guid>
		<description>Well... OK.  First, assume $latex f$ is convex, and let&#039;s prove $latex g$ is convex.  We have that

$latex g(\alpha t + \beta s)$
$latex = f(x + (\alpha t + \beta s)v)$
$latex = f(\alpha (x + t v) + \beta (x + s v))$
$latex \leq \alpha f(x + t v) + \beta (x + s v)$
$latex = \alpha g(t) + \beta g(s)$.

Now, instead assume $latex g$ is convex for all choices of $latex x,v$.  Then,
$latex f(\alpha x + \beta y)$
$latex = f(x + \beta(y-x))$
$latex = g(\beta)$ (where $latex v=y-x$ in the definition of $latex g$).
$latex \leq (1-\beta)g(0) + \beta g(1)$
$latex = \alpha f(x) + \beta f(y)$

In all honesty that wasn&#039;t as trivial as I remembered it being...</description>
		<content:encoded><![CDATA[<p>Well&#8230; OK.  First, assume <img src='http://l.wordpress.com/latex.php?latex=f&#038;bg=ffffff&#038;fg=333333&#038;s=0' alt='f' title='f' class='latex' /> is convex, and let&#8217;s prove <img src='http://l.wordpress.com/latex.php?latex=g&#038;bg=ffffff&#038;fg=333333&#038;s=0' alt='g' title='g' class='latex' /> is convex.  We have that</p>
<p><img src='http://l.wordpress.com/latex.php?latex=g%28%5Calpha+t+%2B+%5Cbeta+s%29&#038;bg=ffffff&#038;fg=333333&#038;s=0' alt='g(\alpha t + \beta s)' title='g(\alpha t + \beta s)' class='latex' /><br />
<img src='http://l.wordpress.com/latex.php?latex=%3D+f%28x+%2B+%28%5Calpha+t+%2B+%5Cbeta+s%29v%29&#038;bg=ffffff&#038;fg=333333&#038;s=0' alt='= f(x + (\alpha t + \beta s)v)' title='= f(x + (\alpha t + \beta s)v)' class='latex' /><br />
<img src='http://l.wordpress.com/latex.php?latex=%3D+f%28%5Calpha+%28x+%2B+t+v%29+%2B+%5Cbeta+%28x+%2B+s+v%29%29&#038;bg=ffffff&#038;fg=333333&#038;s=0' alt='= f(\alpha (x + t v) + \beta (x + s v))' title='= f(\alpha (x + t v) + \beta (x + s v))' class='latex' /><br />
<img src='http://l.wordpress.com/latex.php?latex=%5Cleq+%5Calpha+f%28x+%2B+t+v%29+%2B+%5Cbeta+%28x+%2B+s+v%29&#038;bg=ffffff&#038;fg=333333&#038;s=0' alt='\leq \alpha f(x + t v) + \beta (x + s v)' title='\leq \alpha f(x + t v) + \beta (x + s v)' class='latex' /><br />
<img src='http://l.wordpress.com/latex.php?latex=%3D+%5Calpha+g%28t%29+%2B+%5Cbeta+g%28s%29&#038;bg=ffffff&#038;fg=333333&#038;s=0' alt='= \alpha g(t) + \beta g(s)' title='= \alpha g(t) + \beta g(s)' class='latex' />.</p>
<p>Now, instead assume <img src='http://l.wordpress.com/latex.php?latex=g&#038;bg=ffffff&#038;fg=333333&#038;s=0' alt='g' title='g' class='latex' /> is convex for all choices of <img src='http://l.wordpress.com/latex.php?latex=x%2Cv&#038;bg=ffffff&#038;fg=333333&#038;s=0' alt='x,v' title='x,v' class='latex' />.  Then,<br />
<img src='http://l.wordpress.com/latex.php?latex=f%28%5Calpha+x+%2B+%5Cbeta+y%29&#038;bg=ffffff&#038;fg=333333&#038;s=0' alt='f(\alpha x + \beta y)' title='f(\alpha x + \beta y)' class='latex' /><br />
<img src='http://l.wordpress.com/latex.php?latex=%3D+f%28x+%2B+%5Cbeta%28y-x%29%29&#038;bg=ffffff&#038;fg=333333&#038;s=0' alt='= f(x + \beta(y-x))' title='= f(x + \beta(y-x))' class='latex' /><br />
<img src='http://l.wordpress.com/latex.php?latex=%3D+g%28%5Cbeta%29&#038;bg=ffffff&#038;fg=333333&#038;s=0' alt='= g(\beta)' title='= g(\beta)' class='latex' /> (where <img src='http://l.wordpress.com/latex.php?latex=v%3Dy-x&#038;bg=ffffff&#038;fg=333333&#038;s=0' alt='v=y-x' title='v=y-x' class='latex' /> in the definition of <img src='http://l.wordpress.com/latex.php?latex=g&#038;bg=ffffff&#038;fg=333333&#038;s=0' alt='g' title='g' class='latex' />).<br />
<img src='http://l.wordpress.com/latex.php?latex=%5Cleq+%281-%5Cbeta%29g%280%29+%2B+%5Cbeta+g%281%29&#038;bg=ffffff&#038;fg=333333&#038;s=0' alt='\leq (1-\beta)g(0) + \beta g(1)' title='\leq (1-\beta)g(0) + \beta g(1)' class='latex' /><br />
<img src='http://l.wordpress.com/latex.php?latex=%3D+%5Calpha+f%28x%29+%2B+%5Cbeta+f%28y%29&#038;bg=ffffff&#038;fg=333333&#038;s=0' alt='= \alpha f(x) + \beta f(y)' title='= \alpha f(x) + \beta f(y)' class='latex' /></p>
<p>In all honesty that wasn&#8217;t as trivial as I remembered it being&#8230;</p>
]]></content:encoded>
	</item>
</channel>
</rss>
