1. Ana sayfa
  2. İçerik planı
  3. VQE çerçevesi · Qiskit
Qiskit · Kuantum algoritma araçları

VQE çerçevesi — Maliyet Hamiltonyenini varyasyonel devreyle minimize etmek

Varyasyonel kuantum özdeğer (VQE) çözümü, sabit bir Pauli tabanlı maliyet Hamiltonyeninin beklenen değerini ⟨ψ(θ)|H|ψ(θ)⟩ düşürecek parametre θ vektörünü arar. Döngü iki bloktan oluşur: kuantum tarafında parametreli devre yürütülür ve gözlemlenebilir tahmin edilir; klasik tarafta optimizasyon algoritması θ güncellenir. Bu sayfa Qiskit ekosistemindeki çerçeve disiplinini işler; Pauli cebiri Pauli ve genel operatör teorisi Operatör sayfalarında kalır. QAOA çerçevesi ayrı bir varyasyonel aile olarak ele alınır; burada genel VQE omurgası, ansatz–Hamiltonyen–ilkel–optimizasyon sözleşmesi ve mimariyi yazılım üzerinden denetleme vurgulanır.

  • Odak: ⟨H⟩ · θ · döngü
  • Ayrım: tam spektral çözücü değil
  • Sınır: gürültü, barren plateau, yerel minimum

Kavram haritası ve sayfa sınırı

VQE, kuantum bilgisayarı enerji yüzeyi örnekleyicisi olarak kullanır: her adımda θ için bir veya birkaç devre yürütülür, ⟨H⟩(θ) tahmini alınır; klasik kod bu tahmine göre yeni θ önerir. Bu sayfa çerçevenin bileşen sözleşmesini ve Qiskit’te hangi modülün hangi sorumluluğu taşıdığını netleştirir.

Genel varyasyonel aile ve tarihsel bağlam Varyasyonel algoritmalar sayfasında desteklenir; burada VQE omurgası derinleştirilir.

Moleküler Hamiltonyen kurulumu ve kimya odaklı örnekler bu sitedeki diğer ünitelerde genişletilebilir; bu sayfa soyut SparsePauliOp maliyeti ve optimizasyon döngüsü ile kalır.

Ne vaat edilmez

Polinom zamanda kesin temel durum enerjisi; VQE sezgisel ve donanım gürültüsüne bağlı bir yaklaşımdır.

Grover veya QPE ile doğrudan yarışan “tek devre çözüm”; farklı algoritma sınıfları Grover araçları ve Faz tahmini araçları sayfalarında ele alınır.

Mimari özet VQE = maliyet H + parametreli |ψ(θ)⟩ + ⟨H⟩ tahmini + klasik optimizer; donanım ve oturum katmanı Runtime ile yönetilir.

Klasik–kuantum değerlendirme döngüsü

Tipik uygulama hattı şudur: (1) başlangıç θ₀ seçilir; (2) kuantum yürütme, bağlı devre ve gözlemlenebilir listesi ile Estimator veya eşdeğerine gönderilir; (3) dönen beklenen değer ve isteğe bağlı standart sapma klasik optimizasyona beslenir; (4) durdurma ölçütü sağlanana kadar tekrarlanır.

θ güncellemesi tamamen klasik olduğundan, gradyan tabanlı yöntemler için parametre türevi ( parameter shift kuralı) veya SPSA gibi türevsiz yöntemler seçilir; bu seçim shot maliyetini ve gürültüye duyarlılığı belirler.

Hibrit kuantum iş akışı sayfası, aynı fikrin üretim boru hattı dilinde özetidir.

Maliyet Hamiltonyen ve gözlemlenebilir

Qiskit’te maliyet genelde SparsePauliOp veya ondan türetilen gözlemlenebilir listesi olarak durur; her Pauli terimi farklı devre dönüşümü ( measurement iletişimi) gerektirebilir. Estimator, bu terimleri uygun şekilde gruplayarak beklenen değeri tahmin eder.

Hamiltonyen kurma ve toplama ayrıntıları Maliyet Hamiltonyenleri sayfasında; tek tek SparsePauliOp parçalarının birleştirilmesi Gözlemlenebilir oluşturma konusunda derinleşir.

Sadakat ve enerji karşılaştırmaları Sadakat ölçütleriyle desteklenebilir; bu sayfa ölçüt tanımını türetmez.

Ölçek

Kübit sayısı arttıkça Pauli terim sayısı ve ölçüm maliyeti büyür; kısıtlı donanımda terim gruplama ve transpile seviyesi üretim kararıdır.

Ansatz, derinlik ve parametre uzayı

