[docs]defcircuit_method(target_circuit:QuantumCircuit,target_key:str,exp_name:str)->QuantumCircuit:"""Build the circuit for the experiment. Args: target_circuit (QuantumCircuit): Target circuit. target_key (Hashable): Target key. exp_name (str): Experiment name. Returns: QuantumCircuit: The circuit for the experiment. """old_name=""ifisinstance(target_circuit.name,str)elsetarget_circuit.nameqc_exp1=target_circuit.copy(f"{exp_name}_zdir"+(""iftarget_keyelsef".{target_key}")+(""ifold_nameelsef".{old_name}"))c_meas1=ClassicalRegister(qc_exp1.num_qubits,"c_m1")qc_exp1.add_register(c_meas1)qc_exp1.barrier()qc_exp1.measure(qc_exp1.qubits,c_meas1)returnqc_exp1