On Wed, Oct 26, 2016 at 11:13 AM, Stephan Hoyer <sho...@gmail.com> wrote: > On Wed, Oct 26, 2016 at 11:03 AM, Mathew S. Madhavacheril > <mathewsyr...@gmail.com> wrote: >> >> On Wed, Oct 26, 2016 at 1:46 PM, Stephan Hoyer <sho...@gmail.com> wrote: >>> >>> I wonder if the goals of this addition could be achieved by simply adding >>> an optional `cov` argument >>> >>> to np.corr, which would provide a pre-computed covariance. >> >> >> That's a fair suggestion which I'm happy to switch to. This eliminates the >> need for two new functions. >> I'll add an optional `cov = False` argument to numpy.corrcoef that returns >> a tuple (corr, cov) instead. >> >>> >>> >>> Either way, `covcorr` feels like a helper function that could exist in >>> user code rather than numpy proper. >> >> >> The user would have to re-implement the part that converts the covariance >> matrix to a correlation >> coefficient. I made this PR to avoid that code duplication. > > > With the API I was envisioning (or even your proposed API, for that matter), > this function would only be a few lines, e.g., > > def covcorr(x): > cov = np.cov(x) > corr = np.corrcoef(x, cov=cov)
IIUC, if you have a covariance matrix then you can compute the correlation matrix directly, without looking at 'x', so corrcoef(x, cov=cov) is a bit odd-looking. I think probably the API that makes the most sense is just to expose something like the covtocorr function (maybe it could have a less telegraphic name?)? And then, yeah, users can use that to build their own covcorr or whatever if they want it. -n -- Nathaniel J. Smith -- https://vorpus.org _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org https://mail.scipy.org/mailman/listinfo/numpy-discussion