fastest way for multiplication of symmetric matrix and sparse matrix
13 次查看(过去 30 天)
显示 更早的评论
I am doing a multiplication as: P=A*P*A'
where size of A and P are 6640x6640. The nonzero element of A and P is 309028 and 0. P is symmetric.
If I use sparse matrix for A, the time to calculate A*P*A' is twice as if I use dense matrix for A.
I want to reduce the computational time for this calculation, can you recommend a method? I am planning to use PARDISO solver from https://www.pardiso-project.org/
Thank you!
0 个评论
采纳的回答
Matt J
2021-5-18
编辑:Matt J
2021-5-18
If I use sparse matrix for A, the time to calculate A*P*A' is twice as if I use dense matrix for A.
You have a strange computer. I see very much the opposite. One thing you can check is whether nzmax(A)=nnz(A). You can also shave off some time by precomputing A'.
N=6640/2;
A=sprand(N,N,.007);
At=A;
P=rand(N); P=P+P.';
Af=full(A);
Aft=Af';
tic
A*P*A';
toc
tic
A*P*At;
toc
tic;
Af*P*Aft;
toc;
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!