1. Ana sayfa
  2. İçerik planı
  3. Ölçüm mantığı · Qiskit
Qiskit · devre modeli

Ölçüm mantığı — klasik yazma ve talimat sırası

Qiskit’te ölçüm yalnızca “sonunda bir göz atma” değildir; devre metninde açık bir talimat olarak durur ve kuantum durumu ile klasik sonuçlar arasında köprü kurar. Bu sayfa, Born kuralının matematiğini tekrar etmez — o anlatım ölçüm ve çökme başlığında tutulur. Burada ise measure çağrılarının imzası, klasik bitlere yazımın nasıl kodlandığı, aynı hatta ardışık ölçümlerin anlamı ve simülatör çıktısının nasıl okunacağı üzerinde duruyoruz. Kayıt ve hat modeli için kayıt sistemleri, ünite kapılar için kapılar ve ünite mantığı sayfalarına dönüş yapılabilir.

  • Talimat: Measure · .data içinde görünür
  • Eşleme: kübit listesi ↔ klasik bit listesi
  • Çıktı: counts anahtar dizgileri ve sıra sözleşmesi

Ölçüm Talimatı ve Ünite Dilinden Kopuş

Devredeki üniter adımlar durum vektörünü döndürür veya yansıtır; ölçüm ise Born kuralına göre bir sonucu seçer ve bunu klasik dünyaya yazar. Qiskit modelinde bu adım, .data listesinde diğer kapılarla aynı hiyerarşide bir satır olarak bulunur. Dolayısıyla “ölçüm yokmuş gibi” ünite matrisi çıkarmak veya durum vektörü ile tüm yürütmeyi tek blokta temsil etmek genelde mümkün olmaz; araçlarınızı seçerken bu kopuş bilinçli olarak uygulanmalıdır.

Çizim ve sembol seti

Metin çiziminde ölçüm kutusu, hangi kübitin hangi klasik çizgiye yazıldığını gösterir. Çoklu ölçüm tek satırda birleştirilebilir veya ayrı satırlara bölünebilir; bu yalnızca sunum farkıdır, sıra ve eşleme aynı kalır. Okuyucu için asıl mesele, çizimin estetiği değil CircuitInstruction düzeyindeki argüman listesidir.

Taşıyıcı hatırlatma Ölçüm satırı eklenmeden önce klasik hatların açılmış olması gerekir; aksi halde oluşturucu hata verir. Klasik genişlik ve kayıt düzeni kayıt sistemleri sayfasında ele alınmıştı; burada o hatların ölçümle nasıl doldurulacağına odaklanıyoruz.

measure İmzaları ve measure_all

En yaygın çağrı biçimi, tamsayı indeksleri veya Qubit / Clbit nesneleri ile çift liste vermektir: her kübit, sırayla bir klasik bite bağlanır. Kayıt nesneleriyle measure(qr, cr) yazımı okunabilirlik sağlar; uzunlukların birebir eşleşmesi zorunludur. measure_all ise tüm kübitleri, devrede yeterli klasik kapasite varsa otomatik eşler — hızlı prototipleme için uygundur, fakat hangi klasik satırın hangi veriyle dolduğunu ince deneylerde manuel yazmak daha güvenlidir.

inplace ve devre kopyası

Ölçüm satırı eklemek devreyi yerinde değiştirir. Aynı “şema”yı hem ölçümlü hem ölçümsüz kullanacaksanız, copy() ile ayrı örnekler oluşturun. Bu disiplin, ünite doğrulama ve ölçümlü deney akışını yan yana tutarken sık atlanan bir adımdır.

Hedef Eşleme: Permütasyon ve Kayıt Düzeyi

measure([q0, q1], [c1, c0]) gibi bir permütasyon, aynı fiziksel Bell deneyinde bile sonuç dizgisinin nasıl yorumlanacağını değiştirir: hangi kübitin hangi klasik sütuna düştüğü, histogram eksenlerinde görünür. Kayıt düzeyinde yazmak, uzun listelerde indeks kaymasını azaltır; yine de ekip içi sözleşme gerektirir: “sol bit mi sağ bit mi önce yazılıyor?” sorusunun yanıtı yalnızca koda değil, get_counts anahtar dizgilerine de yansır.

Taban dönüşümü ve ölçüm

