本記事のスタンス
- アマチュアによる解説です。
- ただし可能な限りは勉強しております。
- 光については、研究の経験があります。
トリガー
JSTから光量子コンピュータの実機に関するプレスが出ました。
新方式の量子コンピューターを実現
~世界に先駆けて汎用型光量子計算プラットフォームが始動~
https://www.jst.go.jp/pr/announce/20241108-3/index.html
光量子は量子コンピュータの中でも結構難しい部類に入るので、私含め、何が起こっているのか分からないと思います。
これをかみ砕きたいと思います。
新方式の量子コンピュータ とは?
これまで実機公開されている量子コンピュータを、ここでは「積み上げ型の量子コンピュータ」と呼称することにします。
「積み上げ型」では、初期状態(もつれていない量子たち)に対して、次々と論理ゲート(NOT,OR,AND,XOR...)に相当するような量子ゲートという量子操作を繰り返すことで、もつれをうまく生成し、目的の状態を得ます。
この終状態が、解きたい問題の解の情報を持つように、ゲートの系列を決定するものを量子アルゴリズムといいます。
これは古典コンピュータの動作に近いものといえます。
で、今回の新方式は、目的は同じですが、手法が全く異なります。
新方式は、一般には「測定型の量子計算」「一方向量子計算」などと呼ばれるものです。
測定型量子計算では、始状態として、多数個の量子同士が互いにもつれたものを用意します。
積み上げ型では、もつれのない量子から始めていたのと、対照的です。
そして、もつれた多数個の量子に対して、適切な順番と適切な種類の量子測定をかけていきます。
測定された量子は、ほかの量子とのもつれが解除され、重ね合わせも破壊されます。
このとき、まだ測定していない残った量子たちに注目します。
量子情報理論においては、量子を「測定」することは、(一般には)その代償として、もつれを通じて、残りの量子たちの状態を変化させてしまいます。
これが、「積み上げ型」でいうところの量子ゲート操作になるのです。
「ある量子を測定することで、必然的に(もつれていれば)ほかの量子への操作となる」というこの現象を、量子ゲートテレポーテーションといいます。
どのような変化が起こるかは、量子測定の種別と、測定結果に依存します。
量子測定においては、測定結果は確率的にしか定まらないので、ランダムにゲートがかかってしまうことになり、困ります。
例えば、測定結果が0のときはH→Xというゲートがかかるが、1のときはHだけがかかる、という具合です。
ただし、測定結果を知れば、どのようなゲート操作が今かかっている「はず」かは机上検討で分かります。
したがって、そのゲート操作を”打ち消す”ような操作を行えば、測定結果の揺らぎによるゲートの揺らぎは取り除くことができます。
上の例だと、測定結果として0がでたならば、余分にXがかかっているわけなので、もう一度Xゲートをかけてやれば、測定結果によらずHゲートがかかったことになります。
これはある種の誤り訂正ともいえます。
このような訂正操作は、実は量子ゲートでその時その時に頑張らなくても、終状態の測定後にまとめて古典計算で行うことができるそうです。
したがって、大規模な量子もつれ状態を作成し、適切な順番と測定種別で測定する=量子もつれを部分的に破壊していく ことで、測定に伴う”反作用”を利用して、状態を変化させ、所望の終状態へ到達することができます。
実際、この「測定型量子計算」と、「従来の積み上げ型」は、まったく同じ計算能力を持つことが知られています(互いに翻訳可能)。
したがって、いわゆる誤り耐性量子計算(量子誤り訂正符号)にすることもできます。
測定型量子計算の場合、大規模な量子もつれ状態をはじめに作る必要がありますが、それ以降は「測定」のみでよく、従来の積み上げ型のように量子ゲートを(能動的に)かける必要がありません。
この点は、誤り率を下げることに有用と考えられています。
対して、もつれ状態をきちんと用意できているのかどうかをどうやって確認するのか?といった指摘もあります。
光を使う
今回は「光を使った」「測定型量子計算」ということですので、
次に「光を使った」を説明します。
これまでIBMやGoogleがやっている超電導量子コンピュータや、IonQがやっているイオントラップ型量子コンピュータなどと、光を使った光量子コンピュータには、大きな違いがあります。
それは連続量を使うということです。
(離散量を使う光量子コンピュータもありますが、今回の話ではないので、割愛します)
超電導やイオントラップでは「離散量(DV)」を使った計算になっています。
例えば超電導ループ電流は、右回りか左回りかのどちらかなので、離散量になっています。0 or 1 ということですね。
対して光量子コンピュータは「連続量(CV)」を用います。
具体的には、振幅と位相を使っています。
波の振幅は、0か1かという離散値ではなく、例えば0~1の間の任意の値を取れます。
DVとCVでは、利用可能なゲートがかなり異なりますが、いずれも万能量子計算ができることは示されています。
ただし光量子のCVゲートの中では、「非ガウス操作」といわれる曲者がいます。
曲者なんですが、これがいないと万能量子計算は実現できません。
「非ガウス操作」を物理的に実現する愚直な方法は「光の非線形光学効果を使う」というものです。
ただし非線形効果は、光パワーが極めて高くないと起こりません。
光量子コンピュータは、量子性を使うわけですが、もし光パワーを高くしてしまうと、量子揺らぎが相対的に極めて小さくなり、ほとんど測定にかからなくなってしまいます。
したがって、「量子領域」と「非線形効果」は水と油なのです。
「非ガウス操作」を、ほかの方法で実現する方法が知られています。
それは「測定誘起型」と呼ばれる方法で、先に述べた測定型量子計算の原理を用いています。
実験室では、小規模な系ですが、非ガウス操作の実現が報告されています。
脱線するので、ここでは割愛します。
光で測定型量子計算を行う
これらの「光によるCV型ゲート」と「測定型量子計算」を組み合わせたものが、今回の実機になります。
初期の大規模もつれ状態を容易に生成するために、光パルスの列を生成し、1つ1つの光パルスを量子とみたてています。量子の数を増やしたければ、パルスの列を長くすればいい、つまり「ただ長い時間待てばいい」ということになります。
このパルスたちを互いにもつれさせる操作は、(パルスがスクイーズド状態という特殊な性質を持ちさえすれば)光の干渉で容易に行うことができます。
ただし異なる時刻のパルス同士は干渉しませんから、いったん二分岐してから、片方を遅延させ、干渉を行うことで、パルス同士を”衝突”させて干渉させています。
このようにして大規模な量子もつれ状態を生成できれば、あとは適切な順番と適切な種別で測定を行えばよいです。
ただ、パルスのどれから測定するかは、それが時系列である以上、選択することができません。
この場合、ソフトウェア側で、仮想的な量子と、物理的な量子(パルス位置)のマッピングをうまくしてやる必要がありそうです。
測定種別の選択は、「非ガウス操作」をやりたい時を除けば、比較的に容易です。
この場合はホモダイン測定と呼ばれるものを行います。
ホモダイン測定は、古典光(パワーが高い)であるレーザー(LOとよばれます)と、量子光を干渉させ、生じた干渉縞をフォトディテクタで光電変換して読み取る というものです。
このようなLOとの干渉測定は、少なくとも古典の光処理では大変長い歴史があり、確立された技術です。
LO光の位相を、信号である量子光パルスの位相と一致させればI成分が、直交させればQ成分が測定されます。これが測定種別の切り替えに相当しています。
LOの位相をいじるのは、Loが干渉計に来るまでの遅延時間をいじればよいですね。
なお、この「ホモダイン」という用語は、量子の業界と古典の業界で、全く違う定義になっている(confusing)ので、読む際は注意してください。
よく出てくる「ヘテロダイン」についても、全く違う定義だったりします。
これで、非ガウス操作を除く=万能量子計算はできない測定型のCV光量子計算、したがって今回の実機を説明しきったことになります。
なお、他機関だと、Psi Quantumという会社が測定型の光量子に取り組んでいます(が、実機ができたという報告は今のところありません)
今回の実機でできること
非ガウス操作ができないので、万能量子計算ができず、古典的に効率的にシミュレーション可能な演算しかできません。
つまりこの実機を使って、高速に問題を解くというのはほとんど意味はありませんし、そういうのに期待するものでもありません。
あくまで、測定型量子計算の課題抽出に使う、ということになろうかと思います。
今後
今後の展開はいろいろ考えられます。すぐ思いつくものとしては、
- スケーラビリティがあるのか。パルス列の長さ(コヒーレンス時間?)や、遅延回路の物理サイズとロス
- 非ガウス操作(測定誘起型)の実現。必要な補助光の高確率な生成と、ストア。
- 量子誤り訂正(GKP状態の生成と、実際の訂正動作の実証)
- リアルタイムな測定に用いられるFPGAやASICのクロック速度による制約、並列展開の可能性
- 空間集積度向上のため、空間結合系から、ファイバや導波路にできる可能性があるか
- 既存のDV用の量子アルゴリズム・ゲート記述との互換
などがあります。
実際に、同グループからはこれらの課題のいくつかに対応した研究成果が報告されています。
このうち、「非ガウス操作」と「量子誤り訂正」は次なるマイルストーンと考えられます。
これらは単体テストレベルではすでに一部成功していますが、スケーラビリティやプログラム可能性を失わない形で、インテグレーションできるのかが気になります。
なお、パルスを使った光量子は、そもそも量子数をスケールしやすい特徴があるので、
超電導やイオントラップといった方式と量子数だけを比べてしまうと、ほぼ確実に勝てると思います。
ただ、量子数が量子コンピュータの性能を決める唯一の要素ではないことにご注意ください。
まとめ
測定型量子計算として初めての実機が、光量子からでてきたことは、大きな意義があると思います。
他方、これは量子性を用いているものの、量子加速ができる構成ではありません。
困難な技術課題が山積しているわけですが、それは超電導などでも同じことです。
今後の進展が大変に期待されます。
光量子がWinnerになる可能性は、まだ期待できるといえるでしょう。
参考文献(Web上にあるもの)
Ref.
https://www.jst.go.jp/pr/announce/20241108-3/index.html
https://event.phys.s.u-tokyo.ac.jp/physlab2022/pdf/qph-article03.pdf
https://www2.yukawa.kyoto-u.ac.jp/~qischool2019/takeuchi.pdf
https://www.jps.or.jp/books/gakkaishi/2021/10/05/76-10_628overview%20articles1.pdf
https://qiita.com/ryuNagai