I have a Stata program,
metricp, which takes a distance matrix (square, symmetric, zero diagonal) and tests for the triangle inequality (that for all
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