# Toffoli gate

Last updated

In logic circuits, the Toffoli gate (also CCNOT gate), invented by Tommaso Toffoli, is a universal reversible logic gate, which means that any classical reversible circuit can be constructed from Toffoli gates. It is also known as the "controlled-controlled-not" gate, which describes its action. It has 3-bit inputs and outputs; if the first two bits are both set to 1, it inverts the third bit, otherwise all bits stay the same.

## Background

An input-consuming logic gate L is reversible if it meets the following conditions: L(x) = y is a gate where for any output y, there is a unique input x. The gate L is reversible if there is a gate L´(y) = x which maps y to x, for all y. From common logic gates, NOT is reversible, as can be seen from its truth table below:

InputOutput
01
10

The common AND gate is not reversible, because the inputs 00, 01 and 10 are all mapped to the output 0.

Reversible gates have been studied since the 1960s. The original motivation was that reversible gates dissipate less heat (or, in principle, no heat). [1]

More recent motivation comes from quantum computing. In quantum mechanics the quantum state can evolve in two ways: by Schrödinger's equation (unitary transformations), or by their collapse. Logic operations for quantum computers, of which the Toffoli gate is an example, are unitary transformations and therefore evolve reversibly. [2]

## Universality and Toffoli gate

Any reversible gate that consumes its inputs and allows all input computations must have no more input bits than output bits, by the pigeonhole principle. For one input bit, there are two possible reversible gates. One of them is NOT. The other is the identity gate, which maps its input to the output unchanged. For two input bits, the only non-trivial gate is the controlled NOT gate (hereafter CNOT), which XORs the first bit to the second bit and leaves the first bit unchanged.

Truth table Permutation matrix form
InputOutput
0000
0101
1011
1110

${\displaystyle {\begin{bmatrix}1&0&0&0\\0&1&0&0\\0&0&0&1\\0&0&1&0\\\end{bmatrix}}}$

Unfortunately, there are reversible functions that cannot be computed using just those gates. In other words, the set consisting of NOT and XOR gates is not universal. To compute an arbitrary function using reversible gates, another gate is needed. One possibility is the Toffoli gate, proposed in 1980 by Toffoli. [3]

This gate has 3-bit inputs and outputs. If the first two bits are set, it flips the third bit. The following is a table of the input and output bits:

Truth tablePermutation matrix form
InputOutput
000000
001001
010010
011011
100100
101101
110111
111110

${\displaystyle {\begin{bmatrix}1&0&0&0&0&0&0&0\\0&1&0&0&0&0&0&0\\0&0&1&0&0&0&0&0\\0&0&0&1&0&0&0&0\\0&0&0&0&1&0&0&0\\0&0&0&0&0&1&0&0\\0&0&0&0&0&0&0&1\\0&0&0&0&0&0&1&0\\\end{bmatrix}}}$

It can be also described as mapping bits {a, b, c} to {a, b, c XOR (a AND b)}. This can also be understood as a modulo operation on bit c: {a, b, c} → {a, b, (c + ab) mod 2}, often written as {a, b, c} → {a, b, cab} [4]

The Toffoli gate is universal; this means that for any Boolean function f(x1, x2, ..., xm), there is a circuit consisting of Toffoli gates that takes x1, x2, ..., xm and some extra bits set to 0 or 1 to outputs x1, x2, ..., xm, f(x1, x2, ..., xm), and some extra bits (called garbage). A NOT gate, for example, can be constructed from a Toffoli gate by setting the three input bits to {a, 1, 1}, making the third output bit (1 XOR (a AND 1)) = NOT a; (a AND b) is the third output bit from {a, b, 0}. Essentially, this means that one can use Toffoli gates to build systems that will perform any desired Boolean function computation in a reversible manner.