Ansatz, arama uzayını |ψ(θ)⟩ ile kodlar; yetersiz uzay gerçek özvektörü hiç kapsamaz, aşırı geniş uzay ise optimizasyonu zorlaştırır ve barren plateau riskini artırır. Qiskit’in devre kütüphanesi ( RealAmplitudes, EfficientSU2 vb.) hızlı prototipleme sağlar.

Ansatz devreleri sayfası, seçim kriterlerini ve transpile etkileşimini genişletir; burada yalnızca VQE döngüsü içindeki rol vurgulanır.

Parametre sayısı arttıkça klasik optimizasyon boyutu büyür; aynı anda kuantum yürütme maliyeti de artar — mimari denetimde iki maliyeti birlikte izlemek gerekir.

Estimator, shot ve Runtime oturumu

Modern Qiskit yüzeyinde Estimator ilkeli, devre ve gözlemlenebilir çiftlerini toplu ( Pub) olarak kabul eder; beklenen değer ve belirsizlik tahmini döner. Donanımda shots ve hata azaltma seçenekleri sonucu doğrudan etkiler.

Estimator ilkeli, Oturum sistemi ve İlkel iş akışları sayfaları, aynı soyutlamanın yürütme katmanıdır.

Transpile hedefi Taban kapıları ve routing ile bağlantılıdır; ansatz grafiği cihaz coupling_map kısıtına uymalıdır.

Yakınsama riskleri ve pratik sınırlar

Enerji yüzeyi genelde konveks değildir; klasik optimizasyon yerel minimumlarda takılabilir. Barren plateau, parametre gradyanlarının üstel olarak küçülmesi ile ilişkilendirilir ve derin ansatzlerde pratik arama zorlaşır.

Donanım gürültüsü enerji tahminine bias ve varyans ekler; Sıfır gürültü ekstrapolasyonu ve Ölçüm azaltma gibi teknikler üretimde sık devreye girer.

QAOA benzeri özel ansatzler bazen daha iyi yön bilgisi taşır; problem sınıfına göre VQE yerine veya VQE iç içe kullanımı değerlendirilir.

Yazılım üzerinden denetim

Her iterasyonda kullanılan θ, transpile özeti, shot sayısı ve ilkel sürümü loglanmalıdır; aksi halde iki “başarılı” koşu karşılaştırılamaz.

VQE kod laboratuvarı

Aşağıdaki örnek, iki kübitlik basit bir Pauli maliyeti için RealAmplitudes ansatzı ve StatevectorEstimator ile enerjiyi değerlendirir; scipy.optimize.minimize ( COBYLA) ile θ optimize edilir. Donanım veya Runtime gerektirmez.

SciPy + StatevectorEstimator

vqe_statevector_estimator_min.py Python
import numpy as np
from scipy.optimize import minimize
from qiskit.circuit.library import RealAmplitudes
from qiskit.primitives import StatevectorEstimator
from qiskit.quantum_info import SparsePauliOp

hamiltonian = SparsePauliOp.from_list(
    [("ZZ", 1.0), ("ZI", 0.25), ("IZ", 0.25)]
)
ansatz = RealAmplitudes(num_qubits=2, reps=1, entanglement="linear")
estimator = StatevectorEstimator()


def energy(theta):
    bound = ansatz.assign_parameters(theta)
    job = estimator.run([(bound, [hamiltonian])])
    return float(job.result()[0].data.evs[0])


theta0 = np.zeros(ansatz.num_parameters)
result = minimize(energy, theta0, method="COBYLA", options={"maxiter": 120})
print("E_min ≈", result.fun)
print("Başarılı:", result.success, "| iterasyon:", result.nit)
qiskit StatevectorEstimator · SciPy · VQE UTF-8 · LF

Runtime Estimator (yorum)

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

vqe_runtime_estimator_sketch.py Python
# from qiskit_ibm_runtime import Estimator, Session
# with Session(backend=backend) as session:
#     est = Estimator(session=session)
#     def energy_hw(theta):
#         job = est.run([(ansatz.assign_parameters(theta), [hamiltonian])])
#         return float(job.result()[0].data.evs[0])
qiskit IBM Runtime · yorum UTF-8 · LF

Özet ve ileri okuma

VQE çerçevesi; Pauli tabanlı maliyet, parametreli ansatz, beklenen değer tahmini ve klasik optimizasyonun döngüsel birleşimidir. Pauli cebiri ve genel özdeğer teorisi ayrı sayfalarda; QAOA ve Grover ayrı araç başlıklarında kalır.

Güncel API yüzeyi IBM belgelerinde tutulur; ilkel ve oturum imzaları sürüme göre değişir.

Özet H’yi Pauli’de tut; ansatzı transpile edilebilir seç; Estimator ile ⟨H⟩ ölç; θ’yı klasik optimize et; riskleri ve sürümü logla.