Quantum Multicomputer  Quantum Networking  (logo) Taxonomy  Building Blocks  Compilation 

Reversible/Quantum Arithmetic

Reversible/Quantum Arithmetic

1  Understanding the Animations and Circuit Diagrams

The circuit diagrams in the table below, in GIF and XFIG formats, are in relatively standard format for quantum computing. Look first at the circuit GIF. Each horizontal line is a single qubit, and time flows left to right. Each vertical line segment is a gate. The small, dark dots indicate control lines, and the large, open circle is the target qubit.
If you look at the VBE adder, you can see that in the first time slot, a bunch of gates are executed concurrently on different qubits, then in later time slots only one or two are.
Compare this to the animation. At the beginning of the VBE example, there is a lot of activity, then it dies down and you can see the carry ripple back and forth across the quantum register. Each sphere is a (logical) qubit. The motion of the arrows indicates only that a gate is being performed, nothing about the actual state. The golden arches are two-qubit and three-qubit gates. Qubits are green when they have been initialized, but no gates have affected them yet. Recently used qubits are red; as they "age", they fade toward blue. This provides visual information about which parts of the qubit register are idle, and which are active.
Now look at the Aqua source, and you'll see the gates, the CCNOTs (control-control-NOT) and the CNOTs (control-NOT). In my Aqua notation, the label at the beginning of a line of source is the time slot in which the gate is executed, and the time doesn't increment until you see the next such label.

2  Architectures

The architectures shown here, AC, TC, and NTC, are described on our taxonomy page and in our paper, quant-ph/0408006.

3  Adders

In order to design a useful computer, one must understand the behavior of its most common uses. Arithmetic naturally forms a core element in any library of functions.
Addition of two n-bit numbers on a neighbor-only architecture is limited to O(n) when non-neighbor architectures can reach O(logn), demonstrating that physical characteristics of a computing device have an important impact on both real-world running time and asymptotic behavior.
The conditional-sum and carry-select adders are our original designs. The other adders come from various papers listed on our recommendations page. VBE is Vedral-Barenco-Ekert, and BCDP is Beckman-Chari-Devabhaktuni-Preskill. The carry-lookahead adder, one of the most promising circuits, is by Draper, Kutin, Rains, and Svore.
adder algorithm problem storage AC TC NTC
size space
VBE carry ripple 8 24
animation vbeadder8-movie coming soon coming soon
GIF vbeadder8 coming soon coming soon
XFIG vbeadder8.fig coming soon coming soon
Aqua source vbeadder8.ac coming soon coming soon
BCDP carry ripple
animation coming soon coming soon coming soon
GIF coming soon coming soon coming soon
XFIG coming soon coming soon coming soon
Aqua source coming soon coming soon coming soon
carry select 6 32
animation csel6src-movie coming soon csel6bin-movie
GIF csel6src coming soon csel6bin-layout
XFIG csel6src.fig coming soon csel6bin.fig
Aqua source csel6src.ac coming soon coming soon
conditional sum
animation coming soon coming soon coming soon
GIF coming soon coming soon coming soon
XFIG coming soon coming soon coming soon
Aqua source coming soon coming soon coming soon
carry lookahead 10 35
animation lookahead10src-movie coming soon coming soon
GIF lookahead10src coming soon coming soon
XFIG lookahead10src.fig coming soon coming soon
Aqua source lookahead10src.ac coming soon coming soon
Table 1: Adder circuit various architectures and choices of algorithm. AC, abstract concurrent architecture. TC, two-qubit gate, concurrent architecture. NTC neighbor-only, two-qubit gate, concurrent architecture.

4  Fast Quantum Modular Exponentiation

See our full paper, "Fast Quantum Modular Exponentiation", for numeric results and the detailed circuits. The paper is available on our publications page.
Abstract:
We have performed a detailed analysis of the impact on modular exponentiation of architectural features and possible concurrent gate execution. Various arithmetic algorithms are evaluated for execution time, potential concurrency, and space tradeoffs. We find that, to exponentiate an n-bit number, for storage space 100n (twenty times the minimum 5n), we can execute modular exponentiation one hundred to seven hundred times faster than optimized versions of the basic algorithms, depending on architecture, for n=128. Addition on a neighbor-only architecture is limited to O(n) when non-neighbor architectures can reach O(logn), demonstrating that physical characteristics of a computing device have an important impact on both real-world running time and asymptotic behavior. Our results will help guide experimental implementations of quantum algorithms and devices.

5  Additional References

See also the Qwiki page on quantum arithmetic for a list of papers on the topic.

Aqua Home  Introduction  Research  Publications  People  Recommendations  Software
Home  Classes  Research  Publications  History (c.v.)  Official Profile  Personal  Contact me 

rdv@sfc.keio.ac.jp Copyright 2007 Rod Van Meter
Last modified: $Date: 2007/04/05 02:25:41 $



File translated from TEX by TTH, version 3.63.
On 5 Apr 2007, 12:28.