A lot of matrix multiplication

So I have a set of 15 $4\times 4$ matrices which I call $X_i, (i=1,2..15)$ and a set of 6 $4\times 4$ matrices which I call $y_j, (j=1,2...6)$. Now I have to calculate $(X_i y_j)-(y_j X_i^*)$ for different values of $i$ and $j$, where $*$ stands for Complex conjugate. Is there a simple command (with perhaps loops) in mathematica using which I can calculate all the 90 results instead of multiplying these matrices individually 90 times?

-
Have a look at Outer. –  b.gatessucks Dec 3 '12 at 8:29
Try Outer[#1.#2 - #2.Conjugate[#1] &, X, y] –  E.O. Dec 3 '12 at 9:08

Define some matrices.

Xs = RandomInteger[{1, 4}, {2, 4, 4}];
ys = RandomInteger[{1, 4}, {3, 4, 4}];


Use Outer applied to the indices to produce your derived matrices:

Flatten[
Outer[#1.#2 - #2.Conjugate@#1 &, Xs, ys]
, 1]


Flatten provides your result matrices in a single level list.

numXs = 2;