• The Fredkin gate is a universal reversible 3-bit gate that swaps the last two bits if the first bit is 1; a controlled-swap operation.
• The n-bit Toffoli gate is a generalization of the Toffoli gate. It takes n bits x1, x2, ..., xn as inputs and outputs n bits. The first n  1 output bits are just x1, ..., xn−1. The last output bit is (x1 AND ... AND xn1) XOR xn.
• The Toffoli gate can be realized by five two-qubit quantum gates, [5] but it can be shown that it is not possible using fewer than five. [6]
• A related quantum gate, the Deutsch gate, can be realized by five optical pulses with neutral atoms. [7] The Deutsch gate is a universal gate for quantum computing. [8]
• The Margolus gate (named after Norman Margolus), also called simplified Toffoli is a quantum logic gate very similar to a Toffoli gate but with a −1 in the diagonal: RCCX = diag(1, 1, 1, 1, 1, −1, X). The Margolus gate is also universal for reversible circuits and acts very similar to a Toffoli gate, with the advantage that it can be constructed with about half of the CNOTs compared to the Toffoli gate. [9]
• The iToffoli gate was implemented in superconducting qubits with pair-wise coupling by simultaneously applying noncommuting operations. [10]

## Relation to quantum computing

Any reversible gate can be implemented on a quantum computer, and hence the Toffoli gate is also a quantum operator. However, the Toffoli gate cannot be used for universal quantum computation, though it does mean that a quantum computer can implement all possible classical computations. The Toffoli gate has to be implemented along with some inherently quantum gate(s) in order to be universal for quantum computation. In fact, any single-qubit gate with real coefficients that can create a nontrivial quantum state suffices. [11] A Toffoli gate based on quantum mechanics was successfully realized in January 2009 at the University of Innsbruck, Austria. [12] While the implementation of an n-qubit Toffoli with circuit model requires 2n CNOT gates, [13] the best known upper bound stands at 6n  12 CNOT gates. [14] It has been suggested that trapped Ion Quantum computers may be able to implement an n-qubit Toffoli gate directly. [15] The application of many-body interaction could be used for direct operation of the gate in trapped ions, Rydberg atoms and superconducting circuit implementations. [16] [17] [18] [19] [20] [21] Following the dark-state manifold, Khazali-Mølmer Cn-NOT gate [17] operates with only three pulses, departing from the circuit model paradigm. The iToffoli gate was implemented in a single step using three superconducting qubits with pair-wise coupling. [22]

## Related Research Articles

A quantum computer is a computer that takes advantage of quantum mechanical phenomena.

In quantum computing, a qubit or quantum bit is a basic unit of quantum information—the quantum version of the classic binary bit physically realized with a two-state device. A qubit is a two-state quantum-mechanical system, one of the simplest quantum systems displaying the peculiarity of quantum mechanics. Examples include the spin of the electron in which the two levels can be taken as spin up and spin down; or the polarization of a single photon in which the two spin states can also be measured as horizontal and vertical linear polarization. In a classical system, a bit would have to be in one state or the other. However, quantum mechanics allows the qubit to be in a coherent superposition of multiple states simultaneously, a property that is fundamental to quantum mechanics and quantum computing.

In quantum information theory, a quantum circuit is a model for quantum computation, similar to classical circuits, in which a computation is a sequence of quantum gates, measurements, initializations of qubits to known values, and possibly other actions. The minimum set of actions that a circuit needs to be able to perform on the qubits to enable quantum computation is known as DiVincenzo's criteria.

In quantum computing and specifically the quantum circuit model of computation, a quantum logic gate is a basic quantum circuit operating on a small number of qubits. Quantum logic gates are the building blocks of quantum circuits, like classical logic gates are for conventional digital circuits.

Quantum error correction (QEC) is used in quantum computing to protect quantum information from errors due to decoherence and other quantum noise. Quantum error correction is theorised as essential to achieve fault tolerant quantum computing that can reduce the effects of noise on stored quantum information, faulty quantum gates, faulty quantum preparation, and faulty measurements. This would allow algorithms of greater circuit depth.

Reversible computing is any model of computation where the computational process, to some extent, is time-reversible. In a model of computation that uses deterministic transitions from one state of the abstract machine to another, a necessary condition for reversibility is that the relation of the mapping from states to their successors must be one-to-one. Reversible computing is a form of unconventional computing.

