예제 #1
0
 def test_run_local_backend_unitary(self):
     backend = get_backend('local_unitary_simulator')
     compiled_circuit = compile_circuit(self.qc)
     quantum_job = QuantumJob(compiled_circuit,
                              do_compile=False,
                              backend=backend)
     jobprocessor.run_backend(quantum_job)
예제 #2
0
    def test_run_remote_simulator_compile(self, QE_TOKEN, QE_URL):
        self._init_api(QE_TOKEN, QE_URL)

        quantum_job = QuantumJob(self.qc,
                                 do_compile=True,
                                 backend='ibmqx_qasm_simulator')
        jobprocessor.run_backend(quantum_job)
예제 #3
0
 def test_run_local_backend_qasm(self):
     backend = QasmSimulator()
     dag_circuit = compile_circuit(self.qc)
     quantum_job = QuantumJob(dag_circuit,
                              do_compile=False,
                              backend=backend)
     jobprocessor.run_backend(quantum_job)
예제 #4
0
    def test_run_remote_simulator_compile(self, QE_TOKEN, QE_URL):
        provider = IBMQProvider(QE_TOKEN, QE_URL)
        backend = provider.get_backend('ibmqx_qasm_simulator')

        quantum_job = QuantumJob(self.qc, do_compile=True,
                                 backend=backend)
        jobprocessor.run_backend(quantum_job)
    def test_run_remote_simulator(self, QE_TOKEN, QE_URL):
        self._init_api(QE_TOKEN, QE_URL)

        compiled_circuit = openquantumcompiler.compile(self.qc.qasm())
        quantum_job = QuantumJob(compiled_circuit, do_compile=False,
                                 backend='ibmqx_qasm_simulator')
        jobprocessor.run_backend(quantum_job)
예제 #6
0
    def test_run_remote_simulator(self, QE_TOKEN, QE_URL):
        provider = IBMQProvider(QE_TOKEN, QE_URL)
        backend = provider.get_backend('ibmqx_qasm_simulator')

        compiled_circuit = compile_circuit(self.qc)
        quantum_job = QuantumJob(compiled_circuit, do_compile=False,
                                 backend=backend)
        jobprocessor.run_backend(quantum_job)
예제 #7
0
 def test_run_local_backend_compile(self):
     # TODO: make this run on `local_qasm_simulator` after `do_compile`
     # is fixed in _quantumjob.
     backend = get_backend('local_qasm_simulator_py')
     quantum_job = QuantumJob(self.qasm_circ,
                              do_compile=True,
                              backend=backend)
     jobprocessor.run_backend(quantum_job)
예제 #8
0
 def test_run_local_backend_qasm(self):
     # TODO: make this run on `local_qasm_simulator` after `do_compile`
     # is fixed in _quantumjob.
     backend = get_backend('local_qasm_simulator_py')
     dag_circuit = compile_circuit(self.qc)
     quantum_job = QuantumJob(dag_circuit,
                              do_compile=False,
                              backend=backend)
     jobprocessor.run_backend(quantum_job)
예제 #9
0
    def test_run_remote_simulator(self, QE_TOKEN, QE_URL):
        provider = IBMQProvider(QE_TOKEN, QE_URL)
        backend = provider.available_backends({'simulator': True})[0]

        compiled_circuit = compile_circuit(self.qc)
        quantum_job = QuantumJob(compiled_circuit,
                                 do_compile=False,
                                 backend=backend)
        jobprocessor.run_backend(quantum_job)
    def test_two_unitary_simulator(self):
        """test running two circuits

        This test is similar to one in test_quantumprogram but doesn't use
        multiprocessing.
        """
        qr = QuantumRegister(2, 'q')
        cr = ClassicalRegister(1, 'c')
        qc1 = QuantumCircuit(qr, cr)
        qc2 = QuantumCircuit(qr, cr)
        qc1.h(qr)
        qc2.cx(qr[0], qr[1])
        circuits = [qc1, qc2]
        backend = UnitarySimulator()
        quantum_job = QuantumJob(circuits, do_compile=True, backend=backend)
        result = jobprocessor.run_backend(quantum_job)
        unitary1 = result[0]['data']['unitary']
        unitary2 = result[1]['data']['unitary']
        unitaryreal1 = np.array([[0.5, 0.5, 0.5, 0.5], [0.5, -0.5, 0.5, -0.5],
                                 [0.5, 0.5, -0.5, -0.5],
                                 [0.5, -0.5, -0.5, 0.5]])
        unitaryreal2 = np.array([[1, 0, 0, 0], [0, 0, 0, 1], [0., 0, 1, 0],
                                 [0, 1, 0, 0]])
        norm1 = np.trace(np.dot(np.transpose(np.conj(unitaryreal1)), unitary1))
        norm2 = np.trace(np.dot(np.transpose(np.conj(unitaryreal2)), unitary2))
        self.assertAlmostEqual(norm1, 4)
        self.assertAlmostEqual(norm2, 4)
예제 #11
0
 def test_run_local_backend_qasm(self):
     dag_circuit = openquantumcompiler.compile(self.qc)
     quantum_job = QuantumJob(dag_circuit,
                              do_compile=False,
                              backend='local_qasm_simulator')
     jobprocessor.run_backend(quantum_job)
예제 #12
0
 def test_run_local_backend_compile(self):
     quantum_job = QuantumJob(self.qasm_text, do_compile=True,
                              backend='local_qasm_simulator')
     jobprocessor.run_backend(quantum_job)
예제 #13
0
 def test_run_remote_simulator_compile(self):
     quantum_job = QuantumJob(self.qc, do_compile=True,
                              backend='ibmqx_qasm_simulator')
     jobprocessor.run_backend(quantum_job)
예제 #14
0
    def test_run_remote_simulator_compile(self, QE_TOKEN, QE_URL):
        provider = IBMQProvider(QE_TOKEN, QE_URL)
        backend = provider.available_backends({'simulator': True})[0]

        quantum_job = QuantumJob(self.qc, do_compile=True, backend=backend)
        jobprocessor.run_backend(quantum_job)
예제 #15
0
 def test_run_local_backend_unitary(self):
     compiled_circuit = openquantumcompiler.compile(self.qc.qasm())
     quantum_job = QuantumJob(compiled_circuit, do_compile=False,
                              backend='local_unitary_simulator')
     jobprocessor.run_backend(quantum_job)
 def test_run_local_backend_unitary(self):
     compiled_circuit = openquantumcompiler.compile(self.qc.qasm())
     quantum_job = QuantumJob(compiled_circuit, do_compile=False,
                            backend='local_unitary_simulator')
     jobprocessor.run_backend(quantum_job)
 def test_run_remote_simulator(self):
     compiled_circuit = openquantumcompiler.compile(self.qc.qasm())
     quantum_job = QuantumJob(compiled_circuit, do_compile=False,
                              backend='ibmqx_qasm_simulator')
     jobprocessor.run_backend(quantum_job)
 def test_run_local_backend_compile(self):
     quantum_job = QuantumJob(self.qasm_text, do_compile=True,
                            backend='local_qasm_simulator')
     jobprocessor.run_backend(quantum_job)
 def test_run_remote_simulator_compile(self):
     quantum_job = QuantumJob(self.qc, do_compile=True,
                              backend='ibmqx_qasm_simulator')
     jobprocessor.run_backend(quantum_job)
예제 #20
0
 def test_run_local_backend_compile(self):
     backend = QasmSimulator()
     quantum_job = QuantumJob(self.qasm_circ, do_compile=True,
                              backend=backend)
     jobprocessor.run_backend(quantum_job)