Open mohawk2 opened 2 years ago
@dkogan Do I remember right you have expertise in this? Are there any good "intro to NumPy" docs you can recommend so I'd know where NumPy folks would start from?
Hi.
I don't have any "intro to numpy" docs in mind. Sorry. When moving from PDL to numpy, it became very clear to me that the core PDL functionality was far superior to what numpy has. So I wrote two modules to make the core numpy experience not suck:
numpysane: this is effectively a port of the core PDL routines to numpy. I'd strongly recommend all numpy users use this, especially those coming from PDL. It doesn't help people moving in the other direction, obviously. But it'll be useful for you to get a sense of what PDL is doing right that numpy isn't. You should skim the docs, especially this section:
https://github.com/dkogan/numpysane/#whats-wrong-with-existing-numpy-functions
And maybe watch the talk video linked at the top of the docs. Numpysane ports basic linear algebra, dimension manipulations, concatenation and PDL::PP (both in C and in Python)
gnuplotlib: a port of PDL::Graphics::Gnuplot. Because I think matplotlib kinda sucks. This maybe is a matter of taste.
This isn't strictly what you were asking, but it's the best I got.
Thanks for your quick response! And your answer was what I needed, which is better than what I asked for :-)
My thinking is I'll take the MATLAB doc, and take the semantic inverse of your numpysane
doc, and that should largely do it. Thank you!
As noted in #358 my thinking was to make PDL be more of a C library with a Perl interface so one could also make e.g. a Python interface. As someone who seems to have largely done that already with your module, does this seem to you like it has value?
For someone looking for a bit of inspiration on the conversion between Numpy and PDL, I forked "Joe"s 100 PDL Exercises which have 64 examples of how a task is done in both Numpy and PDL (some are trivial). I thought I'd progressed it a bit, but it looks the same as Joe's. I should get back to it.
Similar to PDL::MATLAB (and the various intro/conversion documents probably all need to become PDL::Intro::*)