Replace distance matrix values at row/column index with
        distances in distvec, and compute new coordinates.
        Optionally use distvec to update means and (potentially) 
        get a better estimate.
        distvec values should be plain distances, not squared
        distances.

def fit(self, index, distvec, recalc=False, dimensions=3):
        """
        Replace distance matrix values at row/column index with
        distances in distvec, and compute new coordinates.
        Optionally use distvec to update means and (potentially) 
        get a better estimate.
        distvec values should be plain distances, not squared
        distances.
        """
        brow = self.new_B_row(index, distvec**2, recalc)
        return self.new_coords(brow)[:dimensions]