アルゴリズムについて勉強した事をまとめています。投稿記事は間違っている箇所があること前提で読んで下さい。間違え・質問等がありましたら指摘いただけると幸いです。前回までの記事は読むだけでも理解できる内容だったかもしれません(僕には無理ですが)。今回以降の記事からは適当な紙に数式を書き出しながら読み進めないと理解が困難になるのでは、と僕は思います。偉そうにお節介な事をすみません。はじめに前回は量子ゲートの定義等を説明しました。今回は具体的な量子ゲートを紹介しようと思うのですが、全部を話すと長くなってしまうし面白くないので、とりあえず、次回以降で解説予定のDeautch-ZoszaのアルゴリズムやBernstein-Vaziraniのアルゴリズムで使用される量子ゲートだけを説明しておこうと思います。本題に入る前に、あまり他の分野では見ない量子情報理論特有(?)の数式表記について説明しておきます。$x$は以下のようにに二進数表記されます。y_{0}と計算するルールであることにも注意して下さい。1000\end{align}と書けます。\end{align}となります。ここら辺はちょっと躓くポイントなのかなあ、と思ったので注意して下さい。アダマールゲートでは、具体的なゲートを紹介していきましょう。アダマールゲートから。アダマールゲートは、IntroductionでのVernstein-Vaziraniのアルゴリズムの例え話で出てきた分身に対応するゲートです。このゲートは以下の行列で定義されます。\left(\begin{matrix}1&1\\1&-1\end{matrix}\right)まずは1qubitに作用する場合を考えてみましょう。\right)となります。同様に、$H\ket{1}$の$0$と$1$の観測確率も$1/2$となります。このようにアダマールゲートには、重ね合わせの無い状態から、$0$と$1$が均等に混ざり合った状態を作り出す性質があります。Hゲートが$\ket{0}$に作用するか$\ket{1}$に作用するかで何が違ってくるのかと言うと、見てわかる通りですが、作用した後の状態の$\ket{1}$の符号が異なってきます。観測結果に違いは現れません。factor)と呼ぶことにしましょう。この位相因子は量子計算を行う上で非常に重要な物となり得ます。2回作用させてみましょう。\right)となります。ここまでは先ほどと同じですね。次に2度目のアダマール変換。$\ket{0}$へと戻ります。これは位相因子の影響によって2度目のアダマール変換の際に$\ket{1}$という値が消え、$\ket{0}$だけが残ったためであることが分かります。$H^2$という演算の内部では位相因子が原因となって数値の打ち消し合いが起こっています。様々な量子アルゴリズムでは位相因子が重要となりますので、その事を気に留めておいて下さい。(上の例のように不要な数値同士を打ち消し合わせるため等に使用します。)n-qubitのアダマール変換を説明する前に、1-qubitのアダマール変換を定式化しておきましょう。\end{array}\right.\end{align}n-qubitでは、上のの量子回路のようにn-qubitにアダマール変換を施した場合を考えましょう。\right\}であることに注意して下さい。4段目で先ほど定式化した1-qubitのアダマール変換式を使用しています。4段目から5段目の式変形は序盤に説明した二進数の記法を使っていることに注意して下さい。終わりにどうしてこれを分身に例えたかと言うと、例えば3-qubit、つまりn=3を上の式に代入してみましょう。\right)\end{align}このように、アダマールゲートによって、0という数値から$2^n$個の数値を作り出す事ができるのです。これってなんか分身みたいじゃないですか...?アダマールゲートにはこのような性質があるので、様々なアルゴリズムで非常に重要な役割を果たします。0~7までの入力値を作り出した後、同時に$f(0)$~$f(7)$を計算させるとか、そういう時にアダマールゲートが必要となります。deutsch-jozsaやBernstein-Vaziraniのアルゴリズムで$f(x)$を計算させるために使われるゲートが量子オラクルになります。量子オラクルの説明はあまり長くないのでこの記事にまとめようと思っていたですが、アダマールゲートの話が結構長くなってしまったので次回の記事に持ち越します。ここまで読んで下さった方がいましたらありがとうございました。123@123123投稿記事は間違っている箇所がある事前提で読んで下さい。間違え・質問等がありましたら指摘いただけると幸いです。※今後の投稿の予定はありません、すみません。upLoginユーザーは見つかりませんでした。