2

I need to do the following

b = numpy.random.randn(50001,2)

cof = numpy.corrcoef(b)

c= b>=0.3 

return np.dot(c, np.ones([50001,1]))

It is throwing me a segmentation fault.

Also if I try to use a sparse matrix, for instance:

asp = scipy.sparse.csc_matrix(c)

I get a Segmentation fault

The conversion works if the matrix size is small.

Any advice?

4

1 回答 1

1

您是否尝试计算 50001 维空间的两个样本或 2D 空间的 50001 个样本之间的相关性?

在您当前的情况下,您正在创建一个隐式 50001 x 50001 协方差矩阵(这会导致段错误)。执行以下操作不会炸毁内存

b = numpy.random.randn(2,50001)
cof = numpy.corrcoef(b)

希望这是您所需要的(另一种方式会产生对协方差矩阵和段错误的非常差的近似值)。

于 2012-09-17T13:00:54.390 回答