0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

<簡単>(最新2025年3月版)量子ソフトウェアの始め方(IBM Composer実践編)

Posted at

安定するqBarid環境(Python3+Qiskit1.3+JupyterNotebook)とIBM Composer環境が入手出来たら、次はいよいよ量子コンピューターを動かしてみよう。

IBM ComposerはOpenQASM2.0というコードで記載することができる。ただ、そのお作法を量子コンピューターに触れるためだけに学ぶのはちょっとハードルが高い。そこで、Shorのアルゴリズム(素因数分解)とGroverのアルゴリズム(データ検索)をPythonからOpenQASM2.0に変換したコードがあるのでここに公開する。

Shorのアルゴリズム(素因数分解)OpenQASM2.0サンプル

OPENQASM 2.0;
include "qelib1.inc";
qreg q[4];
creg c[4];
h q[0];
h q[1];
h q[2];
h q[3];
cx q[0],q[1];
cx q[1],q[2];
cx q[2],q[3];
h q[0];
rz(pi/4) q[1];
rz(pi/4) q[0];
cx q[1],q[0];
rz(-pi/4) q[0];
cx q[0],q[1];
cx q[1],q[0];
rz(pi/8) q[2];
rz(pi/8) q[0];
cx q[2],q[0];
rz(-pi/8) q[0];
cx q[0],q[2];
cx q[2],q[0];
rz(pi/16) q[3];
rz(pi/16) q[0];
cx q[3],q[0];
rz(-pi/16) q[0];
cx q[0],q[3];
cx q[3],q[0];
h q[1];
rz(pi/4) q[2];
rz(pi/4) q[1];
cx q[2],q[1];
rz(-pi/4) q[1];
cx q[1],q[2];
cx q[2],q[1];
rz(pi/8) q[3];
rz(pi/8) q[1];
cx q[3],q[1];
rz(-pi/8) q[1];
cx q[1],q[3];
cx q[3],q[1];
h q[2];
rz(pi/4) q[3];
rz(pi/4) q[2];
cx q[3],q[2];
rz(-pi/4) q[2];
cx q[2],q[3];
cx q[3],q[2];
h q[3];
measure q[0] -> c[0];
measure q[1] -> c[1];
measure q[2] -> c[2];
measure q[3] -> c[3];

Groverのアルゴリズム(データ検索)OpenQASM2.0サンプル

// Name of Experiment: Grover N=2 A=11 v1

OPENQASM 2.0;
include "qelib1.inc";


qreg q[5];
creg c[5];

h q[1];
h q[2];
h q[2];
cx q[1],q[2];
h q[2];
h q[1];
h q[2];
x q[1];
x q[2];
h q[2];
cx q[1],q[2];
h q[2];
x q[1];
x q[2];
h q[1];
h q[2];
measure q[1] -> c[1];
measure q[2] -> c[2];

これでIBM Composerを使って、ShorのアルゴリズムをIBM Quantumで実行した場合の観測結果が得られる。
ただこれは観測結果を受け取るだけで、観測結果を評価、利用は出来ない。

観測結果を評価、利用するにはPythonで実装する必要があります。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?