block diagonal multiplication

版本 1.1.0.0 (2.3 KB) 作者: David Holdaway
Used for multiplying large block diagonal matrices with matrices / vectors.
309.0 次下载
更新时间 2012/4/26

查看许可证

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

引用格式

David Holdaway (2024). block diagonal multiplication (https://www.mathworks.com/matlabcentral/fileexchange/35717-block-diagonal-multiplication), MATLAB Central File Exchange. 检索来源 .

MATLAB 版本兼容性
创建方式 R2012a
兼容任何版本
平台兼容性
Windows macOS Linux
类别
Help CenterMATLAB Answers 中查找有关 Operating on Diagonal Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!
版本 已发布 发行说明
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