Hello,

the performance of the determination of the eigenvalues and the eigenvector for small complex matrices in Julia seems for me quite slow. If I use the following code

N = 100000

dim = 3

function eigen()

for i = 1:N

A = rand(dim, dim) + im * rand(dim, dim)

eig(A)

end

end

@time eigen()

it takes about 3sec.

3.226431 seconds (5.76 M allocations: 436.489 MiB, 2.34% gc time)

If I use the same code in Python (with numpy) the code is slighty slower (4.4s), however by using numba I can speed up the loop and it takes then only 0.7s which is much faster than Julia.

Is there a workaround or package to enhance the performance for these matrices?

PS: versioninfo in Julia gives the following

Julia Version 0.6.2

Commit d386e40c17* (2017-12-13 18:08 UTC)

Platform Info:

OS: Windows (x86_64-w64-mingw32)

CPU: IntelÂ® Coreâ„˘ i5-6500 CPU @ 3.20GHz

WORD_SIZE: 64

BLAS: mkl_rt

LAPACK: mkl_rt

LIBM: libopenlibm

LLVM: libLLVM-3.9.1 (ORCJIT, skylake)