Geçit tabanlı bir kuantum bilgisayarı düşündüğünüzü varsayarsak, entagled bir durum üretmenin en kolay yolu Bell durumlarından birini üretmektir. Aşağıdaki devre Bell durumunu gösterir .|Φ+⟩
|ψ0⟩|ψ1⟩|ψ2⟩
|ψ0⟩
|ψ0⟩=|00⟩
| ψ1⟩
Hadamard Kapısı ilk kubit üzerinde uygulanır ve bu da aşağıdakilerle sonuçlanır:
| ψ1⟩ = ( H⊗ Ben) | 0 0 ⟩ = H| 0 ⟩ ⊗ | 0 ⟩ = 12-√( | 0 ⟩ + | 1 ⟩ ) | 0 ⟩ = 12-√( | 0 0 ⟩ + | 1 0 ⟩ )
| ψ2⟩
Şimdi bir CNOT geçidi uygulanır ve ikinci kubit çevrilir, ancak sadece birincisi 1 değerine sahipse sonuç.
| ψ2⟩ = 12-√( | 0 0 ⟩ + | 1 1 ⟩ )
| ψ2⟩
Yukarıdaki yaklaşım her zamanki gibi size programlama gibi görünmese de, durumlara kapıları uygulamak temelde kapı tabanlı bir kuantum bilgisayarı programlamanın nasıl çalıştığıdır. Üst düzey programlama yapmanıza izin veren ancak komutları kapıların uygulamasına çevirmenize izin veren soyutlama katmanları vardır. IBM Kuantum Deneyim arabirimi tür özellikler sağlar.
Microsoft'un Q # gibi bir dilde yukarıdaki örnek şuna benzer:
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]);
}
}
}
Daha ayrıntılı bir sürümü (ölçüm dahil) burada bulabilirsiniz: Microsoft: Bir Kuantum Programı Yazma .