Fast and Efficient Kronecker Multiplication
No License
Computing the matrix-vector product
y = (Q1 kron Q2 kron ... kron Qm) * x
can be done without ever forming the big matrix of Kronecker products. This m-file implements an algorithm for this task from page 394 of Fernandes, et al. 1998, JACM 45(3): 381--414 (doi:10.1145/278298.278303). The implementation works where X is a matrix too.
Don't be scared off by the for-loops, this code works well with the Matlab JIT compiler and works for vectors with over 50 million entries.
Cite As
David Gleich (2024). Fast and Efficient Kronecker Multiplication (https://www.mathworks.com/matlabcentral/fileexchange/23606-fast-and-efficient-kronecker-multiplication), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
Tags
Acknowledgements
Inspired: Fast Kronecker matrix multiplication, Matrix times array
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.