def METHOD_NAME(self, points):
    vecs = self.centre - points
    dist = la.norm_l2_along_axis(vecs)
    # Distance derivative w.r.t. point coordinates.
    dd = vecs / dist[:, None]
    normals = dd
    # Unit normal derivative w.r.t. point coordinates.
    dim = points.shape[1]
    ee = nm.eye(dim)[None, ...]
    nnt = normals[..., None] * normals[..., None, :]
    dn = - (ee - nnt) / dist[:, None, None]
    return dd, dn