qiboteam / qibo

A framework for quantum computing
https://qibo.science
Apache License 2.0
275 stars 55 forks source link

Suggested improvement for ZNE's `get_noisy_circuit` function (related to #1305) #1314

Open mho291 opened 2 months ago

mho291 commented 2 months ago

Currently, the get_noisy_circuit function aims to create circuits with repeated CNOTs and/or RX gates to increase the noise artificially.

The paper Digital Zero Noise Extrapolation for QEM (https://arxiv.org/abs/2005.10921) has mentioned two other ways of artificially increasing the amount of noise.

The first is called gate folding, where each U_i gate in the circuit is repeated n times U_i --> U_i ( U_i^dagger U_i )^n*

The second is called circuit folding, where the entire circuit (or maybe a sequence of gates) is repeated in the same manner.

I believe this feature will increase the variability and complexity of the generated circuits, allowing for more robust testing and evaluation of quantum error mitigation techniques.

mho291 commented 1 month ago

Added circuit folding (global unitary folding) in https://github.com/qiboteam/qibo/pull/1327