block diagonal multiplication

Used for multiplying large block diagonal matrices with matrices / vectors.
309 descargas
Actualizado 26 abr 2012

Ver licencia

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

Citar como

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

Compatibilidad con la versión de MATLAB
Se creó con R2012a
Compatible con cualquier versión
Compatibilidad con las plataformas
Windows macOS Linux
Categorías
Más información sobre Operating on Diagonal Matrices en Help Center y MATLAB Answers.

Community Treasure Hunt

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

Start Hunting!
Versión Publicado Notas de la versión
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