def cbpdnmd_ystep(k):
    """Do the Y step of the cbpdn stage. The only parameter is the slice
    index `k` and there are no return values; all inputs and outputs are
    from and to global variables.
    """

    if mp_W.shape[0] > 1:
        W = mp_W[k]
    else:
        W = mp_W
    AXU0 = mp_DX[k] - mp_S[k] + mp_Z_U0[k]
    AXU1 = mp_Z_X[k] + mp_Z_U1[k]
    mp_Z_Y0[k] = mp_xrho*AXU0 / (W**2 + mp_xrho)
    mp_Z_Y1[k] = sp.prox_l1(AXU1, (mp_lmbda/mp_xrho))
def cbpdnmd_ystep ( k ) : if mp_W . shape [ 0 ] > 1 : W = mp_W [ k ] else : W = mp_W AXU0 = mp_DX [ k ] - mp_S [ k ] + mp_Z_U0 [ k ] AXU1 = mp_Z_X [ k ] + mp_Z_U1 [ k ] mp_Z_Y0 [ k ] = mp_xrho * AXU0 / ( W ** 2 + mp_xrho ) mp_Z_Y1 [ k ] = sp . prox_l1 ( AXU1 , ( mp_lmbda / mp_xrho ) )
Do the Y step of the cbpdn stage. The only parameter is the slice
    index `k` and there are no return values; all inputs and outputs are
    from and to global variables.