def test_compile_two_run_remote(self, QE_TOKEN, QE_URL, hub=None, group=None, project=None): """Test Compiler and run two circuits. If all correct some should exists. """ provider = IBMQProvider(QE_TOKEN, QE_URL, hub, group, project) backend = provider.available_backends({'simulator': True})[0] qubit_reg = qiskit.QuantumRegister(2, name='q') clbit_reg = qiskit.ClassicalRegister(2, name='c') qc = qiskit.QuantumCircuit(qubit_reg, clbit_reg, name="bell") qc.h(qubit_reg[0]) qc.cx(qubit_reg[0], qubit_reg[1]) qc.measure(qubit_reg, clbit_reg) qc_extra = qiskit.QuantumCircuit(qubit_reg, clbit_reg, name="extra") qc_extra.measure(qubit_reg, clbit_reg) qobj = qiskit._compiler.compile([qc, qc_extra], backend) job = backend.run( qiskit.QuantumJob(qobj, backend=backend, preformatted=True)) result = job.result() self.assertIsInstance(result, Result)
def test_compile_run(self): """Test Compiler and run. If all correct some should exists. """ my_backend = QasmSimulator() qubit_reg = qiskit.QuantumRegister(2, name='q') clbit_reg = qiskit.ClassicalRegister(2, name='c') qc = qiskit.QuantumCircuit(qubit_reg, clbit_reg, name="bell") qc.h(qubit_reg[0]) qc.cx(qubit_reg[0], qubit_reg[1]) qc.measure(qubit_reg, clbit_reg) qobj = qiskit._compiler.compile(qc, my_backend) result = my_backend.run(qiskit.QuantumJob(qobj, preformatted=True)) self.assertIsInstance(result, Result)
def test_compile_run_remote(self, QE_TOKEN, QE_URL): """Test Compiler and run remote. If all correct some should exists. """ provider = IBMQProvider(QE_TOKEN, QE_URL) my_backend = provider.get_backend('ibmqx_qasm_simulator') qubit_reg = qiskit.QuantumRegister(2, name='q') clbit_reg = qiskit.ClassicalRegister(2, name='c') qc = qiskit.QuantumCircuit(qubit_reg, clbit_reg, name="bell") qc.h(qubit_reg[0]) qc.cx(qubit_reg[0], qubit_reg[1]) qc.measure(qubit_reg, clbit_reg) qobj = qiskit._compiler.compile(qc, my_backend) result = my_backend.run(qiskit.QuantumJob(qobj, preformatted=True)) self.assertIsInstance(result, Result)
def test_compile_two_run(self): """Test Compiler and run. If all correct some should exists. """ backend = get_backend('local_qasm_simulator') qubit_reg = qiskit.QuantumRegister(2, name='q') clbit_reg = qiskit.ClassicalRegister(2, name='c') qc = qiskit.QuantumCircuit(qubit_reg, clbit_reg, name="bell") qc.h(qubit_reg[0]) qc.cx(qubit_reg[0], qubit_reg[1]) qc.measure(qubit_reg, clbit_reg) qc_extra = qiskit.QuantumCircuit(qubit_reg, clbit_reg, name="extra") qc_extra.measure(qubit_reg, clbit_reg) qobj = qiskit._compiler.compile([qc, qc_extra], backend) result = backend.run(qiskit.QuantumJob(qobj, backend=backend, preformatted=True)).result() self.assertIsInstance(result, Result)
print(backend.status) my_backend_name = 'local_qasm_simulator' my_backend = qiskit.wrapper.get_backend(my_backend_name) print("(Local QASM Simulator configuration) ") pprint.pprint(my_backend.configuration) print("(Local QASM Simulator calibration) ") pprint.pprint(my_backend.calibration) print("(Local QASM Simulator parameters) ") pprint.pprint(my_backend.parameters) # Compiling the job qobj = qiskit.wrapper.compile([qc1, qc2], my_backend) # I think we need to make a qobj into a class # Runing the job sim_result = my_backend.run(qiskit.QuantumJob(qobj, preformatted=True)) # ideally # 1. we need to make the run take as the input a qobj # 2. we need to make the run return a job object # # job = my_backend.run(qobj) # sim_result=job.retrieve # the job is a new object that runs when it does and i dont wait for it to # finish and can get results later # other job methods # job.cancel -- use to abort the job # job.status -- the status of the job # Show the results print("simulation: ", sim_result) print(sim_result.get_counts(qc1))