<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
    <channel>
        <title>Math::GSL : Perl  GNU Scientific Library</title>
        <link>http://leto.net/code/Math-GSL/</link>
        <description>use Math::GSL;</description>
        <language>en</language>
        <copyright>Copyright 2008</copyright>
        <lastBuildDate>Sat, 15 Nov 2008 17:09:27 -0800</lastBuildDate>
        <generator>http://www.sixapart.com/movabletype/</generator>
        <docs>http://www.rssboard.org/rss-specification</docs>
        
        <item>
            <title>Complex Eigenvalues with Math::GSL</title>
            <description><![CDATA[After a question arose recently about finding complex eigenvalues of non-<a href="http://mathworld.wolfram.com/SymmetricMatrix.html">symmetric matrices</a>, I wrote <a href="http://leto.net/gitweb/?p=Math-GSL.git;a=blob_plain;f=examples/matrix/nonsymmetric_eigen;hb=2b9e985f4bd69de0f772dfe8096c3cdc36dcb181">this example</a> to show how it can be done with Math::GSL. The current example is called <span class="Apple-style-span" style="font-weight: bold;">examples/matrix/nonsymmetric_eigen</span> in the Math::GSL source, which will be in the 0.16 Math::GSL release. It uses the <span class="Apple-style-span" style="font-weight: bold; ">gsl_eigen_nonsymmv()</span> function to do all the hard work, the rest is twiddling complex numbers. The documentation for this can be found with<span class="Apple-style-span" style="font-weight: bold; "> perldoc Math::GSL::Eigen</span> or <a href="http://search.cpan.org/~leto/Math-GSL-0.14/lib/Math/GSL/Eigen.pm">here</a>.(The HTML rendering of the POD needs some work...) You can read the original C documentation for this function <a href="http://www.gnu.org/software/gsl/manual/html_node/Real-Nonsymmetric-Matrices.html">here.</a><div><div><br /></div><div> It is a well known theorem of linear algebra that symmetric matrices can have only real eigenvalues. Thus it is much easier to find eigenvalues of symmetric matrices because there is no possibility of complex numbers arising. You can do this with <a href="http://search.cpan.org/dist/Math-MatrixReal/">Math::MatrixReal</a>, which is written in pure-Perl.</div><div><br /><div><div>The output of <span class="Apple-style-span" style="font-weight: bold;">examples/matrix/nonsymmetric_eigen</span> looks like:</div><div><br /></div><div><div>Finding eigenvalue/eigenvectors for</div><div>[ 0  -1 ]</div><div>[ 1   0 ]</div><div><br /></div><div>Eigenvectors:</div><div><br /></div><div>u = (0.707106781186547,-0.707106781186547i)</div><div>v = (0.707106781186547,0.707106781186547i)</div><div><br /></div><div>Eigenvalues:</div><div><br /></div><div>lambda_0 = i</div><div>lambda_1 = -i</div><div><br /></div><div><br /></div><div>By the way, sqrt(2)/2 = 0.707106...</div><div><br /></div><div>I am not quite happy with how long the program is, mainly because I have not written a Perlish interface around Complex Vectors and Matrices yet, so it is all in that script right now. The stringification could be built into the object and therefore reduce the length of that code dramatically.</div></div></div></div></div>]]></description>
            <link>http://leto.net/code/Math-GSL/2008/11/complex-eigenvalues-with-mathg.html</link>
            <guid>http://leto.net/code/Math-GSL/2008/11/complex-eigenvalues-with-mathg.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">complex</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">linearalgebra</category>
            
            
            <pubDate>Sat, 15 Nov 2008 17:09:27 -0800</pubDate>
        </item>
        
        <item>
            <title>Inside Look of Math::GSL</title>
            <description><![CDATA[<div><div>Here is a breakdown of how many lines of code (roughly) are in different languages in the Math::GSL codebase:</div><div><span class="Apple-style-span" style="font-weight: bold;"><br /></span></div><ul><li><span class="Apple-style-span" style="font-weight: bold;">280889</span> lines - <a href="http://perldoc.perl.org/perlxs.html">XS</a> ( C-like Perl internals autogenerated by <a href="http://www.swig.org" style="text-decoration: underline; ">SWIG</a>)</li><li>60181 lines  - Total Perl (generated by <a href="http://www.swig.org" style="text-decoration: underline; ">SWIG</a>)</li><li> 22941  lines- Hand-written Perl </li><ul><li> 8617 lines - Tests</li></ul><ul><li>13731 lines - <a href="http://perldoc.perl.org/perlpod.html">POD</a> (this actually includes some Perl implementation, probably &lt;5%). Much of this was autogenerated from the <a href="http://www.gnu.org/software/gsl/manual/html_node/index.html">GSL C documentation</a> and reformatted, but it stills needs work, especially in making the POD render to HTML in a more pleasant way.</li></ul><li><span class="Apple-style-span" style="font-weight: bold;">1112</span>   lines - <a href="http://www.swig.org" style="text-decoration: underline; ">SWIG</a></li></ul></div><div><div>The reason why Math::GSL requires something like SWIG becomes very apparent. The SWIG interface files are roughly 1/280th the length of the raw XS source code. No reasonable  person would be hacking on Perl internals, but not even a reasonable Perl hacker wants to write all that error checking boilerplate cruft. Thanks <a href="http://www.swig.org">SWIG</a>!</div><div><br /></div><div>This was made possible by ripping all Perl code out of the SWIG interface files and putting them in the pod/ directory. It is not strictly POD but a simple naming scheme was key and the majority of the files do happen to be POD, so whatev. And now vim correctly syntax highlights the files! I think there is something to be said for sticking to one language per file. </div></div>]]></description>
            <link>http://leto.net/code/Math-GSL/2008/11/inside-look-of-mathgsl.html</link>
            <guid>http://leto.net/code/Math-GSL/2008/11/inside-look-of-mathgsl.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">swig</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">mathgsl</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">swig</category>
            
            <pubDate>Fri, 14 Nov 2008 13:49:48 -0800</pubDate>
        </item>
        
        <item>
            <title>Post-Mentor-Summit Wrap Up</title>
            <description><![CDATA[I took a bit of a break after releasing Math::GSL 0.14 and tried not to stare at a screen too much  during the GSOC08 conference, when I could be interacting with open source developers from around the world IRL. I met developers from <a href="http://git.or.cz">Git</a>, <a href="http://wiki.xmms2.xmms.se/wiki/Main_Page">Xmms2</a>, <a href="http://www.videolan.org">VLC</a>, <a href="http://www.php.net">PHP</a>, <a href="http://zikula.org/">Zikula</a>, <a href="http://www.openafs.org">OpenAFS</a>, <a href="http://www.boost.org/">Boost</a>, <a href="http://jikesrvm.org/">Jikes RVM</a>, <a href="http://www.squeak.org/">Squeak</a>, <a href="http://musicbrainz.org/">MusicBrainz</a>, <a href="http://www.worldforge.org/">Worldforge</a>, <a href="http://www.minix3.org/">Minix3</a>, the list goes on. People shared many ideas about making sustainable open source projects, getting and keeping members in your community and dealing with "troublesome" members.  Daniel Svensson from Xmms2 also showed me some git-fu relating to rebasing.<div><br /></div><div>But that doesn't mean that Math::GSL development has come to a halt! Since 0.14 Thierry added operator overloading for addition in Vector. This sparked my interest and I then did subtraction. The current code will vectorize operations that you learn "don't make sense" in grade school, such as:<span class="Apple-style-span" style="font-weight: bold;"> $</span><span class="Apple-style-span" style="font-family: '-editor-proxy';"><span class="Apple-style-span" style="font-weight: bold;">v - 5</span></span> , where <span class="Apple-style-span" style="font-weight: bold;">v</span> is a vector. Math::GSL will go ahead and subtract 5 from every element in $<span class="Apple-style-span" style="font-weight: bold; ">v</span>. You can also do <span class="Apple-style-span" style="font-weight: bold; ">2 + $v</span> and you will get a new vector where 2 has been added to each element of $<span class="Apple-style-span" style="font-weight: bold; ">v</span>.</div><div><br /></div><div><br /></div><div>Also, I reorganized the directory structure so that all SWIG interface files are now in the <span class="Apple-style-span" style="font-weight: bold;">swig/ </span>subdirectory, instead of clogging up the root directory. All SWIG-generated XS code and object files are thrown in there as well. This should make the Math::GSL codebase easier to navigate. </div><div><br /></div>]]></description>
            <link>http://leto.net/code/Math-GSL/2008/11/postmentorsummit-wrap-up.html</link>
            <guid>http://leto.net/code/Math-GSL/2008/11/postmentorsummit-wrap-up.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">mentorsummit</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">update</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">mentorsummit</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">mentorsummit08</category>
            
            <pubDate>Sat, 01 Nov 2008 06:20:20 -0800</pubDate>
        </item>
        
        <item>
            <title>Math::GSL 0.14</title>
            <description><![CDATA[Get it here: <a href="http://search.cpan.org/~leto/Math-GSL-0.14/">http://search.cpan.org/~leto/Math-GSL-0.14/ </a><div><br /></div><div>Changes in 0.14:</div><div><br /></div><div><div>    - Chebyshev Series Approximation, with tests and docs</div><div>    - Examples and new documentation in <a href="http://search.cpan.org/~leto/Math-GSL/lib/Math/GSL/Statistics.pm">Statistics</a>, as well as tests (Thierry)</div><div>    - Bugfixes relating to compiling on 64bit Red Hat Linux, reported by Michael Roberge</div><div>    - Improved <a href="http://search.cpan.org/~leto/Math-GSL/lib/Math/GSL/FFT.pm">FFT</a>, <a href="http://search.cpan.org/~leto/Math-GSL/lib/Math/GSL/Deriv.pm">Deriv</a>, <a href="http://search.cpan.org/~leto/Math-GSL/lib/Math/GSL/Integration.pm">Integration</a>, <a href="http://search.cpan.org/~leto/Math-GSL/lib/Math/GSL/Chebyshev.pm">Chebyshev</a>, <a href="http://search.cpan.org/~leto/Math-GSL/lib/Math/GSL/Combination.pm">Combination</a> and <a href="http://search.cpan.org/~leto/Math-GSL/lib/Math/GSL/Roots.pm">Roots</a> docs</div><div>    - Documentation for <a href="http://search.cpan.org/~leto/Math-GSL/lib/Math/GSL/Test.pm">Math::GSL::Test</a> </div><div>    - Improved introduction examples in <a href="http://search.cpan.org/~leto/Math-GSL/lib/Math/GSL.pm">Math::GSL</a></div><div>    - Improved <a href="http://search.cpan.org/~leto/Math-GSL/lib/Math/GSL/Min.pm">Minimization</a> subsystem tests, but it is not functional</div><div>    - Added <a href="http://github.com/leto/math--gsl/tree/master/examples/fft/forward_real">examples/fft/forward_real</a></div><div>    - Added <a href="http://github.com/leto/math--gsl/tree/master/examples/deriv/basic">examples/deriv/basic</a></div><div><br /></div><div>        This shows the simple fact that d/dx(sin(x)) = cos(x)</div><div><br /></div><div>    - Added <a href="http://github.com/leto/math--gsl/tree/master/examples/sf/erfc_check">examples/sf/erfc_check</a> (thanks to Keith Lofstrom)</div><div><br /></div><div>        Script which tests the erfc() special function against computing</div><div>        the integral definition with gsl_integration_qagiu()</div><div><br /></div><div>    - Added <a href="http://github.com/leto/math--gsl/tree/master/examples/vector/speed">examples/vector/speed </a></div><div>    </div><div>        This shows a considerable performance boost using <a href="http://search.cpan.org/~leto/Math-GSL/lib/Math/GSL/Vector.pm">Math::GSL::Vector</a>s</div><div>        instead of List::Util when searching for the min and max elements of</div><div>        large sets of random numbers.</div><div><br /></div><div>    - Fixed return signature of gsl_deriv_* functions to return a flat list</div><div>    - Fixed some failing tests relating to  -Duselongdouble (Sisyphus)</div><div>    - Fix location of shared objects (Sisyphus)</div><div>    - Added raw() method to <a href="http://search.cpan.org/~leto/Math-GSL/lib/Math/GSL/RNG.pm">RNG</a> objects</div><div><br /></div></div>]]></description>
            <link>http://leto.net/code/Math-GSL/2008/10/mathgsl-014.html</link>
            <guid>http://leto.net/code/Math-GSL/2008/10/mathgsl-014.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">release</category>
            
            
            <pubDate>Wed, 22 Oct 2008 08:09:31 -0800</pubDate>
        </item>
        
        <item>
            <title>Math::GSL on GitHub</title>
            <description><![CDATA[I have created a<a href="http://github.com/leto/math--gsl/tree/master"> GitHub</a> mirror of the Math::GSL git repo, hopefully this will make it easier for developers to join the project and I will get to see why people like GitHub so much.<div><br /></div><div><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: helvetica; line-height: 18px; "><table style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: inherit; line-height: 1.4em; float: left; max-width: 48em; "><tbody style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.4em; "><tr style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.4em; "><td class="label" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.4em; color: rgb(136, 136, 136); padding-right: 0.25em; vertical-align: top; ">Public Clone URL:</td><td style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.4em; "><a href="git://github.com/leto/math--gsl.git" class="git_url_facebox" rel="#git-clone" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.4em; color: rgb(65, 131, 196); text-decoration: none; ">git://github.com/leto/math--gsl.git</a></td></tr></tbody></table><br /></span></div><div><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: helvetica; line-height: 18px;"><br /></span></div><div><span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: helvetica; line-height: 18px;">I like that it automatically creates a "donate" link via <a href="http://pledgie.org/">Pledgie</a>. Please consider <a href="http://pledgie.org/campaigns/1884">donating to Math::GSL today</a> if you enjoy using it!</span></div>]]></description>
            <link>http://leto.net/code/Math-GSL/2008/10/mathgsl-on-github.html</link>
            <guid>http://leto.net/code/Math-GSL/2008/10/mathgsl-on-github.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">git</category>
            
            
            <pubDate>Tue, 21 Oct 2008 21:30:32 -0800</pubDate>
        </item>
        
        <item>
            <title>Math::GSL Podcast from PDX.pm</title>
            <description><![CDATA[ <div>Here you can find my Scientfic Computing with Math::GSL <a href="http://pdxpm.podasp.com/archive.html?pname=meetings.xml" style="text-decoration: underline; ">Podcast</a> from PDX.pm.( <a href="http://podasp.com/episodes/P/PD/PDX.pm/2385/20080910__MathGSL_Scientific_Comp__2385.mp3">Stream</a>, <a href="http://podasp.com/episodes/P/PD/PDX.pm/2385/20080910__MathGSL_Scientific_Comp__2385.mp3">Download</a>) In the talk I compare PDL and Math::GSL, talk about the Google Summer of Code 2008, and show off some of the subsystems that are currently working. I field some questions from the audience about whether Math::GSL does symbolic computing or parrallelized/vectorized computing (it doesn't, at least yet) and how exactly I turn Perl subroutine references into C function pointers. If you look at the presentation slides <a href="http://leto.net/gitweb/?p=presentations.git;a=blob_plain;f=ScientificComputingWithPerlAndMathGSL/pres.pdf;hb=90f668796926415ebfb259740216af86a50ef642" style="text-decoration: underline; ">here </a>while you listen, it is almost like being there!</div>]]></description>
            <link>http://leto.net/code/Math-GSL/2008/10/mathgsl-podcast-from-pdxpm.html</link>
            <guid>http://leto.net/code/Math-GSL/2008/10/mathgsl-podcast-from-pdxpm.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">pdx.pm</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">podcast</category>
            
            
            <pubDate>Sat, 18 Oct 2008 09:47:05 -0800</pubDate>
        </item>
        
        <item>
            <title>Math::GSL 0.13_03 - More stuff!</title>
            <description><![CDATA[<div>I've just sent another dev release off to CPAN, 0.13_03 to test the recent Build changes that were necessary to get AMD64 boxen to correctly compile. It turns out that they really need the "-fPIC" flag at compilation and link time or else stuff blows up:</div><div><br /></div><div><span class="Apple-style-span" style="border-collapse: collapse; color: rgb(80, 0, 80); ">usr/bin/ld: BLAS_wrap.o: relocation R_X86_64_32S against `a local<br /> symbol' can not be used when making a shared object; recompile with -fPIC<br /> BLAS_wrap.o: could not read symbols: Bad value<br />collect2: ld returned 1 exit status<br />error building blib/arch/auto/Math/GSL/BLAS/<wbr>BLAS.so file from<br /> 'BLAS_wrap.o' at inc/GSLBuilder.pm line 99.</span></div><div><br /></div><div><br /></div><div>This link with go active sometime tomorrow: </div><div><br /></div><div><a href="http://search.cpan.org/~leto/Math-GSL-0.13_03/">http://search.cpan.org/~leto/Math-GSL-0.13_03/</a></div><div><br /></div><div>New stuff since 0.13_02:</div><div><br /></div><ul><li>AMD64 Build fixes</li><li>Improved FFT docs</li><li>Improved Math::GSL::Test docs</li></ul><div><br /></div>]]></description>
            <link>http://leto.net/code/Math-GSL/2008/10/mathgsl-013-03-more-stuff.html</link>
            <guid>http://leto.net/code/Math-GSL/2008/10/mathgsl-013-03-more-stuff.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">release</category>
            
            
            <pubDate>Thu, 16 Oct 2008 20:16:12 -0800</pubDate>
        </item>
        
        <item>
            <title>New Developer Release : Math::GSL 0.13_02</title>
            <description><![CDATA[<span class="Apple-style-span" style="border-collapse: collapse; color: rgb(0, 0, 0); ">Please test this out and let me know if anything goes *boom*:</span><div><span class="Apple-style-span" style="border-collapse: collapse; color: rgb(0, 0, 0); "><br /><a href="http://search.cpan.org/~leto/Math-GSL-0.13_02/" target="_blank" style="color: rgb(0, 0, 204); ">http://search.cpan.org/~leto/<wbr>Math-GSL-0.13_02/</a><br /><br /><br />Changes since 0.12:<br /><br />   - Chebyshev Series Approximation, with tests and docs<br />   - Improved Deriv, Integration, Chebyshev, Combination and Roots docs<br />   - Improved introduction examples in Math::GSL<br />   - Improved Minimization subsystem tests, but it is not functional<br />   - Added example/deriv/basic<br /><br />       This shows the simple fact that d/dx(sin(x)) = cos(x)<br /><br />   - Added example/sf/erfc_check (thanks to Keith Lofstrom)<br /><br />       Script which tests the erfc() special function against computing<br />       the integral definition with gsl_integration_qagiu()<br /><br />   - Added example/vector/speed<br /><br />       This shows a considerable performance boost using Math::GSL::Vectors<br />       instead of List::Util when searching for the min and max elements of<br />       large sets of random numbers.<br /><br />   - Fixed return signature of gsl_deriv_* functions to return a flat list<br />   - Fix location of shared objects (Sisyphus)<br />   - Added raw() method to RNG objects</span> </div>]]></description>
            <link>http://leto.net/code/Math-GSL/2008/10/new-developer-release-mathgsl.html</link>
            <guid>http://leto.net/code/Math-GSL/2008/10/new-developer-release-mathgsl.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">release</category>
            
            
            <pubDate>Sun, 12 Oct 2008 13:54:08 -0800</pubDate>
        </item>
        
        <item>
            <title>The Riemann Zeta Function</title>
            <description><![CDATA[Here is a view of the <a href="http://en.wikipedia.org/wiki/Riemann_zeta_function">Riemann Zeta</a> function graphed from x=1.2 to 10. You will notice a sharp spike as x goes toward 1, where it shoots off to infinity. The Riemann Zeta function at x=1 is <a href="http://en.wikipedia.org/wiki/Harmonic_series_%28mathematics%29">the harmonic series</a>. Since *everybody* knows the harmonic series diverges, so does the Riemann Zeta function at x=1. As x gets larger, the function approaches 1 quickly. This function directly determines the statistical properties of the distribution of prime numbers, so mathematician go wild studying everything about it.<br /><br /><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="gsl_sf_zeta.png" src="http://leto.net/code/Math-GSL/gsl_sf_zeta.png" class="mt-image-center" style="margin: 0pt auto 20px; text-align: center; display: block;" width="400" height="300" /></span><br /> <div>If you can prove that the only solutions to the equation Zeta(z) = 0 occur on the line Re(z) = 1/2 (aka <a href="http://www.claymath.org/millennium/Riemann_Hypothesis/">The Riemann Hypothesis</a>), then you get <a href="http://www.claymath.org/millennium/">a million bucks</a>!<br /></div>]]></description>
            <link>http://leto.net/code/Math-GSL/2008/09/the-riemann-zeta-function.html</link>
            <guid>http://leto.net/code/Math-GSL/2008/09/the-riemann-zeta-function.html</guid>
            
            
            <pubDate>Sun, 07 Sep 2008 14:08:18 -0800</pubDate>
        </item>
        
        <item>
            <title>Sexy Bessel Functions with Chart::Clicker</title>
            <description><![CDATA[These charts are created with Perl and Math::GSL via the great new charting module <a href="http://search.cpan.org/dist/Chart-Clicker/">Chart::Clicker</a>, which uses the <a href="http://cairographics.org/">Cairo</a> library to produce very nice alpha transparency and other visual eye candy. Here are the first two Bessel Functions of the First Kind (J0(x), J1(x)) and the first two Spherical Bessel Functions (j0(x), j1(x)). Bessel Functions of the First Kind usually arise in a problem that has circular or cylindrical symmetry, while the the latter occur when spherical symmetry is present. These functions where discovered when German mathematician/astronomer <a href="http://www.stetson.edu/~efriedma/periodictable/html/Bk.html">Friedrich Wilhelm Bessel</a> was studying the motion of the planets and comets in the early 19th century. 
<p>
The script to generate these charts is <b><a href="http://leto.net/gitweb/?p=Math-GSL.git;a=blob_plain;f=examples/clicker/chart;hb=3cc153e80a43bd59a5a1049bbc4cfec1f91f6a2e">examples/clicker/chart</a></b> in the latest bleed branch of Math::GSL. A release to CPAN is coming soon...

<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="gsl_sf_bessel_j0.png" src="http://leto.net/code/Math-GSL/gsl_sf_bessel_j0.png" width="400" height="300" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></span><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="gsl_sf_bessel_j1.png" src="http://leto.net/code/Math-GSL/gsl_sf_bessel_j1.png" width="400" height="300" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></span><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="gsl_sf_bessel_j0.png" src="http://leto.net/code/Math-GSL/gsl_sf_bessel_J0.png" width="400" height="300" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></span><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="gsl_sf_bessel_j1.png" src="http://leto.net/code/Math-GSL/gsl_sf_bessel_J1.png" width="400" height="300" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></span>
]]></description>
            <link>http://leto.net/code/Math-GSL/2008/09/sexy-bessel-functions-with-cha.html</link>
            <guid>http://leto.net/code/Math-GSL/2008/09/sexy-bessel-functions-with-cha.html</guid>
            
            
            <pubDate>Sun, 07 Sep 2008 12:12:19 -0800</pubDate>
        </item>
        
        <item>
            <title>Google Summer of Code 2008 Recap</title>
            <description><![CDATA[What an amazing summer! I really couldn't have imagined all the things that I would learn or teach, the obstacles that would make it challenging or the people that I would meet.<br /><br />Thierry Moisan submitted the Math::GSL proposal that was chosen by The Perl Foundation for one of the five slots that we received. It was well-written and organized, but I reordered some of the milestones, pushing more difficult subsystems to the end so that they wouldn't stall development. Thierry made 226 git commits during GSOC08, which ranged from tests, POD documentation, SWIG typemaps and Perl implementation. He is mostly responsible for an immense amount of tests and documentation in the BLAS, Linalg, Matrix and Fit subsystems. Thierry also wrote a function graphing program using perl/Tk, which is in the "examples" directory of the distribution. <br /><br />I live in Portland and Thierry is in Quebec City, so we mostly communicated through gchat, email and git commit messages, which seemed pretty effective. Public mailing lists like pdx-pm and swig-user were also helpful, as well as all the feedback I got when I gave a talk featuring Math::GSL at the Advanced Topics Portland Linux User Group (ATPLUG).<br /><br />GSOC08 really provided the impetus to make Math::GSL a reality. I had a prototype (read: hackish script) that implemented only the Special Functions of GSL in 2000 and then it just sat around until Thierry's proposal. <br /><br />As of the end of GSOC08, 41/48 of the Math::GSL subsystems were fully functional. The few remaining subsystems required callbacks, which were only partially implemented. As of this writing though, I have cracked the case and started to fully implement the remaining subsystems with Thierry. Numerical derivatives and integration (Deriv and Integration) are already supported.<br /><br />&nbsp;This summer has also spawned two mailing lists, the <a href="http://groups.google.com/group/math-gsl-dev">math-gsl-dev</a> google group and the <a href="http://groups.google.com/group/perl-scientific-computing">perl-scientific-computing</a> group. The first is for Math::GSL development and usage in particular, the second is for a broader audience. I envision Math::GSL as only the beginning of a suite of modules (or a custom Perl distribution)&nbsp; that enable scientists to "do science" in a quick and efficient way with Perl. If this sounds interesting, please come join and start some gossip!<br /><br />I believe that Thierry grew tremendously as a developer, he became proficient using git and doing advanced vim hackery as well being introduced to new programming concepts (like typemaps) and new libraries (Tk).&nbsp; Knowing that I helped introduce a new member to the open source community while hacking on something cool (and making it work!) is the best payment that I could get. That and maybe a tshirt.<br /><br /><br /> ]]></description>
            <link>http://leto.net/code/Math-GSL/2008/09/google-summer-of-code-2008-rec.html</link>
            <guid>http://leto.net/code/Math-GSL/2008/09/google-summer-of-code-2008-rec.html</guid>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">gsoc2008</category>
            
            <pubDate>Mon, 01 Sep 2008 11:18:41 -0800</pubDate>
        </item>
        
        <item>
            <title>Math::GSL 0.10 released to CPAN</title>
            <description><![CDATA[Math::GSL has been kicking around on CPAN for a few days now, and seems to be doing well with the <a href="http://bbbike.radzeit.de/%7Eslaven/cpantestersmatrix.cgi?dist=Math-GSL">CPANtesters</a> , except for multi-threaded Perls. This is a very important piece of information to learn, since I develop on FreeBSD 6.x and Ubuntu 8.x, which come with single-threaded Perls, and I had of course recompiled my own Perl from source, but single-threaded is again the default in Configure. <br /><br />The Build fails like this:<br /><br />gcc -I/usr/lib/perl/5.8/CORE -c -shared -Wall -fpic -Dbool=char
-Wno-strict-aliasing -Wno-unused-function -Wno-unused-value
-Wno-unused-function -Wno-unused-variable -o<br />
BLAS_wrap.o BLAS_wrap.c<br />
In file included from /usr/lib/perl/5.8/CORE/op.h:<div id=":t0" class="ArwC7c ckChnd"><wbr>497,<br />
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; from /usr/lib/perl/5.8/CORE/perl.h:<wbr>2754,<br />
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; from BLAS_wrap.c:716:<br />
/usr/lib/perl/5.8/CORE/reentr.<wbr>h:612: error: field '_crypt_struct' has<br />
incomplete type<br />
In file included from /usr/lib/perl/5.8/CORE/perl.h:<wbr>3950,<br />
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; from BLAS_wrap.c:716:<br />
/usr/lib/perl/5.8/CORE/proto.<wbr>h:297: error: expected declaration<br />
specifiers or '...' before 'off64_t'<br />
/usr/lib/perl/5.8/CORE/proto.<wbr>h:299: error: expected '=', ',', ';', 'asm'<br />
or '__attribute__' before 'Perl_do_sysseek'<br />
/usr/lib/perl/5.8/CORE/proto.<wbr>h:300: error: expected '=', ',', ';', 'asm'<br />
or '__attribute__' before 'Perl_do_tell'<br />
/usr/lib/perl/5.8/CORE/proto.<wbr>h:2005: error:<br />
expected '=', ',', ';', 'asm' or '__attribute__'<br />
before 'Perl_PerlIO_tell'<br />
/usr/lib/perl/5.8/CORE/proto.<wbr>h:2006: error: expected declaration<br />
specifiers or '...' before 'off64_t'<br />
error building .o file from 'BLAS_wrap.c'<br />
at /tmp/Math-GSL-0.08/_build/lib/<wbr>MyModuleBuilder.pm line 167.<br /><br />Does anyone know of extra build flags which are necessary when building XS modules on multi-threaded Perls?<br /><br /><br /></div><br /> ]]></description>
            <link>http://leto.net/code/Math-GSL/2008/08/mathgsl-010-released-to-cpan.html</link>
            <guid>http://leto.net/code/Math-GSL/2008/08/mathgsl-010-released-to-cpan.html</guid>
            
            
            <pubDate>Thu, 28 Aug 2008 19:25:27 -0800</pubDate>
        </item>
        
        <item>
            <title>Math::GSL 0.08 released to CPAN</title>
            <description><![CDATA[Coming to a CPAN mirror near you, a brand spanking new Math::GSL, now with Cygwin support! <br /><br />Enjoy!<br /> ]]></description>
            <link>http://leto.net/code/Math-GSL/2008/08/mathgsl-008-released-to-cpan.html</link>
            <guid>http://leto.net/code/Math-GSL/2008/08/mathgsl-008-released-to-cpan.html</guid>
            
            
            <pubDate>Wed, 13 Aug 2008 00:51:45 -0800</pubDate>
        </item>
        
        <item>
            <title>week 11 report</title>
            <description><![CDATA[There's only one week left to the google summer of code part of the project! Time passed really fast this summer. Last week I started a overall review of all the subsystems of the project to make sure that everything is fine for the pencil down date which is this Friday, august 18. I preferred adding more documentation to the subsystems than adding code to the Tk example since I think it's more important at the moment. I'll touch the Tk example this week if I have enough time but I plan to first finish my overall review before.<br /><br />I've learned a lot this summer on various aspect of programming : using git, vim and Tk,&nbsp; Object-Oriented programming, and better Perl programming. I plan to continue to work on this project even after the end of google summer of code. Of course I'd like to thank Jonathan Leto who gave me his time and knowledge. Without him, this project wouldn't exist. <br />]]></description>
            <link>http://leto.net/code/Math-GSL/2008/08/week-11-report.html</link>
            <guid>http://leto.net/code/Math-GSL/2008/08/week-11-report.html</guid>
            
            
            <pubDate>Mon, 11 Aug 2008 10:55:21 -0800</pubDate>
        </item>
        
        <item>
            <title>Week 10 report</title>
            <description><![CDATA[Last week I worked on making the documentation more HTML friendly. I
added basic documentation to the remaining subsystems not yet
implemented. We also released a <a href="http://search.cpan.org/%7Eleto/Math-GSL-0.07/">public version on CPAN</a>. I fixed various bugs that we received from the CPANT tester. There
are still little issues to look at for this release like the META.yml
file which doesn't output exactly the right things but this is not
anything major. I worked on the example using Tk::TableDataset to add a
menu and various additions to it. I've learn a lot about Tk and GUI&nbsp;
while working on this example. I also discovered the Perl::Tidy module
to make the perl code easier to read. Finally, I finished the Sum
subsystem, it is now fully functional. <br />
<br />In the next week I will complete the overall documentation by
adding more concrete examples to all the functional subsystems. These
examples will probably mainly come from the tests we've already wrote
for those subsystems. I also wish to add more functions and change a
bit more the code of the Tk::TableDataset example. Depending on the
time left, I might also add more Object-Oriented wrappers. ]]></description>
            <link>http://leto.net/code/Math-GSL/2008/08/week-10-report.html</link>
            <guid>http://leto.net/code/Math-GSL/2008/08/week-10-report.html</guid>
            
            
            <pubDate>Mon, 04 Aug 2008 15:33:48 -0800</pubDate>
        </item>
        
    </channel>
</rss>
