量子コンピュータ

量子コンピュータ （りょうしコンピュータ、英語：quantum computer） は、量子力学的な重ね合わせを用いて並列性を実現するとされるコンピュータ。従来のコンピュータの論理ゲートに代えて、「量子ゲート」を用いて量子計算を行う原理のものについて研究がさかんであるが、他の方式についても研究・開発は行われている。
いわゆる電子式など従来の一般的なコンピュータ（以下「古典コンピュータ」）の素子は、情報について、「0か1」などなんらかの2値をあらわすいずれかの状態しか持ち得ない「ビット」で扱う。量子コンピュータは「量子ビット」 (qubit; quantum bit、キュービット) により、重ね合わせ状態によって情報を扱う。
n量子ビットがあればの状態が同時に計算され、個の重ね合わされた結果が得られる。しかし、重ね合わされた結果を観測してもランダムに選ばれた結果が1つ得られるだけで、古典コンピュータに対する高速性は得られない。高速性を得るには欲しい答えを高確率で求める工夫を施した量子コンピュータ専用のアルゴリズムが必須である。もし、数千qubitのハードウェアが実現した場合、この量子ビットを複数利用して、量子コンピュータは古典コンピュータでは実現し得ない規模の並列コンピューティングが実現すると言われる。
量子コンピュータの能力については、計算理論上の議論と、実際に実現されつつある現実の機械についての議論がある。#計算能力の節を参照。現実の機械の能力については#実際の項を参照。

1980年代

量子コンピュータの歴史は、1980年に Paul Benioff が量子系においてエネルギーを消費せず計算が行えることを示したことに端を発し、1982年、ファインマンも量子計算が古典計算に対し指数関数的に有効ではないかと推測している。これらに続き、1985年、ドイッチュは、「量子計算模型」と言える量子チューリングマシンを定義し、1989年に量子回路を考案した。

1990年代

1992年に、ドイッチュとジョサは、量子コンピュータが古典コンピュータよりも速く解ける問題でドイッチュ・ジョサのアルゴリズムを考案した。
1993年に、ウメーシュ・ヴァジラーニと生徒のEthan Bernsteinは、万能量子チューリングマシンと量子フーリエ変換のアルゴリズムを考案した。
1994年にピーター・ショアは、実用的なアルゴリズム『ショアのアルゴリズム』を考案し、量子コンピュータの研究に火をつけた。これは、ヴァジラーニらの量子フーリエ変換や、同年のSimonの研究を基礎に置いている。量子コンピュータ特有のアルゴリズムであるショアのアルゴリズムが、古典コンピュータでは現実的な時間で解くことができない素因数分解を、極めて短い時間で実行出来ることから、素因数分解の困難性を利用したRSA暗号の安全性は実用的な量子コンピュータが実現されれば崩れることを示した。
1995年に、アンドリュー・スティーンやピーター・ショアにより、量子誤り訂正のアルゴリズムが考案された。
1996年に、ロブ・グローバーにより、その後、様々なアルゴリズムに応用されるグローバーのアルゴリズムが考案された。同年、セルジュ・アロシュは、実験的観測によって量子デコヒーレンスを証明し、

量子デコヒーレンスが量子コンピュータ実現への障害となることが実証された。
1997年に、Edward FarhiとSam Gutmannにより、量子ウォーク（Continuous-time quantum walk、略称: CTQW）が考案された。1998年に、量子コンピュータ用のプログラミング言語である、QCL (Quantum Computation Language) の実装が公開された。
また西森秀稔による、量子焼きなまし法の提案もこの時代であった。

2000年代

ハードウェア開発に大きな進展があり、2008年にイオントラップの専門家デービッド・ワインランドは、個々のイオンをレーザー冷却して捕捉することが出来ることを示し、個々の量子もつれ状態にあるイオンをマニピュレーションする、イオン・トラップ型量子コンピュータの研究が進展した。
ショアのアルゴリズムは、2001年に核磁気共鳴により、2007年に量子光学により、2009年に光集積回路により15の素因数分解 (=3*5) が実装された。

2010年代

