Hi all,
I am a Julia novice and I am considering it as a potential alternative to
MATLAB.
My field is computational nanophotonics and the main numerical technique
that I use involves multiple solution of the eigenvalue/eigenvector problem
for dense matrices with size of about 1000*1000 (more or less).
I tried to run the following nearly equivalent code in Julia and in MATLAB:
Julia code:
n = 1000
M = rand(n, n)
F = eigfact(M)
tic()
for i = 1:10
F = eigfact(M)
end
toc()
MATLAB code:
n = 1000;
M = rand(n, n);
[D, V] = eig(M);
tic;
for i = 1:10
[D, V] = eig(M);
end
toc
It turns out that MATLAB's eig() runs nearly 2.3 times faster than eig() or
eigfact() in Julia. On the machine available to me right now (relatively
old Core i5 laptop) the average time for MATLAB is of about 37 seconds,
while the mean Julia time is of about 85 seconds. I use MATLAB R2010b and
Julia 0.3.7 (i tried to run the code both in Juno and in a REPL session and
obtained nearly identical results).
Is there anything that I'm doing wrong?
Best regards,
Evgeni