Otro es cómo construir un circuito a partir de puertas lógicas primitivas.
Se describe la computación a realizar a nivel de circuito, construyéndolo con puertas cuánticas reversibles.
En general, podemos entender el circuito como k puertas lógicas actuando sobre m qubits.
La transformación conseguida por el circuito puede ser escrita como
, donde Ai es un operador que describe la acción de la puerta i-ésima.Para realizar la composición de matrices Ai hacemos lo siguiente: Seann átomos en el registro.
Añadimos un conjunto nuevo de k+1 átomos que configuran lo que vamos a llamar el contador de posiciones del programa.
al operador de creación de la posición i, de tal forma que ambos operan desde i = 0 hasta i = k. Necesitamos ahora un electrón cambiando continuamente de una posición a otra.
Con este planteamiento Feynman propone como Hamiltoniano:
Si todas las posiciones del programa están libres, entonces todos los átomos del programa están en el estado
, por lo tanto no hay cambios ya que cada término del Hamiltoniano comienza con un operador de aniquilación.
Esto significa que la expresión para H sólo es cierta cuando una y sólo una de las posiciones del programa está ocupada.
Además, durante el proceso de cómputo sólo puede ocurrir que no haya posiciones ocupadas –en cuyo caso no pasa nada, o que sólo haya una posición ocupada en cuyo caso se realiza una computación elemental.
Por otra parte, durante un proceso normal de cómputo, dos o más posiciones de programa no pueden estar ocupadas simultáneamente.