def cov_to_correlation ( cov ) : err = np . sqrt ( np . diag ( cov ) ) errinv = np . ones_like ( err ) * np . nan m = np . isfinite ( err ) & ( err != 0 ) errinv [ m ] = 1. / err [ m ] corr = np . array ( cov ) return corr * np . outer ( errinv , errinv )
python generate a covariance matrix given pairwise correlations
Compute the correlation matrix given the covariance matrix .
def cov_to_correlation(cov):
    """Compute the correlation matrix given the covariance matrix.

    Parameters
    ----------
    cov : `~numpy.ndarray`
        N x N matrix of covariances among N parameters.

    Returns
    -------
    corr : `~numpy.ndarray`
        N x N matrix of correlations among N parameters.
    """
    err = np.sqrt(np.diag(cov))
    errinv = np.ones_like(err) * np.nan
    m = np.isfinite(err) & (err != 0)
    errinv[m] = 1. / err[m]
    corr = np.array(cov)
    return corr * np.outer(errinv, errinv)