Ancilla bit
Ancilla bits are some extra bits being used to achieve some specific goals in computation. In classical computation, any memory bit can be turned on or off at will, requiring no prior knowledge or extra gadgetry. 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.
s to construct a NOT gate with 5 controls. The ancilla bits end up trashed because the effects on them were not uncomputed.
A trivial use for ancilla bits is downgrading complicated quantum gates into simple gates. For example, by placing controls on ancilla bits, a Toffoli gate can be used as a controlled NOT gate or a NOT gate.
For classical reversible computation it is known that a single ancilla bit is necessary and sufficient for universal computation. Additional ancilla bits are not necessary, but the extra workspace can allow for simpler circuit constructions that use fewer gates.
In quantum computing, quantum catalysis uses ancilla qubits to store entangled states that enable tasks that would not normally be possible with local operations and classical communication. Quantum computers also use ancilla bits for quantum error correction.