このようなコンピュータを何に使うのかと言うと、古典コンピュータでは解けない問題を解くために使う。図10はRSA-2048チャンレンジの問題の数字であるが、約600桁の数字の素因数分解を行うような問題は、現在の古典コンピュータで端から試していくには非常に長い時間が掛ってしまう。これがRSA-2048暗号が解読できない基本原理である。

  • 量子コンピュータ

    図10 RSA-2048 Challengeの問題。約600桁の数字の素因数分解には古典コンピュータでは非常に長い時間がかかり、現実には解けない問題である

この素因数分解を古典コンピュータで行うと10億年掛かるが、量子的な計算であれば1日で素因数分解ができてしまう。これでは暗号化した通信などの秘密を守ることができなくなってしまう。ということで、より強力な暗号の研究が行われているが、その話はここでは割愛する。

  • 量子コンピュータ

    図11 この素因数分解は、古典コンピュータでは10億年かかるが、量子コンピュータでは1日で解くことができる

しかし、量子的な計算を行うためにはqubitだけがあれば良いというわけではなく、図12に示すような、量子ビットのコントロール、古典コンピュータハードウェア、ソフトウェアツールとサービスといった量子計算のスタックが必要である。

  • 量子コンピュータ

    図12 量子計算を行うためには量子ビットがあるだけでは不十分で、量子ビットのコントロールから量子ビットに値を設定したりするツール類などが必要である

そして、実用的な量子チップを作るには、数1000qubit、数Mqubitという集積度が必要である。このため、次の図13に示すように、2006年からMicrosoftは色々なQubitを作ってきた。

  • 量子コンピュータ

    図13 Microsoftは2006年から2019年にかけて6種の設計のQubitを作ってきた

そして、最新のQubitが図14に示す「Topological Qubit」である。このQubitはハードウェア的にエラーの発生を抑制する機能を持ち、qubitのエラー率を下げることができる。

  • 量子コンピュータ

    図14 エラー発生を抑制するTopological Qubit

量子コンピュータで計算を行うには、まず、すべてのQubitに所定の初期値を書き込んでやる必要がある。このためにはそれぞれのQubitに|0> か|1> を書き込む必要がある。

現在の量子コンピュータでは、ほぼ0KのQubitに書き込みを行うための配線が必要である。このため、1000Qubitの場合は1000本、1M Qubitの場合は100万本の配線が必要になってしまう。常温の制御回路から100万本の配線で各Qubitまで接続するのは容易ではない。また、100万本の配線があると、それを通して極低温のQubitに流入する熱も大きな問題である。

  • 量子コンピュータ

    図15 Qubitの状態を制御するためにQubitと1対1に配線が必要なため、多数のQubitを持つチップを作っても配線ができないという問題がある。これがこれまで最大100qubit程度の量子コンピュータしか作れなかった1つの原因である

通常の電子回路であれば、外からは少数の信号線を接続して、マルチプレクスして多数の信号に分割して各Qubitに接続する。しかし、Qubitはノイズを抑制するためほぼ絶対0度(20mK~10mK)で動作させており、この極低温ではCMOSのマルチプレクサが正常に動作しない。そのため、Microsoftは4K程度で動作させてCMOS回路が使えるようなマルチプレクサを作り、Qubitの数が増えてもコントロールの信号本数が制約にならないようにした。

  • 量子コンピュータ

    図16 Microsoftは4K程度で動作するCMOSのコントロール回路を開発し、Qubitへの信号接続本数の問題を解決した

そして、Qubitの状態を制御する回路に適切な信号を与えるために、図17に示すようなソフトウェアツールやシミュレーションやリソース要件の見積もりなどのサービスと、各種のアプリケーションのスタックを用意する必要がある。Microsoftはこれらのすべてのスタックをクラウドで提供しており、現在でも、量子技術の開発に使用することができる。

  • 量子コンピュータ

    図17 Mirosoftはこれらの量子コンピューティングのスタックをAzureクラウドで提供しており、現在でも使用できる