Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V tomto kurzu odhadnete fyzické prostředky potřebné k výpočtu energie hamiltoniánu na chemickou přesnost 1 mHa pomocí nástroje azure Quantum Resource Estimator.
V tomto kurzu:
- Naklonujte ukázkové úložiště z GitHubu.
- Soubory FCIDUMP použijte jako parametry argumentů pro chemické modelování a simulační aplikace.
- Spusťte odhad prostředků pro rozsáhlý problém, což je dvojitý faktorizovaný chemický vzorek.
Požadavky
Prostředí Pythonu s nainstalovaným Pythonem a Pipem
Nejnovější verze Visual Studio Code s Quantum Development Kit a Python rozšířeními nainstalovanými.
Nejnovější balíček Azure Quantum
qsharp
a balíčkynumpy
ascipy
.python -m pip install --upgrade qsharp numpy scipy
Tip
Ke spuštění nástroje pro odhad prostředků nemusíte mít účet Azure.
Popište problém.
V tomto tutoriálu vyhodnotíte odhady fyzických prostředků algoritmu qubitizace popsaného v Phys. Rev. Research 3, 033055 (2021), abyste vypočítali energii Hamiltoniánu poskytnutého uživatelem na chemickou přesnost 1 mHa.
Kvantový algoritmus, který vypočítá energii hamiltoniánu, je založen na dvojúrovňové qubitizaci. Hamiltonián je popsán z hlediska jedno‑ a dvouelektronových integrálů v zadaných souborech FCIDUMP (úplná interakce konfigurace), které jsou k dispozici prostřednictvím HTTPS URI.
Přístup k qubitizaci je založený na odhadu kvantové fáze, ale místo vytvoření standardního $U = \exp{(-i H/\alpha)}$ z hamiltoniánské matice $H$ bere $U = \exp{(-i \sin^{-1} (H/\alpha))}$, který lze obvykle implementovat s méně prostředky. Pomocí dvojité faktorizace je $H$ kompaktně reprezentován kombinací vhodného výběru orbitalů a komprese.
Načtení ukázky v editoru Visual Studio Code
Kód pro tento kurz najdete v ukázkovém úložišti Q#, v části estimation/df-chemistry. Ke spuštění ukázky doporučujeme naklonovat úložiště v místním počítači.
Pokud chcete naklonovat úložiště, spusťte z terminálu následující příkaz:
git clone https://github.com/microsoft/qsharp.git
Výběr a předání souboru FCIDUMP
V tomto příkladu je hamiltonián popsán z hlediska 1- a dvou elektronových integrálů ve formátu FCIDUMP. V následující tabulce můžete zvolit jeden ze souborů FCIDUMP nebo můžete vybrat vlastní soubor FCIDUMP dostupný na vašem počítači nebo online prostřednictvím veřejně přístupného identifikátoru URI HTTPS.
Identifikátor URI | Název instance | Popis |
---|---|---|
https://aka.ms/fcidump/XVIII-cas4-fb-64e-56o | XVIII-cas4-fb-64e56o | 64 elektronů, 56 aktivní oblast jednoho ze stabilních meziproduktů v rutheniem-katalyzovaném cyklu fixace uhlíku. |
https://aka.ms/fcidump/nitrogenase-54e-54o | nitrogenase_54orbital | 54 elektronů, 54 aktivních prostorů orbitálů aktivního jádra nitrogenázy. |
https://aka.ms/fcidump/fe2s2-10e-40o | fe2s2-10e-40o | 10 elektronů, 40 orbitální aktivní prostor [2Fe, 2S] clusteru. |
https://aka.ms/fcidump/polyyne-24e-24o | polyyne-24e-24o | 24 elektronů, 24 orbitální aktivní prostor polyyneové molekuly. |
https://aka.ms/fcidump/n2-10e-8o | n2-10e-8o | 10 elektronů, 8 orbitální aktivní prostor disociovaného dusíku ve vzdálenosti 3 Angstrom. |
Pokud chcete předat soubor FCIDUMP, musíte spustit soubor chemistry.py a předat název souboru FCIDUMP nebo URI jako argument pomocí -f
nebo --fcidumpfile
.
usage: chemistry.py [-h] [-f FCIDUMPFILE]
options:
-h, --help
-f FCIDUMPFILE, --fcidumpfile FCIDUMPFILE
Spusťte ukázku chemie
V editoru Visual Studio Code otevřete složku, do které jste naklonovali ukázkové úložiště Q#.
Otevřete nový terminál, Terminál –> Nový terminál a přejděte do adresáře, kde se nachází ukázka kvantové chemie. Pokud například naklonujete ukázkové úložiště Q# v místním počítači, cesta je
qsharp/samples/estimation/df-chemistry
.Spusťte soubor chemistry.py a předejte soubor FCIDUMP. Následující příkaz například stáhne soubor FCIDUMP n2-10e-8o do pracovní složky a spustí odhad prostředků.
python chemistry.py -f https://aka.ms/fcidump/n2-10e-8o
Potom můžete místo toho předat cestu ke staženému souboru do skriptu.
python chemistry.py -f n2-10e-8o
Výsledek odhadu zdroje se zobrazí v terminálu. Například následující výstup ukazuje odhad prostředků pro soubor n2-10e-8o FCIDUMP.
Algorithm runtime: 19 mins Number of physical qubits required: 207.60k For more detailed resource counts, see file resource_estimate.json
Poznámka:
Po spuštění souboru chemistry.py se v pracovní složce vytvoří soubor resource_estimation.json . Soubor resource_estimation.json obsahuje podrobný výstup nástroje pro odhad prostředků. Jedná se o parametry úlohy, fyzické počty, vlastnosti objektu pro vytváření T, logické počty a vlastnosti logického qubitu.
Změna target parametrů
Otevřete soubor chemistry.py.
Parametry target odhadu zdroje najdete ve volání
qsharp.estimate
souboru chemistry.py. Následující fragment kódu ukazuje parametry použité v tomto kurzu.# Get resource estimates res = qsharp.estimate(qsharp_string, params={"errorBudget": 0.01, "qubitParams": {"name": "qubit_maj_ns_e6"}, "qecScheme": {"name": "floquet_code"}})
Pokud chcete parametry změnit target , můžete to udělat úpravou předchozího fragmentu kódu. Například následující fragment kódu ukazuje, jak změnit rozpočet chyb na 0.333. Další informace najdete v target tématu Přizpůsobení parametrů nástroje pro odhad prostředků.
# Get resource estimates res = qsharp.estimate(qsharp_string, params={"errorBudget": 0.333, "qubitParams": {"name": "qubit_maj_ns_e6"}, "qecScheme": {"name": "floquet_code"}})
Proč jsou chemické aplikace kvantových výpočtů důležité?
Tento kurz představuje první krok integrace odhadu prostředků kvantových řešení problémů s elektronickou strukturou. Jednou z nejdůležitějších aplikací škálovaných kvantových počítačů je řešení problémů s kvantovou chemií. Simulace složitých kvantových mechanických systémů má potenciál odhalit převraty v oblastech, jako je zachytávání uhlíku, bezpečnost potravin a navrhování lepších paliv a materiálů.
Například jeden ze souborů FCIDUMP uvedených v tomto vzorku, nitrogenase_54orbital, popisuje enzym nitrogenáza. Pokud byste mohli přesně simulovat, jak tento enzym funguje na kvantové úrovni, může nám pomoct pochopit, jak ho vytvořit ve velkém měřítku. Můžete nahradit vysoce energeticky náročný proces, který se používá k výrobě dostatečného hnojiva pro krmení planety. To má potenciál snížit globální uhlíkovou stopu a také pomoci řešit obavy týkající se nejistoty potravin v rostoucí populaci.
Pokud chcete prohlubovat své znalosti, můžete vyzkoušet několik experimentů:
- Odhadněte některé vlastní soubory FCIDUMP.
- Upravte předpoklady v kvantovém target počítači zadáním vlastních parametrů qubitu.
- Podívejte se na ukázkové sešity pro odhad zdrojů v galerii ukázek Azure Quantum.
Související obsah
- Kurz Implementace Groverova vyhledávacího algoritmu ukazuje, jak napsat program Q#, který používá Groverův vyhledávací algoritmus k řešení problému barvení grafu.
- Kurz Psaní a simulace programů na úrovni qubitů v jazyce Q# zkoumá, jak napsat program v jazyce Q#, který přímo řeší konkrétní qubity.
- Kurz Prozkoumání kvantového propletení pomocí jazyka Q# ukazuje, jak pracovat s qubity pomocí jazyka Q# a změnit jejich stav a demonstrovat účinky superpozice a propletení.
- Kvantové Katas jsou kurzy a programovací cvičení v podobě Jupyter Notebooku, které jsou navrženy pro samostatné studium a zaměřují se na výuku prvků kvantových výpočtů a programování v Q# současně.