kronecker

Kronecker tensor product
2,1K Downloads
Aktualisiert 22. Jun 2009

Lizenz anzeigen

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

Zitieren als

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

Kompatibilität der MATLAB-Version
Erstellt mit R2007a
Kompatibel mit allen Versionen
Plattform-Kompatibilität
Windows macOS Linux
Kategorien
Mehr zu Networks finden Sie in Help Center und MATLAB Answers
Quellenangaben

Inspiriert: Kronecker product

Community Treasure Hunt

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

Start Hunting!
Version Veröffentlicht Versionshinweise
1.2.0.0

Miss spelling corrected

1.0.0.0