Elementwise dot multiplication for lists of matrices
MapThread[Dot, {{A, B, C}, {X, Y, Z}}]
{a, b, c, x, y, z} = RandomReal[{0, 1}, {6, 2, 2}]
bk = Dot @@@ Transpose@{{a, b, c}, {x, y, z}}
jd = MapThread[Dot, {{a, b, c}, {x, y, z}}]
bk == jd (*True*)
One can also use Inner[Dot, {a, b, c}, {x, y, z}, List]
but you need to wrap lists in Unevaluated
:
Inner[Dot, Unevaluated@{a, b, c}, Unevaluated@{x, y, z}, List]
See here for explanation.