I have this function containing nested loops. I need to parallelise for faster execution of code.
def euclid_distance(X,BOW_X):
d3=[]
d2=[]
for l in range(len(X)):
for n in range(l+1,len(X)):
d1=[]
for m in range(len(X[l])):
min1=999
p=0
while(p<len(X[n])):
d=scipy.spatial.distance.euclidean(X[l][m],X[n][p])
d=d*numpy.min([BOW_X[l][m],BOW_X[n][p]])
if(d<min1):
min1=d
if(min1==0):
break
p+=1
d1.append(min1)
d2.append(d1)
for i in range(len(d2)):
d3.append(sum(d2[i]))
return (d3)
Is there some way to do this X is an array containing list of lists which contain vectors.