code: def par_u1step(i):
      r
  
      global mp_U1
      grpind = slice(mp_grp[i], mp_grp[i+1])
      mp_U1[grpind] += mp_alpha*(mp_X[grpind] - mp_Y1[grpind])
docs: r"""Dual variable update for :math:`\mathbf{u}_{1,G_i}`, one of the
      disjoint problems for updating :math:`\mathbf{u}_1`.
  
      Parameters
      ----------
      i : int
        Index of grouping to update