У Вас 0.5843, у меня получается 0.5843 и 0.6068.
Но я уже кажется разобрался в чём дело, Евгений оказался прав, ошибка в программе:
когда я считаю инверсии, то упорядочиваю одну переменную по другой, а потом последовательно, от первого до предпоследнего элемента ищу количества элементов меньше текущего, и всё складываю. Вроде как бы нормально.
Но ошибка вот в чём - такой подход неявно предполагает, что в первой переменной, по которой идёт ранжирование, связок нет. Если же есть связки, то некоторые элементы можно переставить произвольно, не нарушая порядка первой переменной и за счёт этого уменьшить число инверсий.
Как раз это и видно из приведённого Markiyan Hirnyk примера: в первой переменной связок нет - корреляции совпадают точно, во второй есть связка и у меня получается завышенное значение.
В общем я понял как исправить, это не сложно.
Кстати, разобрался и с доверительным интервалом при наличии связок. Как я и предполагал, он считается совсем по другому,
кому интересно - можете почитать вот здесь:
https://en.wikipedia.org/wiki/Kendall_rank_correlation_coefficientВсем большое спасибо! проблема решена