Problem 2237. Mmm! Multi-dimensional Matrix Multiplication

You have got a couple of multi-dimensional matrices, A and B. And want to multiply them. For the first 2 dimensions, an ordinary matrix multiplication applies. And in the other dimensions? Well, they just act as parallel worlds. All 2D matrices are multiplied, for every element in the other dimensions. You may assume that the size in the 1st two dimensions allows simple matrix multiplication: A(:,:,1)*B(:,:,1), so size(A(:,:,1),2) == size(B(:,:,1),1), or either A(:,:,1) is a scalar or B(:,:,1) is a scalar. In the other dimensions, the sizes of A and B should be eqaal, size(A,n) == size(B,n), for n>2, or either ndims(A)<n or ndims(B)<n, or either size(A,n)==1 or size(B,n)==1, so one of them is a scalar.

Write a function mtimesm that does this, and ask Mathworks to include it in the elmat toolbox of the Next Release.

Solution Stats

48.48% Correct | 51.52% Incorrect
Last Solution submitted on Jul 17, 2024

Problem Comments

Solution Comments

Show comments

Problem Recent Solvers26

Suggested Problems

More from this Author31

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!