100マス量子回路計算やってみよう〜初級編〜
駒場祭で、100マス積分や100マスホモロジー計算を配布していたのを見て、ふと思いつきました。
みなさん、やってみましょう。
やり方
左列に書いてある量子回路に、上行に書いてある量子回路をつなげてできる状態をマス目に書いてください。
ただし、初級編では
\begin{eqnarray}
|0> &=& \begin{pmatrix} 1 \\ 0 \end{pmatrix}\\
|1> &=& \begin{pmatrix} 0 \\ 1 \end{pmatrix}\\
|+> &=& \frac{1}{\sqrt 2}\begin{pmatrix} 1 \\ 1 \end{pmatrix}\\
|-> &=& \frac{1}{\sqrt 2}\begin{pmatrix} 1 \\ -1 \end{pmatrix}\\
|i> &=& \frac{1}{\sqrt 2}\begin{pmatrix} 1 \\ i \end{pmatrix}\\
|-i> &=& \frac{1}{\sqrt 2}\begin{pmatrix} 1 \\ -i \end{pmatrix}\\
\end{eqnarray}
のいずれかを記入します。これらの定数倍($-|i>$や$i|->$など)になった場合は、定数は無視して記入します。
たったこれだけしかないので、「これ重複しとるやん」みたいなのが多数ありますが、気にせずやっていきましょう。
初級編
キミはできたかな?
これを暗算できないと量子プログラミングできないかというと、全然そんなことないんですが。やっぱりできた方が便利です。
毎日練習して、量子回路暗算王を目指しましょう。
中級編、上級編?
初級編を作ってみたら、回路が場所を取って厳しい、ということが分かりました。
また、今以上に複雑な解だと、どうやって答えを記述するか、という問題も出てきます。
うまいこと作れたら、これからも出していきます。
答えがほしい
以下をコピペすれば、Blueqatで答えが求まります。
import numpy as np
from blueqat import Circuit
# 初級編
tate = [
Circuit().i[0],
Circuit().h[0],
Circuit().x[0],
Circuit().y[0],
Circuit().z[0],
Circuit().s[0],
Circuit().h[0].x[0],
Circuit().h[0].y[0],
Circuit().h[0].z[0],
Circuit().h[0].s[0],
Circuit().x[0].s[0],
]
yoko = [
Circuit().i[0],
Circuit().s[0],
Circuit().z[0],
Circuit().y[0],
Circuit().h[0],
Circuit().x[0],
Circuit().h[0].s[0],
Circuit().h[0].z[0],
Circuit().h[0].y[0],
Circuit().h[0].x[0],
Circuit().x[0].s[0],
]
states = [
(np.array([1, 0], dtype=complex), '|0>'),
(np.array([0, 1], dtype=complex), '|1>'),
(np.array([1, 1], dtype=complex) / np.sqrt(2), '|+>'),
(np.array([1, -1], dtype=complex) / np.sqrt(2), '|->'),
(np.array([1, 1j], dtype=complex) / np.sqrt(2), '|i>'),
(np.array([1, -1j], dtype=complex) / np.sqrt(2), '|-i>'),
]
def get_answer(c1, c2):
state = (c1.copy() + c2).run(ignore_global=True)
for ref, ans in states:
if np.allclose(ref, state):
return ans
raise ValueError(f'Unexpected states. {state}')
for c1 in tate:
for c2 in yoko:
print('{:4}'.format(get_answer(c1, c2)), end=' ')
print('')
Author And Source
この問題について(100マス量子回路計算やってみよう〜初級編〜), 我々は、より多くの情報をここで見つけました https://qiita.com/gyu-don/items/3e4e9ef799c5bb377960著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .