docs: def prox_circle(xy, step):
      """Projection onto circle"""
      center = np.array([0,0])
      dxy = xy - center
      radius = 0.5
      # exclude interior of circle
      #if (dxy**2).sum() < radius**2:
      # exclude everything other than perimeter of circle
      if 1:
          phi = np.arctan2(dxy[1], dxy[0])
          return center + radius*np.array([np.cos(phi), np.sin(phi)])
      else:
          return xy