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

Re: Recommended PDL References

by BrowserUk (Pope)
on Nov 22, 2006 at 00:22 UTC ( #585393=note: print w/replies, xml ) Need Help??

in reply to Recommended PDL References

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.

Replies are listed 'Best First'.
Re^2: Recommended PDL References
by lin0 (Curate) on Nov 22, 2006 at 06:55 UTC


    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.


"Index" vs "Table of Contents" [was: "Re^2: Recommended PDL References"]
by blazar (Canon) on Nov 22, 2006 at 20:18 UTC
    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



Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://585393]
[atcroft]: abner: Do you mean something like SELECT `foo`, `bar` FROM `table_name' WHERE (( `foo` = "asdf" ) OR ( `bar` = 'asdw' )); Or something else?
[abner]: yes. i am familiar with mysql but ignorant about how to get around the fact that placeholders can only represent single scalar values.
[abner]: my $sth = $dbh->prepare(' SELECT * FROM charge WHERE cpt = ?') or die "Couldn't prepare statement: " . $dbh->errstr;
[abner]: what if i want SELECT * FROM charge WHERE col1 = x and col2 = y?

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (5)
As of 2017-01-24 03:49 GMT
Find Nodes?
    Voting Booth?
    Do you watch meteor showers?

    Results (201 votes). Check out past polls.