docs: def PauliX(local_space, states=None):
      r"""Pauli-type X-operator
  
      .. math::
  
          \hat{\sigma}_x = \begin{pmatrix}
              0 & 1 \\
              1 & 0
          \end{pmatrix}
  
      on an arbitrary two-level system.
  
      Args:
          local_space (str or int or .LocalSpace): Associated Hilbert space.
              If :class:`str` or :class:`int`, a :class:`LocalSpace` with a
              matching label will be created.
          states (None or tuple[int or str]): The labels for the basis states
              for the two levels on which the operator acts. If None, the two
              lowest levels are used.
  
      Returns:
          Operator: Local X-operator as a linear combination of
          :class:`LocalSigma`
      """
      local_space, states = _get_pauli_args(local_space, states)
      g, e = states
      return (
          LocalSigma.create(g, e, hs=local_space) +
          LocalSigma.create(e, g, hs=local_space))