You are now following this Submission
- You will see updates in your followed content feed
- You may receive emails, depending on your communication preferences
Used to perform B*M or M*B with B a block diagonal matrix, B is stored as a cell array (call it C) with each element a matrix as a block of B, such that B = blkdiag(C{:}).
This speeds up the multiplication when B is large and also allows the operation to take place when B could not fit in the memory stored as a full block diagonal matrix.
Operations B'*M = (M'*B)' and M*B' can be performed using transpose identities
Cite As
David Holdaway (2026). block diagonal multiplication (https://www.mathworks.com/matlabcentral/fileexchange/35717-block-diagonal-multiplication), MATLAB Central File Exchange. Retrieved .
General Information
- Version 1.1.0.0 (2.27 KB)
MATLAB Release Compatibility
- Compatible with any release
Platform Compatibility
- Windows
- macOS
- Linux
| Version | Published | Release Notes | Action |
|---|---|---|---|
| 1.1.0.0 | Modified the program to give an error rather than a warning when the matrix multiplication is not possible. Changed the way the program deals with sparse inputs, only converting sections to full matrices when an extra argument "tryfull" is given. |
||
| 1.0.0.0 |
