[Numpy-discussion] yorick zcen et al
David J Strozzi
strozzi2 at llnl.gov
Thu May 14 14:52:17 EDT 2009
Hi,
Sorry to not include a subject last time, or provide more info on yorick:
http://yorick.sourceforge.net/index.php official
http://www.maumae.net/yorick/doc/index.php unofficial
It's basically an interpreter geared toward doing numerics, with
C-like syntax (but Fortran array indexing) and very elegant multi-D
array syntax. It's also quite fast, has a parallel MPI package, and
is used at LLNL to steer some big numerical codes where the 'guts'
are in C. Also has a graphics package called gist. It's a free,
open-source, bare-bones matlab, written by David Munro of LLNL
starting in I think the late 1980s.
At the risk of being glib, I find the current science tools in python
(numpy, scipy, matplotlib) to be a good beta version of yorick :)
Anyway, my point was there are a lot of standard grid gymnastics, of
which numpy's diff() and sum() are examples, which don't seem to be
in numpy, like yorick's zcen (zone centering) and pcen (point
centering). Rather than everyone write their own, perhaps they could
be included? Unless they're in numpy and I can't find where.
Cheers
Dave [Strozzi, not Munro]
At 11:19 AM +0200 5/14/09, Sebastian Walter wrote:
>On Wed, May 13, 2009 at 10:18 PM, David J Strozzi <strozzi2 at llnl.gov> wrote:
>> Hi,
>>
>> [You may want to edit the numpy homepage numpy.scipy.org to tell
>> people they must subscribe to post, and adding a link to
>> http:// www. scipy.org/Mailing_Lists]
>>
>>
>> Many of you probably know of the interpreter yorick by Dave Munro. As
>> a Livermoron, I use it all the time.
>
>Never heard of it... what does it do? By the sound of it, yorick is an
>interpreted language like Python.
>
>> There are some built-in
>> functions there, analogous to but above and beyond numpy's sum() and
>> diff(), which are quite useful for common operations on gridded data.
>> Of course one can write their own, but maybe they should be cleanly
>> canonized?
>>
>> For instance:
>>
>> x = linspace(0,10,10)
>> y = sin(x)
>>
>> It is common, say when integrating y(x), to take "point-centered"
>> data and want to zone-center it:
>>
>> I = sum(zcen(y)*diff(x))
>>
>> def zcen(x): return 0.5*(x[0:-1]+x[1:])
>>
>> Besides zcen, yorick has builtins for "point centering", "un-zone
>> centering," etc. Also, due to its slick syntax you can give these
>> things as array "indexes":
>>
>> x(zcen), y(dif), z(:,sum,:)
>>
>>
>> Just some thoughts,
>> David Strozzi
>> _______________________________________________
>> Numpy-discussion mailing list
>> Numpy-discussion at scipy.org
>> http:// mail.scipy.org/mailman/listinfo/numpy-discussion
>>
>_______________________________________________
>Numpy-discussion mailing list
>Numpy-discussion at scipy.org
>http:// mail.scipy.org/mailman/listinfo/numpy-discussion
More information about the NumPy-Discussion
mailing list