In computer science, the controlled NOT gate, controlled-X gate, controlled-bit-flip gate, Feynman gate or controlled Pauli-X is a quantum logic gate that is an essential component in the construction of a gate-based quantum computer. It can be used to entangle and disentangle Bell states. Any quantum circuit can be simulated to an arbitrary degree of accuracy using a combination of CNOT gates and single qubit rotations. The gate is sometimes named after Richard Feynman who developed an early notation for quantum gate diagrams in 1986.

The one-way or measurement-based quantum computer (MBQC) is a method of quantum computing that first prepares an entangled resource state, usually a cluster state or graph state, then performs single qubit measurements on it. It is "one-way" because the resource state is destroyed by the measurements.

Norman H. Margolus is a Canadian-American physicist and computer scientist, known for his work on cellular automata and reversible computing. He is a research affiliate with the Computer Science and Artificial Intelligence Laboratory at the Massachusetts Institute of Technology.

In reversible computing, ancilla bits are extra bits being used to implement irreversible logical operations. In classical computation, any memory bit can be turned on or off at will, requiring no prior knowledge or extra complexity. However, this is not the case in quantum computing or classical reversible computing. In these models of computing, all operations on computer memory must be reversible, and toggling a bit on or off would lose the information about the initial value of that bit. For this reason, in a quantum algorithm there is no way to deterministically put bits in a specific prescribed state unless one is given access to bits whose original state is known in advance. Such bits, whose values are known a priori, are known as ancilla bits in a quantum or reversible computing task.

Linear optical quantum computing or linear optics quantum computation (LOQC), also photonic quantum computing (PQC), is a paradigm of quantum computation, allowing (under certain conditions, described below) universal quantum computation. LOQC uses photons as information carriers, mainly uses linear optical elements, or optical instruments (including reciprocal mirrors and waveplates) to process quantum information, and uses photon detectors and quantum memories to detect and store quantum information.

IBM Quantum Platform is an online platform allowing public and premium access to cloud-based quantum computing services provided by IBM. This includes access to a set of IBM's prototype quantum processors, a set of tutorials on quantum computation, and access to an interactive textbook. As of February 2021, there are over 20 devices on the service, six of which are freely available for the public. This service can be used to run algorithms and experiments, and explore tutorials and simulations around what might be possible with quantum computing.

In quantum computing, quantum supremacy or quantum advantage is the goal of demonstrating that a programmable quantum computer can solve a problem that no classical computer can solve in any feasible amount of time, irrespective of the usefulness of the problem. The term was coined by John Preskill in 2012, but the concept dates to Yuri Manin's 1980 and Richard Feynman's 1981 proposals of quantum computing.

In quantum computing, a qubit is a unit of information analogous to a bit in classical computing, but it is affected by quantum mechanical properties such as superposition and entanglement which allow qubits to be in some ways more powerful than classical bits for some tasks. Qubits are used in quantum circuits and quantum algorithms composed of quantum logic gates to solve computational problems, where they are used for input/output and intermediate computations.

Magic state distillation is a method for creating more accurate quantum states from multiple noisy ones, which is important for building fault tolerant quantum computers. It has also been linked to quantum contextuality, a concept thought to contribute to quantum computers' power.

The Eastin–Knill theorem is a no-go theorem that states: "No quantum error correcting code can have a continuous symmetry which acts transversely on physical qubits". In other words, no quantum error correcting code can transversely implement a universal gate set, where a transversal logical gate is one that can be implemented on a logical qubit by the independent action of separate physical gates on corresponding physical qubits.

Dmitri Maslov is a Canadian-American computer scientist known for his work on quantum circuit synthesis and optimization, quantum advantage, and benchmarking quantum computers. Currently, he is the Chief Software Architect at IBM Quantum. Maslov was formerly a program director for Quantum Information Science at the National Science Foundation. He was named a Fellow of the Institute of Electrical and Electronics Engineers in 2021 "for contributions to quantum circuit synthesis and optimization, and compiling for quantum computers."

