On Sat, Feb 15, 2014 at 5:08 PM, <josef.p...@gmail.com> wrote: > On Sat, Feb 15, 2014 at 4:56 PM, Sebastian Berg > <sebast...@sipsolutions.net> wrote: >> On Sa, 2014-02-15 at 16:37 -0500, alex wrote: >>> Hello list, >>> >>> Here's another idea resurrection from numpy github comments that I've >>> been advised could be posted here for re-discussion. >>> >>> The proposal would be to make np.linalg.svd more like scipy.linalg.svd >>> with respect to input checking. The argument against the change is >>> raw speed; if you know that you will never feed non-finite input to >>> svd, then np.linalg.svd is a bit faster than scipy.linalg.svd. An >>> argument for the change could be to avoid issues reported on github >>> like crashes, hangs, spurious non-convergence exceptions, etc. from >>> the undefined behavior of svd of non-finite input. >>> >> >> +1, unless this is a huge speed penalty, correctness (and decent error >> messages) should come first in my opinion, this is python after all. If >> this is a noticable speed difference, a kwarg may be an option (but >> would think about that some more). > > maybe -1 > > statsmodels is using np.linalg.pinv which uses svd > I never ran heard of any crash (*), and the only time I compared with > scipy I didn't like the slowdown. > I didn't do any serious timings just a few examples.
According to https://github.com/statsmodels/statsmodels/blob/master/statsmodels/tools/linalg.py statsmodels pinv(A) checks isfinite(A) at least twice and also checks for finiteness of the identity matrix. Or maybe this is not the pinv that you meant. Alex _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion