Sunday, July 31, 2011

Alien::GSL released

Version 0.01 0.02 has been released on CPAN. After some successful tests show up from CPANtesters I hope to upload a new version of Math::GSLx::ODEIV2 which uses it to check for the GSL library and install it on supported platforms.

Please comment and ideas for non-Linux platform support will be welcomed whole-heartedly.

See https://metacpan.org/module/Alien::GSL soon!

UPDATE: Ooops forgot the MANIFEST file and the whole thing fouled up. Version 0.02 has been uploaded to fix that. Version 0.01 will be deleted as soon as PAUSE allows. Sorry about that!

Friday, July 29, 2011

Request for comment: on Alien::GSL

dagolden asked recently on his blog for suggestions on which libraries should have Alien:: modules. I recently wrote Math::GSLx::ODEIVE2 which needs not only the GSL libraries but the newest (1.15) version, so these things have been on my mind.

I have started mocking up Alien::GSL at my GitHub repository. Take a look and please let me know ANY thoughts.

Here is what I posted on dagolden.com:

Ok so I have been working on an Alien::GSL module. Since the magic is supposed to go in the Makefile.PL, I worry that I use the functionality without any testing first. However it is a simple module so not much testing is needed perhaps (none is written yet). How do people find the workflow? Suggestions are welcome ...

I close by soliciting comment here. Thanks for any thoughts!

Sunday, July 10, 2011

Solve ODEs with Math::GSLx::ODEIV2

In investigating the GSL library for solving Ordinary Differential Equations (ODEs) I noticed that a new interface (gsl_odeiv2) that hadn't yet been exposed in a Perl module. Further I noticed that some of the existing ODE modules for Perl are a little hard to use.

Along with those considerations I had wanted to make a Perl/XS module in preparation if I ever get my FLI camera module finished I will need this skill.

Put it all together and now I am here to introduce my very Perl-ish (in my opinion) Math::GSLx::ODEIV2. Yes the name is bad, but it is descriptive.

I also learned (hopefully) how to prevent installation when the library is not present in the system. Normally this would have involved Devel::CheckLib but since GSL comes with a utility (gsl-config) I was able to avoid that.

Anyway I hope some people find it useful and I am happy to hear comments and work to improve the module on its github page.