Como inverter um circuito quântico?

Como inverter um circuito quântico no qiskit?

Em computação quântica, todas as portas lógicas são inversíveis. Portanto, não é surpresa ser possível inverter o circuito com certa facilidade, basta ir do final para o começo aplicando o inverso das portas aplicadas.

O Qiskit apresenta uma função amigável para inverter circuitos, o qc.inverse().

Fiz alguns experimentos, baseado no link a seguir.

Exemplo 1: O circuito abaixo,

tem inversa igual a ela mesma, porque as portas aplicadas são as inversas delas mesmas.

Exemplo 2: O circuito a seguir,

tem inversa:

Como as portas são o inverso delas mesmas, o inverso é o circuito na ordem contrária de aplicação.

Código:

from qiskit import *

qc = QuantumCircuit(3)

qc.z(0)
qc.h(1)
qc.cx(0,2)

print(qc)

qc2 = qc.inverse()

print(qc2)

Exemplo 3: Vamos pegar uma porta que não gira 180 graus na esfera de Bloch:

A inversa é:

Nota importante: não é possível inverter se for acrescentado um elemento não inversível. Um exemplo, uma porta que mede o estado quântico – este vai colapsar para um valor, não é inversível. Ou o circuito ter elementos de portas clássicas não inversíveis.

O código acima se encontra no Github.

https://github.com/asgunzi/qiskitCircuitInversion/


Ideias técnicas com uma pitada de filosofia

https://ideiasesquecidas.com/

Entre no grupo de estudos de Computação Quântica:

https://www.facebook.com/groups/1013309389112487

Deixe um comentário

Faça o login usando um destes métodos para comentar:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s