code: def _one_q_sic_prep(index, qubit):
      
      if index == 0:
          return Program()
  
      theta = 2 * np.arccos(1 / np.sqrt(3))
      zx_plane_rotation = Program([
          RX(-pi / 2, qubit),
          RZ(theta - pi, qubit),
          RX(-pi / 2, qubit),
      ])
  
      if index == 1:
          return zx_plane_rotation
  
      elif index == 2:
          return zx_plane_rotation + RZ(-2 * pi / 3, qubit)
  
      elif index == 3:
          return zx_plane_rotation + RZ(2 * pi / 3, qubit)
  
      raise ValueError(f'Bad SIC index: {index}')
docs: Prepare the index-th SIC basis state.