R の行列でtcrossprod関数を使用しています。これは、データとその転置の外積を計算します。つまり、data %*% t(data) です。
問題は、個々の操作 (data の行と t(data) の列の間) を乗算操作にしたくないことです。そこに自分の関数を指定して、同じアルゴリズムを実装することはできますが、乗算ではなく別のことを行います。
マトリックスをループして必要な操作を実行することで同じ結果を達成していますが、ループするとこのアプローチが遅くなります。
これが私が現在行っていることです(ただし、 * 操作を別のものに置き換えています):
count<-nrow(data)
output<-sapply(1:count, function(x){
sapply(1:count, function(y){
sum((data[x,]+data[y,])*abs(data[x,]-data[y,]))
})
})
どんな助けでも大歓迎です。