http://www.perlmonks.org?node_id=585260

Greetings Fellow Monks,

I have put together a list of references and examples related to the Perl Data Language (PDL). I posted it here because I thought someone could find it useful.

Cheers,

lin0


Updates:

Update 1:

Fixed wording, as pointed out by BrowserUK.

Update 2:

Added a link to a Perl Journal Article on PDL, as suggested by itub

Update 3:

Added a link to a Journal of Statistical Software article, a talk, a lecture, and a mention in Synopsis 9. The mention in Synopsis 9 was suggested by j3.


PDL

Reference material

Examples:

Reference in Synopsis 9

Related Modules

Replies are listed 'Best First'.
Re: Recommended PDL References
by BrowserUk (Patriarch) on Nov 22, 2006 at 00:22 UTC

    It's a real shame (for me as an non-Spanish reader), that the only tutorial is not in English.

    It's also a shame that the download mechanism for either of the "books" (Adobe RIH for foisting pdf on the world!), doesn't allow the size of the download to be identified before completion. Also that attempting to (view) results in "An Exception Has Occurred". Given these are both 5 years old, being able to preview them before downloading would be nice. Being able to discover how big they are before committing to downloading them would be the next best thing.

    The Index of PDL Documentation is not an index. It's a 'Table of Contents'. It's not alphabetised. It list only the equivalent of Chapter heading, not keywords or functions or anything vaguely resembling an index.

    It's also an extremely badly organised TOC. For example: What is the relationship/difference between

    • PDL::Core - fundamental PDL functionality
    • PDL::Basic - Basic utility functions for PDL
    • PDL::Core::Dev - PDL development module
    • PDL::Internals - description of some aspects of the current internals

    Which should the beginner read or ignore. The same questions apply to

    • PDL::Intro - Introduction to the Perl Data Language
    • PDL::Philosophy - what's behind PDL?
    • PDL::PDL - the Perl Data Language

    A few (more) worked examples that are

    The thing I notice about PDL when it comes up here at PM, in common with a quite a few other similarly complex frameworks, is that the responses that mention it, rarely ever go beyond the mention. There really are very few posts that provide worked examples. And those that do tend to be meditations that solve "classic" problems, rather than apply it's algorithms to the OP's real world problems.

    The transition between knowing something exists and is smart and clever and fast; and being able to apply that something to somewhat intransigent, incompletely specified and badly summarised real world problems requires a high level of understanding of the package.

    Data::Dumper is widely used, despite it's documented and well-known limitations, because it has a clearly defined & simple interface. Admittedly, being in core and and solving a rather simpler problem also helps. List::Util is widely used because, despite that it could export a single interface (reduce()) and still do most of what it does, it panders to the user and provides obvious aliases for several oft-used, common functions.

    "rpic" and "rpiccan" would be far from obvious, even if there was a proper index. Likewise, "barf()", is hardly likely to be in the first three places I'm gonna look for that functionality--which would probably be die(), error() or croak().


    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.

      BrowserUK

      I could not agree more with your comments!

      I have been using the PDL for over a month now and it has been hard to find the information I need when I need it. This is why, I decided to make this post about the PDL References (so people who are starting to use PDL, just like me, could have an easier road ahead than the one I had). Having said that, I really believe in the power of PDL for scientific computation and I plan to use it in several projects. One of these projects involves using Fuzzy Clustering for Image Segmentation. In fact, I already re-wrote the code I posted in RFC: Fuzzy Clustering with Perl to make use of the PDL. The new code is available in lin0's scratchpad. I will post my results as soon as I have them ready. In the mean time, I may do one or two posts related to the use of PDL.

      Cheers!

      lin0
      The Index of PDL Documentation is not an index. It's a 'Table of Contents'. It's not alphabetised. It list only the equivalent of Chapter heading, not keywords or functions or anything vaguely resembling an index.

      Much in the same vein as "Question" vs "Doubt", I wonder if this could be possibly due to the fact that in some languages, e.g. my own, which happens to be Italian, you have indice and indice analitico for table of contents and index respectively, so that a naive, uninformed translation may likely fail.

        It could certainly be the case. I noticed that many of the people involved in the project do not have English as their first language. By the way, the documentation webpage has for title: “PDL::index – an index of PDL documentation.” This was the title that I used when linking to their site. I already fixed it, in my post, as suggested by BrowserUK

        Cheers,

        lin0
Re: Recommended PDL References
by bsb (Priest) on Nov 22, 2006 at 01:43 UTC
    I've found that the perldl's interactive help is often the easiest way to find documentation, particularly '?? keyword'.

      I also think that the interactive help is an excellent source of information. The only problem is that you need to know, beforehand, what you are looking for. This is one of the reasons I wrote this post: to give PDL users a good starting point so that later on they can benefit the most from the interactive help.

Re: Recommended PDL References
by BerntB (Deacon) on Nov 21, 2006 at 22:46 UTC
    Shouldn't this also be put under Tutorials? It is devoid of information re PDL.

      I have the same question: should pieces like this one (list of references) go to Tutorials section?

Re: Recommended PDL References
by Joost (Canon) on Nov 21, 2006 at 14:01 UTC

      joost,

      Thank you very much for the comment.

      Yes, the books have been in there for some time (5 years) and even though they are a bit dated, they provide a useful reference for those getting started with PDL

      Cheers,

      lin0
Re: Recommended PDL References
by artist (Parson) on Nov 21, 2006 at 15:43 UTC
    Good job. Collection like this can enhance the value of Monastery. Especially, it reduces the research time required and encourage productivity. It is a good step towards PerlPedia.
    --Artist

      PerlPedia?

      sounds like a good idea! When do we get started?

      Cheers,

      lin0
Re: Recommended PDL References
by itub (Priest) on Nov 22, 2006 at 21:11 UTC

      itub

      Thank you very much for the reference. I already added it to my post. By the way, I noticed that most of the PDL documentation was written between the years 2000 and 2001. Do you have any idea why is that?

      Cheers,

      lin0
        By the way, I noticed that most of the PDL documentation was written between the years 2000 and 2001. Do you have any idea why is that?

        Just guessing, but my hunch is that large portions of the whole Perl community are collectively holding their breath for Perl6. This could be taken as a good sign, suggesting that folks plan on porting their modules/toolkits/frameworks to Perl6 at some point.

Re: Recommended PDL References
by j3 (Friar) on Nov 22, 2006 at 22:30 UTC

    Thanks for gathering this info together lin0. Looks handy.

    One pet peeve I have about PDL though... for their nickname, I wish they'd gone with "paddle" instead of "piddle". :)

      j3

      I am glad you liked the post. One thing that is really handy is Table 1 that appears in the article recommended by itub. That table shows the PDL 1.11 functions. By the way, I also like the nickname “paddle”.

      Cheers,

      lin0
      Message from THE FUTURE: in PDL 2.040 in April 2021, the data structure was renamed "ndarray" in line with industry practice.
Re: Recommended PDL References
by j3 (Friar) on Nov 24, 2006 at 09:15 UTC