The most efficient way to calculate multiplication and summation of two large matrices
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Mingyang Sun
il 11 Mar 2023
Commentato: Mingyang Sun
il 12 Mar 2023
Support I have two matrices and , I would like to calculate following:
where matrix , and represent each columne of two matrices
I was wondering, what is the most efficient way to calculate matrix C? Many thanks!
0 Commenti
Risposta accettata
Bruno Luong
il 11 Mar 2023
Modificato: Bruno Luong
il 11 Mar 2023
It is just a scaling of matrix multiplication, if you haven't recorgnize it
A=rand(300,1000);
B=rand(300,1000);
tic
C1=(A*B')/size(A,2);
toc
% or
tic
C2 = sum(pagemtimes(reshape(A,size(A,1),1,[]),reshape(B,1,size(B,1),[])),3)/size(A,2);
toc
% or
tic
C3 = sum(reshape(A,size(A,1),1,[]).*reshape(B,1,size(B,1),[]),3)/size(A,2);
toc
norm(C1-C2,'fro')
norm(C1-C3,'fro')
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Logical in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!