def Lop(f, wrt, eval_points, consider_constant=None,
        disconnected_inputs='raise'):
    if type(eval_points) not in (list, tuple):
        eval_points = [eval_points]

    using_list = isinstance(wrt, list)
    using_tuple = isinstance(wrt, tuple)

    if not isinstance(f, (list, tuple)):
        f = [f]

    # make copies of f and grads so we don't modify the client's copy
    f = list(f)
    grads = list(eval_points)

    if not isinstance(wrt, (list, tuple)):
        wrt = [wrt]

    assert len(f) == len(grads)
    known = dict(izip(f, grads))

    ret = grad(cost=None, known_grads=known,
               consider_constant=consider_constant, wrt=wrt,
               disconnected_inputs=disconnected_inputs)

    return format_as(using_list, using_tuple, ret)


#########################
# Gradient
#########################
Computes the L operation on `f` wrt to `wrt` evaluated at points given
dataset/ETHPy150Open rizar/attention-lvcsr/libs/Theano/theano/gradient.py/Lop