fastest way for multiplication of symmetric matrix and sparse matrix
13 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Nguyen Van Hieu
el 16 de Mayo de 2021
Comentada: Nguyen Van Hieu
el 18 de Mayo de 2021
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 comentarios
Respuesta aceptada
Matt J
el 18 de Mayo de 2021
Editada: Matt J
el 18 de Mayo de 2021
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;
Más respuestas (0)
Ver también
Categorías
Más información sobre Sparse Matrices en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!