我有一个n by n
形状的矩阵,可以填充n=60,000
矩阵的值是二进制:0或1。
在约束条件下:
matrix_to_fill[i,j]=matrix_to_fill[j,i]= 1.0
(仅当
'bool(set(elements[i]) @ set(elements[j])) == True'
我尝试过的事情:
'matrix_to_fill=np.zeros(n,n) # it is a symmetric matrix :
for i in np.arange(n):
for j in np.arange(n):
if i==j: # diagonal elements are set to zero
break
else:
bool_value = bool(set(element[i]) & set(element[j]))
if bool_value:
matrix_to_fill[i][j]=1.0
matrix_to_fill[j][i] = 1.0'
怎么了?
太重,需要很长时间。它仍在运行超过1小时
任何提示,为避免嵌套循环并减少计算时间?