This morning, I opened one of my previous notebooks and evaluated it. Surprisingly, the code produced an error.
This took me a whole four hours to find the problem and it is with MapThread
.
I give a simplified version here
MapThread[f, {{{a, b}, {c, d, x}}, {{u, v}, {s, t, y}}}, 2]
This code produces an error in Mathematica 10.2
MapThread::mptd: Object {{a, b}, {c, d, x}} at position {2, 1} in MapThread[f, {{{a, b}, {c, d, x}}, {{u, v}, {s, t, y}}}, 2] has only 1 of required 2 dimensions. >>
It should output this result
{{f[a, u], f[b, v]}, {f[c, s], f[d, t], f[x, y]}}
But it is not. I am pretty sure, there is no such problem in the previous version. And I can't understand why this code can't work in 10.2.
Edit
According to tests carried out by several users, it seems that this kind of MapThread
all get the same error. Maybe I had a wrong recall. But it is still an interesting question why this kind of threading(looks quite natural) is not supported.
All arguments must be lists of the same length
$\endgroup$