祝!D-Wave量子ゲート参入。blueqatSDKをつかって、量子アニーリングのソフトウェアを簡単に量子ゲートに変換するたった1つの方法

量子アニーリングのハミルトニアンQUBO行列を量子ゲートのハミルトニアンに変換する

こんにちは。量子アニーリングから量子ゲートに参入する際に、これまでのソフトウェア資産を変換したいですよね。blueqatには2018年からその変換ツールが搭載されており、量子ゲートで量子アニーリングの資産を活用することができます。具体的な方法を見てみましょう。

旧wildqatモジュールのpauliを呼び出し、QUBOをパウリ演算に変換

基本的にイジング定式化に戻しますが、量子ゲートで読める形に変換します。まずはツールを読み込みましょう。

import blueqat.wq as wq

そして、簡単です。QUBO行列を作ります。

QUBO = [[1,1],[0,1]]

それをwq.pauliに入れて終わりです。自動変換されます。

hamiltonian = wq.pauli(QUBO)

中身を確認してみましょう

print(hamiltonian)

うまく変換できていますね。さっそくこれを使って量子ゲートで計算してみましょう。

変換したパウリ行列をQAOAに入れる

量子ゲートは量子ビット数が少ないので、まだ大きな問題が解けません。上記の行列は小さいので、ステップ数というアナログをデジタル分割するパラメータを決めて実行してみます。今回はステップp=2とします。

step = 2

実行するにはQAOAというアルゴリズムを使いますが、blueqatには、hamiltonianとstepを入れれば計算できる機能があります。

from blueqat import vqe
result = vqe.Vqe(vqe.QaoaAnsatz(hamiltonian, step)).run()
print(result.most_common(12))

簡単に計算できましたね!ちなみに変換された量子回路は、

result.circuit

このように変換できました。これをIonQなどの実機にblueqat cloud経由で入れたりもできます。では楽しんでください!

Yuichiro Minato
blueqat CEO/CTO 2015年総務省異能vation最終採択 2017年内閣府ImPACTプロジェクトPM補佐 2019年文科省さきがけ量子情報処理領域アドバイザー
Comments
Yuichiro Minato
blueqat CEO/CTO 2015年総務省異能vation最終採択 2017年内閣府ImPACTプロジェクトPM補佐 2019年文科省さきがけ量子情報処理領域アドバイザー
Related posts

blueqat Inc.

Shibuya Scramble Square 39F 2-24-12, Shibuya, Shibuya-ku, Tokyo
Contact: info@blueqat.com