rrr@hpdmd48.boi.hp.com (Rudi Rynders) (01/11/91)
The "OVER" and "BY" constructs mentioned in my previous
note are defined as follows:
over =.;@({.;}.)&":@,
by =.(,~"_1' '&;&;)~
Using these one can neatly produce the result of the APL
outer product function, as in A jot.+ B for instance.
It glues the A vector on to the result as the first column
as well as displaying the B vector accross the top.
The command is:
A by B over A+/B
but how this it work?
Rudi Rynders (rrr@hpdmd48.boi.com)sam@kalessin.jpl.nasa.gov (Sam Sirlin) (01/14/91)
In article <15160010@hpdmd48.boi.hp.com> rrr@hpdmd48.boi.hp.com (Rudi Rynders) writes: > > The "OVER" and "BY" constructs mentioned in my previous > note are defined as follows: > > over =.;@({.;}.)&":@, > > by =.(,~"_1' '&;&;)~ > > > Using these one can neatly produce the result of the APL ... > > but how this it work? > To see how they work, I applied the various operators first. For example a over b is a u@v&w@x b for appropriate verbs u-x which is equivalent to u v w (a x b) or ;({.;}.)":(a,b) which is easy to understand. Applying this idea to by (a little more subtle) I get a by b equivalt to (' ';;a),"_1 b which is also much easier for me to comprehend. Sam Sirlin Jet Propulsion Laboratory sam@kalessin.jpl.nasa.gov Sam Sirlin Jet Propulsion Laboratory sam@kalessin.jpl.nasa.gov