spheres.stabilization.pytket.symmetrize_pytket_circuit

spheres.stabilization.pytket.symmetrize_pytket_circuit(circuit_info, n_copies=2, every=1, pairwise=False, reuse_cntrls=False, measure=True)[source]

Given a circuit specification, constructs a symmetrized version of the circuit for error correction.

Parameters
  • circuit_info (dict) – Dictionary of circuit information.

  • n_copies (int) – Number of copies of the original circuit to evaluate in parallel.

  • every (int) – How often to perform symmetrization, i.e. every every layers.

  • pairwise (bool) – Whether to symmetrize across all circuit copies or across circuit pairs.

  • reuse_cntrls (bool) – Whether to to reuse control qubits from symmetrization to symmetrization. Only useful on quantum computers that allow for intermediate measurements.

  • measure (bool) – Whether to measure all the non-control qubits in the end.

Returns

circuit_info

  • “circuit”: pytket.Circuit

  • ”n_copies”

  • ”every”

  • ”pairwise”

  • ”reuse_cntrls”

  • ”measure”

  • ”original”: original circ_info dict

  • ”qubit_registers”: list of qubit registers for each ‘experiment’

  • ”cbit_registers”: list of bit registers for each ‘experiment’

  • ”cntrl_qubits”: list of control qubits for each symmetrization

  • ”cntrl_bits”: list of control bits for each symmetrization

Return type

dict