← 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

Kendini sına

QuantumCircuit(3) ile açılan bir devrede yalnızca qc.x(2) uygulanırsa Qiskit hangi sonucu verir?

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 →

Paylaş: X · LinkedIn