docstr: ...Test of ProxGroupL1
          
docstr_tok: ["...","Test","of","ProxGroupL1"]
code: def test_ProxGroupL1(self):
      """...Test of ProxGroupL1"""
      coeffs = self.coeffs.copy()
      strength = 0.5
      step = 1.7
      out = coeffs.copy()
  
      blocks_start = [0, 3, 8]
      blocks_length = [3, 5, 2]
      prox = ProxGroupL1(
          strength=strength,
          blocks_start=blocks_start,
          blocks_length=blocks_length,
      )
      val = 0
      for j, d_j in enumerate(blocks_length):
          start = blocks_start[j]
          end = start + blocks_length[j]
          thresh = step * strength * (end - start) ** 0.5
          norm = np.linalg.norm(coeffs[start:end])
          out[start:end] *= (1.0 - thresh / norm) * (
              (1.0 - thresh / norm) > 0
          )
          val += strength * (end - start) ** 0.5 * norm
  
      self.assertAlmostEqual(prox.value(coeffs), val, delta=self.delta)
      assert_almost_equal(prox.call(coeffs, step=step), out, decimal=7)
  
file_path: tick/tick/prox/tests/prox_group_l1_test.py
imports: import unittest
  from numpy.testing import assert_almost_equal
  import numpy
  from tick.prox import ProxGroupL1
  from tick.prox.tests.prox import TestProx
label_desc: Use image node_id 1 for calling the Test obj's underlying member method code with example usage: obj.test_ProxGroupL1() without return types