David, first of all thanks for the detailed answer and the help on the IRC channel since then!
let me relate to some of the items in your post. On Wed, Nov 4, 2009 at 9:54 AM, David Mertens <[email protected]> wrote: > The happy medium for all of these languages lies in optimizing vectorized > operations. In other words, if you have two data sets of 100 elements a > piece that you want to sum, in C you would write a for loop to iterate over > all the elements, but in a numerical language you would simply write $a + $b > and it would give a vector/array containing elements with the sum. That > sum, and many other operations, is computed using compiled C-code that > iterates over the elements of $a and $b just as fast as hand-rolled C-code. > The reason that PDL, Numpy, Matlab, and IDL have had such great success is > because most numerical operations can actually be implemented in this > vectorized way of thinking. Thanks for bringing up the other solutions as well. As it turns out at least one of the participants will be a Python programmer with some Numpy experience. What can I tell him comparing PDL with Numpy? Does anyone here have experience with both and can help with some info? > Now onto explaining the differences between PDL and Matlab. Here's a list > of what Matlab does better than PDL: > > The most jarring difference for a simple Matlab (or IDL) user will be the > lack of an IDE. PDL offers a partial replacement, however, with the PDL > prompt. The PDL prompt is an interactive shell, and it's possible to set up > an auto-load directory in much the same way that you could set up > autoloading for Matlab or IDL. Perhaps, someday PDL could have an extension > for Padre that would actually make it feel more like a full IDE, but until > that time comes, PDL developers will work with an open perldl or bash shell, > editing scripts in their preferred editors. Could you explain what does that Matlab IDE do? If I understand 1) on-going execution of code (REPL) 2) debugger 3) easy visualization of data (though I am not sure what does that mean) 4) creating GUI for a new application > PDL has 2D and 3D graphics for visualizing data, but they're not nearly as > developed as in Matlab. So the simple answer to this is, "It can be done, > but it may not be as easy." From what I understand, PGPLOT is a standard > plotting tool for Astronomers, so it can't be all that bad. Still, Matlab > makes visualization pretty darn easy and is (rightly) a major selling point. Here again, I'd love to have a more detailed list of things missing from PDL that are commonly used features of Matlab. > From the numeric standpoint, Matlab has many more features than PDL. For > example, there is a standard wavelet analysis toolbox in Matlab, and as far > as I know, nobody has written a wavelet analysis tool for PDL. CPAN: http://search.cpan.org/search?query=wavelet&mode=all and this one: http://herbert.the-little-red-haired-girl.org/en/software/wavelet/ > The vast > wealth of toolboxes for Matlab is another major selling point for Matlab. > Again it could be done in PDL, but you may have to do it yourself. Can someone with more understand that I have go over the list of Matlab toolboxes http://www.mathworks.com/products/product_listing/index.html and write about each one of them a few lines how do they map (if at all) to tools available either in PDL or via other modules on CPAN? Please replay either here or directly add it to the wiki: http://sourceforge.net/apps/mediawiki/pdl/index.php?title=PDL_for_Matlab_users#Toolbox > You've already said it and I'm going to reiterate it because it's why I left > Matlab: file handling. Handling nontrivial filenames in Matlab is a huge > pain. Yes, they do trivial, trivial file globbing and they offer regular > expressions, but I only thought to look for these after I switched to Perl. > It didn't even occurr to me as a possibility while I was a regular Matlab > user. If you need to process a server log and extract lots of data from it, > you wouldn't even think to write the extraction portion in Matlab. This is > Perl's bread and butter, and if you use PDL you can include the numerical > analysis in the same script. Could you give use cases where a clever Matlab user would run a perl script to solve a problem more easily or faster than with standar Matlab tools? > I mentioned that with PDL and Matlab, you try to replace for loops with > vector operations. In PDL::PP, you specify what those vector operrations > should do, using loops and all, with C-like code (it eventually gets turned > into C code and gets compiled), but PDL::PP HANDLES HIGHER DIMENSIONS FOR > YOU, as well as multiple data types. It is far easier to write > custom-rolled C-code for PDL than for Matlab. The only problem is that the > documentation for PDL::PP is difficult to get through, assumes you're a PDL > expert, and you're willing to give the documentation a number of reads in > order to get it. (By the way, the documentation that Toumas and company did > write has a nice style and covers a lot of material, but let's just say it's > not quite like reading the Camel book.) I am not sure what documentation are you referring to. Could you please point at it? again, thanks for you detailed response! regards Gabor _______________________________________________ Perldl mailing list [email protected] http://mailman.jach.hawaii.edu/mailman/listinfo/perldl