Vivek Vijay Shende is an American mathematician known for his work on algebraic geometry, algebraic topology and quantum computing. He is a professor of Quantum Mathematics at Syddansk Universitet while on leave from University of California Berkeley.

## References

1. Landauer, R. (July 1961). "Irreversibility and Heat Generation in the Computing Process". IBM Journal of Research and Development. 5 (3): 183–191. doi:10.1147/rd.53.0183. ISSN   0018-8646.
2. Colin P. Williams (2011). Explorations in Quantum Computing. Springer. pp. 25–29, 61. ISBN   978-1-84628-887-6.
3. Technical Report MIT/LCS/TM-151 (1980) and an adapted and condensed version: Toffoli, Tommaso (1980). J. W. de Bakker and J. van Leeuwen (ed.). Reversible computing (PDF). Automata, Languages and Programming, Seventh Colloquium. Noordwijkerhout, Netherlands: Springer Verlag. pp. 632–644. doi:10.1007/3-540-10003-2_104. ISBN   3-540-10003-2. Archived from the original (PDF) on 2010-04-15.
4. Nielsen, Michael L.; Chuang, Isaac L. (2010). Quantum Computation and Quantum Information (10th ed.). Cambridge University Press. p. 29. ISBN   9781107002173.
5. Barenco, Adriano; Bennett, Charles H.; Cleve, Richard; DiVincenzo, David P.; Margolus, Norman; Shor, Peter; Sleator, Tycho; Smolin, John A.; Weinfurter, Harald (Nov 1995). "Elementary gates for quantum computation". Physical Review A. 52 (5): 3457–3467. arXiv:. Bibcode:1995PhRvA..52.3457B. doi:10.1103/PhysRevA.52.3457. PMID   9912645. S2CID   8764584.
6. Yu, Nengkun; Duan, Runyao; Ying, Mingsheng (2013-07-30). "Five two-qubit gates are necessary for implementing the Toffoli gate". Physical Review A. 88 (1): 010304. arXiv:. Bibcode:2013PhRvA..88a0304Y. doi:10.1103/physreva.88.010304. ISSN   1050-2947. S2CID   55486826.
7. Shi, Xiao-Feng (May 2018). "Deutsch, Toffoli, and CNOT Gates via Rydberg Blockade of Neutral Atoms". Physical Review Applied. 9 (5): 051001. arXiv:. Bibcode:2018PhRvP...9e1001S. doi:10.1103/PhysRevApplied.9.051001. S2CID   118909059.
8. Deutsch, D. (1989). "Quantum Computational Networks". Proceedings of the Royal Society of London. Series A, Mathematical and Physical Sciences. 425 (1868): 73–90. Bibcode:1989RSPSA.425...73D. doi:10.1098/rspa.1989.0099. ISSN   0080-4630. JSTOR   2398494. S2CID   123073680.
9. Maslov, Dmitri (2016-02-10). "Advantages of using relative-phase Toffoli gates with an application to multiple control Toffoli optimization". Physical Review A. 93 (2): 022311. arXiv:. Bibcode:2016PhRvA..93b2311M. doi:. ISSN   2469-9926.
10. Kim, Y.; Morvan, A.; Nguyen, L.B.; Naik, R.K.; Jünger, C.; Chen, L.; Kreikebaum, J.M.; Santiago, D.I.; Siddiqi, I. (2 May 2022). "High-fidelity three-qubit iToffoli gate for fixed-frequency superconducting qubits". Nature Physics. 18 (5): 783–788. arXiv:. Bibcode:2022NatPh..18..783K. doi:.
11. Shi, Yaoyun (Jan 2003). "Both Toffoli and Controlled-NOT need little help to do universal quantum computation". Quantum Information & Computation . 3 (1): 84–92. arXiv:. Bibcode:2002quant.ph..5115S. doi:10.26421/QIC3.1-7.
12. Monz, T.; Kim, K.; Hänsel, W.; Riebe, M.; Villar, A. S.; Schindler, P.; Chwalla, M.; Hennrich, M.; Blatt, R. (Jan 2009). "Realization of the Quantum Toffoli Gate with Trapped Ions". Physical Review Letters. 102 (4): 040501. arXiv:. Bibcode:2009PhRvL.102d0501M. doi:10.1103/PhysRevLett.102.040501. PMID   19257408. S2CID   2051775.
13. Shende, Vivek V.; Markov, Igor L. (2008-03-15). "On the CNOT-cost of TOFFOLI gates". arXiv: [quant-ph].
14. Maslov, Dmitri (2016). "Advantages of using relative-phase Toffoli gates with an application to multiple control Toffoli optimization". Physical Review A. 93 (2): 022311. arXiv:. Bibcode:2016PhRvA..93b2311M. doi:10.1103/PhysRevA.93.022311. S2CID   5226873.
15. Katz, Or; Cetina, Marko; Monroe, Christopher (2022-02-08). "${\displaystyle N}$ -Body Interactions between Trapped Ion Qubits via Spin-Dependent Squeezing". Physical Review Letters. 129 (6): 063603. arXiv:. doi:10.1103/PhysRevLett.129.063603. PMID   36018637. S2CID   246679905.
16. Arias Espinoza, Juan Diego; Groenland, Koen; Mazzanti, Matteo; Schoutens, Kareljan; Gerritsma, Rene (2021-05-28). "High-fidelity method for a single-step N-bit Toffoli gate in trapped ions". Physical Review A. 103 (5): 052437. arXiv:. Bibcode:2021PhRvA.103e2437E. doi:10.1103/PhysRevA.103.052437. S2CID   223953418.
17. Khazali, Mohammadsadegh; Mølmer, Klaus (2020-06-11). "Fast Multiqubit Gates by Adiabatic Evolution in Interacting Excited-State Manifolds of Rydberg Atoms and Superconducting Circuits". Physical Review X. 10 (2): 021054. arXiv:. Bibcode:2020PhRvX..10b1054K. doi:. ISSN   2160-3308.
18. Isenhower, L.; Saffman, M.; Mølmer, K. (2011-09-04). "Multibit CkNOT quantum gates via Rydberg blockade". Quantum Information Processing. 10 (6): 755. arXiv:. doi:10.1007/s11128-011-0292-4. ISSN   1573-1332. S2CID   28732092.
19. Rasmussen, S. E.; Groenland, K.; Gerritsma, R.; Schoutens, K.; Zinner, N. T. (2020-02-07). "Single-step implementation of high-fidelity n -bit Toffoli gates". Physical Review A. 101 (2): 022308. arXiv:. Bibcode:2020PhRvA.101b2308R. doi:10.1103/physreva.101.022308. ISSN   2469-9926. S2CID   204744044.
20. Nguyen, L.B.; Kim, Y.; Hashim, A.; Goss, N.; Marinelli, B.; Bhandari, B.; Das, D.; Naik, R.K.; Kreikebaum, J.M.; Jordan, A.; Santiago, D.I.; Siddiqi, I. (16 January 2024). "Programmable Heisenberg interactions between Floquet qubits". Nature Physics. 20 (1): 240–246. arXiv:. Bibcode:2024NatPh..20..240N. doi:.
21. Nguyen, Long B.; Goss, Noah; Siva, Karthik; Kim, Yosep; Younis, Ed; Qing, Bingcheng; Hashim, Akel; Santiago, David I.; Siddiqi, Irfan (2023-12-29). "Empowering high-dimensional quantum computing by traversing the dual bosonic ladder". arXiv.org. Retrieved 2024-04-08.
22. Kim, Y.; Morvan, A.; Nguyen, L.B.; Naik, R.K.; Jünger, C.; Chen, L.; Kreikebaum, J.M.; Santiago, D.I.; Siddiqi, I. (2 May 2022). "High-fidelity three-qubit iToffoli gate for fixed-frequency superconducting qubits". Nature Physics. 18 (5): 783–788. arXiv:. Bibcode:2022NatPh..18..783K. doi:.