Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw

Re: recommendations on scientific computing with Perl

by educated_foo (Vicar)
on Feb 13, 2007 at 03:21 UTC ( #599623=note: print w/replies, xml ) Need Help??

in reply to recommendations on scientific computing with Perl

This depends on your particular needs, but I wouldn't overlook Perl's power as a glue language. For example, Matlab (or its free equivalent Octave) has a rich set of built-in linear algebra and signal-processing functions, and is the lingua franca of machine learning. I've often found it easier to talk to Octave over a pipe, via script files, and/or by reading and writing Octave-format text data than to rewrite code in PDL, or even to use Inline::Octave. I'm guessing things are similar in other domains.
  • Comment on Re: recommendations on scientific computing with Perl

Replies are listed 'Best First'.
Re^2: recommendations on scientific computing with Perl
by lin0 (Curate) on Feb 13, 2007 at 20:22 UTC

    Hi educated_foo,

    Thanks for the comment. I agree with you in that Perl is an excellent glue language. However, I also think that it is capable of much more than that but I will leave that for another post :-) By the way, I am also interested in articles and books related to the use of Perl as a glue language for scientific computation. For example, articles in which CPAN modules for machine learning ( some of which are Perl bindings to C/C++ libraries ) are used. If you know of such articles, please, let me know.


      I work in machine learning and use Perl for most of my scripting, but have never bothered to use CPAN's machine learning modules. First, you often need to do some additional linear algebra on your data (e.g. centering, finding eigenvalues, SVD, etc.), and these modules don't share a common matrix representation. The lack of a common format for compact storage and a rich library of numerical algorithms makes it hard to do things quickly in pure Perl. Second, many CPAN modules I've looked at seem to have been written either for their authors' edification or without caring about large datasets (e.g. Algorithm::SVMLight requires you to add your datapoints one at a time in bulky hash-refs), while most of the problems I care about involve huge amounts of data.

      I think the PDL statistics paper someone else mentioned is the best "perl for statistics" resource I've seen. Depending on your problems and level of familiarity with the field, there may be some articles on of interest. As much as I loathe Java, I would actually recommend Weka as an implementation of lots of machine learning algorithms that work well together. But unless PDL does what you want, I'd suggest something other than Perl (including CPAN modules) for your core algorithms.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://599623]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (1)
As of 2017-03-26 08:15 GMT
Find Nodes?
    Voting Booth?
    Should Pluto Get Its Planethood Back?

    Results (313 votes). Check out past polls.