*./ .= is one of the earliest phrases given "special code" treatment in
APL.  However, the use of *./ .= in J is much reduced compared to APL
because the computation is more conveniently done with extended i.,
extended from the point of view of APL.  Moreover:

   a=: a.{~97+1000 15 ?@$ 26
   x=: a{~ 1000 ?@$ 1000
   y=: a{~ 1200 ?@$ 1000
   (x *./ .=|: y) -: (x i. x) =/ x i. y
1
   10 timer 'x *./ .= |:y'
0.0543126
   10 timer '(x i. x) =/ x i. y'
0.0069082

The comparison is nearly the same even if you exclude the time required for
the transpose |:

   ty=: |: y
   10 timer 'x *./ .= ty'
0.05343






On Thu, Jul 11, 2013 at 8:25 AM, Devon McCormick <[email protected]> wrote:

> You can use the dot to combine other things though it's probably most
> commonly used for matrix multiplication but it's a generalization of the
> ideas underlying that:
>
>    >;:'This is a table of words'
> This
> is
> a
> table
> of
> words
>    (>;:'This is a table of words') *./ . = 'table'
> 0 0 0 1 0 0
>    $>;:'This is a table of words'
> 6 5
>    (>;:'This is a table of words') *./ . = 5{.'of'
> 0 0 0 0 1 0
>    (>;:'This is a table of words') *./ . = |:>'of';'table';'FOO'
> 0 0 0
> 0 0 0
> 0 0 0
> 0 1 0
> 1 0 0
> 0 0 0
>
> And, of course, we also can extend matrix multiplication to higher
> dimensions:
>
>    (i.2 3 4) +/ . * i.4
> 14  38  62
> 86 110 134
>
>    (i.2 3 4) +/ . * i.4 5
>  70  76  82  88   94
> 190 212 234 256  278
> 310 348 386 424  462
>
> 430 484 538 592  646
> 550 620 690 760  830
> 670 756 842 928 1014
>
>
>
> On Thu, Jul 11, 2013 at 8:53 AM, Simon Barker <[email protected]
> >wrote:
>
> > J's parsing shows symbol recognition nicely:
> >
> >    .*
> > +-+-+
> > |.|*|
> > +-+-+
> >    *.
> > +--+
> > |*.|
> > +--+
> >    . *
> > +-+-+
> > |.|*|
> > +-+-+
> >    * .
> > +-+-+
> > |*|.|
> > +-+-+
> >
> > Searching archives by keyword:
> >
> > http://jsoftware.2058.n7.nabble.com/
> >
> > As described here:
> >
> > http://www.jsoftware.com/jwiki/System/Forums
> >
> > Simon
> >
> > -----Original Message-----
> > From: [email protected]
> > [mailto:[email protected]] On Behalf Of Brian
> > Schott
> > Sent: 11 July 2013 13:38
> > To: [email protected]
> > Subject: Re: [Jprogramming] What is .*?
> >
> > (B0 13) +/ .* (i.!]) 13x
> > I believe the code you are referring to is above. The phrase you are
> > looking
> > for is part of matrix multiplication. The dot is a separate symbol.
> > ---
> > (B=)
> >
> > On Jul 10, 2013, at 11:27 PM, Vijay Lulla <[email protected]> wrote:
> >
> > > Hi all,
> > > Forgive me if this has been answered somewhere else previously.
> > >
> > > I was reading the essay on Bernoulli Numbers (
> > > http://www.jsoftware.com/jwiki/Essays/Bernoulli%20Numbers) and came
> > > across
> > > .* (in the third code example block). I don't know what it does and I
> > > couldn't find anything in either the vocabulary or parts of speech
> pages.
> > > Any explanations/pointers are highly appreciated.
> > >
> > > On a side note, how do I search list archives for particular keyword
> > > or topic?
> > > Thanks in advance,
> > > Vijay.
> > > ----------------------------------------------------------------------
> > > For information about J forums see http://www.jsoftware.com/forums.htm
> > ----------------------------------------------------------------------
> > For information about J forums see http://www.jsoftware.com/forums.htm
> >
> > ----------------------------------------------------------------------
> > For information about J forums see http://www.jsoftware.com/forums.htm
> >
>
>
>
> --
> Devon McCormick, CFA
> ^me^ at acm.
> org is my
> preferred e-mail
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to