docstr: ...Test RobustLinearRegression warm start
          
docstr_tok: ["...","Test","RobustLinearRegression","warm","start"]
code: def test_RobustLinearRegression_warm_start(self):
      """...Test RobustLinearRegression warm start"""
      X, y, weights0, interc0, sample_intercepts0 = self.get_train_data(
          True
      )
      fit_intercepts = [True, False]
      cases = itertools.product(
          RobustLinearRegression._solvers.keys(), fit_intercepts
      )
      for solver, fit_intercept in cases:
          solver_kwargs = {
              "C_sample_intercepts": Test.n_samples / Test.noise_level,
              "solver": solver,
              "max_iter": 2,
              "verbose": False,
              "fit_intercept": fit_intercept,
              "warm_start": True,
              "tol": 0,
          }
          learner = RobustLinearRegression(**solver_kwargs)
          learner.fit(X, y)
          coeffs_1 = learner.coeffs
          learner.fit(X, y)
          coeffs_2 = learner.coeffs
          # Thanks to warm start objective should have decreased
          self.assertLess(
              learner._solver_obj.objective(coeffs_2),
              learner._solver_obj.objective(coeffs_1),
          )
  
imports: import itertools
  import unittest
  import numpy
  from tick.base.inference import InferenceTest
  from tick.robust import RobustLinearRegression
  from tick.simulation import weights_sparse_gauss, features_normal_cov_toeplitz
  from tick.metrics import support_fdp, support_recall
label_desc: Use image node_id 4 for calling the Test obj's underlying member method code with example usage: obj.test_RobustLinearRegression_warm_start() without return types