Dengan anggapan Anda sedang mempertimbangkan komputer kuantum berbasis gerbang, cara paling mudah untuk menghasilkan keadaan terjerat adalah dengan menghasilkan salah satu status Bell. Sirkuit berikut menunjukkan status Bell .| Φ+⟩
Dengan memeriksa , dan kita dapat menentukan status terperangkap setelah aplikasi semua gerbang:| ψ 1 ⟩ | ψ 2 ⟩| ψ0⟩| ψ1⟩| ψ2⟩
1. :| ψ0⟩
Tidak banyak yang terjadi di sini karena tidak ada gerbang diterapkan pada saat ini. Karenanya, kondisi keseluruhan sistem hanyalah produk tensor dari status tunggal yang kami tulis seperti ini:
| ψ0⟩ = | 0 0 ⟩
2. :| ψ1⟩
Gerbang Hadamard berlaku pada qubit pertama yang menghasilkan sebagai berikut:
| ψ1⟩ = ( H⊗ saya) | 0 0 ⟩ = H| 0 ⟩ ⊗ | 0 ⟩ = 12-√( | 0 ⟩ + | 1 ⟩ ) | 0 ⟩ = 12-√( | 0 0 ⟩ + | 1 0 ⟩ )
3. :| ψ2⟩
Sekarang gerbang CNOT diterapkan dan membalik qubit kedua tetapi hanya di mana yang pertama memiliki nilai 1. Hasilnya
| ψ2⟩ = 12-√( | 0 0 ⟩ + | 1 1 ⟩ )
Keadaan terakhir ini adalah keadaan terperangkap dan biasanya cara paling alami untuk menghadapi situasi seperti itu. Status Bell terjadi dalam banyak algoritma kuantum yang menarik seperti pengkodean super padat atau teleportasi.| ψ2⟩
Meskipun pendekatan di atas mungkin tidak tampak seperti pemrograman untuk Anda dalam arti biasa, menerapkan gerbang ke negara bagian pada dasarnya adalah cara pemrograman komputer kuantum berbasis gerbang bekerja. Ada lapisan abstraksi yang memungkinkan Anda untuk melakukan pemrograman tingkat tinggi tetapi menerjemahkan perintah ke aplikasi gerbang. The IBM Quantum Pengalaman antarmuka menyediakan fitur tersebut.
Dalam bahasa seperti Microsoft Q # contoh di atas bisa terlihat mirip dengan ini:
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]);
}
}
}
Versi yang lebih rinci (termasuk pengukuran) dapat ditemukan di sini: Microsoft: Writing a Quantum Program .