def test_honeywell() -> None: token = os.getenv("HQS_AUTH") backend = HoneywellBackend( device_name="HQS-LT-1.0-APIVAL", machine_debug=skip_remote_tests ) c = Circuit(4, 4, "test 1") c.H(0) c.CX(0, 1) c.Rz(0.3, 2) c.CSWAP(0, 1, 2) c.CRz(0.4, 2, 3) c.CY(1, 3) c.ZZPhase(0.1, 2, 0) c.Tdg(3) c.measure_all() backend.compile_circuit(c) n_shots = 4 handle = backend.process_circuits([c], n_shots)[0] correct_shots = np.zeros((4, 4)) correct_counts = {(0, 0, 0, 0): 4} res = backend.get_result(handle, timeout=49) shots = res.get_shots() counts = res.get_counts() assert backend.circuit_status(handle).status is StatusEnum.COMPLETED assert np.all(shots == correct_shots) assert counts == correct_counts newshots = backend.get_shots(c, 4, timeout=49) assert np.all(newshots == correct_shots) newcounts = backend.get_counts(c, 4) assert newcounts == correct_counts if token is None: assert backend.device is None
def test_bell() -> None: b = HoneywellBackend(device_name="HQS-LT-1.0-APIVAL") c = Circuit(2, 2, "test 2") c.H(0) c.CX(0, 1) c.measure_all() b.compile_circuit(c) n_shots = 10 shots = b.get_shots(c, n_shots) print(shots) assert all(q[0] == q[1] for q in shots)
def test_shots_bits_edgecases(n_shots, n_bits) -> None: honeywell_backend = HoneywellBackend("HQS-LT-1.0-APIVAL", machine_debug=True) c = Circuit(n_bits, n_bits) # TODO TKET-813 add more shot based backends and move to integration tests h = honeywell_backend.process_circuit(c, n_shots) res = honeywell_backend.get_result(h) correct_shots = np.zeros((n_shots, n_bits), dtype=int) correct_shape = (n_shots, n_bits) correct_counts = Counter({(0,) * n_bits: n_shots}) # BackendResult assert np.array_equal(res.get_shots(), correct_shots) assert res.get_shots().shape == correct_shape assert res.get_counts() == correct_counts # Direct assert np.array_equal(honeywell_backend.get_shots(c, n_shots), correct_shots) assert honeywell_backend.get_shots(c, n_shots).shape == correct_shape assert honeywell_backend.get_counts(c, n_shots) == correct_counts
def test_multireg() -> None: b = HoneywellBackend(device_name="HQS-LT-1.0-APIVAL", label="test 3") c = Circuit() q1 = Qubit("q1", 0) q2 = Qubit("q2", 0) c1 = Bit("c1", 0) c2 = Bit("c2", 0) for q in (q1, q2): c.add_qubit(q) for cb in (c1, c2): c.add_bit(cb) c.H(q1) c.CX(q1, q2) c.Measure(q1, c1) c.Measure(q2, c2) b.compile_circuit(c) n_shots = 10 shots = b.get_shots(c, n_shots) assert np.array_equal(shots, np.zeros((10, 2)))