LinearAlgebra’s svd can be accelerated with the MKL package, what about schur? much slower than matlab
In order to avoid the unstable performance of matlab alone, and schur is iterating, it has a better effect on symmetric matrices. My research is mainly on symmetric matrices, so the test
First look at the matlab results:
Blockquote
a=rand(1000,1000);c=a*a’;
tic;for i=1:100 ;[q t]=schur(c) ;end;toc ---------2.5s
tic;for i=1:100 ;[u e v]=svd(c) ;end;toc ---------4.9s
In julia, to be similar to maltab, use @time:
Blockquote
using LinearAlgebra
a=rand(1000,1000);c=a*a’;
@time for i=1:100;q,t=schur(c);end
51.006555 seconds (8.23 k allocations: 1.519 GiB, 0.11% gc time, 0.01% compilation time)
@time for i=1:100;u,e,v=svd(c);end
39.062737 seconds (1.60 k allocations: 4.482 GiB, 0.19% gc time)
using MKL
svd time ===matlab
@time for i=1:100;u,e,v=svd(c);end
5.043008 seconds (1.60 k allocations: 4.482 GiB, 2.47% gc time)
#but schur slower for matlab
@time for i=1:100;q,t=schur(c);end
20.999963 seconds (1.40 k allocations: 1.518 GiB, 0.35% gc time)
It can be seen that MKL does not improve schur. Is there a method similar to matlab for improving schur?