Efficient Matrix Multiplication
1 次查看(过去 30 天)
显示 更早的评论
I have A(2000x5000). I need to perform the following:
P1 = A(:,1)*A(:,1)';
for i=2:5000
P1 = P1 + AA(:,i)*A(:,i)'
end
What is the most efficient way to do above? It takes so much time to do it right now due to size of the arrays.
3 个评论
Jan
2011-2-27
Just an actually too obvious comment: If AA is not typo, A*A' is not a matching solution. So, Sam Da, we need your help.
采纳的回答
the cyclist
2011-2-26
P1 = A * A';
On my machine, that cut the execution time from 330 seconds to 1.5. :-)
3 个评论
Oleg Komarov
2011-2-26
A = rand(10);
P1 = A(:,1)*A(:,1)';
for i=2:10
P1 = P1 + A(:,i)*A(:,i)';
end
P2 = A * A';
abs(P1-P2) < eps*3
Cyclist's method is essentially the same.
James Tursa
2011-2-26
Yep. I went back & checked the code I used to double check the result & saw my mistake. Thanks.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!