Для набора наблюдений:
[a1,a2,a3,a4,a5]
их попарные расстояния
d=[[0,a12,a13,a14,a15]
[a21,0,a23,a24,a25]
[a31,a32,0,a34,a35]
[a41,a42,a43,0,a45]
[a51,a52,a53,a54,0]]
Даны в сжатой матричной форме (верхний треугольник из вышеприведенного, рассчитано из scipy.spatial.distance.pdist
):
c=[a12,a13,a14,a15,a23,a24,a25,a34,a35,a45]
Вопрос в том, что если у меня есть индекс в сжатой матрице, есть ли функция (предпочтительно в python) f , чтобы быстро определить, какие два наблюдения использовались для их расчета?
f(c,0)=(1,2)
f(c,5)=(2,4)
f(c,9)=(4,5)
...
Я пробовал некоторые решения, но ни одно из них не стоит упоминать: (