After learning some Python functions for the purpose of Computer Vision in mind, I do tests on Matrix multiply, SVD and EIG of Python in comparison with Matlab and OpenBLAS+Lapack. In these tests, on my Windows 7 32 bits laptop, I use Python 3.2 with numpy-MKL, Matlab 2010b, OpenBLAS 1.0 and Lapack 3.4.1. All the matrices contain float numbers and each operation runs for 5 times, then the average time is recorded.
|Python 3.2||Matlab 2010b||OpenBLAS 1.0 + Lapack 3.4.1|
Again, Matlab is the winner, but between Python and C/C++, which is better for implementation algorithms which run fast on Matab? The EIG test with Lapack is slow because I used precompiled lapack’s .dll, so it used only one Core of the system.
Updated with new EIG results of OpenBLAS and Lapack: I used divide and conquer functions ssyevd_ of Lapack and got much better results on the column EIGD. Now the choices are OpenBLAS and Lapack.