2011年に突如として、カナダの企業D-Wave Systemsが量子コンピュータ「D-Wave」の建造に成功したと発表した。D-Waveはこの記事の多くの部分で説明している量子ゲートによるコンピュータではなく、量子焼きなまし法による最適化計算に特化した専用計算機である。発表当初のものは128量子ビットであった。D-Waveが本当に量子コンピューティングを実現したものか否か、当初は疑う向きも多かったものの、確かに量子コンピューティングによるものとする調査論文が英科学誌ネイチャーに発表され、グーグルを筆頭とするベンチャー企業がD-Waveと協業を開始するなど、2018年1月現在、確実視されて来ている。
2012年、セルジュ・アロシュとデービッド・ワインランドがノーベル物理学賞を受賞した。受賞理由は「個別の量子系に対する計測および制御を可能にする画期的な実験的手法に関する業績」である。
エドワード・スノーデンの開示文書によると、NSAにおいて暗号解読のための実用化が研究されているとされる。
2014年9月米グーグル社はUCSBのJohn Martinisと連携し量子コンピュータの独自開発を開始すると発表した。
2016年5月、IBMは５量子ビットの量子コンピュータをオンライン公開した。デイヴィビッド・コーリー ウォータールー大学教授がテストした結果、ほぼ同じ結果を得ることができた。
2017年5月、IBMは同社の汎用量子コンピュータシステムであるIBM Q向け16量子ビット・プロセッサを開発したとアナウンスした
2017年5月、中国の科学研究チームが光量子コンピューターの開発に成功し、初期の古典的コンピューターを超える量子計算能力を初めて示したと発表した。実験・測定結果によると、この試作機のサンプル計算速度は、世界の同業者による実験の2万4000倍以上に達している。古典的計算法と比較した場合も人類史上初のチューブコンピュータと初のトランジスタコンピューターの計算速度の10−100倍に達している。
2019年1月8日、IBMはCESにおいて世界初の商用量子コンピューター（名称：IBM Q System One）を開発したと発表した。

アルゴリズム

量子コンピュータ特有のアルゴリズムがいくつか知られており、伝統的に有名なものを示す。他の物は、Quantum Algorithm Zooなどを参照。

グローバーのアルゴリズム

n 個のデータの中から、ある特定のデータを √n ステップで取得することができるアルゴリズム。正確には、1 から N のある一つの値で、オラクル関数 f(z) が 1 になり、それ以外は f(z) = 0 となる、オラクル関数 f において、f(z) = 1 となる z を求める問題。オラクル関数とは計算量が 0 の関数である。古典コンピュータではおよそ n/2 ステップが必要である。1996年にロブ・グローバーが発表した。きわめて広範な種類の確率的アルゴリズムや量子アルゴリズムと組み合わせて、計算時間をその平方根まで落とすことができる。ショアのアルゴリズムほどその効果は劇的ではないが、広い応用をもつことが特徴である。検索条件や検索対象について改良されている。
このアルゴリズムはデータ数に見合うだけ十分なqubit数があることを前提としているが、古典コンピュータにおいてデータに見合うだけの十分な並列度がある場合、f(z) = 1 を探すのは O(1) であり、関数の最小値を探す問題は、O(log log n) である。

量子ウォーク

ランダムウォークを量子コンピュータ上で実行する。いくつかのアルゴリズムがこれを利用して作られている。

離散フーリエ変換

