← Quantum Store · Rehberler · Dersler · Sözlük · Paketler · Öğrenme yolları · English
Qiskit kursu: gerçek kuantum programlama · Ders 3 / 6 · 8 dk
Bit sırası: Qiskit sonuçlarını doğru okumak
Qiskit sonuçlarında q0 neden en sağda? Bit sırasını öğren, kitaplardaki sonuçlarla Qiskit’in çıktısını karıştırma.
Sağdan sola okunur
Qiskit bir sonucu yazarken q0’ı en sağa koyar: üç kübitte sıra q2 q1 q0’dır. Aşağıdaki devrede yalnızca q0’a X uygulanır ve sonuç 001 çıkar. qc.x(2) yazsaydın sonuç 100 olurdu.
Bu düzene little-endian denir ve günlük ikili sayı yazımıyla aynıdır: q0 en düşük basamaktır. 001 ikili sayısı 1, 100 ise 4 eder; Python’da int("100", 2) de 4 verir.
from qiskit import QuantumCircuit
from qiskit.primitives import StatevectorSampler
qc = QuantumCircuit(3)
qc.x(0)
qc.measure_all()
counts = StatevectorSampler().run([qc], shots=1000).result()[0].data.meas.get_counts()
print(counts) # {'001': 1000}
Neden önemli?
Birçok ders kitabı kübitleri soldan sağa q0 q1 q2 diye yazar. Kitaptaki bir sonucu Qiskit’in çıktısında ararken diziyi ters çevirmen gerekebilir. Bernstein–Vazirani gibi algoritmalarda gizli dizinin “ters” görünmesinin sebebi çoğu zaman budur.
Bir sonuçtaki tek bir kübitin değerini okumak için dizinin sonundan saymak yeterli: bits[-1] q0’dır, bits[-2] q1.
for bits, n in counts.items():
q0 = bits[-1] # en sağdaki karakter q0
kitap_sirasi = bits[::-1] # q0 solda olacak şekilde ters çevir
print(bits, '→', kitap_sirasi, n)
Çizimde ve durum vektöründe
Dikkat: qc.draw() çiziminde q_0 en üstteki satırdır. Çizimde yukarıdan aşağı, sonuç dizisinde ise sağdan sola okunur.
Durum vektörünün sırası da sonuçlarla aynıdır: 1 numaralı genlik |001⟩’e, yani yalnızca q0’ın 1 olduğu duruma aittir. Bir sonraki derste göreceğin Pauli dizilerinde de en sağdaki harf q0’a uygulanır. Bu sitenin deneme alanı da aynı sırayı kullanır; sonuçların altındaki “Sağdaki bit q0’dır” notu bu yüzden var.
Kendin dene
Bit sırası örneğinde X kapısını kaldırıp q2’ye ekle: sonuç 100 olur. Sonra çarpım durumu örneğinde sağdaki bitin (q0) hep 1 kaldığını gör.
Tarayıcıda dene (kurulum yok)Akılda kalsın
- Qiskit sonuçlarında q0 en sağdadır: üç kübitte sıra q2 q1 q0.
- Bu, ikili sayı yazımıyla aynıdır; q0 en düşük basamaktır.
- Kitaplar çoğu zaman q0’ı sola yazar; karşılaştırırken diziyi ters çevir.
- Çizimde q_0 en üstte, durum vektöründe ve Pauli dizilerinde q0 en sağdadır.
Kendini sına
QuantumCircuit(3) ile açılan bir devrede yalnızca qc.x(2) uygulanırsa Qiskit hangi sonucu verir?
- 001
- 100
- 010
Cevabı göster
100. q2 en soldaki bittir, çünkü Qiskit sonucu q2 q1 q0 sırasıyla yazar: 100.
← Devreyi çalıştırmak: Sampler ve sayımlar · Durum vektörü ve beklenen değer →