AOtools / soapy

A Python Adaptive Optics Simulation
GNU General Public License v3.0
85 stars 32 forks source link

Bugfix: incorrect conditioning applied to MVM for scipy>1.6 #129

Closed ojdf closed 1 year ago

ojdf commented 1 year ago

The MVM reconstructor class erroneously uses scipy.linalg.pinv instead of numpy.linalg.pinv. This was fine until scipy 1.7 where the pinv arguments were changed. This means you get different conditioning applied to the MVM interaction matrix inversion depending on your version of scipy and can break simulations depending on the choice of svdConditioning parameter.

Changed to use the numpy version of the function, which is consistent with other reconstructors, and removed scipy import.