W durumu — dayanıklı üçlü dolanıklığın diğer yüzü
Tam olarak bir kübitin |1⟩, kalanların ise |0⟩ olduğu süperpozisyon. GHZ ile aynı sınıfta görünse de bambaşka bir karakter taşır: bir kübit kaybolsa bile geri kalan sistem dolanık kalmaya devam eder. Bu sayfada W'nin matematiksel formunu, GHZ ile kalitatif farkını, neden kuantum bellek ve hata toleranslı protokollerin favorisi olduğunu ve Qiskit ile nasıl üretileceğini adım adım inceliyoruz.
W durumu nedir? (derinlemesine analiz)
W durumu, üç ya da daha fazla kübitlik bir sistemde tam olarak bir tek kübitin uyandığı, geri kalanların uyumakta olduğu bir süperpozisyondur. "Hangi kübit uyanık?" sorusunun cevabı ölçüm anına kadar askıdadır; ama her zaman tek bir kübit uyanır — ne sıfır, ne iki.
Matematiksel ifadesi
W durumu (üç kübit)
Üç eşit dağılmış sonuç Sistemi ölçtüğünüzde üç olası klasik sonuç çıkar — her biri yaklaşık %33 olasılıkla. Üç sonucun da ortak özelliği şudur: tam bir tek bit "1", iki bit "0". 000 ya da 111 hiç görünmez (bunlar GHZ'nin sahnesi). 011, 110, 101 ise W'nin "iki uyanık" alternatifleri olduğu için onlar da görünmez.
Olasılık korunumu
Katsayıların karelerinin toplamı 1 katsayısı tesadüf değildir; üç olası dünyanın olasılıkları olmalıdır. Kuantum mekaniğinde her durum vektörü ünite uzunluğundadır — buna uniterite denir; teorinin "ölçtüğünde mutlaka bir sonuç çıkar" garantisidir.
neden Bell/GHZ'den farklı Bell ve GHZ'de iki olası klasik dünya vardı, dolayısıyla katsayı . W'de üç dünya var, katsayı . Daha genel olarak olası klasik sonuç ortak süperpozisyondaysa katsayı olur — basit ama gözlerden kaçan bir doğal yasa.
GHZ ile farkı · dayanıklılık
GHZ ve W, üç kübitlik dolanıklığın iki ayrı sınıfıdır — birinden ötekine yerel kapılarla geçilemez. Aralarındaki en pratik fark dekoherens (çevreye sızıp kuantum bilginin kaybolması) anındaki davranışlarıdır.
GHZ: kırılgan ama deterministik
Tek kayıp, tüm dolanıklık Bir GHZ sistemindeki kübitlerden herhangi biri ölçülür ya da çevreye kaybolursa, geri kalan kübitler arasındaki dolanıklık anında yok olur; sistem klasik bir korelasyon listesine düşer. Bu "ya hep ya hiç" davranışı GHZ'nin paradoks gücünü verir, ama pratik kullanımda bir zayıflıktır.
W: dayanıklı ve kalıcı
Tek kayıp, geri kalan hâlâ dolanık W durumundaki üç kübitten biri ölçülürse iki olası senaryo çıkar: ölçtüğümüz kübit "1" gelirse diğer iki kübit kesin |00⟩'a düşer; "0" gelirse ise diğer iki kübit doğrudan (|01⟩ + |10⟩)/√2 Bell durumunda kalır — yani hâlâ maksimum düzeyde dolanık.
Asimetrik bilgi dağılımı GHZ tüm bilgiyi tek bir kollektif "ya 0 ya 1" formülünde toplar; W ise üç kübit arasında parçalanmış olarak tutar. Bu parçalanma, tek bir taşıyıcının düşmesini sistem için "kabul edilebilir" hale getirir.
Üç-kübit dolanıklık aileleri
SLOCC sınıflandırması Üç-kübit saf hâl alanı, yerel işlemler ve klasik iletişimle (SLOCC) birbirine dönüştürülemez iki gerçekten dolanık aileye ayrılır: GHZ-sınıfı ve W-sınıfı. Bu, Dür, Vidal ve Cirac'ın 2000'deki klasik makalesinde gösterilmiştir. Yani GHZ ile W, üç-kübit dolanıklığının iki temel "renk"idir; aralarındaki geçiş için kübitlerin yıkıcı işlemden geçmesi gerekir.
Algoritmanın mantığı · hassas paylaşım
W durumu üretmek, GHZ'deki gibi düz bir "zincirleme" işlem değildir. Burada dolanıklık paylaşımı asimetrik — genliği kübitler arasında belirli oranlarda dağıtmamız gerekir. Bu yüzden reçete üç aşamadan oluşur: önce ilk kübite doğru miktarda olasılık yüklemek, sonra bu olasılığı kontrollü kapılarla paylaştırmak, en sonunda durumu istenen forma getirmek için küçük bir "temizlik" hamlesi.
Aşama 1 · olasılık yüklemesi
rotasyonu İlk kübit Hadamard yerine parametrik bir Y-ekseni rotasyonuna girer. Açıyı seçeriz; sonuç, kübitin \sqrt{2/3}\ket{0} + \sqrt{1/3}\ket{1} olur. Yani "%66 sıfır, %33 bir" olasılık dağılımı — W için gereken payını işte burada hazırlarız.
Aşama 2 · kontrollü paylaşım
Kontrollü Hadamard () İlk kübit kontrol, ikinci kübit hedef olacak şekilde Hadamard'ın kontrollü sürümünü uygularız. Bu, q0 = 1 olan dünyada q1'i süperpozisyona sokar; q0 = 0 olan dünyada ise hiçbir şey yapmaz. Sonuç olarak olasılığın bir kısmı q1'e geçer.
Zincirleme CNOT'lar Ardından qc.cx(1, 2) ile q1'in durumu q2'ye yansır; qc.cx(0, 1) ile bu kez q0'ın durumunun bir kopyası q1 üzerine yığılır. Bu adımlar, üç olası klasik dünyanın (sadece q0 uyanık / sadece q1 uyanık / sadece q2 uyanık) süperpozisyonunu kurar.
Aşama 3 · temizlik
ile son düzeltme Yukarıdaki adımlar W durumunu birebir vermez; ölçüm öncesinde son bir X kapısı q0'a uygulanır ve tüm sistem hedeflediğimiz (|001⟩ + |010⟩ + |100⟩)/\sqrt{3} formuna oturur. Bu son hamle, "olasılığı doğru yere koyma" işidir; reçetenin asimetrik yapısının doğal sonucu.
-
İlk kübite Ry(θ) uygula (θ = 2·arccos(1/√3)) — q0 üzerinde kurulur.
-
İlk kübit kontrol, ikinci kübit hedef olacak şekilde CH (kontrollü Hadamard) uygula — olasılık q1'e dağılır.
-
CNOT(1, 2) ile q1 → q2 yansıması kur; ardından CNOT(0, 1) ile q0 üzerinden q1'e bir geri yansıma daha ekle.
-
q0'a son X uygula — durum artık tam olarak formundadır.
-
Üç kübiti klasik bitlere ölç. Beklenen sonuç: 001, 010, 100 her biri ~%33.
Qiskit ile uygulama
Aşağıdaki örnek üç kübitlik W durumunu kurar, ölçer ve histogramı yazdırır. Reçete dört kapı türü kullanır: Ry, CH, CNOT ve son X. Açı seçimi numpy ile hesaplanır; bu yüzden bu sefer numpy opsiyonel değil zorunludur.
import numpy as np
from qiskit import QuantumCircuit
from qiskit_aer import AerSimulator
# 1. Devre kurulumu: 3 kübit ve 3 klasik bit
qc = QuantumCircuit(3, 3)
# 2. W algoritması adımları
# Adım 1: İlk kübite özel rotasyon — 1/sqrt(3) genliği için
theta = 2 * np.arccos(1 / np.sqrt(3))
qc.ry(theta, 0)
# Adım 2: Kontrollü Hadamard — olasılığı q1'e paylaştır
qc.ch(0, 1)
# Adım 3: Dolanıklığı q2'ye yay ve q1'e geri yansıt
qc.cx(1, 2)
qc.cx(0, 1)
# Adım 4: Durumu tam olarak W formuna getirmek için son düzeltme
qc.x(0)
qc.barrier()
# 3. Ölçüm
qc.measure(range(3), range(3))
# 4. Çalıştırma
simulator = AerSimulator()
job = simulator.run(qc, shots=1024)
counts = job.result().get_counts()
print("\nW Durumu Ölçüm Sonuçları (001, 010, 100 beklenir):")
print(counts)
Kod analizi · satır satır
Importlar numpy bu sefer zorunludur: açısını Python'da hesaplamak için np.arccos ve np.sqrt gerekir. Diğer iki paket Bell ailesindekiyle aynı: QuantumCircuit devre nesnesi, AerSimulator yerel simülatör.
qc = QuantumCircuit(3, 3) Üç kübit ve üç klasik bit; üçünü de ölçeceğimiz için kayıt boyutunu kübit sayısına eşitledik. Kübit sırası önemli olacak: q0 ilk satırdan, q2 üçüncü satırdan ölçülür ve klasik bitlere yazılırken Qiskit konvansiyonuyla c0 sağ uçta görünür.
theta = 2 * np.arccos(1 / np.sqrt(3)) Açının matematiksel arka planı şudur: kapısı 'ı haline getirir. büyüklüğünün olmasını isteriz; buradan çıkar. Numerik olarak yaklaşık 1.9106 radyan (~109.47°). Sayıyı sabit yazmak yerine ifadeyi numpy ile hesaplatmak hem daha okunabilir hem de farklı boyutlu W'ler için kolay genişler.
qc.ry(theta, 0) q0'a yukarıda hesapladığımız açıda Ry rotasyonu uygular. Sonuç: . Hadamard yerine Ry seçmemizin sebebi: Hadamard yalnızca eşit (%50–%50) süperpozisyon kurar; W için kontrollü bir asimetri (%66–%33) gerekiyor.
qc.ch(0, 1) — kontrollü Hadamard "Eğer q0 = 1 ise q1'e Hadamard uygula" demektir. Bu adım, q0'ın 1 olduğu dünyada q1'e olasılık parçalar; q0'ın 0 olduğu dünyada hiçbir şey değişmez. Sonuç, ağırlığının iki kübit arasında pay ettiği bir ara durum.
qc.cx(1, 2) + qc.cx(0, 1) İki ardışık CNOT, "uyanık olan kübitin" zincirini kurar. Birincisi q1 uyanıksa q2'yi uyandırır; ikincisi q0 uyanıksa q1'i uyandırır. Bu sıralama kritiktir — yer değiştirilirse devre artık W üretmez.
qc.x(0) — son düzeltme Yukarıdaki üç adımdan sonra q0 hâlâ "olasılık taşıyıcı" gibi davranıyor; X ile son halini "uyandırma" görevini diğer iki kübite tamamen devrederiz. Sonuç: .
qc.barrier() Hesaplamaya etkisi yok; sadece görsel/optimizasyon ayracı. Bu devrede özellikle işe yarar çünkü ölçüm öncesi son X kapısı transpiler tarafından öncesindeki CNOT'larla birleştirilmek istenebilir; barrier bunu engeller.
qc.measure(range(3), range(3)) Üç kübiti ilgili klasik bitlere ölç. range kullanımı, kod kübit sayısına ölçeklendiğinde otomatik genişler — ama dikkat: bu reçete sadece üç kübit için geçerlidir. Daha büyük W'ler için açı ve devre yapısı yeniden türetilir.
Çalıştırma için tek bir Python ortamında qiskit, qiskit-aer ve numpy paketlerinin kurulu olması yeterlidir; kurulumun tek bakışta özeti ana sayfadaki IDE ve çalıştırma bölümündedir. Gerçek donanımda denemek için AerSimulator() satırını QiskitRuntimeService().backend("ibm_brisbane") gibi bir IBM cihazıyla değiştirin; CH kapısı doğal donanım kapısı değildir, transpiler onu Ry/CNOT kombinasyonuna açar — devre derinliği artar, sadakat biraz düşer.
Devre ve doğrulama
Aşağıdaki şema üç kübitlik W reçetesini görselleştirir. Sol uçta q0'a Ry(θ) uygulanır; ardından CH ile q0 → q1 paylaşımı, iki CNOT ile yansıma, son X ile düzeltme; en sonda üç kübitin de ölçümü. Her kapı kutusu altında, kapının kuantum durumda yaptığı değişimin bir özetini görebilirsiniz.
Şema |W⟩ üretir: . Histogramda 001, 010, 100 her biri ~%33; kalan beş kombinasyon (000, 011, 101, 110, 111) ideal simülatörde sıfıra yakın olur.
- 001 ≈ %33
- 010 ≈ %33
- 100 ≈ %33
Kontrollü Hadamard, süperiletken donanımların doğal kapı setinde yoktur; transpiler onu yaklaşık 3-5 yerli kapı (Ry + CNOT) kombinasyonuna açar. Devre derinliği W için GHZ'den belirgin daha uzun olur.
kayan noktada 1.9106332… olarak yaklaşır. Donanımda kapı kalibrasyon adımı sınırlı olduğundan tam değer üretilemez; ölçüm dağılımında %33–%34 arası hafif sapma normal.
Bu reçete üç kübit için optimize edilmiştir. kübit W'leri için açı ve devre yapısı yeniden türetilir; tek bir 'yı 'e ölçeklemek doğru sonuç vermez. Genel formüller Cabello (2002) gibi referanslarda bulunur.