[Matrix-SIG] Shifted array ops (was: RE: [Matrix-SIG] QUERY: Array indexing)

Frank Horowitz frank@ned.dem.csiro.au
Sat, 13 Mar 1999 18:21:50 +0800


Perry Stoll wrote:
> 
> [Tim Peter's continues to dazzle, but stays true to his Buddha-nature by
> avoiding a practical solution ;]
> 
> What I understand you're asking for is to perform operations on
> shifted/rotated versions of big matrices (aka numeric arrays). If that's what
> you're after, there is a way to do this sort of thing in NumPy using the
> built-in (since Python 1.5, I believe) slice type. The Python deities, in
> their glorious munificence, have given us the built-in function slice()
> to create slice objects.
> 
> The idea is to build up a slice object to represent the particular view of
> the data needed and then apply the slice object to the numeric array you
> have. The slicing operation doesn't create a copy of the data; it's just a
> new view of the original data.
> 
> You'll need to learn how slice objects get interpreted by Numeric, but I
> don't know where that's documented other than in the source. Does anyone know
> if such documetation exists?
> 
> As a concrete example, take look at the functions in
>   http://starship.python.net/crew/jhauser/NumAdd.py.html
> 

[A clinking sound, as the penny *finally* drops for Frank.]

BINGO!

> Of course, getting the end-cases right is your job ;)
> 

Geee. And here I thought that posting dumb questions to this list was my
job :-)

Thanks to all concerned for their helpful answers!

(We now return you to your regularly scheduled "dazzling" soliloquys ;)