In logic circuits, the Toffoli gate, also known as the CCNOT gate (“controlled-controlled-not”), invented by Tommaso Toffoli, is a CNOT gate with two control qubits and one target qubit. That is, the target qubit (third qubit) will be inverted if the first and second qubits are both 1. It is a universal reversible logic gate, which means that any classical reversible circuit can be constructed from Toffoli gates.
The truth table and matix are as follows:
Truth table | Permutation matrix form | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
Background
An input-consuming logic gate L is reversible if it meets the following conditions: (1) L(x) = y is a gate where for any output y, there is a unique input x; (2) The gate L is reversible if there is a gate L´(y) = x which maps y to x, for all y.
An example of a reversible logic gate is a NOT, which can be described from its truth table below:
Input | Output | Condition (1) | Condition (2) |
---|---|---|---|
0 | 1 | x = 0 y = 1 | y = 1 x = 0 |
1 | 0 | x = 1 y = 0 | y = 0 x = 1 |
The common AND gate is not reversible, because the inputs 00, 01 and 10 are all mapped to the output 0.
Input | Output | Condition (1) |
---|---|---|
00 | 0 | x not unique for y = 0 |
01 | 0 | x not unique for y = 0 |
10 | 0 | x not unique for y = 0 |
11 | 1 | x = 11 y = 1 |
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]
Hardware description
The classical Toffoli gate is implemented in a hardware description language such as Verilog:
module toffoli_gate (
input u1, input u2, input in,
output v1, output v2, output out);
always @(*) begin
v1 = u1;
v2 = u2;
out = in ^ u1 && u2;
end
endmodule
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 (CNOT), which XORs the first bit to the second bit and leaves the first bit unchanged.
Truth table | Permutation matrix form | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
Unfortunately, there are reversible functions that cannot be computed using just those gates. For example, AND cannot be achieved by those gates. In other words, the set consisting of NOT and XOR gates is not universal. To compute an arbitrary function using reversible gates, the Toffoli gate, proposed in 1980 by Toffoli, can indeed achieve the goal.[3] 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, c ⨁ ab}.[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.
Related logic gates
![](https://upload.wikimedia.org/wikipedia/commons/thumb/9/98/Qcircuit_Fredkin.svg/93px-Qcircuit_Fredkin.svg.png)
![](https://upload.wikimedia.org/wikipedia/commons/thumb/e/ef/Qcircuit_ToffolifromCNOT.svg/405px-Qcircuit_ToffolifromCNOT.svg.png)
- 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 xn−1) 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]
- Another universal 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 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]
See also
- Controlled NOT gate
- Fredkin gate
- Reversible computing
- Bijection
- Quantum computing
- Quantum logic gate
- Quantum programming
- Adiabatic logic
References
- ^ 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.
- ^ Colin P. Williams (2011). Explorations in Quantum Computing. Springer. pp. 25–29, 61. ISBN 978-1-84628-887-6.
- ^ 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.
- ^ Nielsen, Michael L.; Chuang, Isaac L. (2010). Quantum Computation and Quantum Information (10th ed.). Cambridge University Press. p. 29. ISBN 9781107002173.
- ^ 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:quant-ph/9503016. Bibcode:1995PhRvA..52.3457B. doi:10.1103/PhysRevA.52.3457. PMID 9912645. S2CID 8764584.
- ^ 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:1301.3372. Bibcode:2013PhRvA..88a0304Y. doi:10.1103/physreva.88.010304. ISSN 1050-2947. S2CID 55486826.
- ^ Shi, Xiao-Feng (May 2018). "Deutsch, Toffoli, and CNOT Gates via Rydberg Blockade of Neutral Atoms". Physical Review Applied. 9 (5): 051001. arXiv:1710.01859. Bibcode:2018PhRvP...9e1001S. doi:10.1103/PhysRevApplied.9.051001. S2CID 118909059.
- ^ 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.
- ^ 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:1508.03273. Bibcode:2016PhRvA..93b2311M. doi:10.1103/PhysRevA.93.022311. ISSN 2469-9926.
- ^ 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:2108.10288. Bibcode:2022NatPh..18..783K. doi:10.1038/s41567-022-01590-3.
- ^ 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:quant-ph/0205115. Bibcode:2002quant.ph..5115S. doi:10.26421/QIC3.1-7.
- ^ 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:0804.0082. Bibcode:2009PhRvL.102d0501M. doi:10.1103/PhysRevLett.102.040501. PMID 19257408. S2CID 2051775.
- ^ Shende, Vivek V.; Markov, Igor L. (2008-03-15). "On the CNOT-cost of TOFFOLI gates". arXiv:0803.2316 [quant-ph].
- ^ 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:1508.03273. Bibcode:2016PhRvA..93b2311M. doi:10.1103/PhysRevA.93.022311. S2CID 5226873.
- ^ Katz, Or; Cetina, Marko; Monroe, Christopher (2022-02-08). " -Body Interactions between Trapped Ion Qubits via Spin-Dependent Squeezing". Physical Review Letters. 129 (6): 063603. arXiv:2202.04230. doi:10.1103/PhysRevLett.129.063603. PMID 36018637. S2CID 246679905.
- ^ 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:2010.08490. Bibcode:2021PhRvA.103e2437E. doi:10.1103/PhysRevA.103.052437. S2CID 223953418.
- ^ a b 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:2006.07035. Bibcode:2020PhRvX..10b1054K. doi:10.1103/PhysRevX.10.021054. ISSN 2160-3308.
- ^ Isenhower, L.; Saffman, M.; Mølmer, K. (2011-09-04). "Multibit CkNOT quantum gates via Rydberg blockade". Quantum Information Processing. 10 (6): 755. arXiv:1104.3916. doi:10.1007/s11128-011-0292-4. ISSN 1573-1332. S2CID 28732092.
- ^ 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:1910.07548. Bibcode:2020PhRvA.101b2308R. doi:10.1103/physreva.101.022308. ISSN 2469-9926. S2CID 204744044.
- ^ 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:2211.10383. Bibcode:2024NatPh..20..240N. doi:10.1038/s41567-023-02326-7.
- ^ 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.
- ^ 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:2108.10288. Bibcode:2022NatPh..18..783K. doi:10.1038/s41567-022-01590-3.
External links
- CNOT and Toffoli Gates in Multi-Qubit Setting at the Wolfram Demonstrations Project.