Want to keep learning?

This content is taken from the Keio University's online course, Understanding Quantum Computers. Join the course to learn more.

The DiVincenzo Criteria

Of course, our goal is to build and use a real quantum computer, not simply sit in our armchairs and hope one magically appears. So, how hard is it to build one? What would have to do? David DiVincenzo outlined the minimum characteristics a technology must have in order to be a useful substrate.

In 1993, Seth Lloyd (then at Los Alamos National Laboratory, now at MIT) proposed a molecular quantum computer. (Note that this proposal predates the publication of Shor’s algorithm, so quantum computing was still an obscure field with only a few such visionaries working in it.) Although he built on techniques from earlier research, this was the first relatively concrete design that showed how operations might be performed. His proposal involved a chain-like molecule, in which a repeating pattern of small blocks \(ABCABC...\) could store data, move it up and down the chain as necessary, and execute the necessary gates. It even discusses how to read out the data, and offers some early ideas on error correction. The paper thus stands as perhaps the first true quantum computer engineering document.

The DiVincenzo list

Lloyd’s design was never built, but small experiments began appearing in the late 1990s. At that point experiments were still rather ad hoc, although it was known that error correction would be important, and the key principles of error correction and fault tolerance had been established. In the year 2000, David DiVicenzo brought clarity to the process and a unifying framework to the set of embryonic technologies with his list of criteria. Paraphrased from his articles, they are:

  1. A scalable physical system with well characterised qubits.
    We not only have to have a single decent qubit, we need the ability to create a set of them.
  2. The ability to initialise the state of the qubits to a simple fiducial state.
    This is the equivalent of the reset button on your computer. If you can’t create a clean state to start with, it’s hard to run any sort of program.
  3. Long relevant decoherence times.
    If you can’t keep data in memory, you can’t compute on it. This has a strong relationship to quantum error correction.
  4. A “universal” set of quantum gates. For a quantum computer to be completely general, you must be able to execute any algorithm asked of you. When we discussed gates back in Week 2, we vaguely alluded to this. You need to be able to rotate a single qubit to anywhere on the Bloch sphere, and perform some form of two-qubit gate that entangles qubits. With these capabilities, it is possible to build Toffoli gates and any large computation.
  5. A qubit-specific measurement capability.
    If you can’t read the results out, a computer is pretty useless!
  6. The ability to interconvert stationary and flying qubits.
    In order to transfer data over long distances, we need to be able to convert from data held in something stationary (like a computer chip) to light (photons).
  7. The ability to faithfully transmit flying qubits between specified locations.
    Obviously, we also need to be able to move those photons from one place to another with reasonable fidelity!

The first five are known as DiVincenzo’s computation criteria, and the last two as his communication criteria, but many scalable quantum computer designs involve connecting smaller computers together, so the communication criteria are important for computing as well.

Beyond DiVincenzo

DiVincenzo’s criteria are necessary, but alone not sufficient, criteria for a quantum computing technology to meet. I (Van Meter) outlined in my 2006 Ph.D. thesis additional criteria necessary for building a useful and attractive quantum computer. The technology must result in a computer that is small enough to be buildable (say, no larger than a football stadium), consume tolerable amounts of power (no more than a few megawatts), and cost no more than a large classical supercomputer (around US$100M). Otherwise, a system will never be realized.

As we saw at the end of our discussion on Shor’s algorithm, it also must be fast. The potential benefits in computational class beguiled many people at the beginning, and they failed to realize that slow gate times could still be anathema to systems of practical interest.

We won’t explicitly address each criterion in each upcoming Step in the Hardware Activity; assessing the complete readiness of each technology is an exercise in hitting a moving target. We encourage you to follow up on individual technologies and discuss them at the end of the course.


私たちの目標は、もちろん量子コンピュータを実際に構築し、利用することです。 これはどれほどのハードルなのでしょうか? 一体どうすれば達成されたことになるのでしょうか? David DiVincenzoは有用な基盤として、最小限必要な技術的要素についてまとめ上げました。

