Reversible Computation
A reversible computation preserves enough information to reconstruct every declared input from its output. For a finite logical state space this means a bijection on the complete state space, not merely an injective rule on the subset of inputs that happens to be used. A promise-subspace action can be useful, but it becomes a physical gate only after one specifies a bijective extension to all basis states.
This distinction is the bridge from classical functions to quantum circuits. Ideal closed-system quantum gates are unitary and therefore invertible. Many-to-one Boolean functions, measurements, reset, discard, noise, and reduced dynamics on visible subsystems need not be reversible on the displayed registers. To use an ordinary classical function coherently, one must embed it in a larger reversible transformation, name every auxiliary register, and remove temporary records without destroying interference.
Required background. Bits, Qubits, Qudits, and Modes supplies computational-basis registers and their encodings. Unitary Operators supplies inner-product preservation, adjoints, and inverse operators.
Logical Reversibility of Classical Maps
Section titled “Logical Reversibility of Classical Maps”Let and be finite sets and let be deterministic. The map is injective when distinct inputs have distinct outputs, surjective when every declared output occurs, and bijective when both conditions hold. A deterministic operation on one complete finite logical state space is reversible precisely when it is bijective. Its inverse then assigns one and only one predecessor to every output.
For equal-size bit registers, a reversible operation is therefore a permutation of all bit strings. NOT is reversible because it exchanges and . The one-output AND map is not: , , and all map to . The two-input XOR function is also many-to-one when written as
but the two-wire controlled-NOT action
is bijective because the retained first bit distinguishes the two XOR fibers.
The fiber of over is
Fiber size measures exactly how much distinguishing information the output value fails to retain. This page develops that finite-map language locally. Sets, Functions, and Maps owns the general mathematical theory.
A promise changes the question but not the gate requirement. Suppose an operation is requested only on . Injectivity on is necessary for a reversible promised action, yet it says nothing about inputs in . A complete circuit must state the ambient register space and give a permutation on every basis string, or prove that the promised isometry extends to such a permutation.
The Ten-Field Reversible-Circuit Record
Section titled “The Ten-Field Reversible-Circuit Record”Every reversible-implementation claim should fill the following record. Write N/A and justify it when a field genuinely does not apply. Leaving the field blank is not an acceptable convention.
- Classical task, domain, codomain, and promise — Give the function or relation, the complete finite sets, and any promised input subset.
- Register names, order, widths, and basis encoding — Name every register, fix the tensor-factor order, state bit significance, and identify the computational basis.
- Input, output, and preservation contract — Say which input data remain, which register holds the useful result, and what must be reconstructible.
- Clean and dirty ancilla assumptions — A clean ancilla begins in a named standard state; a dirty ancilla may be unknown and must be returned to exactly that state.
- Reversible embedding and explicit inverse — State the full map on all basis strings, not only the intended input slice, and give or derive its inverse.
- Gate alphabet and phase semantics — Declare ideal primitives, allowed constants and wire permutations, and whether a phase-free permutation or a relative-phase implementation is required.
- Garbage, copied data, and cleanup condition — Identify unwanted records, copied basis labels, reusable lines, and the state to which each line must return.
- Width, size, depth, and maximum live workspace — Keep simultaneous wires, primitive count, scheduling layers, and peak temporary storage as separate quantities.
- Exactness, error metric, and verification evidence — Report truth-table coverage, inverse and norm residuals, phase-sensitive tests, and, for approximate blocks, a declared operator or channel metric.
- Licensed conclusion and canonical handoff — State only the achieved reversible contract and route synthesis, hardware, algorithmic, or thermodynamic questions to their owners.
A basis truth table is necessary but not sufficient for a coherent quantum implementation. It verifies where basis labels go, but it cannot detect input-dependent phases. At least one superposition test is required whenever the phase convention matters.
Why Many-to-One Logic Cannot Be Unitary
Section titled “Why Many-to-One Logic Cannot Be Unitary”Assume that two distinct classical inputs have the same function value:
Their computational-basis states are orthogonal,
If a closed-system operator attempted to implement the output-only rule
then these two orthogonal states would be sent to the same normalized state. Their output inner product would be one:
No unitary can change an inner product from zero to one. The obstruction is not specifically quantum; it is the absence of a single-valued logical inverse. Quantum mechanics makes the obstruction especially sharp because inner products, including relative phase information, must be preserved by closed-system evolution.
There are three distinct resolutions, and they must not be conflated:
- retain enough input or history to distinguish the fibers;
- export the distinguishing record to an auxiliary system, making the enlarged evolution reversible; or
- use an irreversible operation such as reset, measurement with a forgotten record, discard, or a noisy channel on the displayed system.
The second option does not make information disappear. If a unitary maps
then the environment records must distinguish inputs that share the same visible output. Discarding produces irreversible reduced dynamics on the visible register even though the enlarged transformation is unitary. General dilations and reduced channels belong to Quantum Channels and Noise.
Reversible Embeddings and Permutation Matrices
Section titled “Reversible Embeddings and Permutation Matrices”Let be a permutation of a finite basis-label set. Its phase-free quantum representation is
Because a permutation relabels an orthonormal basis,
Thus every finite classical reversible gate defines a unitary permutation matrix. The converse is false: most unitaries create superpositions and are not permutation matrices.
For an -bit function , the standard XOR embedding retains the input and adds its value into an -bit target:
Bitwise XOR is its own inverse, so
for every declared target value , not only for a clean target . Replacing XOR by addition in another finite group still yields a reversible embedding, but the inverse then uses the group inverse and need not equal the forward map.
An alternative embedding may omit the original input and produce a useful result plus a garbage label:
The pair must be injective. If is the garbage alphabet, every element of the largest fiber requires a distinct garbage label:
For a binary garbage register of width ,
This lower bound applies only when the original input is not retained. In the XOR embedding, already distinguishes the fibers, so it is not an additional-garbage lower bound.
Register dimensions must balance as well. If occupies more output wires than the logical input, the implementation needs named input ancillas. An injective rule on the clean-ancilla slice must then be extended to a full permutation of all basis strings. Specifying only
does not define what the gate does when an ancilla is not zero.
Toffoli and Fredkin Gates
Section titled “Toffoli and Fredkin Gates”The Toffoli gate, or controlled-controlled-NOT, acts on ordered bits as
It is an involution because applying the same conditional XOR twice cancels:
With , the target receives AND while the two inputs remain available. With , the target receives NAND. Toffoli is universal for reversible Boolean computation only after one declares initialized constants, allowed ancillas, wire permutations, and garbage-output conventions. The symbol alone says nothing about whether a device implements it natively or how it is synthesized.
The Fredkin gate is a controlled swap. For ordered bits ,
When , it leaves fixed; when , it exchanges them. Fredkin is also an involution and preserves Hamming weight. Its conservative universality depends on the encoding and allowed auxiliary resources. Weight conservation is a stronger restriction than logical reversibility, not a property shared by every reversible gate.
Multi-Qubit Gates owns the full matrix conventions, entangling behavior, and native-versus-compiled interpretation of multi-qubit gates. Here Toffoli and Fredkin serve as reversible-logic primitives. A relative-phase Toffoli may realize the same classical label permutation but is not automatically an exact replacement in a coherent circuit.
Ancillas, Garbage, and Workspace
Section titled “Ancillas, Garbage, and Workspace”An ancilla is an auxiliary register with an explicit state contract. A clean ancilla begins in a known standard state such as . A dirty ancilla begins in an unknown state that the computation may temporarily modify but must restore exactly. Calling a line “workspace” does not determine which contract applies.
For example, applying CNOT from a data bit to a target initially in produces
This target holds only when . If is unknown, it can still serve as dirty workspace inside a larger construction, but the final circuit must return it to .
Garbage means an output record that is not part of the useful answer but is needed to keep the transformation invertible. Preserved inputs are not intrinsically garbage; they become unwanted residual records only relative to a task that requests the function value alone. Temporary work values are likewise harmless if they are coherently returned to their initial states.
Garbage becomes operationally important on superpositions. Suppose a computation produces
If the work states differ, discarding the work register multiplies each retained off-diagonal term by
Orthogonal garbage records erase coherence between the corresponding branches of the reduced state. The global state remains pure; the apparent irreversibility arises because a distinguishing record has been ignored.
Workspace accounting should therefore state both maximum live occupancy and final occupancy. A line that is eventually cleaned may still determine the peak width, routing burden, or fault-tolerant qubit requirement. Circuit Model owns the general definitions of width, size, depth, and register semantics.
Compute–Copy–Uncompute
Section titled “Compute–Copy–Uncompute”Assume an exact reversible block computes an -bit basis label while retaining its input:
Running immediately would clean the workspace but also erase the computed result. Bennett’s compute–copy–uncompute pattern first transfers the orthogonal result label to a separate clean register:
For bit strings, the middle operation is a bank of CNOTs or controlled additions. It copies an orthogonal computational-basis label, not an arbitrary unknown state. The resulting state can still entangle the input with the useful output. No-Cloning and No-Signaling owns the theorem that forbids copying arbitrary unknown quantum states.
Uncomputation has three essential preconditions:
- the controls and other inputs required by remain coherently available;
- the implemented inverse matches the actual forward block, including relative phases; and
- the useful result has been transferred without disturbing the promised basis-label semantics.
Resetting, measuring, or discarding a work register is not uncomputation. Those operations can clean a visible line only by exporting entropy or a classical record. If an approximate inverse is used, the audit must choose a norm or channel metric and measure residual population, phase error, and entanglement in the supposedly clean registers.
Uncomputation can reduce final garbage while increasing size and depth. Reversible simulation more generally trades time, space, and irreversible erasures; there is no convention-independent constant-overhead theorem for every computation.
Basis Permutations, Relative Phases, and Quantum Coherence
Section titled “Basis Permutations, Relative Phases, and Quantum Coherence”A classical truth table records only the output basis label. A coherent quantum gate may instead be a monomial unitary
This gate and the phase-free permutation have the same basis-label truth table. They are equivalent on every coherent input only when the phases form one global phase, or when the surrounding declared circuit cancels all relative phases.
The smallest counterexample compares and . Both leave the labels and unchanged, but
A basis-state measurement cannot distinguish them on the inputs and ; an interference experiment can. Similarly, a relative-phase Toffoli may be cheaper in a chosen synthesis model and entirely correct inside a circuit where the phases cancel, while failing a contract that demands the exact phase-free Toffoli.
Phase-sensitive verification can prepare superpositions, apply the candidate and ideal inverse, and measure in complementary bases. For an exact finite gate, a direct matrix check can report
after minimizing over one allowed global phase. The norm, tolerance, and whether the comparison is on the full space or a promise subspace must be stated.
Permutation unitaries are therefore a strict subset of quantum gates. They coherently implement classical reversible logic, but general unitaries can rotate amplitudes and phases without corresponding to any deterministic classical truth function. Universal Gate Sets owns exact and approximate universality for the larger unitary group.
Universality, Cost Models, and Physical Reversibility
Section titled “Universality, Cost Models, and Physical Reversibility”“Universal” is meaningful only relative to a target class and a resource contract. Toffoli with initialized constants and garbage conventions supports universal reversible Boolean computation. Fredkin supports a conservative form of universality with an appropriate encoding and auxiliaries. Neither statement establishes universality for arbitrary quantum unitaries, efficient synthesis in a hardware alphabet, or a useful fault-tolerant implementation.
For a forward block of abstract size and depth that computes an -bit result, a simple compute–parallel-copy–uncompute estimate is
These formulas require the inverse gates to have the same abstract cost, all copy operations to fit in one layer, sufficient connectivity, and no hidden routing or scheduling overhead. Width, maximum live workspace, primitive counts, and depth remain separate. Gate Decomposition owns synthesis into a chosen gate alphabet and topology, while Resource Estimation Tools owns propagation to logical, fault-tolerant, physical, and operational resources.
Query cost is another distinct abstraction. A reversible predicate may be counted as one oracle query while hiding arithmetic, data access, workspace, copying, and cleanup. Phase Kickback owns the clean XOR-to-phase consequence and its compute–phase–uncompute audit; this page retains reversible embeddings, workspace, garbage, and the generic uncomputation construction. Quantum Oracles owns the query domain and promises, complete full-space extension, separately licensed forward, inverse, controlled, and powered access, reductions between oracle forms, and the oracle-specific fair comparator. Algorithmic Primitives owns how a declared access interface composes with phase, interference, and readout, while Grover Search owns the complete search-query interpretation.
Logical reversibility is also not time-reversal symmetry. A logically reversible truth table does not specify a Hamiltonian, a time-reversed protocol, thermal isolation, control precision, error rate, or switching speed. Real implementations can dissipate energy through control, noise, error correction, leakage, and reset even when the ideal logical operation is a permutation.
Landauer Principle owns the thermodynamic statement that entropy-reducing erasure under declared bath and cycle assumptions has a heat or work lower bound. That bound is not a fixed energy charge per Toffoli, unitary, measurement, or gate symbol. Logical reversibility removes one source of compulsory erasure; it does not by itself prove a zero-dissipation, finite-time, reliable computer.
Worked Audit: AND through a Toffoli Embedding
Section titled “Worked Audit: AND through a Toffoli Embedding”This exact synthetic analytic audit treats with no promise. The register order is the big-endian basis , and is a clean target.
- Classical task, domain, codomain, and promise — Evaluate AND from to on all four inputs.
- Register names, order, widths, and basis encoding — Use three one-bit registers in order and basis order .
- Input, output, and preservation contract — Initialize , preserve , and return in .
- Clean and dirty ancilla assumptions — The target is clean ; there are no dirty ancillas.
- Reversible embedding and explicit inverse — Use . Its inverse is the same Toffoli.
- Gate alphabet and phase semantics — Use one ideal phase-free Toffoli; compilation and native realization are outside this audit.
- Garbage, copied data, and cleanup condition — No temporary workspace is created. The preserved input pair is part of the output record, not erased data.
- Width, size, depth, and maximum live workspace — Width , size one Toffoli, depth , and no separate temporary line. Compiled, native, fault-tolerant, and physical costs are
N/Ain this abstract audit. - Exactness, error metric, and verification evidence — Verify all eight basis states, the inverse, normalization, and the coherent test below; every exact residual is zero.
- Licensed conclusion and canonical handoff — This is one exact ideal reversible embedding of AND. Multi-qubit matrices, synthesis, hardware, and thermodynamics remain with their accepted owners.
The full permutation is
000 → 000 001 → 001010 → 010 011 → 011100 → 100 101 → 101110 → 111 111 → 110It fixes six strings and exchanges . Hence
and the exact permutation, inverse, and state-norm residuals vanish. On the clean-target slice,
If the input pair were not retained, output-only AND would have fiber sizes three and one. At least three garbage labels, hence two garbage bits, would be necessary. A three-output-wire construction would need a named clean third input wire and a full eight-state permutation extending
The ordinary Toffoli embedding instead uses the retained to distinguish the fibers.
For the coherent input , the output is
Tracing out gives target probabilities and eigenvalues and . With base-two logarithms,
The global state is pure; the target is mixed because it is correlated with the preserved inputs. This audit licenses no native, synthesized, fault-tolerant, energetic, or thermodynamic cost claim.
Worked Audit: Coherent Parity with and without Cleanup
Section titled “Worked Audit: Coherent Parity with and without Cleanup”This second exact synthetic analytic audit computes using register order . The line is temporary workspace and is the durable output.
- Classical task, domain, codomain, and promise — Evaluate two-bit parity on all four source strings, with no promise.
- Register names, order, widths, and basis encoding — Use ordered one-bit registers and the computational basis in that order.
- Input, output, and preservation contract — Preserve , return parity in , and restore to zero.
- Clean and dirty ancilla assumptions — Both and begin in . The dirty-work variant below shows why this matters.
- Reversible embedding and explicit inverse — Compute parity into , copy it to , then reverse the two parity CNOTs.
- Gate alphabet and phase semantics — Use five ideal phase-free CNOTs in the stated order.
- Garbage, copied data, and cleanup condition — The orthogonal parity label is copied once; must finish in , leaving no final garbage.
- Width, size, depth, and maximum live workspace — Width , size , strict serial depth , one temporary work qubit, and zero final workspace occupancy.
- Exactness, error metric, and verification evidence — Check the clean-input basis slice, inverse action, zero norm residual, and the reduced-state coherence metrics below.
- Licensed conclusion and canonical handoff — Exact uncomputation restores reusable workspace and parity-sector interference; it assigns no reset, hardware, or physical energy cost.
Apply the gates in this order:
CNOT x1→wCNOT x0→wCNOT w→zCNOT x0→wCNOT x1→wEvery gate touches , so no two gates in this sequence share a scheduling layer. On the clean-input slice,
0000 → 00000100 → 01011000 → 10011100 → 1100The first two CNOTs compute , the middle CNOT copies that orthogonal basis label to , and the final two apply the inverse computation. The exact permutation, inverse, and state-norm residuals are zero.
The clean promise is consequential. For a general initial work value ,
even though the final two gates restore . The advertised parity-output contract therefore requires .
Starting from , the cleaned state is
To quantify the effect of omitted cleanup, define normalized retained-register states
Before the two inverse CNOTs, the full state is
Discarding gives
The desired cleaned retained state is
Using squared state fidelity and trace distance
the omitted-cleanup state has
After uncomputation the corresponding purity, fidelity, and trace-distance values are , , and . The calculation establishes coherent cleanup, not a universal need to retain parity forever or a cost for physically resetting a device.
Common Failure Modes and Canonical Handoffs
Section titled “Common Failure Modes and Canonical Handoffs”Calling a many-to-one function a unitary. The rule fails when two inputs share an output. Retain a distinguishing register, give a full reversible embedding, or model an irreversible channel.
Verifying only the clean slice. A rule on ancillas initialized to zero may define an isometry on a promise subspace without defining the gate elsewhere. Give a full permutation and its inverse.
Treating every ancilla as clean. A dirty target changes an XOR-computed result unless its unknown initial value is included in the contract. State both its initial promise and its required final state.
Silently discarding garbage. Garbage can be entangled with useful registers. Tracing it out may dephase the useful state even though all basis-label probabilities look correct.
Calling reset uncomputation. Uncomputation applies the coherent inverse and restores workspace without exporting a record. Reset, measurement, and discard are different operations owned by the general circuit and channel formalisms.
Confusing basis copying with cloning. Controlled addition can copy an orthogonal basis label into a clean target. It cannot copy an arbitrary unknown superposition.
Ignoring relative phase. Two gates may share a classical truth table and differ on superpositions. State whether relative-phase variants are allowed and include an interference test.
Overstating universality. Toffoli and Fredkin universality claims require constants, encodings, auxiliaries, garbage rules, and allowed wire permutations. Universal Gate Sets owns quantum-unitary universality.
Mixing resource currencies. Abstract gate size is not oracle-query count, Clifford+ cost, physical duration, control energy, or wall-clock time. Algorithmic Primitives, Grover Search, and Gate Decomposition own those downstream distinctions.
Equating logical and physical reversibility. Logical invertibility is not time-reversal symmetry and does not guarantee dissipation-free hardware. Unitary Time Evolution owns closed-system physical evolution; Landauer Principle owns erasure thermodynamics.
The Gates, Circuits, and Computation Models guide routes the remaining gate and computation-model questions. The Quantum Information and Computation volume, What Is Quantum Information?, and the Quantum Information Roadmap place reversible computation in the broader curriculum, while Math Needed for Quantum Information supplies the supporting map and matrix language.
Exercises
Section titled “Exercises”1. Noninjective maps cannot be unitary
Section titled “1. Noninjective maps cannot be unitary”Let . Prove that no closed-system unitary can implement on both inputs.
Solution
The inputs are orthogonal:
The proposed outputs are the same normalized state, so
A unitary preserves inner products, so it cannot implement this map without another register retaining a distinguishing record.
2. Minimum garbage for three-bit majority
Section titled “2. Minimum garbage for three-bit majority”Let equal one when at least two inputs equal one. Find the minimum number of garbage bits needed for a reversible output that does not retain , and construct an explicit bijection.
Solution
The zero fiber is
and the one fiber is
Each has size four, so and at least two garbage bits are necessary. They are sufficient: assign labels within each fiber, for example
000 → (0,00) 001 → (0,01)010 → (0,10) 100 → (0,11)011 → (1,00) 101 → (1,01)110 → (1,10) 111 → (1,11)The eight outputs are distinct and exhaust the three-bit output space, so this is a bijection.
3. NAND from Toffoli
Section titled “3. NAND from Toffoli”Show how a Toffoli gate evaluates NAND, and explain why the resulting operation is reversible even though NAND alone is not.
Solution
Initialize the target to one. Toffoli gives
The target is the NAND value, while remain in the output. Those retained inputs distinguish the three input pairs that produce NAND value one. The full three-bit Toffoli is a permutation and is its own inverse; output-only NAND is many-to-one.
4. Fredkin audit
Section titled “4. Fredkin audit”List the full Fredkin truth table, identify its nontrivial exchange, and verify both involution and Hamming-weight conservation.
Solution
With register order ,
000 → 000 001 → 001010 → 010 011 → 011100 → 100 101 → 110110 → 101 111 → 111The sole nontrivial exchange is ; all other strings are fixed. Applying the same exchange twice returns every string, so . Exchanging leaves the number of ones unchanged, and the control is unchanged, so total Hamming weight is conserved on every row.
5. Same truth table, different coherent gate
Section titled “5. Same truth table, different coherent gate”Explain why and have the same computational-basis label truth table but are not the same coherent gate.
Solution
Both gates preserve the basis labels:
whereas
The minus sign is invisible to a basis-label truth table but is relative on a superposition:
An -basis measurement distinguishes the outputs perfectly.
6. Compute–phase–uncompute
Section titled “6. Compute–phase–uncompute”Let . Starting with a uniform two-bit input and a clean work bit, apply , then to the work bit, then again. Find the final amplitudes and work state.
Solution
For each basis input,
OR is zero only for . Therefore the final state is
The input amplitudes have phase pattern and the work bit is exactly clean.
7. Complete ten-field resource audit
Section titled “7. Complete ten-field resource audit”A forward block on an -bit input uses 12 Toffolis, depth 9, three clean scratch bits, and a four-bit clean computed-result register. A separate four-bit durable output is available. Audit the full compute–parallel-copy–uncompute construction.
Solution
- Classical task, domain, codomain, and promise — An otherwise unspecified four-bit function of an -bit input; no promise is supplied, so the audit applies to the complete -bit input space.
- Register names, order, widths, and basis encoding — Input has bits, scratch has three, computed result has four, and durable output has four; computational-basis order is .
- Input, output, and preservation contract — Preserve , place the useful four-bit value in , and restore to zero.
- Clean and dirty ancilla assumptions — All three bits, four bits, and four bits begin at zero; no dirty ancilla is licensed.
- Reversible embedding and explicit inverse — Apply the declared forward block, four bitwise CNOT copies , and the exact inverse block.
- Gate alphabet and phase semantics — The forward and inverse costs are stated in ideal Toffolis; copying uses four ideal phase-free CNOTs. Any lower-level synthesis is
N/Ahere. - Garbage, copied data, and cleanup condition — keeps the copied result. The three scratch and four computed-result lines, seven lines total, return to zero.
- Width, size, depth, and maximum live workspace — Maximum width is . The full size is gates: 24 Toffolis and four CNOTs. Parallel copying gives depth . Peak temporary occupancy is seven lines, final temporary occupancy zero.
- Exactness, error metric, and verification evidence — The prompt declares exact forward and inverse blocks; a completed implementation must still test the full permutation, inverse, and relative phases. No approximate metric is supplied, so approximation error is
N/A. - Licensed conclusion and canonical handoff — The abstract cleanup ledger is size 28, depth 19, and width . Compilation, routing, fault tolerance, and hardware cost require downstream analysis.
8. Thermodynamic boundary
Section titled “8. Thermodynamic boundary”Using the exact Boltzmann constant, evaluate at and the corresponding value for ideal unbiased erasures. Explain what the calculation does not establish.
Solution
With
one obtains
For ideal erasures,
This is the familiar lower bound for resetting one initially equiprobable, uncorrelated bit to one fixed logical state in an isothermal cycle with a bath at , in the ideal quasistatic limit that exports the entropy decrease . It assumes no usable side information or correlations that change the conditional entropy. It is not an engineering dissipation estimate, an energy per Toffoli, or a charge attached to every logically reversible gate. Biased memories, correlations, finite baths, error constraints, and nonideal cycles require a more complete thermodynamic record.
References
Section titled “References”- A. Barenco, C. H. Bennett, R. Cleve, D. P. DiVincenzo, N. Margolus, P. Shor, T. Sleator, J. A. Smolin, and H. Weinfurter, “Elementary gates for quantum computation,” Physical Review A 52, 3457–3467 (1995), doi:10.1103/PhysRevA.52.3457.
- C. H. Bennett, “Logical reversibility of computation,” IBM Journal of Research and Development 17(6), 525–532 (1973), doi:10.1147/rd.176.0525.
- C. H. Bennett, “The thermodynamics of computation—a review,” International Journal of Theoretical Physics 21, 905–940 (1982), doi:10.1007/BF02084158.
- C. H. Bennett, “Time/space trade-offs for reversible computation,” SIAM Journal on Computing 18(4), 766–776 (1989), doi:10.1137/0218053.
- R. P. Feynman, “Quantum mechanical computers,” Foundations of Physics 16(6), 507–531 (1986), doi:10.1007/BF01886518.
- E. Fredkin and T. Toffoli, “Conservative logic,” International Journal of Theoretical Physics 21(3–4), 219–253 (1982), doi:10.1007/BF01857727.
- R. Landauer, “Irreversibility and heat generation in the computing process,” IBM Journal of Research and Development 5(3), 183–191 (1961), doi:10.1147/rd.53.0183.
- M. Li and P. M. B. Vitányi, “Reversibility and adiabatic computation: trading time and space for energy,” Proceedings of the Royal Society A 452(1947), 769–789 (1996), doi:10.1098/rspa.1996.0039.
- D. Maslov, “Advantages of using relative-phase Toffoli gates with an application to multiple control Toffoli optimization,” Physical Review A 93, 022311 (2016), doi:10.1103/PhysRevA.93.022311.
- M. A. Nielsen and I. L. Chuang, Quantum Computation and Quantum Information, 10th Anniversary Edition, Cambridge University Press (2010), doi:10.1017/CBO9780511976667.
- A. Peres, “Reversible logic and quantum computers,” Physical Review A 32, 3266–3276 (1985), doi:10.1103/PhysRevA.32.3266.
- T. Toffoli, “Reversible computing,” in Automata, Languages and Programming, J. W. de Bakker and J. van Leeuwen, eds., Lecture Notes in Computer Science 85, Springer, 632–644 (1980), doi:10.1007/3-540-10003-2_104.