docs: protected double getSqrdNorm(int i, int j, List<? extends Vec> vecs, List<Double> cache)
      {
          if(cache == null)
              return Math.pow(vecs.get(i).pNormDist(2.0, vecs.get(j)), 2);
          return cache.get(i)+cache.get(j)-2*vecs.get(i).dot(vecs.get(j));
      }