def METHOD_NAME():
    vi = sn.VI(2, vi_function_2D)
    vi.set_compute_nabla_F(vi_nabla_function_2D)
    x = np.array((0.0, 0.0))
    F = np.array((0.0, 0.0))
    SO = sn.SolverOptions(sn.SICONOS_VI_BOX_QI)
    lb = np.array((-1.0, -1.0))
    ub = np.array((1.0, 1.0))
    vi.set_box_constraints(lb, ub)
    info = sn.variationalInequality_box_newton_QiLSA(vi, x, F, SO)
    print(info)
    print(
        "number of iteration {:} ; precision {:}".format(
            SO.iparam[sn.SICONOS_IPARAM_ITER_DONE], SO.dparam[sn.SICONOS_DPARAM_RESIDU]
        )
    )
    print("x = ", x)
    print("F = ", F)
    assert np.linalg.norm(x - xsol_2D) <= xtol
    assert not info