docs: def update_mapping(self, mapping: Dict[ops.Qid, LogicalIndex],
                         keys: Sequence[ops.Qid]
                         ) -> None:
          """Updates a mapping (in place) from qubits to logical indices.
  
          Args:
              mapping: The mapping to update.
              keys: The qubits acted on by the gate.
          """
          permutation = self.permutation()
          indices = tuple(permutation.keys())
          new_keys = [keys[permutation[i]] for i in indices]
          old_elements = [mapping[keys[i]] for i in indices]
          mapping.update(zip(new_keys, old_elements))