code: def test_mtl_path():
      X, Y = build_dataset(n_targets=3)
      tol = 1e-12
      params = dict(eps=0.01, tol=tol, n_alphas=10)
      alphas, coefs, gaps = mtl_path(X, Y, **params)
      np.testing.assert_array_less(gaps, tol * norm(Y) ** 2 / len(Y))
  
      sk_alphas, sk_coefs, sk_gaps = lasso_path(
          X, Y, **params, max_iter=10000
      )
      np.testing.assert_array_less(
          sk_gaps, tol * np.linalg.norm(Y, "fro") ** 2
      )
      np.testing.assert_array_almost_equal(coefs, sk_coefs, decimal=5)
      np.testing.assert_allclose(alphas, sk_alphas)
  
imports: import pytest
  import itertools
  import numpy
  from numpy.linalg import norm
  from numpy.testing import assert_allclose, assert_array_less, assert_array_equal
  from sklearn.utils.estimator_checks import check_estimator
  from sklearn.linear_model import MultiTaskLassoCV
  from sklearn.linear_model import MultiTaskLasso
  from sklearn.linear_model import lasso_path
  from celer import Lasso, GroupLasso, GroupLassoCV, MultiTaskLasso, MultiTaskLassoCV
  from celer.homotopy import celer_path, mtl_path, _grp_converter
  from celer.group_fast import dnorm_grp
  from celer.utils.testing import build_dataset
label_desc: Use image node_id 4 for calling a global function with example usage: test_mtl_path() without return types