kronecker

Kronecker tensor product

You are now following this Submission

This function does exactly what Matlab KRON does, but for large full matrices, the engine uses BSXFUN to accelerate the calculation.
Another advantage is no intermediate large matrices are generated (four temporary arrays in case of KRON).

Here is the benchmark code and result:

clear,
gain=[];
mem = memory;
maxn = (mem.MaxPossibleArrayBytes/32)^0.25;
n = 10:10:maxn;
for sz=n
A=rand(sz); B=rand(sz);
t1=Inf;
for ntry=1:10
tic; K = kron(A,B); t1=min(t1,toc);
end
clear K
t2=Inf;
for ntry=1:10
tic; K = kronecker(A,B); t2=min(t2,toc);
end
clear K
gain(end+1) = t1/t2;
end

fprintf('Size A/B Speed gain\n');
fprintf(' %02d %1.2f \n', [n; gain]);

Size A/B Speed gain
10 1.17
20 3.48
30 3.78
40 3.73
50 3.68
60 4.22
70 3.81

Cite As

Bruno Luong (2026). kronecker (https://www.mathworks.com/matlabcentral/fileexchange/24499-kronecker), MATLAB Central File Exchange. Retrieved .

Acknowledgements

Inspired: Kronecker product

Categories

Find more on Networks in Help Center and MATLAB Answers

General Information

MATLAB Release Compatibility

  • Compatible with any release

Platform Compatibility

  • Windows
  • macOS
  • Linux
Version Published Release Notes Action
1.2.0.0

Miss spelling corrected

1.0.0.0