I have one 3x2 matrix of coordinates in the following form

       a={{{0, 0, 0}, {1, 0, 1}},
        {{0, 1, 0}, {0, 0, 0}},
        {{0, 2, 0}, {0, 0, 0}}}

I need to multiply it by another 2x1 matrix of the form


so that the result is a product with coordinates of the form


A mere multiplication a*b or a.b does not help because the dimension of the first matrix is taken as 3x2x3. How do I multiply these?


closed as unclear what you're asking by MarcoB, m_goldberg, dr.blochwave, C. E., Öskå Sep 21 '15 at 20:47

Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 1
    $\begingroup$ Your a matrix has three 2x3 matrices. To multiply by the 2x1 vector b, you'll have to use Transpose. It looks like you'll also have to do that to place it in desired form. This is just one way to do this in Mathematica. $\endgroup$ – TransferOrbit Sep 20 '15 at 19:22
  • 1
    $\begingroup$ Could we have a definition of what sort of matrix multiplication you are thinking about? Presumably you don't mean the ordinary multiplication were an n X r matrix is multiplied by a r X m matrix to produce a n X m matrix. $\endgroup$ – Hugh Sep 20 '15 at 20:36
  • $\begingroup$ Transpose[a, {1, 3, 2}].b is one way to get an answer with the dimensions you request. $\endgroup$ – bill s Sep 20 '15 at 22:17
  • 1
    $\begingroup$ @Sameeran, you should have a look at the Vectors and Matrices tutorial in the documentation. Your assertion that a is 3x2 when in fact it is 3x2x3 is the crux of the problem. Once you understand what its dimensions are then all else will fall into place. $\endgroup$ – Edmund Sep 21 '15 at 9:14

Browse other questions tagged or ask your own question.