Hesaplama tabanı dışında ölçmek için önce ünite dönüşümle tabanı döndürüp sonra standart ölçüm uygulanır. Bu, kapı cebiri ile aynı hikâyenin devamıdır; burada yalnızca şunu vurguluyoruz: ölçüm satırı her zaman “standart ölçüm kutusu” olarak çizilebilir, çünkü dönüşüm ünite kısımda tüketilmiştir. Ayrıntılı kapı tarafı kapılar ve ünite mantığı sayfasında toplanır.

Sayım Anahtarı ve Bit Dizgisi Sırası

Simülatör veya donanım işi tamamladığında, çoğu kullanıcı counts benzeri bir sözlükle karşılaşır: anahtarlar ikili dizgiler, değerler tekrar sayılarıdır. Bu dizgideki karakter sırasının, devredeki clbits düzenine nasıl oturduğu sürüm ve çalıştırıcıya göre ince farklar gösterebilir. Bu yüzden üretim öncesi küçük bir devrede tek atışlık deneyle “hangi karakterin hangi klasik bite denk geldiğini” tabloya dökmek, yanlış yorumlamayı kökten keser.

Kenar dağılımlar

Çok kübitlik sistemde yalnızca bir alt kümenin marjinal dağılımına bakmak istiyorsanız, ya ilgili kübitleri ölçüp diğerlerini yok sayarsınız ya da tam durumdan marjinalize edersiniz — ikinci yol ölçüm sonrası ham sayımlarla doğrudan verilmez. Bu ayrım, “neden histogram tek başına yeterli değil?” sorusunun pratik cevabıdır.

Çoklu klasik kayıt ve birleşik anahtar

Birden fazla ClassicalRegister kullanıldığında, ham sayım anahtarının hangi kaydın hangi bitlerine denk geldiği yine sözleşme meselesidir. Çözüm, ya kayıtları tek bir geniş kayıtta birleştirmek ya da sonuçları çözümlendikten sonra kendi tablonuzu üretmektir. Otomatik çizimler güzel görünse de, raporlama katmanında insan okunur etiketler şarttır.

Zamanda Yeri: Erken veya Gecikmeli Ölçüm

Ölçüm satırı devrenin sonuna yazılmak zorunda değildir: ara ölçüm, ancilla temizliği veya hata ayıklama akışlarında ortaya çıkar. Ölçümden sonra aynı kübitte yeni ünite kapılar çalıştırmak mümkündür; bu, o kübit için yeni bir kuantum hazırlık–evrim döngüsü başlatır (klasik sonuç elinizdeyken bir sonraki adımı planlamak farklı bir konudur ve dinamik akış gerektirir).

Klasik geri besleme

Ölçüm sonucuna bağlı olarak farklı ünite blokların çalışması, Qiskit’in dinamik devre özellikleriyle modellenir; bu sayfada yalnızca arayüzün ölçümle birleştiği noktayı işaretliyoruz. Koşullu yürütme ve yazım semantiği için dinamik devreler ve klasik kontrol sayfalarına geçilir.

Tekrar Ölçüm, Reset ve Karıştırılmaması Gerekenler

Aynı klasik bite ikinci kez yazan yeni bir ölçüm, önceki sonucun üzerine yazar; bu, “iki kez ölçtüm, iki sonuç sakladım” beklentisiyle çelişebilir. Çoklu sonuç saklamak için ya daha geniş bir klasik kayıt açmalı ya da sonuçları dışarıda (örneğin iş kuyruğu meta verisinde) birleştirmelisiniz. reset ise kübiti bilinçli olarak |0⟩ hazırlığına döndürür; ölçümle karıştırılmamalıdır: biri klasik bilgi üretir, diğeri kuantum durumunu yeniden kurar.

Ancilla temizliği

Çok gövdeli devrelerde ancilla kübitlerini ölçümle “serbest bırakmak” yerine ünite geri sarma ile temizlemek sık bir desendir; hangi yolun seçileceği hata modeli ve doğrulama stratejisine bağlıdır. Ölçüm, ancillayı klasik dünyaya atanır; geri sarma ise kuantum bilgisini ünite yolla geri alır.

Shots, Bellek Örnekleri ve İstatistik

Ölçüm içeren bir iş çalıştırıldığında, çoğu arka uç çoklu tekrar (shots) üzerinden frekans toplar. Shot sayısı arttıkça olasılıkların kestirimi iyileşir; fakat her shot bağımsız bir yürütmeyi temsil eder ve ara ölçümler varsa aynı devre metni tekrar tekrar baştan işlenir. Bellekte saklanan örnek dizileri (shot başına klasik sonuç dizisi) isteğe bağlıdır; büyük deneylerde G/Ç maliyetini artırır, fakat hata ayıklamada paha biçilmezdir.