1993年、Seth Lloyd(現在はMITのLos Alamos National Laboratoryに在籍)は、分子量子コンピュータを提案しました。 (この提案はShorのアルゴリズムの発表より以前のもので、当時の量子コンピューティングは数少ないビジョナリーしかいない不明確な分野でした)。 先行研究の技術をベースにはしていましたが、これはオペレーションがどのように実行されるかを示した最初の具体的な設計でした。どのような仕組みだったかというと、小さなブロックABCABC…の繰り返しパターンによってデータを格納なチェーン状の分子が含まれており、必要に応じてチェーンを上下に動かすことでゲートの実行ができました。この論文はおそらく最初の量子コンピュータエンジニアリングの文書と言えるのではないでしょうか。


Lloydの設計がのちにそのまま用いられるようなことはありませんでしたが、それでも1990年代後半には小規模な実験がいくつか行われ始めました。その当時すでにエラー訂正が重要は非常に重要だということも、エラー訂正とフォールトトレランス(耐障害性)の重要な原則が確立されていることも知られていましたが、実験は依然限定的なものでした。 2000年、David DiVicenzoは量子コンピュータの要請リストを用いて処理過程の明確化と未成熟技術の統一フレームワークを示しました。彼はそれを次のようにまとめあげています:

  1. 量子ビットを有する物理システムの拡張可能性: 単体の良好な量子ビットを保持するだけでなく、ビット数を増加させることができること。
  2. 量子ビットを簡単な基準状態に初期化する能力: これはコンピュータのリセットボタンのようなものです。どんなプログラムも複雑な初期状態から実行するのは難しいので、シンプルな状態を用意する必要があります。
  3. 十分な長さのデコヒーレンス時間: これは量子誤り訂正と強い関係がありますが、メモリに保持できないデータを用いた計算を実行することはできないのです。
  4. 量子ゲートの「ユニバーサル」セット: 普遍的に用いられる量子コンピュータは当然あらゆるアルゴリズムを実行できなければいけません。第2週でゲートについて学んだ際にも暗に示しましたが、単一量子ビットをブロッホ球上のどこにでも回転させることができ、量子もつれを生成する様々な2量子ビットゲートも実行可能である必要があります。これらの機能によってToffoliゲートや大規模な計算を構築することができるのです。
  5. 量子ビット固有の測定能力: せっかく量子コンピュータが計算したとしても、結果を測定ができなければ意味がありません。
  6. 固定量子ビットと飛行量子ビットを相互変換する能力: 長距離のデータ転送の際には、(コンピュータチップのような)静止しているデータを光(光子)に変換する必要があります。
  7. 指定された場所間でフライング量子ビットを正しく送信する能力: もちろん適切なフィデリティでそれらの光子をある場所から別の場所に移動できる必要があります。

The first five are known as DiVincenzo’s computation criteria, and the last two as his communication criteria, but many scalable quantum computer designs involve connecting smaller computers together, so the communication criteria are important for computing as well.


DiVincenzoの要請は量子コンピューティング技術が満たすべき要件としてもちろん必要ですが、それだけでは十分ではありません。私(Van Meter) は2006年の博士論文において有益かつ魅力的な量子コンピュータを構築するために必要な追加の基準を作成しました。構築可能な(例えば、サッカースタジアムよりも大きくない)程度に小さく、許容できる電力量(数メガワット以下)で稼働し、大型の古典スーパーコンピュータより少ないコスト(1億ドル程度でしょうか)でなければならないと思います。そうでなければ量子コンピュータの実用化は現実的ではないでしょう。

Shorのアルゴリズムの説明の最後でも触れたように、計算は高速で行われなければ意味がありません。 初めの頃は計算上の潜在的利益にばかり目がいき、長いゲート時間が実用的なシステムにそぐわないことに多くの人は気づいていませんでした。

この章ではあえて今までのような明示的な目標や基準は設けていません。 ここまでわかればいいということではなく、むしろ各々の技術の現在の状況についてその都度学ぶことで時代感や現場感覚を掴むことができます。 それぞれの技術についてフォローアップし、このコースを終える頃にはそれらについて議論が交わせるくらいになれていれば素晴らしいことです。

Share this article:

This article is from the free online course:

Understanding Quantum Computers

Keio University