<div dir="ltr"><div dir="ltr">On Fri, Jan 3, 2020 at 11:55 AM Warren Weckesser <<a href="mailto:warren.weckesser@gmail.com">warren.weckesser@gmail.com</a>> wrote:</div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
In the notes, I listed the internal uses of `numpy.dual` within numpy<br>
that I found:<br>
<br>
1. In the code that generates random variates from the multivariate normal<br>
   distribution, one of `svd`, `eigh` or `cholesky` are used from `numpy.dual`.<br>
</blockquote><div><br></div><div>This was always a bad idea (originally mine, FWIW). The variability in arithmetic introduced by using possibly-different LAPACK versions depending on whether or not scipy is installed (and how it was built) is not worth the very minor speed advantages. The covariance matrices are typically small. And where they are large (e.g. Gaussian processes), you should probably be doing your own decompositions instead of using `multivariate_normal()`.</div></div><div><br></div>-- <br><div dir="ltr" class="gmail_signature">Robert Kern</div></div>