Nobisuke
Dekisugi
RAG
Privacy policy
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.
Copy from braket.circuits import Circuit from braket.devices import LocalSimulator import matplotlib.pyplot as plt %matplotlib inline
First, let's simulate a quantum circuit.
Copy bell = Circuit().h(0).cnot(0,1) print(bell)
T : |0|1|
q0 : -H-C-
|
q1 : ---X-
T : |0|1|
Copy #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>
Next, prepare Lucy. Check the gate set just in case.
Copy 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.
Copy 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>
It's great. The calculations went quickly, I'm going to try 8 qubits at GHZ.
Copy 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>
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