Search code examples
lapack

lapack simple vs expert driver speed comparison


I want to use lapack to solve problems of type Ax=b, least square, cholesky decomposition and SVD decomposition etc. The manual says two type of drivers exist: simple and expert where expert driver gives more output information but at the cost of more workspace. I want to know about speed difference between the two drivers.

Is it something like both are same, except for time consumed in copying/saving data to pointers in expert driver mode which is not that significant.


Solution

  • It depends on the driver. For linear square solve ?GESV and ?GESVX the difference is that a condition number estimate is also returned and more importantly the solution is fed to ?GERFS for a refined solution to reduce the error.

    Often a relatively(!) considerable slowdown is expected from expert routines. You can test it yourself by using the same input. For GESV/GESVX comparison we had a significant slow down which is now fixed in SciPy 1.0 and solution refining will be skipped while keeping the condition number reporting.

    See https://github.com/scipy/scipy/issues/7847 for more information.