1量子ビットを制御してみよう:踊るバズワード 〜Behind the Buzzword(4)量子コンピュータ(4)(3/8 ページ)
本当に難しい話になってきました……。が、めげずに続けます。今回のテーマは「1量子ビットを制御する」です。それに関連して、量子シミュレーションやレーザー冷却方式にも触れたいと思います。
量子ビットを制御する「量子ゲート」
さて、ここからは、量子ビットを制御する ―― あるいは、”0猫”、”1猫”に虐待の限りを尽くす ―― 量子ゲートの「種類」についてお話します。
いろいろな量子ゲートがあるようですが、私は、この4つを選んでみました。
「(1)恒等ゲートI」は、入力した量子ビットの状態を、同じ量子ビットの状態で出力するゲートで、正直、何のためにあるんだ?と、私は首をかしげています(後述)。
「(2)位相シフトゲートPθ」は、”0猫”と”1猫”の相対的な位相を任意の角度にずらすことができるゲートです。
「(3)否定ゲート」は、”0猫”と”1猫”を入れ替えるゲートです。考え方としては、古典ゲートの”NOT”に似ている ―― と思われるかもしれませんが、その制御方法は恐ろしく複雑です(後述)。
ところで、上記の図では、入力は”0猫”のみ、または”1猫”のみの入力、となっていますが、実際はもっと複雑な量子ビットの入力もあり、こんな単純な例だけではありません。
例えば、”0猫”と”1猫”が重なった状態の量子ビットを否定するとどうなるか、と考えると、量子ゲートの”NOT”ほど単純な処理にはなりません(例えば、1/√2(“0猫”+”1猫”)を入力とすると、出力は、1/√2(“0猫”+”1猫”)となります。つまり変化しません)。
「(4)アダマールゲートH」は、量子ゲートの中で最も有名なゲートです。なぜなら、このゲートは、”0猫”または”1猫”から、”0猫”または”1猫”を重ね合わせた状態、すなわち「もつれ状態」を作り出すゲートだからです。量子計算は、この「もつれ状態」を作らないことには何も始められません。
[Tさんツッコミ!]これは間違いです。「重ね合わせ状態」を作り出すゲート、が正解です。江端さん、「重ね合わせ状態」と「もつれ状態」は違うものです。もつれ状態は、CNOTなどの2量子ビットゲート処理も必要です。
江端:私は「もつれ状態」を理解できていません(多分、多くの人も混同していると思います)。次回の課題とさせてください
量子ゲートの制御をブロッホ球で理解したい方は、こちらのアプリケーションでざっくりした理解ができます。
しかし、”0猫”と”1猫”の重ね合わせ状態を入力とした量子ビットからの、量子ビットの状態をブロッホ球上で見たい(私は見たかった)のであれば、こちらからブロッホ球のアプリケーションをダウンロードして利用することをお勧めします。
アダマールゲートとは、Z軸とX軸の間の45度の傾きの軸を用意し、その軸を回転中心として180度させるゲートです。
【注意】このアプリケーションのアダマールゲートの変換時のベクトルの”結果”は正しいのですが、その途中の”移動”の動きには違和感があります(最短移動しない)。ですので、その”移動軌跡”を私なりに図に書き加えてみたのですが、正直、これも自信ありません(これ、本当に180度になっているか?)*)
*)この連載の第1回で「『分からん』ことは、『分からん』と書く」とお約束しましたので。
さて、以上をまとめますと、量子ゲートとは、「(1)”0猫”状態だけの猫から出発して、(2)”0猫”と”1猫”のさまざまな重ね合わせ状態の猫に作り直す」、強制的な量子状態の変換装置であり、この強制変換そのものが、量子コンピュータの計算の本体です*)。
*)この強制変換の大変さは、「25メートルプールの水面の波の形を、(魔法とかを使わずに)一瞬で『自分がイメージした波』に変換させる」ような方法をイメージすれば、ご理解いただけると思います(プールをクレーンで吊り上げて、揺らして、たたいて、プールのサイズを自由自在に変更させて……それでも、全然足りないくらいの「大変さ」)
電子を使った量子ドットビットの量子ゲートであれば、この「”0猫”、”1猫”に虐待の限りを尽くす」……ではなく、2つの量子状態を強制的に変換する方法を使います。これが、前回ご紹介した、「ラビ振動」 ―― 正確に言うと、ラビ振動を起こさせる電流(と温度、磁場)の制御 ―― です。
(ちなみに私は、前回のコラムで、この制御のことを「量子ビットの初期化」と言っていましたが、これこそが「ゲート処理」そのものでした。一般に、量子ビットの初期化と言えば、猫を”0猫”だけの状態にすることです。お詫びして訂正いたします)
つまり、”0猫”と”1猫”に与える超高周波の微弱電流の「時間」と「位相」を制御できれば、任意のラビ振動を作り出すことができて、その結果、ブロッホ球上のどこにでも”0猫”と”1猫”を作り出すことができる ―― つまり、万能な1ビット量子ゲート「全ユニタリーゲート」を実現できるのです。
[Tさんツッコミ!]HゲートとTゲートの組み合わせでも1量子ビットの万能ゲートができることが知られています。
驚くべきことに、量子ビットは、超高周波の微弱電流の「位相」を調整した後、ある一定時間待っていれば、その状態になってしまうことがあります ―― というと、簡単のように聞こえるかもしれませんが、光が1cm単位進む時間単位で制御しなればならない、超絶高精度なタイミング制御が必要です。
まあ、パソコンのI/Oで制御できるような代物ではない ―― ということは、私にも分かるのですが、その操作装置の仕組みがよく分からないのです。
論文には実験結果は記載されていますが、実験装置(設計図)についてはあまり詳しく記載してもらえないようです*)。
*)まあ、実験装置=量子コンピュータそのもので、ノウハウの塊ですから、当然かもしれません。または実験装置は、自作しないで「外注会社に丸投げ」ということかもしれません(私も身に覚えがあります)
さて、1量子ビットのラビ振動を使った操作方法の概要を、以下に記載しておきます(位相制御については割愛しています)。
[Tさんツッコミ!]タイミング同期用にIを使うというのは知らなかったです。
江端:CNOTゲート(今回、未検討)のところで、そんな話を読んだような気がしましたので記載してみました。もし間違っていれば、次回訂正させて頂きます。
「1量子ビットのゲートの制御」を調べている最中に、私は、突然気が付きました。
―― これは、運転手を目隠ししたまま、自動車を運転させることと同じだ
と。
本当にしつこくて申し訳ありませんが ―― 量子状態の量子を観測してしまったら(つまり量子を「見て」しまったら)、その時点で、量子計算はオジャンです。量子状態”0猫+1猫の重ね合わせ状態”から、が”0”または”1”の状態に確定してしまうからです。
ということは ―― 量子計算(量子ゲート処理)を続ける為には、量子状態が分からないままの状態で、超高周波の微弱電流の位相と時間を制御し続けなければならない、ということです。
制御対象(量子ビット)を全く見ないで、制御する ―― これは制御工学の常識外(というか、”非常識”)です。量子コンピュータは、これまでの制御のパラダイムを全く使用できない、恐ろしく面倒くさい制御対象であることを、再度、ご確認頂きたいと思います(一般には「制御」って、こんな感じのものです)。
『古典コンピュータだって、計算中のビットを観測していないのではないか?』と思われるかもしれませんが、実は、私たちが使っているコンピュータでは、常時「誤りビット訂正」が行われ続けていて、観測され続けています。
あるいは、『なるほど、無観測の制御は難しいだろう。しかし、所詮は、スイッチング(ON/OFF + 特定位相(90度、180度))制御をしているだけだろう?』とか言われるかもしれないと思うと、量子コンピュータの計算手法をバカにされているようで、悔しい気持ちになってきました(私が、悔しがる必要はないのですが)。
そこで、「最も基本的な1ビット量子ゲートのタイミング制御(位相制御は省略)だけでも、こんなにも面倒くさいんだ」ということを、雰囲気だけでも味わって頂くためだけに、以下の表を作りました(参考:「14日で作る量子コンピュータ」(遠藤理平/2020年) ―― まあ、読まずに、スルーして頂いて結構です。
Copyright © ITmedia, Inc. All Rights Reserved.