← Quantum Store · Rehberler · Dersler · Sözlük · Paketler · Öğrenme yolları · English
Gürültü ve kuantum hata düzeltme kursu · Ders 1 / 5 · 10 dk
Gürültü ve hata türleri: kübitler neden bozulur?
Gerçek kübitler çevreleriyle etkileşir ve bilgilerini kaybeder. Bit hatası, faz hatası, kapı ve ölçüm hatalarını tanı ve faz hatasının neden yalnızca kuantum bilgisayarlara özgü olduğunu gör.
Kırılgan kübitler
Klasik bir bilgisayardaki bit, milyarlarca elektronun oluşturduğu sağlam bir sinyaldir ve hata neredeyse hiç yapmaz. Bir kübit ise tek bir atom, iyon, foton ya da süperiletken bir devrenin durumudur. Çevredeki en küçük titreşim, ısı ya da elektromanyetik gürültü onu bozabilir. Bu bozulmaya dekoherans denir.
Dekoherans iki süreyle ölçülür: T1, uyarılmış |1⟩ durumunun enerjisini kaybedip |0⟩’a düşme süresidir; T2 ise süperpozisyondaki fazın bozulma süresidir. Süperiletken kübitlerde bu süreler genellikle mikrosaniyeler ile milisaniyeler arasındadır.
Bit hatası ve faz hatası
Bir bit hatası (X hatası), klasik bilgisayarlardaki gibi 0’ı 1’e, 1’i 0’a çevirir. Bir faz hatası (Z hatası) ise yalnızca kuantumda vardır: |1⟩’ın işaretini çevirir, yani |+⟩’yı |−⟩’ye dönüştürür. Z tabanında ölçünce fark edilmez, ama girişimi ve dolayısıyla algoritmanın sonucunu bozar.
Aşağıdaki kod |+⟩ durumuna bu iki hatayı uygular. Bit hatası |+⟩’yı hiç değiştirmez, faz hatası ise X ölçümünü +1’den −1’e çevirir. Her türlü küçük hata, X ve Z hatalarının birleşimi olarak yazılabilir; bu yüzden hata düzeltme kodlarının bu ikisini yakalaması yeterlidir.
from qiskit import QuantumCircuit
from qiskit.quantum_info import SparsePauliOp, Statevector
for name, error in [('hatasız', None), ('bit hatası', 'x'), ('faz hatası', 'z')]:
qc = QuantumCircuit(1)
qc.h(0) # |+⟩ durumu
if error:
getattr(qc, error)(0)
sv = Statevector(qc)
z = sv.expectation_value(SparsePauliOp('Z')).real
x = sv.expectation_value(SparsePauliOp('X')).real
print(name, round(z, 3) + 0, round(x, 3) + 0)
# hatasız 0.0 1.0
# bit hatası 0.0 1.0 |+⟩ bit hatasından etkilenmez
# faz hatası 0.0 -1.0 ama faz hatası X ölçümünü tersine çevirir
Kapı ve ölçüm hataları
Hatalar yalnızca beklerken oluşmaz. Her kapı küçük bir hata payıyla uygulanır: bugünkü en iyi cihazlarda tek kübitlik kapılar %0,01–0,1, iki kübitlik kapılar %0,1–1 civarında hata yapar. Ölçüm de bazen 0’ı 1, 1’i 0 olarak okur.
Bu küçük oranlar uzun bir devrede birikir: 1.000 iki kübitlik kapılı bir devrede her kapı %0,5 hata yapıyorsa hatasız çalışma olasılığı yalnızca 0,995¹⁰⁰⁰ ≈ %0,7’dir. Shor algoritması gibi milyarlarca kapı isteyen algoritmalar bu yüzden hata düzeltme olmadan çalışamaz.
Kendin dene
H, Z, H devresinde ortadaki Z bir faz hatası gibidir: Z tabanında görünmez, ama sondaki H onu bit hatasına çevirir ve sonuç 0 yerine 1 olur. Z’yi kaldır: “hatasız” devre her zaman 0 verir.
Tarayıcıda dene (kurulum yok)Akılda kalsın
- Dekoherans, kübitin çevreyle etkileşip bilgisini kaybetmesidir; T1 ve T2 süreleriyle ölçülür.
- Bit hatası (X) 0 ile 1’i değiştirir; faz hatası (Z) yalnızca kuantumda vardır ve girişimi bozar.
- Her küçük hata X ve Z hatalarının birleşimi olarak yazılabilir.
- Kapı ve ölçüm hataları uzun devrelerde birikir; büyük algoritmalar hata düzeltme gerektirir.
Kendini sına
Faz hatası (Z) |+⟩ durumuna ne yapar?
- Onu |1⟩ yapar
- Onu |−⟩ yapar
- Hiçbir şey yapmaz
Cevabı göster
Onu |−⟩ yapar. Z, |1⟩’ın işaretini çevirir: (|0⟩ + |1⟩)/√2 durumu (|0⟩ − |1⟩)/√2, yani |−⟩ olur.