common.title
Cloud support

Nobisuke

Dekisugi

RAG


autoQAOA
RAG for dev
Fortune telling app
Annealing
DEEPSCORE
Translation

Overview
Service 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>output

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>output

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>output

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

© 2024, blueqat Inc. All rights reserved