Přeskočit na hlavní obsah

Chybová mitigace pomocí tenzorových sítí (TEM): Qiskit funkce od Algorithmiq

Viz referenci API

Poznámka

Qiskit Functions jsou experimentální funkce dostupné pouze uživatelům IBM Quantum® Premium Plan, Flex Plan a On-Prem (přes IBM Quantum Platform API) Plan. Jsou ve stavu preview release a mohou se změnit.

Verze balíčků

Kód na této stránce byl vyvinut s použitím následujících požadavků. Doporučujeme používat tyto nebo novější verze.

qiskit[all]~=2.4.0

Přehled

Metoda chybové mitigace pomocí tenzorových sítí (TEM) od Algorithmiq je hybridní kvantově-klasický algoritmus navržený pro provádění mitigace šumu výhradně ve fázi klasického post-processingu. S TEM lze vypočítat střední hodnoty pozorovatelných veličin a zmírnit nevyhnutelné chyby způsobené šumem na kvantovém hardware s vyšší přesností a efektivitou nákladů, což z něj dělá velmi atraktivní volbu pro kvantové výzkumníky i průmyslové odborníky.

Metoda spočívá v sestavení tenzorové sítě reprezentující inverzi globálního kanálu šumu ovlivňujícího stav kvantového procesoru a následném aplikování tohoto zobrazení na informačně úplné výsledky měření získané z zašuměného stavu, čímž se získají nestranné odhadce pozorovatelných veličin.

Jako výhodu TEM využívá informačně úplná měření pro přístup k rozsáhlé sadě mitigovaných středních hodnot pozorovatelných veličin a dosahuje optimální vzorkovací režie na kvantovém hardware, jak je popsáno ve Filippov et al. (2023), arXiv:2307.11740, a Filippov et al. (2024), arXiv:2403.13542. Vzorkovací režie označuje počet dodatečných měření potřebných k provedení efektivní chybové mitigace, což je klíčový faktor pro proveditelnost kvantových výpočtů. TEM má proto potenciál umožnit kvantovou výhodu ve složitých scénářích, jako jsou aplikace v oblasti kvantového chaosu, fyziky mnoha těles, Hubbardovy dynamiky a simulací chemie malých molekul.

Hlavní vlastnosti a výhody TEM lze shrnout takto:

  1. Optimální vzorkovací režie: TEM je optimální vzhledem k teoretickým hranicím, což znamená, že žádná metoda nemůže dosáhnout menší vzorkovací režie. Jinými slovy, TEM vyžaduje minimální počet dodatečných měření pro provedení chybové mitigace. To zároveň znamená, že TEM používá minimální kvantový runtime.
  2. Nákladová efektivita: Protože TEM zpracovává mitigaci šumu výhradně ve fázi post-processingu, není potřeba přidávat do kvantového počítače extra Circuit, což nejen snižuje náklady na výpočet, ale také snižuje riziko zavlečení dodatečných chyb způsobených nedokonalostmi kvantových zařízení.
  3. Odhad více pozorovatelných veličin: Díky informačně úplným měřením TEM efektivně odhaduje více pozorovatelných veličin ze stejných dat měření získaných z kvantového počítače.
  4. Mitigace chyb měření: Qiskit Function TEM také zahrnuje proprietární metodu mitigace chyb měření, která dokáže výrazně snížit chyby čtení po krátkém kalibračním běhu.
  5. Přesnost: TEM výrazně zlepšuje přesnost a spolehlivost digitálních kvantových simulací, čímž dělá kvantové algoritmy přesnějšími a spolehlivějšími.

Popis

Funkce TEM ti umožňuje získat mitigované střední hodnoty pro více pozorovatelných veličin na kvantovém Circuit s minimální vzorkovací režií. Circuit je měřen pomocí informačně úplného měření s pozitivně semidefinitní operátorovou hodnotou (IC-POVM) a získané výsledky měření jsou zpracovány na klasickém počítači. Toto měření se používá k provedení metod tenzorových sítí a sestavení mapy inverze šumu. Funkce aplikuje zobrazení, které plně invertuje celý zašuměný Circuit pomocí tenzorových sítí reprezentujících zašuměné vrstvy.

Schéma TEM

Jakmile jsou Circuit odeslány do funkce, jsou transpilovaný a optimalizovány tak, aby se minimalizoval počet vrstev s dvou-Qubitovými Gate (nejhlučnějšími Gate na kvantových zařízeních). Šum ovlivňující vrstvy je naučen prostřednictvím Qiskit Runtime pomocí řídkého Pauli-Lindbladova modelu šumu, jak je popsáno v E. van den Berg, Z. Minev, A. Kandala, K. Temme, Nat. Phys. (2023). arXiv:2201.09866.

Model šumu je přesný popis šumu na zařízení schopný zachytit jemné rysy, včetně přeslechů Qubitů. Šum na zařízeních však může kolísat a driftovat a naučený šum nemusí být přesný v okamžiku provádění odhadu. To může vést k nepřesným výsledkům.

Začínáme

Proveď autentizaci pomocí svého klíče IBM Quantum Platform API a vyber funkci TEM takto. (Tento úryvek předpokládá, že sis již uložil svůj účet do lokálního prostředí.)

# Added by doQumentation — required packages for this notebook
!pip install -q qiskit qiskit-ibm-catalog
from qiskit_ibm_catalog import QiskitFunctionsCatalog

tem_function_name = "algorithmiq/tem"
catalog = QiskitFunctionsCatalog(channel="ibm_quantum_platform")

# Load your function
tem = catalog.load(tem_function_name)

Příklad

Následující úryvek ukazuje příklad, kde TEM slouží k výpočtu středních hodnot pozorovatelné veličiny pro jednoduchý kvantový Circuit.

from qiskit import QuantumCircuit
from qiskit.quantum_info import SparsePauliOp

# Create a quantum circuit
qc = QuantumCircuit(3)
qc.u(0.4, 0.9, -0.3, 0)
qc.u(-0.4, 0.2, 1.3, 1)
qc.u(-1.2, -1.2, 0.3, 2)
for _ in range(2):
qc.barrier()
qc.cx(0, 1)
qc.cx(2, 1)
qc.barrier()
qc.u(0.4, 0.9, -0.3, 0)
qc.u(-0.4, 0.2, 1.3, 1)
qc.u(-1.2, -1.2, 0.3, 2)

# Define the observables
observable = SparsePauliOp("IYX", 1.0)

# Define the execution options
pub = (qc, [observable])
options = {"default_precision": 0.02}

# Define backend to use. TEM will choose the least-busy device
# reported by IBM if not specified
backend_name = "ibm_marrakesh"

# Run the TEM function (uses around three minutes of QPU time)
job = tem.run(pubs=[pub], backend_name=backend_name, options=options)

Ke kontrole stavu tvé Qiskit Function pracovní zátěže použij Qiskit Serverless API:

print(job.status())
QUEUED

Výsledky lze vrátit takto:

result = job.result()
evs = result[0].data.evs
print(evs[0])
0.02165380888171687
info

Očekávaná hodnota pro bezšumový Circuit pro daný operátor by měla být přibližně 0.18409094298943401.

Získání podpory

Kontaktuj nás na qiskit_ibm@algorithmiq.fi

Nezapomeň uvést následující informace:

  • ID Qiskit Function Job (qiskit-ibm-catalog), job.job_id
  • Podrobný popis problému
  • Případné chybové zprávy nebo kódy
  • Kroky pro reprodukci problému

Další kroky