有时,我在Quantum计算设备(例如ibmq_16_melbourne)上执行电路,并收到诸如“无效的作业状态”之类的错误。该作业应该完成,但它是JobStatus.ERROR'。我能得到这个错误的细节,例如错误的原因或类似的东西。
这次,我尝试执行一个包含
的电路from qiskit import QuantumRegister, ClassicalRegister, QuantumCircuit, IBMQ, execute
from qiskit.visualization import *
from qiskit.tools.jupyter import *
from qiskit.tools.monitor import job_monitor
IBMQ.load_account()
qr = QuantumRegister(6)
cr = ClassicalRegister(5)
mycir = QuantumCircuit(qr,cr)
for i in range(13):
mycir.mct([qr[0],qr[1],qr[2],qr[3]],qr[4],None, mode='noancilla')
mycir.mct([qr[0],qr[1],qr[2]],qr[3],None, mode='noancilla')
provider = IBMQ.get_provider(group='open')
backend = provider.get_backend('ibmq_16_melbourne')
job = execute(mycir, backend, shots=1000)
job_monitor(job)
result = job.result()
counts = result.get_counts()
# print(counts)
plot_histogram(counts, figsize=(14,8))
结果是上述错误。
答案 0 :(得分:0)
通过转储器运行此电路,我得到的电路深度为2201。我认为该电路之所以无法运行的原因是它太深了。
要解决这个问题,我建议您减小电路的深度,或者在噪声模型与您要在其上运行的设备类似的模拟器上运行它。