1. Ana sayfa
  2. İçerik planı
  3. Kuplaj haritası görselleştirme · Qiskit
Qiskit · Kuantum görselleştirme

Kuplaj haritası — Hangi kübit çiftlerinin birlikte kapı görebildiğini görmek

Kuplaj haritası görselleştirmesi, kuantum işlemcinin iletişim grafiğini özetler: iki kübitlik kapılar hangi hat çiftlerinde yürütülebilir? Bu, kapı sırasını çizen hibrit devre çizimi; ölçüm sayımlarını gösteren histogram; yoğunluk veya vektör projeksiyonları ( state city, Hinton, qsphere) veya zaman çizelgesi ile farklı veri nesneleridir. Donanım topolojisi kavramı donanım topolojisi ve kuplaj haritası (yürütme) sayfalarında desteklenir; burada Qiskit’in çizim yüzeyi ve mimariyi yazılım üzerinden okuma disiplini öne çıkar.

  • Odak: graf · kenar · düzen
  • Ayrım: algoritma şeması değil
  • Sınır: Graphviz ve yerleşim seçimi

Kavram haritası ve sayfa sınırı

Kuplaj haritası, işlemcide izin verilen iki kübit etkileşimlerini bir graf olarak kodlar. Görselleştirme; transpile sırasında hangi SWAP / BRIDGE ihtimallerinin anlamlı olduğunu ekip içi tartışmada hızlandırır ve “bu CNOT neden pahalı?” sorusuna topolojik cevap verir.

Kenar listesi ve metrikler Kuplaj haritası (yürütme) konusunda; geometrik aileler ve CouplingMap cebiri Donanım topolojisi sayfasında derinleşir. Bu sayfa çizim API’si ve okunabilir çıktı üretimini işler.

LaTeX devre çıktısı topoloji çizmez; kuplaj grafiği ayrı bir artefakttır.

Ne vaat edilmez

Kalibrasyon süreleri veya kapı hata oranları; bunlar backend özellikleri ve ilgili sayfalarda ele alınır.

Tek başına optimal yönlendirme çözümü; graf yalnızca kısıt setidir, routing algoritması ayrıdır.

Mimari özet Kuplaj haritası = cihaz iletişim grafiği; devre diyagramı = mantıksal kapı sırası; histogram = ölçüm; durum görselleri = |ψ⟩ veya ρ; zaman çizelgesi = zamanlanmış yürütme.

Graf modeli: düğüm ve yönlü kenar

Çoğu diyagramda her kübit bir düğüm; izin verilen iki kübit kapısı bir kenar ile gösterilir. Bazı görünümlerde kenarlar yönlüdür: yalnızca (control → target) yönünde doğrudan fiziksel kapı varsa, ters yön için ek hareket gerekir; bu ayrım plot_directed=True ile vurgulanabilir.

CouplingMap nesnesi yönsüz veya yönlü kenar kümelerini taşıyabilir; backend’e göre API farklılık gösterebilir. Rapor başlığında “yönsüz özet” mi “yönlü fiziksel” mi olduğunu yazın.

Graf çapı ve düğüm derecesi, hata düzeltme ve uzun menzilli kapılar için sezgisel ön bilgi verir; nicel karşılaştırma için ayrıca mesafe matrisi üretilebilir.

Backend ve sahte cihazdan okuma

Canlı veya sahte bir BackendV2 üzerinden backend.coupling_map çekildiğinde, transpile’ın kullanacağı topoloji ile aynı kaynak okunur. Eğitimde GenericBackendV2 gibi modeller hızlıdır; üretimde gerçek cihaz özellikleri ve sürüm eşlemesi şarttır.

Backend seçimi değiştikçe kuplaj grafiği değişir; dokümantasyon görselleri backend adı ve tarih damgasıyla arşivlenmelidir.

Fake backend kullanımı sayfası, test ortamında topoloji okumasını destekler.

plot_coupling_map ve yerleşim

plot_coupling_map, kübit sayısı, düzlem veya özel qubit_coordinates ve kenar listesi alarak düzenlenmiş bir şekil üretir. planar=False seçenekleri ve renk parametreleri sunum kalitesini etkiler.

Bu yol tipik olarak Graphviz tabanlı düzen kullanır; CI veya başsız sunucuda Graphviz yoksa çağrı düşer. Kurulum için graphviz.org indirme sayfasına bakın.

CouplingMap.draw() benzer şekilde Graphviz çağırır; aynı sistem bağımlılığı geçerlidir.

Erişilebilirlik

Renk tek kanallı anlatımda yetersiz kalabilir; kenar listesini metin tablosu ile eşleştirin.

