I thought of a very crude solution to the original question:
xv = {1, 0, 0}; zv = {0, 0, 1};
Solve[zv == Cross[xv, {y1, y2, y3}], {y1, y2, y3} ]
Obviously, it is much less elegant than the accepted solution, and it shouldn't be posted there, but since no elegant solution has appeared yet here, I'll mention it:
x = Quantity[{1, 0, 0}, "Meters"];
z = Quantity[{0, 0, 1}, "Newtons"*"Meters"];
Solve[z == Cross[x, {y1, y2, y3}], {y1, y2, y3} ]
I think that to the original problem, Mathematica's trouble was that it didn't know (?) that it had to find three numbers. Here, the issue is the same, but there are no longer three numbers, but three quantities, which is why I think y \[Element] FullRegion[3]
failed.
I suppose an elegant solution could be found if one could make a Region
of Quantity
s, but I haven't been able to make the two work together, neither to specify an abstract Quantity
, that is, one with an unknown unit.
x = QuantityArray[{1, 0, 0}, "Meters"]; z = QuantityArray[{0, 0, 1}, "Newtons"*"Meters"]; Solve[z == Cross[x, y], y \[Element] FullRegion[3]]
give no solution, looks like a bug ! $\endgroup$