Fast Kronecker matrix multiplication

Fast Kronecker matrix multiplication for matrices of any size

現在この提出コンテンツをフォロー中です。

Fast Kronecker matrix multiplication, for both full and sparse matrices
of any size. Never computes the actual Kronecker matrix and omits
multiplication by identity matrices.
y = kronm(Q,x) computes
y = (Q{k} kron ... Q{2} kron Q{1})*x
If Q contains only two matrices and x is a vector, the code uses the
identity
( Q{2} kron Q{1} )*vec(X) = vec(Q{1}*X*Q{2}'),
where vec(X)=x. If Q contains more than two matrices and/or if x has more
than one column, the algorithm uses a generalized form of this identity.
The idea of the algorithm is to see x as a multi-dimensional array and to
apply the linear maps Q{i} separately for each dimension i.
Acknowledgement:
This code follows the same idea as 'kronmult' by Paul G. Constantine &
David F. Gleich (Stanford, 2009). However, I avoid loops and allow for
non-square inputs Q{i}. I have also included the special treatment for
identity matrices.

引用

Matthias Kredler (2026). Fast Kronecker matrix multiplication (https://jp.mathworks.com/matlabcentral/fileexchange/53382-fast-kronecker-matrix-multiplication), MATLAB Central File Exchange. に取得済み.

謝辞

ヒントを得たファイル: Fast and Efficient Kronecker Multiplication

ヒントを与えたファイル: Matrix times array

カテゴリ

Help Center および MATLAB AnswersLinear Algebra についてさらに検索

一般的な情報

MATLAB リリースの互換性

  • すべてのリリースと互換性あり

プラットフォームの互換性

  • Windows
  • macOS
  • Linux
バージョン 公開済み リリース ノート Action
1.0.0.0

Fixed some typos in description and made it more precise. No changes to actual code.