Code: Select all
Matrix Decomposition:
scipy.linalg.cho_factor: 0.379205942154 [s]
cholmod.cholesky: 0.0120160579681 [s]
scipy.linalg.cholesky_banded: 0.0381510257721 [s]
Solution (single iteration):
scipy.linalg.cho_solve: 0.0155708789825 [s]
cholmod.factor.: 0.000778913497925 [s]
scipy.linalg.cho_solve_banded: 0.00293803215027 [s]
Clearly the CHOLMOD C-routine wrapped with Cython by the scikit-sparse library is by far the winner. If the solution time would be dominated by the iteration process (which I expected) then the CHOLMOD routine should be up to 20 times faster than the standard Scipy Cholesky routine. In actual fact the 10 load steps take approximately the same time for all solvers, indicating that I should look for a Python bottleneck that is common for all.