def test_corrcoef2(self): # Test that _corrcoef2 returns the same result that np.corrcoef would n, m = tuple(np.random.randint(2, 5, size=2)) mean = np.random.uniform(-1, 1, size=m) cov = np.random.uniform(0, 1./m, size=(m, m)) cov = (cov + cov.T) / 2 cov.flat[::m + 1] = 1.0 X1 = np.random.multivariate_normal(mean, cov, size=n) X2 = np.random.multivariate_normal(mean, cov, size=n) expected = np.corrcoef(X1, X2, rowvar=True)[:n, n:] np.testing.assert_almost_equal( _corrcoef2(X1, X2, axis=1), expected, decimal=9 ) expected = np.corrcoef(X1, X2, rowvar=False)[:m, m:] np.testing.assert_almost_equal( _corrcoef2(X1, X2, axis=0), expected, decimal=9, ) with self.assertRaises(ValueError): _corrcoef2(X1, X2, axis=10)