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

Maliyet Hamiltonyenleri — Pauli temsili, katsayılar ve problem kodlaması

Maliyet Hamiltonyeni, varyasyonel kuantum yöntemlerinde klasik olarak düşürülen beklenen enerji ⟨H⟩’nin kuantum tarafındaki operatördür; Qiskit’te pratikte çoğu kez SparsePauliOp (veya benzeri Pauli tabanlı toplamlar) olarak taşınır. Terim listesi ( "ZZ", "IX" vb.), katsayı ölçeği ve kübit sırası ile birlikte optimizasyonun neyi minimize ettiğini tanımlar; ansatz ise aynı H altında hangi alt uzayda arama yapıldığını belirler. Bu sayfa Pauli sözleşmesi, seyrek temsilin inşası, kombinatorik/İzing köprüsü ve uzun menzil etkileşimlerin transpile maliyetine etkisini işler; VQE çerçevesi ve QAOA çerçevesi içindeki klasik–kuantum döngü ve ilkel çağrıları burada tekrarlanmaz.

  • Odak: SparsePauliOp · terimler · ölçek
  • Ayrım: ansatz şablonu seçimi değil
  • Risk: yanlış kübit eşlemesi ve gürültü

Kavram haritası ve sayfa sınırı

Maliyet Hamiltonyeni; varyasyonel yöntemlerde minimize edilen kuantum gözlemlenebilir olarak seçilir ve genelde Pauli terimlerinin gerçel katsayılı toplamıdır. Bu sayfa SparsePauliOp temsilinin sözleşmesini, terimlerin modelle nasıl eşlendiğini ve katsayıların optimizasyonu nasıl şekillendirdiğini işler; ansatz seçimi Ansatz devreleri sayfasında, beklenen değer tahmini ve klasik optimizasyon VQE çerçevesi içinde kalır.

Gözlemlenebilir toplamlarının ölçüm düzenlenişi ve gruplama disiplini Gözlemlenebilir oluşturma başlığında derinleşir; burada yalnızca maliyetin Pauli cebirinde nasıl durduğu vurgulanır.

Ne vaat edilmez

Her kombinatorik model için otomatik en kısa Pauli açılımı veya en düşük derinlik.

Grover oraklığı veya faz tahmini ünite tasarımı; Grover araçları ve Faz tahmini araçları ayrı tutulur.

Mimari özet Model → Pauli terimleri + katsayılar → SparsePauliOp → (Estimator ile) ⟨H⟩ → klasik optimizasyon; bu sayfa ortadaki temsil katmanını sabitler.

Pauli sözleşmesi ve kübit sırası

Pauli dizesindeki her karakter bir kübite atanır; Qiskit’in dize düzeni ile donanım haritası ( initial_layout) çakıştığında aynı matematiksel H farklı fiziksel etkileşimlere taşınır. Üretimde mantıksal kübit sırası ↔ fiziksel kübit eşlemesi raporun ilk sayfasında yer almalıdır.

Pauli ünite sayfası, terimlerin çarpım kurallarını ve ölçüm iletişimini hatırlatmak için tekrar noktasıdır.

Kimlik terimi

"II...I" sabiti enerji kayması ekler; kaldırıldığında bile optimizasyon göreceli minimumları değiştirebilir. Aynı modelin iki sürümünde sabit terim varlığı karşılaştırmalarda ayrılmalıdır.

SparsePauliOp inşası ve aritmetik

SparsePauliOp.from_list([("ZZ", a), ("ZI", b), ...]) en yaygın giriş noktasıdır; toplama ve çarpma ile model parçaları birleştirilebilir. Küçük katsayılar gürültü altında anlamsızlaşabilir; sayısal temizlik için .chop(tol=...) gibi eşikler kullanılır ve eşik değeri rapora yazılmalıdır.

from_operator küçük boyutlarda matris/Pauli dönüşümü için kullanılabilir; büyük sistemlerde doğrudan matris yolu pratik değildir.

Yazılım üzerinden denetim

Her deney için SparsePauliOp’un sıralanmış terim listesi veya hash özeti arşivlenmeli; aksi halde ⟨H⟩ eğrileri yeniden üretilemez.

Kombinatorik ve İzing kodlaması

