docs: public double squaredDistance(V p) {
      // V_affin = V + a
      // dist(p, V_affin) = d(p-a, V) = ||p - a - proj_V(p-a) ||
      double[] p_minus_a = minusEquals(p.toArray(), centroid);
      return squareSum(minusEquals(p_minus_a, times(strongEigenvectors, transposeTimes(strongEigenvectors, p_minus_a))));
    }