common.title

Docs
Quantum Circuit
TYTAN CLOUD

QUANTUM GAMING


autoQAOA
Desktop RAG

Overview
Terms of service

Privacy policy

Contact
Research

Sign in
Sign up
common.title

ちょっと珍しい、OQCのイギリス製量子コンピュータを使ってみました

Yuichiro Minato

2022/10/14 11:04

本日は珍しいイギリス製の量子コンピュータを使ってみます。量子コンピュータというとアメリカという感じがしますが、最近は全世界で使えるマシンが増えています。

OQC

https://oxfordquantumcircuits.com/

超伝導タイプとなっています。なんか適当な問題を設定して動かしてみようと思います。

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

まずは量子回路をシミュレートしてみます。

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

T  : |0|1|
#デバイス指定でシミュレータ指定
device = LocalSimulator()

#10回計算してみます
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

つぎにLucyを準備します。念のためゲートセットも確認します。

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']

そして早速投げてみましょう。100回計算してみます。

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

すごいですね。すぐに戻ってきました。せっかくなので8量子ビット使ってみたいと思います。GHZで8量子ビットやってみます。

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

さすがに全部のGHZはきつかったですが、全体的には普通に使えましたし、思ってたよりも結構しっかりしてましたね。

© 2025, blueqat Inc. All rights reserved