You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
Zero Noise Extrapolation (ZNE) is a quantum error mitigation technique that creates a few circuits with increasing amounts of noise in each circuit. Then it computes the expectation value of the observable and extrapolates backwards to the zero-noise limit.
I have noticed that the function get_noisy_circuit is used to artificially create noisy circuits by repeating some (U * U^dagger) pairs. It looks like this get_noisy_circuit(circuit, num_insertions, insertion_gate). The insertion_gate can either be RX or CNOT while num_insertion >= 1.
I've ran various scenarios:
When the circuit contains n number of CNOT gates, and we have insertion_gate = CNOT, each of the nCNOTs has an extra num_insertion (CNOT * CNOT)s appended. This is ok.
When the circuit contains n number of RX gates, and we have insertion_gate = RX, we expect to see num_insertion (RX * RX`^dagger) gates being appended. However, none appears.
When the circuit contains no RX or CNOT gates and insertion_gate = RX or insertion_gate = CNOT, we do not see num_insertion (RX * RX^dagger) or num_insertion (CNOT * CNOT) gates being appended.
Describe the bug
Zero Noise Extrapolation (ZNE) is a quantum error mitigation technique that creates a few circuits with increasing amounts of noise in each circuit. Then it computes the expectation value of the observable and extrapolates backwards to the zero-noise limit.
I have noticed that the function
get_noisy_circuit
is used to artificially create noisy circuits by repeating some (U * U^dagger) pairs. It looks like thisget_noisy_circuit(circuit, num_insertions, insertion_gate)
. Theinsertion_gate
can either beRX
orCNOT
whilenum_insertion >= 1
.I've ran various scenarios:
n
number ofCNOT
gates, and we haveinsertion_gate = CNOT
, each of then
CNOTs
has an extranum_insertion
(CNOT
*CNOT
)s appended. This is ok.n
number ofRX
gates, and we haveinsertion_gate = RX
, we expect to seenum_insertion
(RX
* RX`^dagger) gates being appended. However, none appears.RX
orCNOT
gates andinsertion_gate = RX
orinsertion_gate = CNOT
, we do not seenum_insertion
(RX
*RX
^dagger) ornum_insertion
(CNOT
*CNOT
) gates being appended.Scenarios 2 and 3 appear to have some issue.
Code to reproduce scenarios 1, 2
Running this code gives this output:
Code to reproduce scenario 3
Running this code gives:
The text was updated successfully, but these errors were encountered: