Supondo que você esteja considerando um computador quântico baseado em portas, a maneira mais fácil de produzir um estado enredado é produzir um dos estados de Bell. O circuito a seguir mostra o estado de Bell .| Φ+⟩
Examinando , | ψ 1 ⟩ e | ψ 2 ⟩ podemos determinar o estado Entagled após a aplicação de todas as portas;| ψ0 0⟩| ψ1⟩| ψ2⟩
1. :| ψ0 0⟩
| ψ0 0⟩ = | 0 0 ⟩
| ψ1⟩
O Hadamard-Gate se aplica ao primeiro qubit, o que resulta no seguinte:
| ψ1⟩ = ( H⊗ eu) | 0 0 ⟩ = H| 0 ⟩ ⊗ | 0 ⟩ = 12-√( | 0 ⟩ + | 1 ⟩ ) | 0 ⟩ = 12-√( | 0 0 ⟩ + | 1 0 ⟩ )
| ψ2⟩
Agora, uma porta CNOT é aplicada e vira o segundo qubit, mas apenas onde o primeiro tem o valor 1. O resultado é
| ψ2⟩ = 12-√( | 0 0 ⟩ + | 1 1 ⟩ )
| ψ2⟩
Embora a abordagem acima possa não parecer programação para você no sentido usual, aplicar portas aos estados é basicamente como funciona a programação de um computador quântico baseado em portas. Existem camadas de abstração que permitem executar a programação de alto nível, mas traduzem os comandos para a aplicação de portas. A interface do IBM Quantum Experience fornece esses recursos.
Em um idioma como o Q # da Microsoft, o exemplo acima pode ser semelhante a este:
operation BellTest () : ()
{
body
{
// Use two qubits
using (qubits = Qubit[2])
{
Set (One, qubits[0]);
Set (Zero, qubits[1]);
// Apply Hadamard gate to the first qubit
H(qubits[0]);
// Apply CNOT gate
CNOT(qubits[0],qubits[1]);
}
}
}
Uma versão mais detalhada (incluindo medição) pode ser encontrada aqui: Microsoft: Escrevendo um programa Quantum .