When there is only one layer in the lists:
x1 = Range[-1., 1., 0.5];
y1 = Range[1., -1., -0.5];
Sqrt@N@Outer[Plus, x1^2, y1^2] // MatrixForm
The result is a {5,5} dimensions list. If the original lists are changed into two {5,5,3} dimensions lists, how to calculate the most inner layer's outer product?
xx1 = Table[x1, 5];
yy1 = Table[y1, 5];
kx={-0.005208333333333333, 0.*10^-18, 0.00520833333333333};
ky={0.005208333333333333, 0.*10^-18, -0.00520833333333333};
dx[x_] := x + kx;
SetAttributes[dx, Listable];
dy[y_] := y + ky;
SetAttributes[dy, Listable];
Sqrt@N@Outer[Plus, dx[xx1]^2, Transpose@dy[yy1]^2, 3] // MatrixForm
The corresponding result should be a {5,5,3,3} dimensions list, but it is a {5, 5, 3, 5, 5, 3} dimensions list.