human
Complete the below
def approx_hessian(point, vars=None, model=None):

    ''''Returns an approximation of the Hessian at the current chain location.
    Parameters
    model : Model (optional if in `with` context)
    point : dict
    vars : list
    Variables for which Hessian is to be calculated.'
    '''
assistant
#Here is the Python program you requested.
    from numdifftools import Jacobian
    model = modelcontext(model)
    if (vars is None):
        vars = model.cont_vars
    vars = inputvars(vars)
    point = Point(point, model=model)
    bij = DictToArrayBijection(ArrayOrdering(vars), point)
    dlogp = bij.mapf(model.fastdlogp(vars))
    def grad_logp(point):
        return np.nan_to_num(dlogp(point))
    '\n                Find    the    jacobian    of    the    gradient    function    at    the    current    position\n                this    should    be    the    Hessian;    invert    it    to    find    the    approximate\n                covariance    matrix.\n                '
    return (- Jacobian(grad_logp)(bij.map(point)))