Ejemplo n.º 1
0
    def test_parameterized_qobj_statevector(self):
        """Test parameterized qobj with Expectation Value snapshot and qasm simulator."""
        statevec_targets = snapshot_expval_final_statevecs() * 3

        backend = StatevectorSimulator()
        qobj = self.parameterized_qobj(backend=backend,
                                       measure=False,
                                       snapshot=False)
        self.assertIn('parameterizations', qobj.to_dict()['config'])
        job = backend.run(qobj, self.BACKEND_OPTS)
        result = job.result()
        success = getattr(result, 'success', False)
        num_circs = len(result.to_dict()['results'])
        self.assertTrue(success)

        for j in range(num_circs):
            statevector = result.get_statevector(j)
            np.testing.assert_array_almost_equal(statevector,
                                                 statevec_targets[j].data,
                                                 decimal=7)
Ejemplo n.º 2
0
    assert result.success is True
    compare_counts(result, circuits, targets, delta=0.05 * shots)

    # Run qasm simulator
    simulator = QasmSimulator()
    result = simulator.run(transpile(circuits, simulator),
                           shots=shots).result()
    assert result.status == 'COMPLETED'
    assert result.success is True
    compare_counts(result, circuits, targets, delta=0.05 * shots)

    # Run statevector simulator
    circuits = cx_gate_circuits_deterministic(final_measure=False)
    targets = cx_gate_statevector_deterministic()
    backend = StatevectorSimulator()
    result = backend.run(transpile(circuits, backend), shots=1).result()
    assert result.status == 'COMPLETED'
    assert result.success is True
    compare_statevector(result, circuits, targets)

    # Run unitary simulator
    circuits = cx_gate_circuits_deterministic(final_measure=False)
    targets = cx_gate_unitary_deterministic()
    backend = UnitarySimulator()
    result = backend.run(transpile(circuits, backend), shots=1).result()
    assert result.status == 'COMPLETED'
    assert result.success is True
    compare_unitary(result, circuits, targets)

    # Run pulse simulator
    system_model, schedule = model_and_pi_schedule()