develooper Front page | perl.perl6.language | Postings from May 2005

Re: hyperoperators and multi-dimensional datastructures

Thread Previous | Thread Next
From:
Uri Guttman
Date:
May 19, 2005 12:48
Subject:
Re: hyperoperators and multi-dimensional datastructures
Message ID:
x7wtpvxaiz.fsf@mail.sysarch.com
>>>>> "LP" == Luke Palmer <lrpalmer@gmail.com> writes:

  LP> On 5/18/05, Anthony Heading <ajrh@ajrh.net> wrote:
  >> Is there a way to target hyperoperators at different axes of a
  >> multi-dimensional array?  This is an attractive feature of
  >> various APL-like languages, viz. e.g. in J:
  >> 
  >> a =. 2 5 $ i. 7      - a simple 2-by-5 array
  >> a
  >> 0 1 2 3 4               - like this
  >> 5 6 0 1 2
  >> 
  >> 
  >> +/"1 a              - sum reduce over axis 1
  >> 10 14

  LP>     [+]<< @a

  >> +/"2 a              - sum reduce over axis 2
  >> 5 7 2 4 6

  LP> Can't think of any for this one.  Or maybe it's this one that I can
  LP> think of it for, and the other one which I can't.

i can't spit out the syntax but here is the conceptual way i would do
it. we do have multidimensional slices so we could grab each slice
(maybe with zip?) and pass that to [+] and then grab the list of results
back into a array/matrix with one less dimension than the original.

so it would be something like this: (very wacko pseudo code):

		@in[ * ; 2 ; * ] ==>
		map [+] ==>
		@out

that was an (bad) attempt to slice the third entry in the second
dimension to be summed.
		
  LP> I think we're beginning to re-invent PDL.  Poorly.

but is there a p6 pdl yet? they may not need much with multi-dim ops,
slices, hyper and reduce all built in! also with type int (patform
ints), they can get the dense storage needed (but losing any dimensional
flexibility). 

uri

-- 
Uri Guttman  ------  uri@stemsystems.com  -------- http://www.stemsystems.com
--Perl Consulting, Stem Development, Systems Architecture, Design and Coding-
Search or Offer Perl Jobs  ----------------------------  http://jobs.perl.org

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About