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

Reply via email to