यह मानते हुए कि आप एक गेट-आधारित क्वांटम कंप्यूटर पर विचार कर रहे हैं, एक उलझी हुई स्थिति पैदा करने का सबसे आसान तरीका बेल राज्यों में से एक का उत्पादन करना है। निम्नलिखित सर्किट बेल अवस्था दर्शाता है ।| Φ+⟩
| ψ0⟩| ψ1⟩| ψ2⟩
| ψ0⟩
| ψ0⟩ = | 0 0 ⟩
| ψ1⟩
हडामर्ड-गेट पहले क्वेट पर लागू होता है जिसके परिणामस्वरूप निम्नलिखित हैं:
| ψ1⟩ = ( एच⊗ मैं) | 0 0 ⟩ = एच| 0 ⟩ ⊗ | 0 ⟩ = 12-√( | 0 ⟩ + | 1 ⟩ ) | 0 ⟩ = 12-√( | 0 0 ⟩ + | 1 0 ⟩ )
| ψ2⟩
अब एक CNOT गेट लगाया जाता है और दूसरी क्वाइल को फ़्लिप करता है लेकिन केवल जहाँ पहले वाले का मान होता है 1. परिणाम है
| ψ2⟩ = 12-√( | 0 0 ⟩ + | 1 1 ⟩ )
| ψ2⟩
यद्यपि उपरोक्त दृष्टिकोण आपको एक सामान्य अर्थ में प्रोग्रामिंग की तरह प्रतीत नहीं हो सकता है, राज्यों के लिए फाटकों को लागू करना मूल रूप से एक गेट-आधारित क्वांटिटी कंप्यूटर काम करता है। एब्सट्रैक्शन परतें मौजूद हैं जो आपको उच्च-स्तरीय प्रोग्रामिंग करने की अनुमति देती हैं, लेकिन आदेशों को फाटकों के अनुप्रयोग में अनुवाद करती हैं। आईबीएम क्वांटम अनुभव इंटरफ़ेस ऐसी सुविधाओं प्रदान करता है।
Microsoft की Q # जैसी भाषा में उपरोक्त उदाहरण इसके जैसा दिखाई दे सकता है:
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]);
}
}
}
एक अधिक विस्तृत संस्करण (माप सहित) यहां पाया जा सकता है: Microsoft: क्वांटम प्रोग्राम लिखना ।