Kurz: Odhad prostředků kvantových chemických problémů
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 editoru Visual Studio Code s nainstalovanou sadou Azure Quantum Development Kit a rozšířeními Pythonu .
Nejnovější balíček Azure Quantum
qsharp
anumpy
scipy
balíčky.python -m pip install --upgrade qsharp numpy scipy
Tip
Ke spuštění místního estimátoru prostředků nemusíte mít účet Azure.
Popište problém.
V tomto kurzu vyhodnotíte odhady fyzických prostředků algoritmu qubitizace popsaného v Phys. Rev. Research 3, 033055 (2021), abyste vypočítali energii uživatele poskytnutého Hamiltoniánem 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 1- a dvou elektronových integrálů v zadaných souborech FCIDUMP (úplná interakce konfigurace), které jsou k dispozici prostřednictvím identifikátoru URI HTTPS.
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$ přebírá $U = \exp{(-i \sin^{-1} (H/\alpha)}$, která se obvykle implementuje s menším počtem prostředků. Pomocí dvojitého faktorizace je $H$ kompaktně reprezentován kombinací volby orbitálních a kompresí.
Načtení ukázky v editoru Visual Studio Code
Kód pro tento kurz najdete v ukázkovém úložišti Q# v odhadu nebo df-chemii. 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 | CHLOR-cas4-fb-64e56o | 64 elektronů, 56 orbitální aktivní prostor jednoho ze stabilních zprostředkujících v cyklu fixace uhlíku ruthenium-catalyzed. |
https://aka.ms/fcidump/nitrogenase-54e-54o | nitrogenase_54orbital | 54 elektronů, 54 orbitální aktivní prostor aktivního jádra aktivního jádra dusíkaty. |
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 chemistry.py soubor a předat název souboru FCIDUMP nebo identifikátor URI jako argument pomocí nebo -f
--fcidumpfile
.
usage: chemistry.py [-h] [-f FCIDUMPFILE]
options:
-h, --help
-f FCIDUMPFILE, --fcidumpfile FCIDUMPFILE
Spuštění ukázky 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 dusíkas. 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 poznámkové bloky ukázkového odhadu ostatních prostředků 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é katy jsou jupyter Notebook založené na kurzech a programovacích cvičeních založených na jupyter notebooku a programovacích cvičeních zaměřených na výuku prvků kvantových výpočtů a programování v Q# současně.