I have a Stata program, metricp
, which takes a distance matrix (square, symmetric, zero diagonal) and tests for the triangle inequality (that for all i
, j
, there is no k
such that d[i,j] > d[i,k] + d[j,k]
).
I needed something similar today in R, and found Matthew Vavrek’s fossil package, which includes a tri.ineq()
function. However, it turned out to be very slow on the large matrix I threw at it, so I decided to speed it up with some of the techniques in metricp.ado
.