Transpile ve yönlendirme ile ilişki

Transpile, mantıksal devreyi hedef coupling_map ve basis_gates ile uyumlu hale getirir; kuplaj haritası bu dönüşümün kısıt grafiğidir. Çizim, routing çıktısındaki SWAP sayısı artışının nedenini sezgisel olarak açıklar.

Layout seçimi ve routing sayfaları algoritmik tarafta kalır; kuplaj görselleştirmesi aynı grafiği “harita” olarak sunar.

Zaman çizelgesi seçilen topoloji ve sürelerle ne zaman yürütüldüğünü gösterir; kuplaj haritası kim kiminle konuşabilir sorusunu yanıtlar.

Yazılım üzerinden topoloji denetimi

Kuantum bilgisayar mimarisini yazılım üzerinden kontrol etmek, yalnızca kapı sayısını değil, iletişim kısıtını da sürekli gözlemlemeyi içerir. Kuplaj PNG’si veya kenar CSV’si, çekme isteğinde “yanlış backend’e mi transpile ettik?” sorusuna hızlı cevap verir.

İlkel iş akışları disiplini, bu görselleri deney kimliği ve backend sürümüyle birlikte arşivlemeyi önerir.

Çok büyük kübit sayısında düğüm üst üste biner; otomatik yerleşim ve etiket sıklığı rapor okunabilirliğini etkiler.

Kuplaj kod laboratuvarı

Aşağıdaki örnek, Qiskit’ten kenar listesini okur ve Matplotlib ile daire yerleşiminde PNG üretir; Graphviz gerektirmez (CI ve ders ortamı için). Üretim raporunda resmi plot_coupling_map ile aynı dosya adı politikasını kullanın.

Matplotlib: GenericBackendV2 kenarları

coupling_map_mpl_preview.py Python
import matplotlib

matplotlib.use("Agg")
import matplotlib.pyplot as plt
import numpy as np
from qiskit.providers.fake_provider import GenericBackendV2

backend = GenericBackendV2(num_qubits=5)
n = backend.num_qubits
edges = list(backend.coupling_map.get_edges())

angles = np.linspace(0, 2 * np.pi, n, endpoint=False)
x, y = np.cos(angles), np.sin(angles)

fig, ax = plt.subplots(figsize=(4.6, 4.6), facecolor="#1e1b4b")
ax.set_facecolor("#1e1b4b")
for a, b in edges:
    ax.plot([x[a], x[b]], [y[a], y[b]], color="#c4b5fd", linewidth=2.0, alpha=0.9, zorder=1)
ax.scatter(x, y, s=420, c="#4c1d95", zorder=2, edgecolors="#e9d5ff", linewidths=1.2)
for i in range(n):
    ax.text(x[i], y[i], str(i), ha="center", va="center", color="white", fontsize=10, fontweight="600")
ax.set_aspect("equal")
ax.axis("off")
fig.savefig("coupling_preview_mpl.png", dpi=140, bbox_inches="tight", facecolor=fig.get_facecolor())
plt.close(fig)
print("Yazıldı: coupling_preview_mpl.png")
qiskit coupling_map · Matplotlib · Agg UTF-8 · LF

plot_coupling_map (Graphviz gerekli)

Graphviz kurulu ortamda aşağıdaki kalıp resmi Qiskit çizimini üretir; koordinat listesi basit bir çizgi düzenidir.

plot_coupling_map_line5_sketch.py Python
# Graphviz sisteminizde kurulu olmalı (graphviz.org).
# from qiskit.visualization import plot_coupling_map
# from qiskit.providers.fake_provider import GenericBackendV2
# backend = GenericBackendV2(num_qubits=5)
# n = backend.num_qubits
# coords = [[i, 0] for i in range(n)]
# edges = list(backend.coupling_map.get_edges())
# plot_coupling_map(n, coords, edges, filename="coupling_official.png", plot_directed=False)
qiskit plot_coupling_map · Graphviz · yorum UTF-8 · LF

Özet ve ileri okuma

Kuplaj haritası görselleştirmesi; cihazın iki kübit etkileşim grafiğini sunar ve transpile / routing tartışmasıyla doğrudan bağlantılıdır. Devre diyagramı, durum görselleri, histogram ve zaman çizelgesi ile veri türü olarak birleştirilmemelidir.

Güncel imza ve renk parametreleri IBM API belgelerinde tutulur; Graphviz sürümü CI’da sabitlenmelidir.

Özet Kenarları backend’den al; yönlülüğü raporla; Graphviz’siz önizleme veya resmi çizim seç; routing sayfalarıyla eşleştir.