Gürültü ve istatistiksel yorum

Donanımda ölçüm hataları ve okuma yanlılıkları histogramı bozar; bu sayfa gürültü kanalını modellemez. Yine de şunu hatırlatmak gerekir: ölçüm mantığı doğru olsa bile, yeterli shot olmadan “kapı yanlış” sanılabilir. İstatistiksel güven aralığı hesaplamayı dış analiz araçlarına bırakmak genelde doğru ayrımdır.

Shot sayısı ve maliyet

Her shot bağımsız bir deneydir; ara ölçüm içeren devrelerde toplam kuantum adımı shot ile çarpılarak büyür. Bu yüzden “ölçümü erkene alıp shotu düşüreyim” stratejisi her zaman daha ucuz değildir: klasik sonuç üretimi ve olası ek senkronizasyon maliyetini de hesaba katın.

Ünite Araçlar ve Ölçümlü Devre

quantum_info.Operator veya durum vektörü temsilcileri, ölçüm içermeyen devreler üzerinde anlamlıdır. Ölçüm eklendiğinde “tek ünite” resmi kapanır; analiz ya ölçüm öncesindeki prefikse çekilir ya da tam dağılım diline geçilir. Bu uyarı, ünite testleri yazanların sık düştüğü tuzağı özetler.

Ölçüm öncesi prefiks

Aynı devreyi hem ünite analiz hem ölçüm için kullanacaksanız, ölçüm satırlarını ayıran bir kopya üzerinde çalışmak veya ölçüm öncesi prefiksi ayrı bir QuantumCircuit olarak üretmek gerekir. Hangi yardımcı yordamların sürümünüzde bulunduğunu resmi belgelere göre doğrulayın; amaç, ölçümün yanlışlıkla ünite cebirine sokulmamasını sağlamaktır.

Kod Laboratuvarı

İlk blok düzgün eşleşmiş ölçüm ve beklenen dengeli histogramı gösterir (simülatör çağrısı kasıtlı olarak dışarıda bırakılmıştır). İkinci blok, kübit ve klasik bit permütasyonunun aynı fiziksel durumda bile dizgi yorumunu nasıl değiştirdiğini gösterir — küçük devrede çalıştırıp anahtarları karşılaştırın.

measure_bell_shape.py Python
from qiskit import QuantumCircuit

qc = QuantumCircuit(2, 2)
qc.h(0)
qc.cx(0, 1)
qc.measure([0, 1], [0, 1])

# Çalıştırıcı eklediğinizde counts anahtarlarını bu devreyle eşleştirin.
print(qc)
n_meas = sum(1 for inst in qc.data if inst.operation.name == "measure")
print("Ölçüm talimatı sayısı:", n_meas)
qiskit Paralel ölçüm · çalıştırıcıdan bağımsız iskelet UTF-8 · LF
measure_permutation.py Python
from qiskit import QuantumCircuit

qc_a = QuantumCircuit(2, 2)
qc_a.h(0)
qc_a.cx(0, 1)
qc_a.measure([0, 1], [0, 1])

qc_b = QuantumCircuit(2, 2)
qc_b.h(0)
qc_b.cx(0, 1)
# Klasik hedef sırasını ters çevir: aynı kuantum satırı, farklı yazım.
qc_b.measure([0, 1], [1, 0])

print("A:", qc_a)
print("B:", qc_b)
qiskit Permütasyon · counts yorumu farkı için çalıştırın UTF-8 · LF

İleri Okuma ve Özet

Ölçüm, Qiskit’te ünite evrimin dışına çıkan ilk somut adımlardan biridir; bu yüzden hem çizimde hem sayımda sözleşmeyi erken kilitlemek gerekir. Klasik geri besleme ve koşullu bloklar için klasik kontrol, tam akış için dinamik devreler sayfalarına geçilir.

Özet Ölçüm, devre metninde açık bir talimattır; kübit ve klasik bit listelerinin eşlemesi sonuç dizgilerinin yorumunu belirler. Tekrar ölçüm yazımı üzerine yazar; reset ise kuantum durumunu yeniden kurar. Shots ile frekans toplanır; ünite araçlar ölçüm sonrası devrede ya prefiks ayrıştırma ya da dağılım diline geçiş ister.