可換ブロック回路によるBackpropagation
/icons/hr.icon
仮定
1. 回路を用意
2. ブロック単位に分割
可換ブロックの考え方は、以下の通り
$ U(\theta) = D \prod_j e^{-i\theta_j G_j} H
$ H:初期回路
$ D:測定前回路
/icons/hr.icon
手順
$ \frac{\partial C}{\partial \theta}はブロックごとに計算するので、プロック数だけ基底変換と測定が必要。 /icons/hr.icon
計算例
仮定
$ |\psi_0\rangle = \left( \begin{matrix} 1\\0 \end{matrix} \right)
$ \theta_0=\frac{\pi}{2}
$ \theta_1=\frac{\pi}{2}
$ \theta_2 = \frac{\pi}{2}
$ \theta_3 = \pi
https://scrapbox.io/files/689f248a86703d7002642c9c.png
これを、生成子が可換であるブロック単位に分けて考える。 https://scrapbox.io/files/68a1b1dfb1f57f2981c74dc8.png
$ |\psi(\theta)\rangle = Ry(\theta_3) Ry(\theta_2) Rx(\theta_1) Rx(\theta_0) |\psi_0\rangle
$ = \left( \begin{matrix} \cos{\frac{\pi}{2}} & -\sin{\frac{\pi}{2}} \\ \sin{\frac{\pi}{2}} & \cos{\frac{\pi}{2}} \end{matrix} \right) $ \left( \begin{matrix} \cos{\frac{\pi}{4}} & -\sin{\frac{\pi}{4}} \\ \sin{\frac{\pi}{4}} & \cos{\frac{\pi}{4}} \end{matrix} \right) $ \left( \begin{matrix} \cos{\frac{\pi}{4}} & -i\sin{\frac{\pi}{4}} \\ -i\sin{\frac{\pi}{4}} & \cos{\frac{\pi}{4}} \end{matrix} \right) $ \left( \begin{matrix} \cos{\frac{\pi}{4}} & -i\sin{\frac{\pi}{4}} \\ -i\sin{\frac{\pi}{4}} & \cos{\frac{\pi}{4}} \end{matrix} \right) $ \left( \begin{matrix} 1\\0 \end{matrix} \right)
$ = \left( \begin{matrix} \cos{\frac{\pi}{4}} & -\sin{\frac{\pi}{4}} \\ \sin{\frac{\pi}{4}} & \cos{\frac{\pi}{4}} \end{matrix} \right) $ \left( \begin{matrix} \cos{\frac{\pi}{2}} & -\sin{\frac{\pi}{2}} \\ \sin{\frac{\pi}{2}} & \cos{\frac{\pi}{2}} \end{matrix} \right) $ \left( \begin{matrix} 0\\-i \end{matrix} \right)
$ = \frac{1}{\sqrt{2}} \left( \begin{matrix} i\\i \end{matrix} \right)
よって、
ブロック0の期待値は、生成子$ X なので$ i\left[\frac{X}{2},Z\right] = Y より、
$ \langle\psi(\theta)| Y | \psi(\theta)\rangle $ = -\frac{1}{2} $ \left( \begin{matrix} 1&1 \end{matrix} \right) $ \left( \begin{matrix} 0&-i\\i&0 \end{matrix} \right) $ \left( \begin{matrix} 1\\1 \end{matrix} \right)$ = 0
ブロック1の期待値は、生成子$ Y の場合、$ i\left[\frac{Y}{2},Z\right] = -X なので、
$ -\langle\psi(\theta)|X|\psi\rangle $ = -\frac{1}{2} $ \left( \begin{matrix} 1&1 \end{matrix} \right) $ \left( \begin{matrix} 0&1\\1&0 \end{matrix} \right) $ \left( \begin{matrix} 1\\1 \end{matrix} \right)$ =-1
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
本来、勾配はパラメータごとに算出するので、
$ [0,0,-1,-1]
/icons/hr.icon
実機
生成子$ X の場合、$ i\left[\frac{X}{2},Z\right] = Y なので、Y基底変換。 以下を$ c_0とする。
https://scrapbox.io/files/68a320dd8edb71e7f6c47216.png
$ c_0について、
$ |c_0\rangle = HS^\dagger|\psi(\theta)\rangle
$ = \frac{1}{\sqrt{2}} \left( \begin{matrix} 1&1\\1&-1 \end{matrix} \right) $ \left( \begin{matrix} 1&0\\0&i \end{matrix} \right) $ \frac{1}{\sqrt{2}} \left( \begin{matrix} i\\i \end{matrix} \right)
$ = \frac{1}{2} \left( \begin{matrix} 1&1\\1&-1 \end{matrix} \right) $ \left( \begin{matrix} i\\-1 \end{matrix} \right)
$ = \frac{1}{2} \left( \begin{matrix} -1-i\\1+i \end{matrix} \right)
$ M=1024で測定すると、
$ P(0) = 514
$ P(1) = 510
$ \lambda_k = (-1)^k
$ \hat{m} = \frac{1}{1024} \sum_{k=0}^{1024} \lambda_k = 0.0039... \approx 0
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
生成子$ Y の場合、$ i\left[\frac{Y}{2},Z\right] = -X なので、X基底変換。ただし、最後に$ -Xなので最後に符号反転が必要。 以下を$ c_1とする。
https://scrapbox.io/files/68a1b4bb57531a7f62f1f2b6.png
$ c_1について、
$ |c_1\rangle = H |\psi(\theta)\rangle
$ = \frac{1}{\sqrt{2}} \left( \begin{matrix} 1&1\\1&-1 \end{matrix} \right) $ \frac{1}{\sqrt{2}} \left( \begin{matrix} i\\i \end{matrix} \right)
$ = \left( \begin{matrix} i\\0 \end{matrix} \right)
$ M=1024で測定すると、
$ P(0) = 1023
$ P(1) = 1
$ \lambda_k = (-1)^k
$ \hat{m} = \frac{1}{1024} \sum_{k=0}^{1024} \lambda_k = 0.9980... \approx 1
/icons/hr.icon
補足
$ Rx → Ry → Rxのような場合、ブロックは3個。ブロック化する場合、連なっている必要がある。