code: def run_solvers(model, l_l2sq):
      try:
          svrg_step = 1.0 / model.get_lip_max()
      except AttributeError:
          svrg_step = 1e-3
      try:
          gd_step = 1.0 / model.get_lip_best()
      except AttributeError:
          gd_step = 1e-1
  
      bfgs = BFGS(verbose=False, tol=1e-13)
      bfgs.set_model(model).set_prox(ProxL2Sq(l_l2sq))
      bfgs.solve()
      bfgs.history.set_minimizer(bfgs.solution)
      bfgs.history.set_minimum(bfgs.objective(bfgs.solution))
      bfgs.solve()
  
      svrg = SVRG(step=svrg_step, verbose=False, tol=1e-10, seed=seed)
      svrg.set_model(model).set_prox(ProxL2Sq(l_l2sq))
      svrg.history.set_minimizer(bfgs.solution)
      svrg.history.set_minimum(bfgs.objective(bfgs.solution))
      svrg.solve()
  
      sdca = SDCA(l_l2sq, verbose=False, seed=seed, tol=1e-10)
      sdca.set_model(model).set_prox(ProxZero())
      sdca.history.set_minimizer(bfgs.solution)
      sdca.history.set_minimum(bfgs.objective(bfgs.solution))
      sdca.solve()
  
      gd = GD(verbose=False, tol=1e-10, step=gd_step, linesearch=False)
      gd.set_model(model).set_prox(ProxL2Sq(l_l2sq))
      gd.history.set_minimizer(bfgs.solution)
      gd.history.set_minimum(bfgs.objective(bfgs.solution))
      gd.solve()
  
      agd = AGD(
          verbose=False, tol=1e-10, step=gd_step, linesearch=False
      )
      agd.set_model(model).set_prox(ProxL2Sq(l_l2sq))
      agd.history.set_minimizer(bfgs.solution)
      agd.history.set_minimum(bfgs.objective(bfgs.solution))
      agd.solve()
  
      return bfgs, svrg, sdca, gd, agd
  
file_path: tick/examples/plot_glm_convergence.py
imports: import matplotlib.pyplot
  from tick.plot import plot_history
  import numpy
  from itertools import product
  from tick.linear_model import SimuLinReg, SimuLogReg, SimuPoisReg, ModelLinReg, ModelLogReg, ModelPoisReg
  from tick.solver import SDCA, SVRG, BFGS, GD, AGD
  from tick.prox import ProxZero, ProxL2Sq
label_desc: Use image node_id 2 for calling a global function with example usage: run_solvers(model, l_l2sq) and returns: bfgs,  svrg,  sdca,  gd,  agd