这个 MATLAB 项目提供了一种高效的算法,用于计算任意大小的全矩阵和稀疏矩阵的克罗内克积矩阵乘法。它避免了显式构造庞大的克罗内克积矩阵,从而节省内存和计算时间。

该算法的核心思想是将向量 x 视为多维数组,并利用克罗内克积的性质,逐维应用线性变换 Q{i}。

特别地,当只涉及两个矩阵 (Q{1}, Q{2}) 和一个向量 x 时,利用恒等式 (Q{2} ⊗ Q{1}) * vec(x) = vec(Q{1} * x * Q{2}') 进行高效计算,其中 vec(x) 表示将向量 x 转换为列向量的操作。

该算法扩展了此恒等式以适应包含两个以上矩阵或具有多列的 x 的情况,提供了一种通用的快速克罗内克积矩阵乘法解决方案。