Вероятность возврата состояния кубита в виде десятичной дроби - PullRequest
0 голосов
/ 05 мая 2020

Я пытаюсь запустить X-гейты на 2 кубитах, а затем вернуть вероятность кубита в любом состоянии как десятичное число. Я искал ответы, но ничего не нашел.

##THE CODE##
import math
import numpy as np
from qiskit import *
from qiskit.providers.aer.extensions.snapshot_probabilities import *


#call for qubits
q = QuantumRegister(2)
c = ClassicalRegister(2)

#creates qubits and classical bits
qc = QuantumCircuit(q, c)

#applys a half not ad 
for i in range(2):
    qc.u3(0.5 * math.pi,0,0, q[i])

# Map the quantum measurement to the classical bits
for i in range(2):
    qc.measure(q[i], c[i])

# Execute the circuit on the qasm simulator
simulator = Aer.get_backend('qasm_simulator')
job = execute(qc, simulator, shots=1000)

result = job.result()
counts = result.get_counts(qc)
## END OF CODE##

1 Ответ

0 голосов
/ 05 мая 2020

Хорошо, поэтому result.get_counts() возвращает список возможных словарей, названных в честь возможных ответов. Итак, l oop через возможные ответы

##THE CODE##
counts = result.get_counts(qc)
ls = []
for i, key in enumerate(counts.keys()):
    v = counts.get(key)
    ls.append(v)
    
print(ls) 
##END OF CODE##

Пример

Если я запустил код до того, как применить половину x вентилей к двум кубитам

for i in range(2):
    qc.u3(0.5 * math.pi,0,0, q[i]) 

My выходом будет вероятность того, что кубиты будут в состоянии 1 из 1000.

ВЫХОД

[241, 238, 262, 259]
...