I missed that.  I think this is an elegant way that avoids explicit rank.

On Tue, Jul 19, 2022 at 2:13 PM Hauke Rehr <hauke.r...@uni-jena.de> wrote:

> Tom did, in the very post starting this thread:
>
>     (1+i. 4 3) +/ . * 1+i. 3 4
>   38  44  50  56
>   83  98 113 128
> 128 152 176 200
> 173 206 239 272
>
> Am 19.07.22 um 20:10 schrieb Devon McCormick:
> > I'm puzzled why no one has used the basic matrix multiplication
> expression
> > in J.
> >
> >     matmul3
> > ([: +/ *)"1 _
> >     mat1=. <.0.5+10*<:+:1000 1000?@$0
> >     mat0=. <.0.5+10*<:+:1000 1000?@$0
> >     (10) 6!:2 'mat0 matmul3 mat1'
> > 0.737084
> >     (10) 6!:2 'mat0 +/ . * mat1'
> > 0.0499271
> >     (mat0 matmul3 mat1) -: mat0 +/ . * mat1
> > 1
> >
> >
> >
> > On Tue, Jul 19, 2022 at 12:49 PM Thomas McGuire <tmcguir...@gmail.com>
> > wrote:
> >
> >> My late night laziness and I got bitten by the 13 : definition doesn’t
> >> always work
> >> correctly with both x and y variables. Which I just assumed was working
> >> correctly.
> >>
> >> Now when I fix the definition of matmul3 so it works correctly (as
> Elijah
> >> pointed out) the variable
> >> representation does not incur a worrisome time penalty:
> >>
> >>     (1+i. 4 3) ([: +/ *)"1 _ (1+i. 3 4)
> >>   38  44  50  56
> >>   83  98 113 128
> >> 128 152 176 200
> >> 173 206 239 272
> >>     matmul3 =: ([: +/ *)"1 _
> >>     (1+i. 4 3) matmul3 (1+i. 3 4)
> >>   38  44  50  56
> >>   83  98 113 128
> >> 128 152 176 200
> >> 173 206 239 272
> >>
> >>     10 timex 'bmat1 ([: +/ *)"1 _ bmat2’
> >> 0.0464441
> >>     10 timex 'bmat1 matmul3 bmat2’
> >> 0.0471224
> >>
> >>     (bmat1 matmul3 bmat2) -: bmat1 ([: +/ *)"1 _ bmat2
> >> 1
> >>
> >>
> >> Thanks for showing me the error
> >>
> >>> On Jul 19, 2022, at 5:15 AM, Elijah Stone <elro...@elronnd.net> wrote:
> >>>
> >>> You are measuring two completely different things.
> >>>
> >>>    10 timex'bmat1 ([: +/ *)"1 _ bmat2'
> >>> 0.0482293
> >>>    10 timex'bmat1 ([: +/ *"1 _) bmat2'
> >>> 0.115583
> >>>    (bmat1 ([: +/ *)"1 _ bmat2) -: (bmat1 ([: +/ *"1 _) bmat2)
> >>> 0
> >>> ----------------------------------------------------------------------
> >>> For information about J forums see http://www.jsoftware.com/forums.htm
> >>
> >> ----------------------------------------------------------------------
> >> For information about J forums see http://www.jsoftware.com/forums.htm
> >>
> >
> >
>
> --
> ----------------------
> mail written using NEO
> neo-layout.org
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>


-- 

Devon McCormick, CFA

Quantitative Consultant
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to