def METHOD_NAME(self, v):
    """
    Convert vertex coordinates to their differential form: u = (I + λL) v.
    This method typically only needs to be called once per mesh, to obtain
    the latent variable before optimization.
    Parameter ``v`` (``mitsuba.Float``):
        Vertex coordinates of the mesh.
    Returns ``mitsuba.Float`:
        Differential form of v.
    """
    # Manual matrix-vector multiplication
    v_unique = dr.gather(mi.Point3f, dr.unravel(mi.Point3f, v), self.index)
    row_prod = dr.gather(mi.Point3f, v_unique, self.cols.array) * self.data.array
    u = dr.zeros(mi.Point3f, dr.width(v_unique))
    dr.scatter_reduce(dr.ReduceOp.Add, u, row_prod, self.rows.array)
    return dr.ravel(u)