I have been developing perl code for numerical analysis. I was already using perl all the time for manipulating output, etc. I grabbed Karl Glazebrook's PGPLOT module which allows plotting from perl scripts. I began writing an interactive perl shell as an interface to the plot routines. The shell (plsh) has outgrown its original purpose. It now allows reading and writing columns of data with a single command, etc. Using other perl code and C interfaces from the shell is quite simple. I would like to encourage others to work on complementary projects, and I think the flexibility and enormous support base of perl make it a natural choice. As an incentive , I wrote a perl interface to the Meschach numerical linear algebra library. C library interface code can easily be written which allows easy dynamic loading and a natural interface to the C data and routines.
The following is a post that I sent to the perl modules news group. Be aware that this software is in a rather early stage of development and documentation is thin. However, it is quite usable, I use it all the time. It requires at least a rudimentary knowledge of perl to get started. I imagine it would be most useful for someone who already knows perl and uses it for numerical applications. The web link below gives some description and includes another link with a sample plsh session.
From firstname.lastname@example.orgSat Jun 15 13:39:35 1996 >Date: Wed, 12 Jun 1996 12:13:05 -0700 >From: John Lapeyre <email@example.com> Newsgroups: comp.lang.perl.modules >Subject: Modules for numerical analysis
I am making a few modules for numerical analysis available. They are available only on my web pages. I believe the correct rubric for the files is 'development distribution.'
One set of modules is an interactive shell and some support routines. I mentioned this in an earlier post. It also includes oo modules for plotting which require the PGPLOT.pm module .
Another module is an interface to the Meschach C routines for numerical linear algebra. The interface now includes a bit less than half the total number of routines. This is almost all of the real matrix routines. (includes band, but neither sparse nor complex matrices.) I have not tested it practically, but it passes about a thousand lines of the supplied test code which I translated from C to perl. The C structs become perl objects. Perl seems to use the constructors and destructors nicely. When the need arises, I hope it will work nicely with the interactive shell. If I ever get time (or there is much interest) I would like to add the other routines, and change a few more routines to methods.
These things are written for personal use, although I did take a few hours to organize things before throwing them on the net. I think this crowd is not primarily interested in this kind of thing. But it you are, let me know.