def METHOD_NAME(self) -> dict[Variable, sp.csc_matrix]:
    """Gives the (sub/super)gradient of the expression w.r.t. each variable.
    Matrix expressions are vectorized, so the gradient is a matrix.
    Returns:
        A map of variable to SciPy CSC sparse matrix or None.
    """
    # TODO(akshayka): Do not assume shape is 2D.
    return {self: sp.eye(self.size).tocsc()}