Mog18: Toben AEgidius Mogensen. Garbage-Free Reversible Multiplication and Division
- in {lit+ textvar Lit.Lit$:RC18 is undefined or empty}
- Garbage-Free: only forgetting a bit needs energy (Landauers Principle). Thus, don't forget intermediate results, but uncompute them to zero
- garbage-bit: a bit that is computed but not in the final output
- ancilla-bit: a bit with know initial state (for intermediate results). Must be uncomputed to the inital state, otherwise they are garbage!
- additional benefit, that running the circuit reverse, will do the inverse function (because it does not depend on intermediate results!)
- what is the reversible multiplication function
- (a, b) → a*b is not reversible
- (a, b) → (a, a*b) is reversible, but reverse computation needs the prerquisite l divides l*r
- (a, b, r) → (a, a*b+r) with r < a has the reverse (a, p) ==> (a, p div a, p mod a) is used here
using faster components
- log-depth carry-lookahead adder {lit+ textvar Lit.Lit$:DKR06 is undefined or empty} described & implemented Adder