Experiment.build_symmetrization_memory_maps

Experiment.build_symmetrization_memory_maps(qubits, label='symmetrization')[source]

Build a list of memory maps to be used in a program that is trying to perform readout symmetrization via parametric compilation. For example, if we have the following program:

RX(symmetrization[0]) 0 RX(symmetrization[1]) 1 MEASURE 0 ro[0] MEASURE 1 ro[1]

We can perform exhaustive readout symmetrization on our two qubits by providing the four following memory maps, and then appropriately flipping the resultant bitstrings:

{‘symmetrization’: [0.0, 0.0]} -> XOR results with [0,0] {‘symmetrization’: [0.0, pi]} -> XOR results with [0,1] {‘symmetrization’: [pi, 0.0]} -> XOR results with [1,0] {‘symmetrization’: [pi, pi]} -> XOR results with [1,1]
Parameters:
  • qubits (Sequence[int]) – List of qubits to symmetrize readout for.
  • label (str) – Name of the declared memory region. Defaults to “symmetrization”.
Return type:

List[Dict[str, List[float]]]

Returns:

List of memory maps that performs the desired level of symmetrization.