こんにちは、blueqatSDKの要望が最近多いので再度使い方を確認します。最新版は次世代型対応でかなり変わっています。まずインストールしましょう。
!pip install -U blueqat
Requirement already satisfied: blueqat in /opt/conda/lib/python3.10/site-packages (2.0.2)
Collecting blueqat
Downloading blueqat-2.0.3-py3-none-any.whl (62 kB)
[2K [90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━[0m [32m62.9/62.9 kB[0m [31m768.3 kB/s[0m eta [36m0:00:00[0m00:01[0m
[?25hRequirement already satisfied: matplotlib>=3.5.1 in /opt/conda/lib/python3.10/site-packages (from blueqat) (3.5.2)
Requirement already satisfied: opt-einsum>=3.3.0 in /opt/conda/lib/python3.10/site-packages (from blueqat) (3.3.0)
Requirement already satisfied: networkx>=2.6.3 in /opt/conda/lib/python3.10/site-packages (from blueqat) (2.8.4)
Requirement already satisfied: numpy>=1.21.0 in /opt/conda/lib/python3.10/site-packages (from blueqat) (1.21.0)
Requirement already satisfied: quimb==1.4.0 in /opt/conda/lib/python3.10/site-packages (from blueqat) (1.4.0)
Requirement already satisfied: autoray>=0.2.5 in /opt/conda/lib/python3.10/site-packages (from blueqat) (0.3.2)
Requirement already satisfied: scipy>=1.5 in /opt/conda/lib/python3.10/site-packages (from blueqat) (1.8.1)
Requirement already satisfied: psutil>=4.3.1 in /opt/conda/lib/python3.10/site-packages (from quimb==1.4.0->blueqat) (5.9.1)
Requirement already satisfied: numba>=0.39 in /opt/conda/lib/python3.10/site-packages (from quimb==1.4.0->blueqat) (0.55.2)
Requirement already satisfied: cytoolz>=0.8.0 in /opt/conda/lib/python3.10/site-packages (from quimb==1.4.0->blueqat) (0.12.0)
Requirement already satisfied: tqdm>=4 in /opt/conda/lib/python3.10/site-packages (from quimb==1.4.0->blueqat) (4.64.0)
Requirement already satisfied: pyparsing>=2.2.1 in /opt/conda/lib/python3.10/site-packages (from matplotlib>=3.5.1->blueqat) (3.0.9)
Requirement already satisfied: cycler>=0.10 in /opt/conda/lib/python3.10/site-packages (from matplotlib>=3.5.1->blueqat) (0.11.0)
Requirement already satisfied: kiwisolver>=1.0.1 in /opt/conda/lib/python3.10/site-packages (from matplotlib>=3.5.1->blueqat) (1.4.4)
Requirement already satisfied: python-dateutil>=2.7 in /opt/conda/lib/python3.10/site-packages (from matplotlib>=3.5.1->blueqat) (2.8.2)
Requirement already satisfied: fonttools>=4.22.0 in /opt/conda/lib/python3.10/site-packages (from matplotlib>=3.5.1->blueqat) (4.34.4)
Requirement already satisfied: packaging>=20.0 in /opt/conda/lib/python3.10/site-packages (from matplotlib>=3.5.1->blueqat) (21.3)
Requirement already satisfied: pillow>=6.2.0 in /opt/conda/lib/python3.10/site-packages (from matplotlib>=3.5.1->blueqat) (9.2.0)
Requirement already satisfied: toolz>=0.8.0 in /opt/conda/lib/python3.10/site-packages (from cytoolz>=0.8.0->quimb==1.4.0->blueqat) (0.12.0)
Requirement already satisfied: setuptools in /opt/conda/lib/python3.10/site-packages (from numba>=0.39->quimb==1.4.0->blueqat) (63.2.0)
Requirement already satisfied: llvmlite<0.39,>=0.38.0rc1 in /opt/conda/lib/python3.10/site-packages (from numba>=0.39->quimb==1.4.0->blueqat) (0.38.1)
Requirement already satisfied: six>=1.5 in /opt/conda/lib/python3.10/site-packages (from python-dateutil>=2.7->matplotlib>=3.5.1->blueqat) (1.16.0)
Installing collected packages: blueqat
Attempting uninstall: blueqat
Found existing installation: blueqat 2.0.2
Uninstalling blueqat-2.0.2:
Successfully uninstalled blueqat-2.0.2
Successfully installed blueqat-2.0.3
最初にツールを読み込みます。今回は量子回路というものを作りますので、それを記述するためのツールを用意します。初回はちょっと読み込みに時間がかかります。
from blueqat import Circuit
早速量子回路を記述してみましょう。Circuit()のあとに、hとかcxとかの記号を書いていきます。最後に実行をします。
Circuit().h[0].cx[0,1].run()
Counter({'00': 1})
どうでしょうか?答えが出ましたね。今回は00という答えが1回出ました。複数回実行してみます。
circ = Circuit().h[0].cx[0,1]
circ.run(shots=1000)
Counter({'11': 488, '00': 512})
今回は実行を1000回としました。11と00が出ています。量子コンピュータではこのように計算をします。blueqatでは実機への実行も簡単にできます。さいきんかなり問い合わせが増えていて利用する人も増えていますので、ぜひ使ってみてください。簡単ですよ。以上です。