common.title

Docs
Quantum Circuit
TYTAN CLOUD

QUANTUM GAMING


Overview
Contact
Event
Project
Research

Terms of service (Web service)

Terms of service (Quantum and ML Cloud service)

Privacy policy


Sign in
Sign up
common.title

OQC's British-made quantum computer.

Yuichiro Minato

2022/10/15 05:27

Today we will use a British-made quantum computer. Quantum computers seem to be an American thing, but recently there are more and more machines that can be used all over the world.

OQC

https://oxfordquantumcircuits.com/

It is a superconducting type. I will try to set up some kind of appropriate problem and run it.

from braket.circuits import Circuit
from braket.devices import LocalSimulator
import matplotlib.pyplot as plt
%matplotlib inline

First, let's simulate a quantum circuit.

bell = Circuit().h(0).cnot(0,1)
print(bell)
T  : |0|1|
          
q0 : -H-C-
        | 
q1 : ---X-

T  : |0|1|
#local simulator
device = LocalSimulator()

#run 10 times
result = device.run(bell, shots=10).result()

counts = result.measurement_counts
print(counts)

plt.bar(counts.keys(), counts.values());
Counter({'11': 6, '00': 4})
<Figure size 432x288 with 1 Axes>

image

Next, prepare Lucy. Check the gate set just in case.

from braket.aws import AwsDevice

device = AwsDevice("arn:aws:braket:eu-west-2::device/qpu/oqc/Lucy")
print(device.properties.action['braket.ir.jaqcd.program'].supportedOperations)
['ccnot', 'cnot', 'cphaseshift', 'cswap', 'cy', 'cz', 'h', 'i', 'phaseshift', 'rx', 'ry', 'rz', 's', 'si', 'swap', 't', 'ti', 'v', 'vi', 'x', 'y', 'z', 'ecr', 'start_verbatim_box', 'end_verbatim_box']

And let's throw it out there right away, let's do the math 100 times.

task = device.run(bell, shots=100) 

counts = task.result().measurement_counts
print(counts)

plt.bar(counts.keys(), counts.values());
Counter({'00': 54, '11': 36, '10': 6, '01': 4})
<Figure size 432x288 with 1 Axes>

image

It's great. The calculations went quickly, I'm going to try 8 qubits at GHZ.

circuit = Circuit().h(0).cnot(0,1).cnot(1,2).cnot(2,3).cnot(3,4).cnot(4,5).cnot(5,6).cnot(6,7)

task = device.run(circuit, shots=100) 

counts = task.result().measurement_counts
print(counts)

plt.bar(counts.keys(), counts.values());
Counter({'00010011': 3, '01101100': 3, '00011100': 2, '00100111': 2, '00101100': 2, '00110000': 2, '00110110': 2, '00111010': 2, '01001011': 2, '01010100': 2, '01011000': 2, '01011010': 2, '01101010': 2, '01111000': 2, '10000100': 2, '10000101': 2, '11000011': 2, '11010000': 2, '11010110': 2, '11010111': 2, '11011100': 2, '11110110': 2, '11110111': 2, '11111010': 2, '00001100': 1, '00010100': 1, '00010101': 1, '00011010': 1, '00011110': 1, '00011111': 1, '00110011': 1, '00110100': 1, '00111110': 1, '01000000': 1, '01000011': 1, '01000100': 1, '01010000': 1, '01011011': 1, '01100010': 1, '01100110': 1, '01101001': 1, '01111011': 1, '01111101': 1, '01111110': 1, '10000110': 1, '10001110': 1, '10001111': 1, '10010001': 1, '10010110': 1, '10011001': 1, '10011011': 1, '10011101': 1, '10011111': 1, '10100101': 1, '10101100': 1, '10110000': 1, '10110001': 1, '10110010': 1, '10111010': 1, '10111101': 1, '11000010': 1, '11000100': 1, '11000110': 1, '11000111': 1, '11001010': 1, '11001111': 1, '11010101': 1, '11011001': 1, '11011010': 1, '11011101': 1, '11101111': 1, '11111000': 1, '11111001': 1, '11111011': 1})
<Figure size 432x288 with 1 Axes>

image

As expected, all the GHZs were tight, but overall, they were normal and quite a bit more solid than I expected.

© 2025, blueqat Inc. All rights reserved