'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.
None if a variable value is missing.'

@abc.abstractproperty
def grad(self):

    return NotImplemented
