はじめに¶
インストール¶
blueqat は Python 3.11 以上が必要で、シミュレーション基盤として PyTorch を インストールします:
pip install git+https://github.com/blueqat/blueqatSDK
開発用:
git clone https://github.com/blueqat/blueqatSDK
cd blueqatSDK
pip install -e .[dev]
pytest tests/ -q
最初の回路¶
回路はメソッドチェーンで構築します。ゲートは属性として選び、 [...] の
インデックスで量子ビットに適用します:
from blueqat import Circuit
c = Circuit() # 量子ビット数は自動で拡張されます
c.h[0] # 量子ビット0にHadamard
c.cx[0, 1] # CNOT: 制御0、標的1
# あるいは1つのチェーンとして:
c = Circuit().h[0].cx[0, 1]
実行すると状態ベクトルが torch.Tensor として返ります
(量子ビット0が状態インデックスの最下位ビットです):
c.run()
# tensor([0.7071+0.j, 0.0000+0.j, 0.0000+0.j, 0.7071+0.j])
測定結果をサンプリングする場合:
c.m[:].run(shots=1000)
# Counter({'00': 493, '11': 507})
スライスで複数の量子ビットにまとめて適用できます:
Circuit(4).h[:] # 全量子ビットにH
Circuit(4).x[1:3] # 量子ビット1, 2にX
Circuit(4).z[0, 3] # 量子ビット0と3にZ
次に読むページ¶
回路とゲート – 全ゲートセット、回路の情報取得、QASM。
バックエンドと実行 – statevector と tensornet、shots、大規模回路。
微分可能な回路・VQE・QAOA – 微分可能な回路、VQEとQAOA。
Exchange-Onlyスピン量子ビット – Exchange-Onlyスピン量子ビットとパルス コンパイル。