common.title

Docs
Quantum Circuit
TYTAN CLOUD

QUANTUM GAMING


Desktop RAG

Overview
Terms of service

Privacy policy

Contact
Research

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