1. Ana sayfa
  2. İçerik planı
  3. Faz tahmini araçları · Qiskit
Qiskit · Kuantum algoritma araçları

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.

  • Odak: PhaseEstimation · IQFT · kontrollü U
  • Ayrım: ⟨H⟩ minimizasyonu (VQE) değil
  • Risk: öz durum sapması ve derin kontrol

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.

Mimari özet Öz durum hazırlığı + 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

qpe_z_eigenstate_sampler.py Python
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")
qiskit PhaseEstimation · StatevectorSampler UTF-8 · LF

Öz durum olmayan hazırlık

qpe_bad_superposition_sampler.py Python
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")
qiskit Öz durum sapması · histogram UTF-8 · LF

IBM Runtime Sampler (yorum)

Aşağıdaki satırlar bilinçli olarak yorumdadır; oturum ve backend kimliği ortama göre doldurulur.

qpe_runtime_sampler_sketch.py Python
# 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())
qiskit IBM Runtime · yorum UTF-8 · LF

Ö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.

Özet 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.