振幅に対して離散フーリエ変換を行うが、振幅は直接は観測できないことに注意が必要。ショアのアルゴリズムで使われている。QCLでのソースコードは以下の通り。変数 q を離散フーリエ変換している。V は conditional phase、H はアダマール変換である。
for i = 1 to #q {
  for j = 1 to i - 1 {
    V(pi / 2^(i - j), q[#q - i] & q[#q - j]);
  }
  H(q[#q - i]);}flip(q);

プログラミング言語

量子コンピュータ用のプログラミング言語とその処理系の実装方法が多数提案されており、QCLなどがある。詳細は、量子プログラミング言語 を参照。

シミュレーター

量子コンピュータのアルゴリズムをシミュレーションにより実行するためのシミュレーターが多数作られている。一覧については、List of QC simulatorsを参照。

ハードウェア

ハードウェアは量子ゲートを組み合わせた量子回路によって実現されるが、数学的に等価な量子ゲートが物理的には核磁気共鳴、量子光学、量子ドット、超伝導素子、レーザー冷却などによって構成出来るため、様々な実験的ハードウェアの実現法が研究されている。

核磁気共鳴・電子スピン共鳴

近年、核磁気共鳴（NMR）や電子スピン共鳴を用いた量子コンピュータの研究開発が行われている。
2001年、7量子ビット量子コンピュータによる素因数分解が実装された。核磁気共鳴 (NMR) により、1998年に2量子ビット、1999年に3量子ビット、2000年に5量子ビット、2001年に7量子ビット、2005年に8量子ビットqubit、2006年に12量子ビットが実現した。1量子ビット増えるごとに並列度は2倍になる。
国内では大阪大学や沖縄科学技術大学院大学が主な研究拠点であり、核スピン・電子スピンを用いた量子情報処理の実験が行われている。

窒素空孔欠陥スピン・シリコン核スピン

国内では横浜国立大、京大が主な研究拠点であり、窒素空孔欠陥を用いた量子メディア変換・量子情報処理の実験が行われている。また慶応義塾大学
では、シリコン中の核スピンを用いた量子情報処理実験が行われている。

量子ドット

国内では理化学研究所、東京大学が主な研究拠点であり、量子コンピュータの実現に向けた取り組みがなされている。

量子光学

特に光子を用いているものは光子コンピュータ、光量子コンピュータとも呼ばれる。
2001年、非線形光学を使わずに、量子コンピュータを作成する方法が考案された。線形光量子コンピュータ (英: linear optical quantum computer、LOQC) と呼ばれ、その後の光量子コンピュータの主流となる。
2007年、光子を使い、4qubit量子コンピュータによる素因数分解が実装された。さらに、2009年、光集積回路（シリコンフォトニクス）上で、4qubit量子コンピュータによる素因数分解が実装された。
2017年9月、東京大学 工学系研究科の古澤明教授と武田俊太郎助教のグループは、究極の大規模光量子コンピュータ実現法を発明と告知。

超伝導素子

超伝導素子を用いた量子コンピュータの量子ビットは、ジョセフソン・ジャンクションを用いた超伝導回路によって構成されている。超伝導回路中の電荷(クーパー対)の自由度を用いた量子ビットを、電荷量子ビット、またはクーパー対箱と呼ぶ。1999年、日本電気において中村、Pashkin、蔡らにより実現された。当時の量子ビットのコヒーレンス時間は約1ナノ秒であった。
超伝導量子ビットは回路量子電磁力学の研究とともに発展し、2004年にはコプラナ導波路により実装された超伝導共振器と電荷量子ビットとの強結合が観測されている。共振器や導波路を組み合わせた回路量子電磁力学は、超伝導量子ビット間の相互作用や、量子非破壊測定を行うとても良いツールとなっている。
SQUIDを含み、磁束量子の重ね合わせ状態を用いた量子ビットを磁束量子ビットと呼ぶ。2003年、デルフト工科大においてChiorescu、中村、Harmans、Mooijらにより実現された。これらはDWAVE社が開発した量子焼きなまし法による最適化手法に採用されている。
2007年に電荷量子ビットにおける電荷揺らぎ雑音を回避する量子ビットが提案され、トランズモン型量子ビットと呼ばれる。比較的シンプルな構成で長コヒーレンス時間が実現され、米国を中心に盛んに研究が進められている。
2011年、量子計算や量子誤り訂正に必須となる単一試行の量子非破壊測定が実現し、トランズモン型超伝導量子ビットの量子跳躍が観測されている。これらの技術の背景には、標準量子限界に近い雑音指数を達成する低雑音増幅器(ジョセフソンパラメトリック増幅器)の実現がある。
2013年、上記の基礎技術とFPGAによる高速フィードバック処理により量子テレポーテーションの実験が行われ、空間的に離れた量子ビット間の状態転送が実現した。
2014年には160マイクロ秒のコヒーレンス時間が実現し、1999年の発見から15年の間に約10万倍という飛躍的な改善がなされている。
同年、Google社のJohn Martinisらのグループは、誤り耐性符号の一つである表面符号の誤りしきい値を下回る、高い忠実度の基本量子ゲートを実現した。これにより誤り耐性量子計算が現実化し、超伝導量子ビットを用いた量子計算機の開発が一層加速することになる。2015年、9量子ビットによるビット反転エラー訂正を実行し、論理量子ビットのエラー確率を物理量子ビットに比べ約1/8まで小さくすることに成功した。同年には、新しい機能性材料の開発を飛躍的に加速する、フェルミ粒子のディジタル量子シミュレーションが、小さな系にて実装されている。大規模化に向けた取り組みが始まり、2016年には三次元集積技術による実装が議論されている。
国内では東京大学と理化学研究所が量子コンピュータや量子情報処理の研究を、NTT物性科学基礎研究所、情報通信研究機構が量子物理の研究を行っており、主な研究拠点である。
海外ではGoogle、IBM、デルフト工科大学（インテル・マイクロソフトが支援）、マサチューセッツ工科大学、チューリッヒ工科大学が主な研究拠点である。

イオントラップ

イオントラップを用いる量子コンピュータでは、レーザー冷却によってイオンの捕捉とマニピュレーションを行なう。
国内では阪大にて量子シミュレータ・量子コンピュータに向けた研究がなされている。

量子ゲート

古典コンピュータでの計算は、ブール論理にもとづいた論理ゲートによる論理演算をベースとして行われる。これに対し、量子コンピュータの量子回路では、量子演算の演算子に対応する演算を行うゲートは量子ゲートと呼ばれ、ユニタリー行列でなくてはならない。任意の1量子ビットに対するユニタリー行列は以下の形式で表現できる。可逆計算であることも特徴である。
1量子ビットに対する任意のユニタリー変換とCNOTゲートの組合せによって、n量子ビットの場合も任意のユニタリ変換を構成出来ることが知られている。

NOT

NOTはパウリ行列の1つでもある。

制御NOT

CNOTと呼ばれる。XORに相当する。

アダマール変換

はアダマール行列である。

Conditional Phase

CPhaseと呼ばれる。
1量子ビットの場合は、以下の通り。

理論

ヴァジラーニらは、量子チューリングマシンと古典チューリングマシンの計算可能性が等価であることを示した。したがって、計算可能性の点では既存のあらゆるコンピュータと量子チューリングマシンは変わらない。つまり、量子チューリングマシンで「計算可能」な問題は古典チューリングマシンでも「計算可能」であるし、古典チューリングマシンで「計算可能」でない問題は量子チューリングマシンでも「計算可能」でない。（なお、ここで「計算可能」というのは、計算理論の専門用語であって、「原理的に解くことができない」というような表現から一般の人がイメージするような素朴な印象はおそらくたいていは正確ではない）
計算可能性の理論に関しては以上のようであるのだが、では、計算複雑性の理論としてはどうだろうか、というのが関心のある所であろう。
量子コンピュータは容易に古典コンピュータをエミュレートすることが可能であるため、古典コンピュータで速く解ける問題（汎用問題）は、量子コンピュータでも同程度以上に速く解くことができる。よって汎用問題について、量子コンピュータは古典コンピュータ「以上」に強力な計算速度を持つ。ただし、同程度は可能だとしても、「大幅に上回る」かどうかはよくわかっていない。また、「大幅に上回る」問題の範囲についても、「より大きい」かどうかはよくわかっていない。
量子コンピュータに関係する複雑性クラスにBQPがある。BQPとNPの関係は明確ではないが、BQPのほうが大きいだろうと考えられ、2010年代ころより、NPを含むPHにBQPが含まれない、ということを示唆する結果がいくつか示されてきている。

実際

量子ゲートマシンは理論的には古典コンピューターをシミュレート出来るとされるが、現実には古典ゲートによる小規模演算器もシミュレート出来ない。 そのため、量子ゲートマシンの利用には専用アルゴリズム開発が必ず伴う。Googleは量子ゲートマシンの高速性が2017年末までに実証されると予想した。古典コンピューターよりも実際の量子ゲートマシンの方が高速に解ける問題が存在することを、量子超越性（Quantum supremacy）と呼び、このような問題の探索が続けられているが、現時点では見つかっていない。
量子ゲートマシン上で素因数分解を行うショアのアルゴリズムは、2001年にIBMが世界で初めて15(=3×5)の分解に成功した。2012年にブリストル大学が21(=3×7)の素因数分解を行い記録を更新したが、22以上の数の素因数分解の報告はない(2019年9月時点)。
2017年現在始まっているIBM Qなどではごく限られた数の量子ビットしか扱えない。重ね合わせ状態を保ちデータを記憶する量子メモリが実現されていない事、量子複製不可能定理により、計算結果を使いまわすことができない事、複数の量子コンピューターを接続し計算規模を大きくする技術が実現していない事、量子ゲートに起因する誤差が蓄積する事などから、計算大規模化が困難である。従って、既に提案されている量子アルゴリズムの小規模な実証から始め、量子超越性を示す問題の模索が続いている。
量子コンピュータとしては、量子ゲート型以外に、D-Waveなどの量子アニーリングやその他いくつかのタイプが提案されている、量子イジングマシンはQUBO(制約のない二値二次式の最適化)(英語版)に特化した専用計算機と言える。