Raul’s found a work-round, I think, but, meanwhile, how IS the generalised kp defined, if, for example, A has dimensions IJK... and B has PQR... ?
Thanks, Mike Sent from my iPad > On 1 Oct 2021, at 08:23, Jan-Pieter Jacobs <[email protected]> wrote: > > Hi, > Yesterday I was playing with the Kronecker product, trying to extend it to > arbitrary dimensions (not that I really needed, but it seemed fun). It > works on this J: > JVERSION > Engine: j902/j32/android > Release-a: commercial/2020-12-24T11:35:03 > Library: 9.02.08 > Platform: Android 32 (armeabi-v7a) > Installer: unknown > InstallPath: /mnt/sdcard/Android/data/com.jsoftware.j.android/files > Contact: www.jsoftware.com > > But not on beta-r, nor beta-s on windows 64, avx2. > > The definition is as follows (based on > https://wiki.jsoftware.com/wiki/Essays/Kronecker_Product): > > kp=: cs ($,) dp |: *"0 _ > NB. cs calculates the eventual size of pairwise joining axes > cs=: ([: */&:> >.&# {.!.1&.> ;)&$ > NB. dp calculates the axis shuffle needed to interleave corresponding axes > of x and y > dp=: (+ {. [: ,@|:@i. 2 , >.)&(#@$) > > A=: =i. 3 NB. identity, shape 3 3 > B=: >:i. 2 2 NB. shape 2 2 > AA=: 0 13 26 e.~i. 3 3 NB. shape 3 3 3 > > 'A kp B' and 'AA kp B' fail because 'A cs B' and 'AA cs B' throw a domain > error in J903-beta-r/s I don't understand, but do work in J902. Dissect > mentions an inconsistency, but eventually shows the right result. > > however, removing &$ from cs and feeding in shapes directly does work. > > 3 3 3 ([: */&:> >.&# {.!.1&.> ;) 2 2 > 6 6 3 > > Am I missing something or is this an interpreter bug? > > Any comments on the Kronecker product as such, does it make sense? The 2x2 > case is at least consistent with the definitions in the essay. > If it is sound, I'd add it to the Essay. > > Best regards, > Jan-Pieter. > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
