Vectorized Multi-Dimensional Matrix Multiplication
If you want to multiply multi-dimensional matrices together without having to write a for-loop to cycle through each additional dimension beyond two, this routine is for you. Not a single for-loop was used in the development of this routine. Consequently, you should see a significant runtime improvement when using the multi-dimensional matrix multiply operations contained in this code.
mntimes will support 2-D matrix multiplication much like the built-in mtimes.m routine (so you can overload it if desired), it will support 3-D matrix multiplication, 4-D multiplication, and so on (until you run out of system memory). Matrices don't have to be the same size (i.e. 3x3 * 3x3) they can be 1x3 * 3x1, 1x3 * 3x3, 3x3 * 3x1, the choices are unlimited as long as it is a valid 2-D operation. If you are sure to identify which dimension corresponds to a row, and which to a column there shouldn't be a N-D matrix case this code can't handle.
Example Function call:
z = mntimes(x,y,xrowdim,xcoldim,yrowdim,ycoldim);
Input List:
x - N-D input matrix
y - N-D input matrix
xrowdim - row dimension specifier for x
xcoldim - column dimension specifier for x
yrowdim - row dimension specifier for y
ycoldim - column dimension specifier for y
Output List:
z - N-D output matrix (resulting product of the z = x*y operation)
引用格式
Darin Koblick (2024). Vectorized Multi-Dimensional Matrix Multiplication (https://www.mathworks.com/matlabcentral/fileexchange/47092-vectorized-multi-dimensional-matrix-multiplication), MATLAB Central File Exchange. 检索来源 .
MATLAB 版本兼容性
平台兼容性
Windows macOS Linux类别
标签
致谢
启发作品: mmDerivative(t,y)
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!mntimes/
版本 | 已发布 | 发行说明 | |
---|---|---|---|
1.2.0.0 | *
|
||
1.1.0.0 | Updated last step on re-assembling the N-D matrix to ensure singleton dimension was preserved when set to one. |
||
1.0.0.0 |