September 2008 Archives

The Riemann Zeta Function

| | Comments (0) | TrackBacks (0)
Here is a view of the Riemann Zeta 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 the harmonic series. 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.

If you can prove that the only solutions to the equation Zeta(z) = 0 occur on the line Re(z) = 1/2 (aka The Riemann Hypothesis), then you get a million bucks!

Sexy Bessel Functions with Chart::Clicker

| | Comments (0) | TrackBacks (0)
These charts are created with Perl and Math::GSL via the great new charting module Chart::Clicker, which uses the Cairo 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 Friedrich Wilhelm Bessel was studying the motion of the planets and comets in the early 19th century.

The script to generate these charts is examples/clicker/chart in the latest bleed branch of Math::GSL. A release to CPAN is coming soon... gsl_sf_bessel_j0.pnggsl_sf_bessel_j1.pnggsl_sf_bessel_j0.pnggsl_sf_bessel_j1.png

Google Summer of Code 2008 Recap

| | Comments (2) | TrackBacks (0)
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.

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.

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).

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.

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.

 This summer has also spawned two mailing lists, the math-gsl-dev google group and the perl-scientific-computing 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)  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!

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).  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.

About this Archive

This page is an archive of entries from September 2008 listed from newest to oldest.

August 2008 is the previous archive.

October 2008 is the next archive.

Find recent content on the main index or look in the archives to find all content.

Screw you, spammers! Clicky Web Analytics