From ccaeed1dd6b14ac660499d92ae388f31511740a6 Mon Sep 17 00:00:00 2001 From: Stavros Efthymiou <35475381+stavros11@users.noreply.github.com> Date: Wed, 20 Nov 2024 15:01:51 +0400 Subject: [PATCH] feat: add qiskit rb code --- src/qibocal/protocols/__init__.py | 2 + src/qibocal/protocols/rb_qiskit/__init__.py | 1 + .../protocols/rb_qiskit/clifford_utils.py | 724 ++++++++++++++++++ .../rb_qiskit/data/clifford_compose_1q.npz | Bin 0 -> 809 bytes .../clifford_compose_2q_dense_selected.npz | Bin 0 -> 341802 bytes .../rb_qiskit/data/clifford_inverse_1q.npz | Bin 0 -> 262 bytes .../rb_qiskit/data/clifford_inverse_2q.npz | Bin 0 -> 17677 bytes .../rb_qiskit/data/clifford_tensor_1q.npz | Bin 0 -> 1355 bytes src/qibocal/protocols/rb_qiskit/rb2q.py | 255 ++++++ 9 files changed, 982 insertions(+) create mode 100644 src/qibocal/protocols/rb_qiskit/__init__.py create mode 100644 src/qibocal/protocols/rb_qiskit/clifford_utils.py create mode 100644 src/qibocal/protocols/rb_qiskit/data/clifford_compose_1q.npz create mode 100644 src/qibocal/protocols/rb_qiskit/data/clifford_compose_2q_dense_selected.npz create mode 100644 src/qibocal/protocols/rb_qiskit/data/clifford_inverse_1q.npz create mode 100644 src/qibocal/protocols/rb_qiskit/data/clifford_inverse_2q.npz create mode 100644 src/qibocal/protocols/rb_qiskit/data/clifford_tensor_1q.npz create mode 100644 src/qibocal/protocols/rb_qiskit/rb2q.py diff --git a/src/qibocal/protocols/__init__.py b/src/qibocal/protocols/__init__.py index 262203042..f08971495 100644 --- a/src/qibocal/protocols/__init__.py +++ b/src/qibocal/protocols/__init__.py @@ -48,6 +48,7 @@ from .randomized_benchmarking.standard_rb import standard_rb from .randomized_benchmarking.standard_rb_2q import standard_rb_2q from .randomized_benchmarking.standard_rb_2q_inter import standard_rb_2q_inter +from .rb_qiskit import rb_qiskit from .readout_characterization import readout_characterization from .readout_mitigation_matrix import readout_mitigation_matrix from .readout_optimization.resonator_amplitude import resonator_amplitude @@ -150,4 +151,5 @@ "standard_rb_2q_inter", "optimize_two_qubit_gate", "ramsey_zz", + "rb_qiskit", ] diff --git a/src/qibocal/protocols/rb_qiskit/__init__.py b/src/qibocal/protocols/rb_qiskit/__init__.py new file mode 100644 index 000000000..19c065c93 --- /dev/null +++ b/src/qibocal/protocols/rb_qiskit/__init__.py @@ -0,0 +1 @@ +from .rb2q import rb_qiskit diff --git a/src/qibocal/protocols/rb_qiskit/clifford_utils.py b/src/qibocal/protocols/rb_qiskit/clifford_utils.py new file mode 100644 index 000000000..a9a7045f4 --- /dev/null +++ b/src/qibocal/protocols/rb_qiskit/clifford_utils.py @@ -0,0 +1,724 @@ +# This code is part of Qiskit. +# +# (C) Copyright IBM 2021, 2022. +# +# This code is licensed under the Apache License, Version 2.0. You may +# obtain a copy of this license in the LICENSE.txt file in the root directory +# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0. +# +# Any modifications or derivative works of this code must retain this +# copyright notice, and modified files need to carry a notice indicating +# that they have been altered from the originals. +""" +Utilities for using the Clifford group in randomized benchmarking. +""" + +import itertools +import os +from functools import lru_cache +from numbers import Integral +from typing import Iterable, Optional, Sequence, Tuple, Union + +import numpy as np +from qiskit.circuit import ( + CircuitInstruction, + Gate, + Instruction, + QuantumCircuit, + QuantumRegister, + Qubit, +) +from qiskit.circuit.library import HGate, SdgGate, SGate, XGate, YGate, ZGate +from qiskit.compiler import transpile +from qiskit.exceptions import QiskitError +from qiskit.quantum_info import Clifford +from qiskit.transpiler import CouplingMap, PassManager +from qiskit.transpiler.passes.synthesis.high_level_synthesis import ( + HighLevelSynthesis, + HLSConfig, +) + +DEFAULT_SYNTHESIS_METHOD = "rb_default" + +_DATA_FOLDER = os.path.join(os.path.dirname(__file__), "data") + +_CLIFFORD_COMPOSE_1Q = np.load(f"{_DATA_FOLDER}/clifford_compose_1q.npz")["table"] +_CLIFFORD_INVERSE_1Q = np.load(f"{_DATA_FOLDER}/clifford_inverse_1q.npz")["table"] +_CLIFFORD_INVERSE_2Q = np.load(f"{_DATA_FOLDER}/clifford_inverse_2q.npz")["table"] +_clifford_compose_2q_data = np.load( + f"{_DATA_FOLDER}/clifford_compose_2q_dense_selected.npz" +) +_CLIFFORD_COMPOSE_2Q_DENSE = _clifford_compose_2q_data["table"] +# valid indices for the columns of the _CLIFFORD_COMPOSE_2Q_DENSE table +_valid_sparse_indices = _clifford_compose_2q_data["valid_sparse_indices"] +# map a clifford number to the index of _CLIFFORD_COMPOSE_2Q_DENSE +_clifford_num_to_dense_index = {idx: ii for ii, idx in enumerate(_valid_sparse_indices)} +_CLIFFORD_TENSOR_1Q = np.load(f"{_DATA_FOLDER}/clifford_tensor_1q.npz")["table"] + + +# Transpilation utilities +def _transpile_clifford_circuit( + circuit: QuantumCircuit, physical_qubits: Sequence[int] +) -> QuantumCircuit: + # Simplified transpile that only decomposes Clifford circuits and creates the layout. + return _apply_qubit_layout( + _decompose_clifford_ops(circuit), physical_qubits=physical_qubits + ) + + +def _decompose_clifford_ops(circuit: QuantumCircuit) -> QuantumCircuit: + # Simplified QuantumCircuit.decompose, which decomposes only Clifford ops + res = circuit.copy_empty_like() + if hasattr(circuit, "_parameter_table"): + res._parameter_table = circuit._parameter_table + for inst in circuit: + if inst.operation.name.startswith("Clifford"): # Decompose + rule = inst.operation.definition.data + if len(rule) == 1 and len(inst.qubits) == len(rule[0].qubits): + if inst.operation.definition.global_phase: + res.global_phase += inst.operation.definition.global_phase + res._data.append( + CircuitInstruction( + operation=rule[0].operation, + qubits=inst.qubits, + clbits=inst.clbits, + ) + ) + else: + _circuit_compose(res, inst.operation.definition, qubits=inst.qubits) + else: # Keep the original instruction + res._data.append(inst) + return res + + +def _apply_qubit_layout( + circuit: QuantumCircuit, physical_qubits: Sequence[int] +) -> QuantumCircuit: + # Mapping qubits in circuit to physical qubits (layout) + res = QuantumCircuit( + 1 + max(physical_qubits), name=circuit.name, metadata=circuit.metadata + ) + res.add_bits(circuit.clbits) + for reg in circuit.cregs: + res.add_register(reg) + _circuit_compose(res, circuit, qubits=physical_qubits) + if hasattr(circuit, "_parameter_table"): + res._parameter_table = circuit._parameter_table + return res + + +def _circuit_compose( + self: QuantumCircuit, other: QuantumCircuit, qubits: Sequence[Union[Qubit, int]] +) -> QuantumCircuit: + # Simplified QuantumCircuit.compose with clbits=None, front=False, inplace=True, wrap=False + # without any validation, parameter_table/calibrations updates and copy of operations + # The input circuit `self` is changed inplace. + qubit_map = { + other.qubits[i]: (self.qubits[q] if isinstance(q, int) else q) + for i, q in enumerate(qubits) + } + for instr in other: + self._data.append( + CircuitInstruction( + operation=instr.operation, + qubits=[qubit_map[q] for q in instr.qubits], + clbits=instr.clbits, + ), + ) + self.global_phase += other.global_phase + return self + + +def _synthesize_clifford( + clifford: Clifford, + basis_gates: Optional[Tuple[str]], + coupling_tuple: Optional[Tuple[Tuple[int, int]]] = None, + synthesis_method: str = DEFAULT_SYNTHESIS_METHOD, +) -> QuantumCircuit: + """Synthesize a circuit of a Clifford element. The resulting circuit contains only + ``basis_gates`` and it complies with ``coupling_tuple``. + + Args: + clifford: Clifford element to be converted + basis_gates: basis gates to use in the conversion + coupling_tuple: coupling map to use in the conversion in the form of tuple of edges + synthesis_method: conversion algorithm name + + Returns: + Synthesized circuit + """ + qc = QuantumCircuit(clifford.num_qubits, name=str(clifford)) + qc.append(clifford, qc.qubits) + return _synthesize_clifford_circuit( + qc, + basis_gates=basis_gates, + coupling_tuple=coupling_tuple, + synthesis_method=synthesis_method, + ) + + +def _synthesize_clifford_circuit( + circuit: QuantumCircuit, + basis_gates: Optional[Tuple[str]], + coupling_tuple: Optional[Tuple[Tuple[int, int]]] = None, + synthesis_method: str = DEFAULT_SYNTHESIS_METHOD, +) -> QuantumCircuit: + """Convert a Clifford circuit into one composed of ``basis_gates`` with + satisfying ``coupling_tuple`` using the specified synthesis method. + + Args: + circuit: Clifford circuit to be converted + basis_gates: basis gates to use in the conversion + coupling_tuple: coupling map to use in the conversion in the form of tuple of edges + synthesis_method: name of Clifford synthesis algorithm to use + + Returns: + Synthesized circuit + """ + if basis_gates: + basis_gates = list(basis_gates) + coupling_map = CouplingMap(coupling_tuple) if coupling_tuple else None + + # special handling for 1q or 2q case for speed + if circuit.num_qubits <= 2: + if synthesis_method == DEFAULT_SYNTHESIS_METHOD: + return transpile( + circuit, + basis_gates=basis_gates, + coupling_map=coupling_map, + optimization_level=1, + ) + else: + # Provided custom synthesis method, re-synthesize Clifford circuit + # convert the circuit back to a Clifford object and then call the synthesis plugin + new_circuit = QuantumCircuit(circuit.num_qubits, name=circuit.name) + new_circuit.append(Clifford(circuit), new_circuit.qubits) + circuit = new_circuit + + # for 3q+ or custom synthesis method, synthesizes clifford circuit + hls_config = HLSConfig(clifford=[(synthesis_method, {"basis_gates": basis_gates})]) + pm = PassManager( + [HighLevelSynthesis(hls_config=hls_config, coupling_map=coupling_map)] + ) + circuit = pm.run(circuit) + return circuit + + +@lru_cache(maxsize=256) +def _clifford_1q_int_to_instruction( + num: Integral, + basis_gates: Optional[Tuple[str]], + synthesis_method: str = DEFAULT_SYNTHESIS_METHOD, +) -> Instruction: + return CliffordUtils.clifford_1_qubit_circuit( + num, basis_gates=basis_gates, synthesis_method=synthesis_method + ).to_instruction() + + +@lru_cache(maxsize=11520) +def _clifford_2q_int_to_instruction( + num: Integral, + basis_gates: Optional[Tuple[str]], + coupling_tuple: Optional[Tuple[Tuple[int, int]]], + synthesis_method: str = DEFAULT_SYNTHESIS_METHOD, +) -> Instruction: + return CliffordUtils.clifford_2_qubit_circuit( + num, + basis_gates=basis_gates, + coupling_tuple=coupling_tuple, + synthesis_method=synthesis_method, + ).to_instruction() + + +def _hash_cliff(cliff): + return cliff.tableau.tobytes(), cliff.tableau.shape + + +def _dehash_cliff(cliff_hash): + tableau = np.frombuffer(cliff_hash[0], dtype=bool).reshape(cliff_hash[1]) + return Clifford(tableau) + + +def _clifford_to_instruction( + clifford: Clifford, + basis_gates: Optional[Tuple[str]], + coupling_tuple: Optional[Tuple[Tuple[int, int]]], + synthesis_method: str = DEFAULT_SYNTHESIS_METHOD, +) -> Instruction: + return _cached_clifford_to_instruction( + _hash_cliff(clifford), + basis_gates=basis_gates, + coupling_tuple=coupling_tuple, + synthesis_method=synthesis_method, + ) + + +@lru_cache(maxsize=256) +def _cached_clifford_to_instruction( + cliff_hash: Tuple[str, Tuple[int, int]], + basis_gates: Optional[Tuple[str]], + coupling_tuple: Optional[Tuple[Tuple[int, int]]], + synthesis_method: str = DEFAULT_SYNTHESIS_METHOD, +) -> Instruction: + return _synthesize_clifford( + _dehash_cliff(cliff_hash), + basis_gates=basis_gates, + coupling_tuple=coupling_tuple, + synthesis_method=synthesis_method, + ).to_instruction() + + +# The classes VGate and WGate are not actually used in the code - we leave them here to give +# a better understanding of the composition of the layers for 2-qubit Cliffords. +class VGate(Gate): + """V Gate used in Clifford synthesis.""" + + def __init__(self): + """Create new V Gate.""" + super().__init__("v", 1, []) + + def _define(self): + """V Gate definition.""" + q = QuantumRegister(1, "q") + qc = QuantumCircuit(q) + qc.data = [(SdgGate(), [q[0]], []), (HGate(), [q[0]], [])] + self.definition = qc + + +class WGate(Gate): + """W Gate used in Clifford synthesis.""" + + def __init__(self): + """Create new W Gate.""" + super().__init__("w", 1, []) + + def _define(self): + """W Gate definition.""" + q = QuantumRegister(1, "q") + qc = QuantumCircuit(q) + qc.data = [(HGate(), [q[0]], []), (SGate(), [q[0]], [])] + self.definition = qc + + +class CliffordUtils: + """Utilities for generating one- and two-qubit Clifford circuits and elements.""" + + NUM_CLIFFORD_1_QUBIT = 24 + NUM_CLIFFORD_2_QUBIT = 11520 + CLIFFORD_1_QUBIT_SIG = (2, 3, 4) + CLIFFORD_2_QUBIT_SIGS = [ # TODO: deprecate + (2, 2, 3, 3, 4, 4), + (2, 2, 3, 3, 3, 3, 4, 4), + (2, 2, 3, 3, 3, 3, 4, 4), + (2, 2, 3, 3, 4, 4), + ] + + @classmethod + @lru_cache(maxsize=24) + def clifford_1_qubit(cls, num): + """Return the 1-qubit clifford element corresponding to `num` + where `num` is between 0 and 23. + """ + return Clifford(cls.clifford_1_qubit_circuit(num), validate=False) + + @classmethod + @lru_cache(maxsize=11520) + def clifford_2_qubit(cls, num): + """Return the 2-qubit clifford element corresponding to ``num``, + where ``num`` is between 0 and 11519. + """ + return Clifford(cls.clifford_2_qubit_circuit(num), validate=False) + + @classmethod + @lru_cache(maxsize=24) + def clifford_1_qubit_circuit( + cls, + num, + basis_gates: Optional[Tuple[str, ...]] = None, + synthesis_method: str = DEFAULT_SYNTHESIS_METHOD, + ): + """Return the 1-qubit clifford circuit corresponding to ``num``, + where ``num`` is between 0 and 23. + """ + unpacked = cls._unpack_num(num, cls.CLIFFORD_1_QUBIT_SIG) + i, j, p = unpacked[0], unpacked[1], unpacked[2] + qc = QuantumCircuit(1, name=f"Clifford-1Q({num})") + if i == 1: + qc.h(0) + if j == 1: + qc.sxdg(0) + if j == 2: + qc.s(0) + if p == 1: + qc.x(0) + if p == 2: + qc.y(0) + if p == 3: + qc.z(0) + + if basis_gates: + qc = _synthesize_clifford_circuit( + qc, basis_gates, synthesis_method=synthesis_method + ) + + return qc + + @classmethod + @lru_cache(maxsize=11520) + def clifford_2_qubit_circuit( + cls, + num, + basis_gates: Optional[Tuple[str, ...]] = None, + coupling_tuple: Optional[Tuple[Tuple[int, int]]] = None, + synthesis_method: str = DEFAULT_SYNTHESIS_METHOD, + ): + """Return the 2-qubit clifford circuit corresponding to `num` + where `num` is between 0 and 11519. + """ + qc = QuantumCircuit(2, name=f"Clifford-2Q({num})") + for layer, idx in enumerate(_layer_indices_from_num(num)): + if basis_gates: + layer_circ = _transformed_clifford_layer( + layer, + idx, + basis_gates, + coupling_tuple, + synthesis_method=synthesis_method, + ) + else: + layer_circ = _CLIFFORD_LAYER[layer][idx] + _circuit_compose(qc, layer_circ, qubits=(0, 1)) + + return qc + + @staticmethod + def _unpack_num(num, sig): + r"""Returns a tuple :math:`(a_1, \ldots, a_n)` where + :math:`0 \le a_i \le \sigma_i` where + sig=:math:`(\sigma_1, \ldots, \sigma_n)` and num is the sequential + number of the tuple + """ + res = [] + for k in sig: + res.append(num % k) + num //= k + return res + + +# Constant mapping from 1Q single Clifford gate to 1Q Clifford numerical identifier. +# This table must be generated using `data.generate_clifford_data.gen_cliff_single_1q_gate_map`, or, +# equivalently, correspond to the ordering implicitly defined by CliffUtils.clifford_1_qubit_circuit. +_CLIFF_SINGLE_GATE_MAP_1Q = { + ("id", (0,)): 0, + ("h", (0,)): 1, + ("sxdg", (0,)): 2, + ("s", (0,)): 4, + ("x", (0,)): 6, + ("sx", (0,)): 8, + ("y", (0,)): 12, + ("z", (0,)): 18, + ("sdg", (0,)): 22, +} +# Constant mapping from 2Q single Clifford gate to 2Q Clifford numerical identifier. +# This table must be generated using `data.generate_clifford_data.gen_cliff_single_2q_gate_map`, or, +# equivalently, correspond to the ordering defined by _layer_indices_from_num and _CLIFFORD_LAYER. +_CLIFF_SINGLE_GATE_MAP_2Q = { + ("id", (0,)): 0, + ("id", (1,)): 0, + ("h", (0,)): 5760, + ("h", (1,)): 2880, + ("sxdg", (0,)): 6720, + ("sxdg", (1,)): 3200, + ("s", (0,)): 7680, + ("s", (1,)): 3520, + ("x", (0,)): 4, + ("x", (1,)): 1, + ("sx", (0,)): 6724, + ("sx", (1,)): 3201, + ("y", (0,)): 8, + ("y", (1,)): 2, + ("z", (0,)): 12, + ("z", (1,)): 3, + ("sdg", (0,)): 7692, + ("sdg", (1,)): 3523, + ("cx", (0, 1)): 16, + ("cx", (1, 0)): 2336, + ("cz", (0, 1)): 368, + ("cz", (1, 0)): 368, +} + + +######## +# Functions for 1-qubit integer Clifford operations +def compose_1q(lhs: Integral, rhs: Integral) -> Integral: + """Return the composition of 1-qubit clifford integers.""" + return _CLIFFORD_COMPOSE_1Q[lhs, rhs] + + +def inverse_1q(num: Integral) -> Integral: + """Return the inverse of a 1-qubit clifford integer.""" + return _CLIFFORD_INVERSE_1Q[num] + + +def num_from_1q_circuit(qc: QuantumCircuit) -> Integral: + """Convert a given 1-qubit Clifford circuit to the corresponding integer. + + Note: The circuit must consist of gates in :const:`_CLIFF_SINGLE_GATE_MAP_1Q`, + RZGate, Delay and Barrier. + """ + num = 0 + for inst in qc: + rhs = _num_from_1q_gate(op=inst.operation) + num = _CLIFFORD_COMPOSE_1Q[num, rhs] + return num + + +def _num_from_1q_gate(op: Instruction) -> int: + """ + Convert a given 1-qubit clifford operation to the corresponding integer. + Note that supported operations are limited to ones in :const:`_CLIFF_SINGLE_GATE_MAP_1Q` or Rz gate. + + Args: + op: operation to be converted. + + Returns: + An integer representing a Clifford consisting of a single operation. + + Raises: + QiskitError: If the input instruction is not a Clifford instruction. + QiskitError: If rz is given with a angle that is not Clifford. + """ + if op.name in {"delay", "barrier"}: + return 0 + try: + name = _deparameterized_name(op) + return _CLIFF_SINGLE_GATE_MAP_1Q[(name, (0,))] + except QiskitError as err: + raise QiskitError( + f"Parameterized instruction {op.name} could not be converted to integer Clifford" + ) from err + except KeyError as err: + raise QiskitError( + f"Instruction {op.name} could not be converted to integer Clifford" + ) from err + + +def _deparameterized_name(inst: Instruction) -> str: + if inst.name == "rz": + if np.isclose(inst.params[0], np.pi) or np.isclose(inst.params[0], -np.pi): + return "z" + elif np.isclose(inst.params[0], np.pi / 2): + return "s" + elif np.isclose(inst.params[0], -np.pi / 2): + return "sdg" + else: + raise QiskitError(f"Wrong param {inst.params[0]} for rz in clifford") + + return inst.name + + +######## +# Functions for 2-qubit integer Clifford operations +def compose_2q(lhs: Integral, rhs: Integral) -> Integral: + """Return the composition of 2-qubit clifford integers.""" + num = lhs + for layer, idx in enumerate(_layer_indices_from_num(rhs)): + gate_numbers = _CLIFFORD_LAYER_NUMS[layer][idx] + for n in gate_numbers: + num = _CLIFFORD_COMPOSE_2Q_DENSE[num, _clifford_num_to_dense_index[n]] + return num + + +def inverse_2q(num: Integral) -> Integral: + """Return the inverse of a 2-qubit clifford integer.""" + return _CLIFFORD_INVERSE_2Q[num] + + +def num_from_2q_circuit(qc: QuantumCircuit) -> Integral: + """Convert a given 2-qubit Clifford circuit to the corresponding integer. + + Note: The circuit must consist of gates in :const:`_CLIFF_SINGLE_GATE_MAP_2Q`, + RZGate, Delay and Barrier. + """ + lhs = 0 + for rhs in _clifford_2q_nums_from_2q_circuit(qc): + lhs = _CLIFFORD_COMPOSE_2Q_DENSE[lhs, _clifford_num_to_dense_index[rhs]] + return lhs + + +def _num_from_2q_gate( + op: Instruction, qubits: Optional[Union[Tuple[int, int], Tuple[int]]] = None +) -> int: + """ + Convert a given 1-qubit clifford operation to the corresponding integer. + Note that supported operations are limited to ones in `_CLIFF_SINGLE_GATE_MAP_2Q` or Rz gate. + + Args: + op: operation of instruction to be converted. + qubits: qubits to which the operation applies + + Returns: + An integer representing a Clifford consisting of a single operation. + + Raises: + QiskitError: If the input instruction is not a Clifford instruction. + QiskitError: If rz is given with a angle that is not Clifford. + """ + if op.name in {"delay", "barrier"}: + return 0 + + qubits = qubits or (0, 1) + try: + name = _deparameterized_name(op) + return _CLIFF_SINGLE_GATE_MAP_2Q[(name, qubits)] + except QiskitError as err: + raise QiskitError( + f"Parameterized instruction {op.name} could not be converted to integer Clifford" + ) from err + except KeyError as err: + raise QiskitError( + f"Instruction {op.name} on {qubits} could not be converted to integer Clifford" + ) from err + + +def _append_v_w(qc, vw0, vw1): + if vw0 == "v": + qc.sdg(0) + qc.h(0) + elif vw0 == "w": + qc.h(0) + qc.s(0) + if vw1 == "v": + qc.sdg(1) + qc.h(1) + elif vw1 == "w": + qc.h(1) + qc.s(1) + + +def _create_cliff_2q_layer_0(): + """Layer 0 consists of 0 or 1 H gates on each qubit, followed by 0/1/2 V gates on each qubit. + Number of Cliffords == 36.""" + circuits = [] + num_h = [0, 1] + v_w_gates = ["i", "v", "w"] + for h0, h1, v0, v1 in itertools.product(num_h, num_h, v_w_gates, v_w_gates): + qc = QuantumCircuit(2) + for _ in range(h0): + qc.h(0) + for _ in range(h1): + qc.h(1) + _append_v_w(qc, v0, v1) + circuits.append(qc) + return circuits + + +def _create_cliff_2q_layer_1(): + """Layer 1 consists of one of the following: + - nothing + - cx(0,1) followed by 0/1/2 V gates on each qubit + - cx(0,1), cx(1,0) followed by 0/1/2 V gates on each qubit + - cx(0,1), cx(1,0), cx(0,1) + Number of Cliffords == 20.""" + circuits = [QuantumCircuit(2)] # identity at the beginning + + v_w_gates = ["i", "v", "w"] + for v0, v1 in itertools.product(v_w_gates, v_w_gates): + qc = QuantumCircuit(2) + qc.cx(0, 1) + _append_v_w(qc, v0, v1) + circuits.append(qc) + + for v0, v1 in itertools.product(v_w_gates, v_w_gates): + qc = QuantumCircuit(2) + qc.cx(0, 1) + qc.cx(1, 0) + _append_v_w(qc, v0, v1) + circuits.append(qc) + + qc = QuantumCircuit(2) # swap at the end + qc.cx(0, 1) + qc.cx(1, 0) + qc.cx(0, 1) + circuits.append(qc) + return circuits + + +def _create_cliff_2q_layer_2(): + """Layer 2 consists of a Pauli gate on each qubit {Id, X, Y, Z}. + Number of Cliffords == 16.""" + circuits = [] + pauli = ("i", XGate(), YGate(), ZGate()) + for p0, p1 in itertools.product(pauli, pauli): + qc = QuantumCircuit(2) + if p0 != "i": + qc.append(p0, [0]) + if p1 != "i": + qc.append(p1, [1]) + circuits.append(qc) + return circuits + + +_CLIFFORD_LAYER = ( + _create_cliff_2q_layer_0(), + _create_cliff_2q_layer_1(), + _create_cliff_2q_layer_2(), +) +_NUM_LAYER_1 = 20 +_NUM_LAYER_2 = 16 + + +def _clifford_2q_nums_from_2q_circuit(qc: QuantumCircuit) -> Iterable[Integral]: + """Yield Clifford numbers that represents the 2Q Clifford circuit.""" + for inst in qc: + qubits = tuple(qc.find_bit(q).index for q in inst.qubits) + yield _num_from_2q_gate(op=inst.operation, qubits=qubits) + + +# Construct mapping from Clifford layers to series of Clifford numbers +_CLIFFORD_LAYER_NUMS = [ + [tuple(_clifford_2q_nums_from_2q_circuit(qc)) for qc in _CLIFFORD_LAYER[layer]] + for layer in [0, 1, 2] +] + + +@lru_cache(maxsize=256) +def _transformed_clifford_layer( + layer: int, + index: Integral, + basis_gates: Tuple[str, ...], + coupling_tuple: Optional[Tuple[Tuple[int, int]]], + synthesis_method: str = DEFAULT_SYNTHESIS_METHOD, +) -> QuantumCircuit: + # Return the index-th quantum circuit of the layer translated with the basis_gates. + # The result is cached for speed. + return _synthesize_clifford_circuit( + _CLIFFORD_LAYER[layer][index], + basis_gates=basis_gates, + coupling_tuple=coupling_tuple, + synthesis_method=synthesis_method, + ) + + +def _num_from_layer_indices(triplet: Tuple[Integral, Integral, Integral]) -> Integral: + """Return the clifford number corresponding to the input triplet.""" + num = ( + triplet[0] * _NUM_LAYER_1 * _NUM_LAYER_2 + + triplet[1] * _NUM_LAYER_2 + + triplet[2] + ) + return num + + +def _layer_indices_from_num(num: Integral) -> Tuple[Integral, Integral, Integral]: + """Return the triplet of layer indices corresponding to the input number.""" + idx2 = num % _NUM_LAYER_2 + num = num // _NUM_LAYER_2 + idx1 = num % _NUM_LAYER_1 + idx0 = num // _NUM_LAYER_1 + return idx0, idx1, idx2 + + +def _tensor_1q_nums(first: Integral, second: Integral) -> Integral: + """Return the 2-qubit Clifford integer that is the tensor product of 1-qubit Cliffords.""" + return _CLIFFORD_TENSOR_1Q[first, second] diff --git a/src/qibocal/protocols/rb_qiskit/data/clifford_compose_1q.npz b/src/qibocal/protocols/rb_qiskit/data/clifford_compose_1q.npz new file mode 100644 index 0000000000000000000000000000000000000000..64835c36cb711523652f9bbc8816b77dca964401 GIT binary patch literal 809 zcmWIWW@Zs#U|`??Vnv38r|q2!nHU%vI2jl?8AKRL5|eUL_3{cT85sn?fW z_o{9Fcw=M`VF+4<}H!@s+a^GE)gS|>kGZ@d5X!+-yMc=q~b!5w)!`}q2}^Y`uT;^*t> zU%x+Z|6RSpzu%tzc`USl|1N9U@8!#{AOAc5Z~eY5k@Y%R0;WBu7P|#LUg3GgBunh; zrw2BxdZJu(7l#GDUf~-e8tR_AxGc~&#QVL=d&a%RRsAn*mzF!epLEZ=YW>UDi`Cxm z+ve%+EjpL_<&MGb2X|WL6<4jjneBL9aI^HcRXgt&lpXnbsdl@t&Jabm3VW6PxHuAYnt}v$J=4 zy~(&&R3}$>-sZ}jxtC7^g?Tpvg|lv6-IF@!^v|0%A!jr#vgOX4oE7=(Y>erfw0lCf ze`?M&&%fU{^Vz{UKYq?O|7`gB@7dG$?jI#LS} wTP+T^TIT(qA;6oFNd%aRv8Qfu8U_;$j35f0)&sm**+2q}Kxhu6?|{=g0KhDZwEzGB literal 0 HcmV?d00001 diff --git a/src/qibocal/protocols/rb_qiskit/data/clifford_compose_2q_dense_selected.npz b/src/qibocal/protocols/rb_qiskit/data/clifford_compose_2q_dense_selected.npz new file mode 100644 index 0000000000000000000000000000000000000000..0bce584b2ac135e12e86137e4fc2615da5a31409 GIT binary patch literal 341802 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%0A`FfYPI7L<7CC+N3!cQ7v!H%EDYw0K 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 literal 0 HcmV?d00001 diff --git a/src/qibocal/protocols/rb_qiskit/data/clifford_inverse_1q.npz b/src/qibocal/protocols/rb_qiskit/data/clifford_inverse_1q.npz new file mode 100644 index 0000000000000000000000000000000000000000..a72204ac70e714d6b190d1ed52c70662a2b80b20 GIT binary patch literal 262 zcmWIWW@Zs#U|`??Vnv1tUmV}p0a*`#n3F+-p(HUWCsi-6ppub604xX;X8!hVs|>&fncJ65k$c~65!3s1`=Qd MLUSO!6U1Qv08u$mZvX%Q literal 0 HcmV?d00001 diff --git a/src/qibocal/protocols/rb_qiskit/data/clifford_inverse_2q.npz b/src/qibocal/protocols/rb_qiskit/data/clifford_inverse_2q.npz new file mode 100644 index 0000000000000000000000000000000000000000..a0dde142f06610f03e41b018cde042c4a6b1788b GIT binary patch literal 17677 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 eahs0z*Z+NoMkSt`wjS**v?ez}C zH>T1lDk9EvZbp_R>lQPcMX#rz6xU*%Z)Cpo)7 zg@7U|G^!j)E&kL`JxbI{vG+u*i}YBOrAP>o3)K^>AZdxK)ibED({!T}6kri{>mP~4 zc=Cw7fLpoaJp5m6W5S3$10AVVPB4-E_#sLtQU``KIlZ;zQb4p~Ps@9xO9A?DOFkAF z!cX$CM&kNrIS+}Lub||I{bh1C#ns^!K7)3}^Y7WTOQ&4Q4)@`0m^h2@IOI36U=!Yo z#!5_skY*p)svr}I2eeDM$>#(!A*~#6h^yVbkVc2^Ds2r>NJq-wnzW9c9f`Yd+n^8P zP!4?>4&~4XaZR3)wZ+1}4KqN{!q>a6?+5t|SD~~!qcAWpze0xQ;isrrq5GPaGqHx> zMZ0!zRz6lk40g)-2xrDmv$0vkbq|mRf3JCmc8(FA23e1Uc{vk;%AQK0RK4nw zGtkII{2&wEN@Jt;^U}G%Wh?U_(d-cBsqIK~1JPRu4A^iX6pQbxy)Jnr6+URip3y%@ z^>l9BeJ7E}1YgFFF~eo}VKka;x;Z2p*pN{YjoPo80i?6!MQE@?X>rD&*bkPF!D>yMN~@~S kzm#M6zy9}co747Yy|(|?4XY~BrfLs*ILqLvPIkn90J2Q^Qvd(} literal 0 HcmV?d00001 diff --git a/src/qibocal/protocols/rb_qiskit/rb2q.py b/src/qibocal/protocols/rb_qiskit/rb2q.py new file mode 100644 index 000000000..24360344e --- /dev/null +++ b/src/qibocal/protocols/rb_qiskit/rb2q.py @@ -0,0 +1,255 @@ +from dataclasses import dataclass +from pathlib import Path +from typing import Optional + +import numpy as np +import numpy.typing as npt +from qibolab import AcquisitionType, ExecutionParameters +from qibolab.platform import Platform +from qibolab.pulses import PulseSequence +from qibolab.qubits import QubitId +from qiskit import QuantumCircuit + +from qibocal.auto.operation import Routine +from qibocal.protocols.randomized_benchmarking.standard_rb_2q import ( + StandardRBParameters, + _fit, + _plot, +) +from qibocal.protocols.randomized_benchmarking.utils import RB2QData, RBType + +from .clifford_utils import CliffordUtils, num_from_2q_circuit + +INVERSE = np.load(Path(__file__).parent / "data" / "clifford_inverse_2q.npz")["table"] +NCLIFFORDS = len(INVERSE) + +BASIS_GATES = ("rx", "ry", "cz") + +_PI = np.round(np.pi, decimals=10) +_PI2 = np.round(np.pi / 2, decimals=10) +GATE_MAP = { + ("rx", _PI): "x180", + ("ry", _PI): "y180", + ("rx", _PI2): "x90", + ("ry", _PI2): "y90", + ("rx", -_PI2): "-x90", + ("ry", -_PI2): "-y90", +} + +Sequence = list[tuple[Optional[str], Optional[str]]] + + +def to_sequence(circuit) -> Sequence: + """Converts Qiskit circuit to list of gate pairs.""" + sequence = [[], []] + + def _synchronize(): + seq1, seq2 = sequence + n = max(len(seq1), len(seq2)) + seq1 += (n - len(seq1)) * [None] + seq2 += (n - len(seq2)) * [None] + + for gate in circuit: + name = gate.operation.name + if name == "cz": + _synchronize() + sequence[0].append("cz") + sequence[1].append("cz") + else: + param = np.round(gate.operation.params[0], decimals=10) + qubit = gate.qubits[0]._index + sequence[qubit].append(GATE_MAP[(name, param)]) + + _synchronize() + return [(g1, g2) for g1, g2 in zip(*sequence)] + + +def to_qibolab_sequence( + sequence: Sequence, platform: Platform, qubit0: QubitId, qubit1: QubitId +) -> PulseSequence: + seq = PulseSequence() + phases = {qubit0: 0, qubit1: 0} + for pair in sequence: + start = seq.finish + if pair[0] == "cz": + cz_sequence, cz_phases = platform.pairs[ + (qubit0, qubit1) + ].native_gates.CZ.sequence(start=start) + phases[qubit0] -= cz_phases[qubit0] + phases[qubit1] -= cz_phases[qubit1] + seq += cz_sequence + else: + for i, gate in enumerate(pair): + q = [qubit0, qubit1][i] + phase = phases[q] + if gate == "x180": + seq.add( + platform.create_RX_pulse(q, start=start, relative_phase=phase) + ) + elif gate == "y180": + seq.add( + platform.create_RX_pulse( + q, start=start, relative_phase=np.pi / 2 + phase + ) + ) + elif gate == "x90": + seq.add( + platform.create_RX90_pulse(q, start=start, relative_phase=phase) + ) + elif gate == "y90": + seq.add( + platform.create_RX90_pulse( + q, start=start, relative_phase=np.pi / 2 + phase + ) + ) + elif gate == "-x90": + seq.add( + platform.create_RX90_pulse( + q, start=start, relative_phase=np.pi + phase + ) + ) + elif gate == "-y90": + seq.add( + platform.create_RX90_pulse( + q, start=start, relative_phase=-np.pi / 2 + phase + ) + ) + + start = seq.finish + seq.add(platform.create_MZ_pulse(qubit0, start=start)) + seq.add(platform.create_MZ_pulse(qubit1, start=start)) + return seq + + +def generate_circuits( + indices: npt.NDArray, +) -> tuple[list[QuantumCircuit], list[QuantumCircuit]]: + """Generate circuits from Clifford indices. + + Indices must be an array of shape ``(nreps, depth)``. + """ + clifford = CliffordUtils.clifford_2_qubit_circuit + circuits = [] + native_circuits = [] + for ids in indices: + circuit = QuantumCircuit(2) + native_circuit = QuantumCircuit(2) + for i in ids: + circuit = circuit.compose(clifford(i)) + native_circuit = native_circuit.compose( + clifford(i, basis_gates=BASIS_GATES) + ) + + # add inverse to circuits + inverse_index = INVERSE[num_from_2q_circuit(circuit)] + circuit = circuit.compose(clifford(inverse_index)) + native_circuit = native_circuit.compose( + clifford(inverse_index, basis_gates=BASIS_GATES) + ) + + circuits.append(circuit) + native_circuits.append(native_circuit) + + return circuits, native_circuits + + +@dataclass +class QiskitRbParameters(StandardRBParameters): + # batch_size: int = 10 + simulation: bool = False + + +def _acquisition( + params: QiskitRbParameters, platform: Platform, targets: list[QubitId] +) -> RB2QData: + if params.seed is not None: + np.random.seed(params.seed) + + assert len(targets) == 1 + qubit0, qubit1 = targets[0] + try: + qubit0 = int(qubit0) + qubit1 = int(qubit1) + except ValueError: + pass + + cz_sequence, _ = platform.pairs[(qubit0, qubit1)].native_gates.CZ.sequence() + if cz_sequence[0].qubit != qubit0: + assert cz_sequence[0].qubit == qubit1 + qubit0, qubit1 = qubit1, qubit0 + + data = RB2QData( + depths=params.depths, + uncertainties=params.uncertainties, + seed=params.seed, + nshots=params.nshots, + niter=params.niter, + ) + + for depth in params.depths: + indices = np.random.randint(0, NCLIFFORDS, size=(params.niter, depth)) + _, circuits = generate_circuits(indices) + + if params.simulation: + from qiskit_aer import AerSimulator + + backend = AerSimulator() + + state0 = np.empty((params.niter, params.nshots), dtype=np.int32) + state1 = np.empty((params.niter, params.nshots), dtype=np.int32) + for i, circuit in enumerate(circuits): + mcircuit = QuantumCircuit(2, 2) + mcircuit = mcircuit.compose(circuit) + mcircuit.measure(range(2), range(2)) + + job = backend.run(mcircuit, shots=params.nshots) + result = job.result() + counts = result.get_counts() + + shots = [] + for key, value in counts.items(): + shots += value * [[int(x) for x in key]] + shots = np.array(shots) + + state0[i] = shots[:, 0] + state1[i] = shots[:, 1] + + else: + # batch_size = params.batch_size + sequences = [ + to_qibolab_sequence(to_sequence(circuit), platform, qubit0, qubit1) + for circuit in circuits + ] + # assert len(sequences) % batch_size == 0 + # nbatches = len(sequences) // batch_size + + options = ExecutionParameters( + nshots=params.nshots, + relaxation_time=params.relaxation_time, + acquisition_type=AcquisitionType.DISCRIMINATION, + ) + # for i in range(nbatches): + # pulse_sequences = to_qibolab_sequence( + # sequences[i * batch_size : (i + 1) * batch_size], + # ) + + state0 = [] + state1 = [] + for sequence in sequences: + results = platform.execute_pulse_sequence(sequence, options) + state0.append(results[qubit0].samples) + state1.append(results[qubit0].samples) + + state0 = np.stack(state0) + state1 = np.stack(state1) + + # samples: (niter, nshots) + samples = ((state0 + state1) != 0).astype(np.int32) + data.register_qubit( + RBType, (targets[0][0], targets[0][1], depth), {"samples": samples} + ) + + return data + + +rb_qiskit = Routine(_acquisition, _fit, _plot)