This is yet another way to define the products using an idea from Victor Cerovski (see, http://www.jsoftware.com/jwiki/Essays/Kronecker%20Product ):
u Block=. (,./^:2)@: ,./^:2@:u ( kp=. */ Block ) NB. Kronecker ,./^:2@:(*/) ( krp=. */Block &.> ) NB. Khatri-Rao ,./^:2@:(*/)&.> ( tsp=. (1 0 3 |: */)Block&.>/Block ) NB. Tracy-Singh ,./^:2@:(,./^:2@:(1 0 3 |: */)&.>/) A krp B ┌─────┬─────┐ │1 2 │12 21│ │4 5 │24 42│ ├─────┼─────┤ │14 16│45 72│ │21 24│54 81│ └─────┴─────┘ A tsp B ┌─────┬───────────┬──┬─────┐ │1 2 │ 4 7 8 14│3 │12 21│ │4 5 │16 28 20 35│6 │24 42│ ├─────┼───────────┼──┼─────┤ │ 2 4│ 5 8 10 16│ 6│15 24│ │ 8 10│20 32 25 40│12│30 48│ │ 3 6│ 6 9 12 18│ 9│18 27│ │12 15│24 36 30 45│18│36 54│ ├─────┼───────────┼──┼─────┤ │7 8 │28 49 32 56│9 │36 63│ ├─────┼───────────┼──┼─────┤ │14 16│35 56 40 64│18│45 72│ │21 24│42 63 48 72│27│54 81│ └─────┴───────────┴──┴─────┘ The Khatri-Rao and the Tracy-Singh sums do not seem difficult to implement but I would rather wait to see concrete, inputs and outputs, examples before trying to code them. On Tue, Apr 29, 2014 at 7:03 PM, Jose Mario Quintana < [email protected]> wrote: > Your definitions reproduce the examples in > http://en.wikipedia.org/wiki/Khatri-Rao_product#Khatri-Rao_product : > > > > ( A=. (;~1 0 1) <;.1 (1+i.3 3) ) > ┌───┬─┐ > │1 2│3│ > │4 5│6│ > ├───┼─┤ > │7 8│9│ > └───┴─┘ > ( B=. (;~1 1 0) <;.1 (|: 1+i.3 3) ) > ┌─┬───┐ > │1│4 7│ > ├─┼───┤ > │2│5 8│ > │3│6 9│ > └─┴───┘ > krp=. */block &.> NB. Khatri-Rao product > A krp B > ┌─────┬─────┐ > │1 2 │12 21│ > │4 5 │24 42│ > ├─────┼─────┤ > │14 16│45 72│ > │21 24│54 81│ > └─────┴─────┘ > tsp=. (1 0 3 |: */)block&.>/block NB. Tracy-Singh product > A tsp B > ┌─────┬───────────┬──┬─────┐ > │1 2 │ 4 7 8 14│3 │12 21│ > │4 5 │16 28 20 35│6 │24 42│ > ├─────┼───────────┼──┼─────┤ > │ 2 4│ 5 8 10 16│ 6│15 24│ > │ 8 10│20 32 25 40│12│30 48│ > │ 3 6│ 6 9 12 18│ 9│18 27│ > │12 15│24 36 30 45│18│36 54│ > ├─────┼───────────┼──┼─────┤ > │7 8 │28 49 32 56│9 │36 63│ > ├─────┼───────────┼──┼─────┤ > │14 16│35 56 40 64│18│45 72│ > │21 24│42 63 48 72│27│54 81│ > └─────┴───────────┴──┴─────┘ > > > > They are impressive! > > > On Tue, Apr 29, 2014 at 4:32 PM, Raul Miller <[email protected]>wrote: > >> If I understand properly: >> >> Hadamard product is * >> >> Kroneker product is ([:,/[:,./"3*/) >> >> Or, >> >> block=: 1 : '[:,/[:,./"3 u' >> */ block >> >> There are of course other ways of defining this. >> >> Khatri-Rao product is A */block &.> B and works on a matrix of boxed >> matrices >> >> Tracy-Sigh product is (1 0 3 |: */)block&.>/block and also works on a >> matrix of boxed matrices >> >> Vector cross product gets interesting because it is typically defined on 3 >> element vectors and there are at least two very distinct ways of >> generalizing that to vectors of other lengths. >> >> Anyways, the paper sounds interesting, and I'd like a copy if it's not too >> much trouble. >> >> Thanks, >> >> -- >> Raul >> >> On Tue, Apr 29, 2014 at 3:17 PM, mikel paternain <[email protected] >> >wrote: >> >> > In a excellet review paper (see below [1]) Shuangzhe Liu & Götz Trenkler >> > show some results on matrix products: >> > >> > - Hadamard product >> > - Kroneker product >> > - Khatri-Rao product >> > - Tracy-Sigh product >> > - Khatri-Rao sum >> > - Tracy-Sigh sum >> > - Vector cross productSchur complement, etc. >> > >> > With this thread, we intend to create a collaborative work to find the >> > J-expressions that meet these products and sums. >> > If you want to collaborate, these will be published in next issue of >> > Journal of J (deadline May-31) >> > Thanks in advance, >> > Mikel >> > JoJ >> > >> > >> ----------------------------------------------------------------------------------------------------------------- >> > [1] There is a free version on the webif you can not find it, we can >> send >> > you a copy >> > >> > HADAMARD, KHATRI-RAO, KRONECKER AND OTHER MATRIX PRODUCTS >> > Shuangzhe Liu & Götz Trenkler >> > International Journal of Infornation ans Systems Sciences >> > Vol. 4, N. 1, 160-177 >> > >> > >> > ---------------------------------------------------------------------- >> > 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
