У меня есть следующая проблема вычисления относительного положения массива X [n]:
Изображение уравнения
В настоящее время я делаю следующие вычисления:
Давайте возьмем X = [1,2,3,4,5,6,7,8,9,10]
, тогда:
D = []
for idx1 in range(0,len(X)):
aux = []
for idx2 in range(idx1, len(X)):
aux.append(np.sign(X[idx1]-X[idx2]))
D.append(np.sum(aux))
Вывод этого кода:
D = [-9, -8, -7, -6, -5, -4, -3, -2, -1, 0]
Однако, слишком долго X массивы, это вычисление очень медленно! Есть ли у кого-нибудь предложения о том, как сделать это быстрее? Паралл не так просто два из-за промежуточного шага "aux"! Я думал о некотором матричном подходе.