Graf kesimi, MaxCut veya kısıtlı tatmin edilebilirlik modelleri sıkça ZZ ve Z terimlerinin ağırlıklı toplamına indirgenir; katsayılar kenar ağırlığı veya ceza parametreleriyle ilişkilendirilir. Tam indirgeme ve örnek eşleme QAOA çerçevesi ve algoritma rehberi sayfalarında kalır; burada yalnızca Pauli listesinin modelle bire bir eşlemesi vurgulanır.

Kısıtlar ceza terimi olarak eklendiğinde toplam H’nin hangi bölümünün “asıl maliyet”, hangisinin “ceza” olduğu sürüm kontrolü notlarında ayrılmalıdır.

Katsayı ölçeği ve normalizasyon

Tüm terimleri ölçeklemek, klasik optimizasyonun adım büyüklüğü ve yakınsama ölçütleriyle etkileşir; farklı ölçekler aynı ansatz altında farklı “kolay” veya “zor” enerji manzaraları üretir. Karşılaştırmalı deneylerde aynı ölçek politikası (ör. maksimum mutlak katsayıyı 1’e normalize etme) açıkça belirtilmelidir.

Katsayıların fiziksel birimi (ör. eV, ceza parametresi) varsa, kuantum simülasyonundaki zaman adımı t ile karıştırılmamalıdır; bu ayrım üretim loglarında tek cümleyle bile yazılmalıdır.

Uzun menzil terimler ve ölçüm

Uzak kübitlerde etkileşen Pauli terimleri, donanım grafiğinde SWAP zincirleri gerektirir; bu da efektif H’nin yerel gürültü altında farklı hissedilmesine yol açar. Ölçüm tarafında terim gruplaması shot maliyetini değiştirir; bu başlık maliyetin yapısını tanımlar, gruplama algoritması Gözlemlenebilir oluşturma ve Estimator ilkeli sayfalarında tamamlanır.

Transpile ve kaynak maliyeti

Pauli terimleri ölçüm veya zaman evrimi devrelerine açılır; aynı H için farklı optimization_level seçimleri farklı CNOT sayıları üretebilir. “Hangi transpile ile hangi ⟨H⟩?” sorusu raporda ayrılmalıdır.

Optimization seviyeleri ve Routing sayfaları, maliyet devresinin donanıma oturtulmasını tamamlar.

Hata azaltma seçimi, özellikle uzun menzil ağırlıklı modellerde belirleyici olabilir.

Maliyet Hamiltonyeni kod laboratuvarı

İlk örnek doğrudan from_list ile küçük bir İzing benzeri maliyet üretir. İkinci örnek küçük bir Hermitian matrisi Pauli temsiline çevirir.

SparsePauliOp.from_list

cost_sparse_pauli_from_list.py Python
from qiskit.quantum_info import SparsePauliOp

cost_h = SparsePauliOp.from_list(
    [("ZZ", 1.0), ("ZI", 0.25), ("IZ", 0.25), ("II", -0.125)]
)
print(cost_h)
print("Kübit sayısı:", cost_h.num_qubits)
cost_h2 = cost_h.chop(tol=1e-10)
print("Chop sonrası terim sayısı:", len(cost_h2))
print("ok")
qiskit SparsePauliOp · chop UTF-8 · LF

from_operator (2 kübit)

cost_sparse_pauli_from_operator.py Python
import numpy as np
from qiskit.quantum_info import Operator, SparsePauliOp

diag = np.array([0.0, -0.5, -0.5, 1.0])
Hmat = np.diag(diag)
cost_h = SparsePauliOp.from_operator(Operator(Hmat))
print(cost_h)
print("ok")
qiskit from_operator · 2 kübit UTF-8 · LF

IBM Runtime Estimator (yorum)

Aşağıdaki satırlar bilinçli olarak yorumdadır; maliyet operatörünü bağlanmış ansatzla ilkele geçirmek için oturum ve backend kimliği ortama göre doldurulur.

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

Özet ve ileri okuma

Maliyet Hamiltonyeni katmanı; Pauli terimleri ve katsayılarla tanımlanır, ölçek ve kübit eşlemesiyle anlam kazanır ve transpile sonrası fiilen farklı bir enerji yüzeyi üretebilir. ⟨H⟩ döngüsü ve optimizasyon VQE çerçevesi içinde birleşir.

Özet Terim listesini modelle eşle; ölçeği ve II sabitini belgele; chop eşiğini yaz; transpile özetini sakla; VQE’ye aktar.