I have two vector functions
f[x_, y_, z_] := {x, y, z}
g[x_, y_, z_] := {y, 10, x}
I want to take the cross product of these two vectors at every point. This should result in another vector function.
How would I do so without creating a loop using Cross? This seems inefficient.
Edit:
The question was in regard to interpolation functions. The method suggested in the comments does not work
(*create data to interpolate*)
(*each corressponds to the values in \
that direction for each function *)
fx = Table[1, 1000];
fx = ArrayReshape[fx, {10, 10, 10}];
fy = Table[1, 1000];
fy = ArrayReshape[fy, {10, 10, 10}];
fz = Table[1, 1000];
fz = ArrayReshape[fz, {10, 10, 10}];
gx = Table[-1, 1000];
gx = ArrayReshape[gx, {10, 10, 10}];
gy = Table[-1, 1000];
gy = ArrayReshape[gy, {10, 10, 10}];
gz = Table[-1, 1000];
gz = ArrayReshape[gz, {10, 10, 10}];
(*interpolate to get vector interpolation function *)
iff = ListInterpolation /@ {fx, fy, fz};
ifg = ListInterpolation /@ {gx, gy, gz};
gif[x_, y_, z_] := (#[x, y, z] & /@ ifg) ;
fif[x_, y_, z_] := (#[x, y, z] & /@ iff) ;
VectorPlot3D[{gif[x, y, z], fif[x, y, z]}, {x, 1, 10}, {y, 1, 10}, {z,
1, 10}]
(*this does not work *)
f[x,y,z]\[Cross]g[x,y,z] (*credit to kglr*)
I would like the cross produce between f & g.

f[x, y, z]\[Cross]g[x, y, z]orCross @@ Through[{f, g}@##] &[x, y, z]? – kglr Apr 22 '17 at 00:21fif[x,y,z] \[Cross] gif[x,y,z]? – kglr Apr 22 '17 at 10:55Cross[gif[x, y, z], fif[x, y, z]]works perfectly more me. Just likecross[]in Marius' answer. – Michael E2 Apr 22 '17 at 12:23