Faz tahmini araçları — Ünite, değerlendirme kaydı ve ters QFT iskelesi
Kuantum faz tahmini (QPE), bir üniterin
U|ψ⟩ = e^{2πiφ}|ψ⟩ biçimindeki öz durumlarında faz
φ ∈ [0,1) bilgisini, değerlendirme kübitlerine dağıtılmış
kontrollü ünite üstleri ve ardından gelen
ters kuantum Fourier dönüşümü (IQFT) ile okunabilir bir bit örüntüsüne
dönüştürür. Qiskit’te
PhaseEstimation bu iskeleti tek bir devre bileşeni olarak paketler; doğru
sonuç için sistem kaydının gerçekten
öz durumda başlaması ve
U’nun devre olarak verilen sürümünün (Trotter adımı, zaman dilimi, kapı
sırası) raporlanması şarttır. Matematiksel akış ve geometrik yorum
Kuantum
faz tahmini · Qiskit ile
Kuantum
Fourier dönüşümü · Qiskit sayfalarında kalır; burada kütüphane sözleşmesi, kayıt
boyutu ve yazılım hattı vurgulanır.
Kavram haritası ve sayfa sınırı
QPE; ünitenin seçilen öz durumına ait
dönüşüm özdeğeri (
e^{2πiφ}) fazını, değerlendirme kaydına kodlamayı hedefler. Bu sayfa
Qiskit’in
PhaseEstimation bileşeninin hangi kayıtları nasıl bağladığını, hangi
varsayılanların (
iqft=None dahili ters QFT) devre boyutunu ve kapı sayısını belirlediğini ve
üretimde hangi logların (öz durum hazırlığı, Trotter adımı,
num_evaluation_qubits) zorunlu olduğunu işler; Fourier tabanlı dönüşümün
tanımı ve tam algoritma akışı algoritma rehberinde kalır.
Spektral bilgi ile Pauli gözlemlenebilir beklentileri (
⟨H⟩) karıştırmamak için
VQE çerçevesi ve
Gözlemlenebilir
oluşturma sayfalarına köprü kurulur; burada yalnızca faz okuma ekseni vurgulanır.
Ne vaat edilmez
Her Hamiltonyen için kısa derinlikte hatasız faz; Trotter ve donanım kısıtları ayrı analiz gerektirir.
Arama amplitüdünü büyüten Grover iskelesi; Grover araçları başlığında tutulur.
PhaseEstimation (
H · kontrollü
U^{2^k} ·
IQFT) + değerlendirme kaydına ölçüm; çıkan bit dizisi klasik faz
geri kodlamasına gider.
Ünite, faz ve öz durum sözleşmesi
PhaseEstimation ikinci argüman olarak
unitary: QuantumCircuit bekler; bu devre, sistem kaydında uygulanan
U’nun kontrollü üstleriyle aynı anlama gelmelidir. Hermitian
H için genelde
U = e^{iHt} (veya Trotter ile yaklaşık) üretilir; bu üretim sürecinin
kendisi
Maliyet Hamiltonyenleri
ve zaman evrimi notlarında derinleşir, burada yalnızca
QPE kutusuna hangi ünitenin bağlandığı disiplini vurgulanır.
Başlangıç durumu
|ψ⟩ tam öz değilse, değerlendirme kaydı üzerindeki marjinal dağılım
tek bir
φ pikine çökmez; bu durumda “QPE hatalı” değil,
yanlış öz durum varsayımı vardır. Laboratuvarın ikinci kutusu bu
ayrımı gösterir.
Yazılım üzerinden denetim
Her deney için
U devresinin transpile özeti, kullanılan
t (varsa), Trotter adımı ve öz durum hazırlık devresi ayrı ayrı sürüm
kontrolüne alınmalıdır.
Değerlendirme kaydı ve çözünürlük
num_evaluation_qubits büyüdükçe
φ için ikili kesir çözünürlüğü artar; aynı zamanda kontrollü
U^{2^{k-1}} zinciri uzar ve hata birikimi artar. Küçük kayıt ile
prototip, büyük kayıt ile donanım bütçesi karşılaştırması üretimde sık yapılır.
Ölçüm sonrası bit dizisinden
φ geri kodlaması (endian ve klasik post-processing) raporda açıkça
yazılmalıdır; aksi halde aynı ham bit dizisi farklı yorumcular arasında tutarsız
kalır.
Optimization seviyeleri, aynı soyut QPE için farklı yerel kapı sayıları üretebilir.
IQFT özelleştirmesi ve QFT köprüsü
iqft=None iken Qiskit yerleşik ters QFT’yi kullanır;
iqft verildiğinde yer değiştirme (
do_swaps) ve yaklaşık açı seçimleri donanım grafiğine göre ayarlanabilir.
Bu seçimler yalnızca kapı sayısını değil, okunan fazın küçük hatalara duyarlılığını da
değiştirir.
KFT’nin kendisi
Kuantum
Fourier dönüşümü · Qiskit sayfasında anlatılır; burada yalnızca
PhaseEstimation(..., iqft=...) enjeksiyonu ve “hangi QFT sürümüyle hangi
sonuç?” sorusunun loglanması hedeflenir.
from qiskit.circuit.library import QFT ile
QFT(n).inverse() yaygın bir kalıptır; transpile öncesi ve sonrası derinlik
karşılaştırması yapılmalıdır.
Kontrollü üstler ve transpile derinliği
QPE’nin maliyet ağırlığı, değerlendirme kaydı boyutu ile ölçeklenen
kontrollü ünite üstlerinden gelir. Ünite çok kübitliyse veya uzun
menzilli etkileşim içeriyorsa, cihaz
coupling_map kısıtına uydurmak için ek
SWAP katmanları eklenir; bu da efektif zaman evrimi ile üretimde
kullanılan
U arasında kayma yaratır.
Routing seçimi, kontrollü blokların yerleşimini doğrudan etkiler.
Hata azaltma bağlamı
Hata azaltma ve Okuma hatası sayfaları, faz bitlerinde gözlenen sapmayı üretim dilinde bağlar.
Ölçüm, Sampler ve klasik okuma
Değerlendirme kaydı ölçüldüğünde çıktı, ham bit dizisi ve türetilen
φ tahminidir. Geliştirme aşamasında
StatevectorSampler ile shot dağılımı hızlı alınır; donanımda
Sampler ilkeli ve shot politikası devreye girer.
Sampler ilkeli ve Histogram görselleştirme, sonuçların raporlanmasını tamamlar.
İlkel iş akışları sayfası, üretim boru hattında ölçüm adımının nereye oturduğunu özetler.
Grover ve varyasyonel çerçeveyle ayrım
Grover hattı arama uzayında olasılık yoğunlaştırır; faz spektrumu üretmez.
Grover araçları ile içerik
çakışması bilinçli olarak ayrılır. Varyasyonel yöntemler ise genelde
⟨H⟩ veya benzeri bir maliyeti klasik döngüde optimize eder;
Varyasyonel
algoritmalar ve
QAOA çerçevesi bu çizgidedir.
QPE ile elde edilen faz, doğrudan “enerji minimizasyonu” değildir; fakat doğru
U = e^{iHt} bağlamında spektral parametrelere köprü kurulabilir; bu köprü
algoritma ders notlarında işlenir.
QPE kod laboratuvarı
İlk örnek: tek kübitlik
Z ünitesi,
|1⟩ öz durumunda; üç değerlendirme kübitine ölçüm yalnızca faz kaydına
uygulanır. İkinci örnek: sistemde
H ile süperpozisyon hazırlığı; histogramın tek pikte çökmediğini gözlemleyin
(öz durum varsayımı ihlali).
PhaseEstimation + StatevectorSampler
from qiskit import ClassicalRegister, QuantumCircuit
from qiskit.circuit.library import PhaseEstimation
from qiskit.primitives import StatevectorSampler
num_eval = 3
unitary = QuantumCircuit(1)
unitary.z(0)
pe = PhaseEstimation(num_evaluation_qubits=num_eval, unitary=unitary)
qc = QuantumCircuit(pe.num_qubits)
qc.x(num_eval)
qc.compose(pe, inplace=True)
creg = ClassicalRegister(num_eval, "phase")
qc.add_register(creg)
qc.measure(range(num_eval), range(num_eval))
job = StatevectorSampler().run([qc], shots=4096)
print(job.result()[0].data.phase.get_counts())
print("ok")
Öz durum olmayan hazırlık
from qiskit import ClassicalRegister, QuantumCircuit
from qiskit.circuit.library import PhaseEstimation
from qiskit.primitives import StatevectorSampler
num_eval = 3
unitary = QuantumCircuit(1)
unitary.z(0)
pe = PhaseEstimation(num_evaluation_qubits=num_eval, unitary=unitary)
qc = QuantumCircuit(pe.num_qubits)
qc.h(num_eval)
qc.compose(pe, inplace=True)
creg = ClassicalRegister(num_eval, "phase")
qc.add_register(creg)
qc.measure(range(num_eval), range(num_eval))
job = StatevectorSampler().run([qc], shots=8192)
print(job.result()[0].data.phase.get_counts())
print("ok")
IBM Runtime Sampler (yorum)
Aşağıdaki satırlar bilinçli olarak yorumdadır; oturum ve backend kimliği ortama göre doldurulur.
# from qiskit_ibm_runtime import Sampler, Session
# with Session(backend=backend) as session:
# sampler = Sampler(session=session)
# job = sampler.run([(qc,)], shots=4096)
# print(job.result()[0].data.phase.get_counts())
Özet ve ileri okuma
Faz tahmini araçları;
PhaseEstimation ile paketlenen kontrollü üst + IQFT iskelesi, doğru öz
durum ve tutarlı
U sürümü ile birlikte düşünüldüğünde üretimde anlamlıdır. Tam algoritma ve
KFT ayrıntıları algoritma rehberinde; Hamiltonyen inşası ve gözlemlenebilir tarafı
ilgili Qiskit ünitelerinde kalır.
- Kuantum faz tahmini · Qiskit — uçtan uca anlatım.
- Kuantum Fourier dönüşümü · Qiskit.
- Grover araçları — arama yoğunlaştırma karşıt örnek.
- IBM Quantum: Qiskit ve platform araçlarına giriş.
- IBM Quantum API: PhaseEstimation.
U’yu ve öz durum hazırlığını sabitle;
num_evaluation_qubits seç; IQFT sürümünü not et; Sampler histogramını logla;
faz geri kodlamasını endian ile belge.