*./ .= 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