docs: def prox_hard(X, step, thresh=0):
      """Hard thresholding
  
      X if |X| >= thresh, otherwise 0
      NOTE: modifies X in place
      """
      thresh_ = _step_gamma(step, thresh)
      below = np.abs(X) < thresh_
      X[below] = 0
      return X