Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ebben az oktatóanyagban megbecsüli azokat a fizikai erőforrásokat, amelyek az Azure Quantum Resource Estimator segítségével szükségesek egy Hamilton-operator energiájának 1 mHa kémai szempontból pontos kiszámításához.
Az oktatóanyag során az alábbi lépéseket fogja végrehajtani:
- Klónoz egy mintaadattárat a GitHubról.
- FCIDUMP-fájlokat használjon argumentumparaméterként kémiai modellezési és szimulációs alkalmazásokhoz.
- Futtassa az erőforrás-becslést egy nagyszabású problémára, amely egy dupla faktorizált kémiai minta.
Előfeltételek
Python-környezet, amelyen telepítve van a Python és a Pip .
A Visual Studio Code legújabb verziója a Quantum Development Kit, valamint a Python bővítményekkel telepítve.
A legújabb Azure Quantum-csomag
qsharp
, valamint anumpy
ésscipy
csomagok.python -m pip install --upgrade qsharp numpy scipy
Tipp.
Az erőforrásbecslő futtatásához nem kell Azure-fiókkal rendelkeznie.
A probléma leírása
Ebben az oktatóanyagban kiértékelheted a Phys. Rev. Research 3, 033055 (2021) című tanulmányban leírt qubitizációs algoritmus fizikai erőforrás-becsléseit, hogy kiszámítsd a felhasználó által megadott Hamilton-operator energiáját 1 mHa kémiai pontossággal.
A Hamiltonian energiáját kiszámító kvantum-algoritmus kéttényezős qubitizáción alapul. A Hamiltonian az egy- és kételektron-integrálok kifejezéseivel van leírva a HTTPS URI-n keresztül elérhető FCIDUMP (teljes konfigurációs interakció) fájlokban.
A qubitizációs megközelítés kvantumfázis-becslésen alapul, de ahelyett, hogy a Hamilton-mátrix $H$ segítségével a standard $U = \exp{(-i H/\alpha)}$-t hoznánk létre, $U = \exp{(-i \sin{(H/\alpha)})}$-t használunk, amely általában kevesebb erőforrással implementálható. A kettős faktorizációval $H$ kompakt módon jelenik meg, az orbitális és tömörítési lehetőségek megfontolt kombinációjával.
A minta betöltése a Visual Studio Code-ban
Az oktatóanyag kódja a Q# minta-adattárban található, a estimation/df-chemistry útvonal alatt. Javasoljuk, hogy klónozza az adattárat a helyi gépen a minta futtatásához.
Az adattár klónozásához futtassa a következő parancsot a terminálról:
git clone https://github.com/microsoft/qsharp.git
FCIDUMP-fájl kiválasztása és átadása
Ebben a példában a Hamilton-et egy- és kételektron-integrálként írják le FCIDUMP formátumban. Az alábbi táblázatból választhatja ki az FCIDUMP-fájlok egyikét, vagy kiválaszthatja a számítógépen vagy online elérhető saját FCIDUMP-fájlt egy nyilvánosan elérhető HTTPS URI-n keresztül.
URI | Példány neve | Leírás |
---|---|---|
https://aka.ms/fcidump/XVIII-cas4-fb-64e-56o | XVIII-cas4-fb-64e56o | 64 elektron, 56 orbitális aktív tér az egyik stabil köztes a ruténium-katalizált szén-rögzítési ciklusban . |
https://aka.ms/fcidump/nitrogenase-54e-54o | nitrogenase_54orbital | 54 elektron, a nitrogénáz aktív magjának 54 orbitális aktív területe. |
https://aka.ms/fcidump/fe2s2-10e-40o | fe2s2-10e-40o | 10 elektron, 40 aktív orbitális tér [2Fe, 2S] klaszter. |
https://aka.ms/fcidump/polyyne-24e-24o | polyyne-24e-24o | 24 elektron, 24 orbitális aktív térbeli rész a poliin molekulában. |
https://aka.ms/fcidump/n2-10e-8o | n2-10e-8o | 10 elektron és 8 orbitális aktív tér a 3 Angstrom távolságra levő disszociált nitrogén esetében. |
Az FCIDUMP fájl átadásához futtatnia kell a chemistry.py fájlt, és az FCIDUMP fájlnevet vagy az URI-t argumentumként kell megadnia, az egyik -f
vagy --fcidumpfile
használatával.
usage: chemistry.py [-h] [-f FCIDUMPFILE]
options:
-h, --help
-f FCIDUMPFILE, --fcidumpfile FCIDUMPFILE
Futtassa a kémiai mintát
A Visual Studio Code-ban nyissa meg azt a mappát, amelyben klónozta a Q#-mintaadattárat.
Nyisson meg egy új terminált, a Terminál –> Új terminált, és keresse meg azt a könyvtárat, amelyben a kvantumkémiai minta található. Ha például klónozza a Q#-mintaadattárat a helyi gépen, az elérési út a következő
qsharp/samples/estimation/df-chemistry
.Futtassa a chemistry.py fájlt, és adja át az FCIDUMP fájlt. A következő parancs például letölti az n2-10e-8o FCIDUMP fájlt a munkamappába, és futtatja az erőforrás-becslést.
python chemistry.py -f https://aka.ms/fcidump/n2-10e-8o
Ezután átadhatja a letöltött fájl elérési útját a szkriptnek.
python chemistry.py -f n2-10e-8o
Az erőforrás-becslés eredménye megjelenik a terminálban. Az alábbi kimenet például az n2-10e-8o FCIDUMP fájl erőforrás-becslését mutatja.
Algorithm runtime: 19 mins Number of physical qubits required: 207.60k For more detailed resource counts, see file resource_estimate.json
Feljegyzés
A chemistry.py fájl futtatása után létrejön egy resource_estimation.json fájl a munkamappában. A resource_estimation.json fájl tartalmazza az erőforrásbecslő részletes kimenetét. Ezek a feladatparaméterek, a fizikai számok, a T-gyár tulajdonságai, a logikai számok és a logikai qubit tulajdonságai.
Paraméterek módosítása target
Nyissa meg a chemistry.py fájlt.
Az target erőforrás-becslés paraméterei megtalálhatók a chemistry.py fájl
qsharp.estimate
meghívásában. Az alábbi kódrészlet az oktatóanyagban használt paramétereket mutatja be.# Get resource estimates res = qsharp.estimate(qsharp_string, params={"errorBudget": 0.01, "qubitParams": {"name": "qubit_maj_ns_e6"}, "qecScheme": {"name": "floquet_code"}})
Ha módosítani szeretné a target paramétereket, ezt az előző kódrészlet módosításával teheti meg. Az alábbi kódrészlet például azt mutatja be, hogyan módosíthatja a hibakeretet 0,333-ra. További információ: target paramétereinek testreszabása.
# Get resource estimates res = qsharp.estimate(qsharp_string, params={"errorBudget": 0.333, "qubitParams": {"name": "qubit_maj_ns_e6"}, "qecScheme": {"name": "floquet_code"}})
Miért fontosak a kvantum-számítástechnika kémiai alkalmazásai?
Ez az oktatóanyag az első lépés a kvantummegoldások erőforrás-becslésének az elektronikus szerkezettel kapcsolatos problémákba való integrálásához. A skálázott kvantumszámítógépek egyik legfontosabb alkalmazása a kvantumkémia problémáinak megoldása. Az összetett kvantummechanikai rendszerek szimulációja lehetővé teszi az áttörések feloldását olyan területeken, mint a szén-dioxid-rögzítés, az élelmiszer-bizonytalanság, valamint a jobb üzemanyagok és anyagok tervezése.
A mintában szereplő FCIDUMP-fájlok egyike, a nitrogenase_54orbital, például a nitrogénáz enzimet írja le. Ha pontosan szimulálni tudná, hogyan működik ez az enzim kvantumszinten, az segíthet nekünk megérteni, hogyan lehet nagy léptékben előállítani. Lecserélhetné a rendkívül energiaigényes folyamatot, amelyet arra használnak, hogy elegendő műtrágyát termeljenek a bolygó táplálásához. Ez csökkentheti a globális szénlábnyomot, és segíthet kezelni a növekvő népesség élelmiszer-bizonytalanságával kapcsolatos aggodalmakat.
Ha szeretné elmélyíteni tudását, próbálkozzon az alábbi kísérletekkel:
- Becsülje meg az egyéni FCIDUMP-fájlokat.
- Módosítsa a kvantumszámítógép feltételezéseit target egyéni qubitparaméterek megadásával.
- Tekintse meg a többi erőforrás-becslési mintajegyzetfüzetet az Azure Quantum mintagyűjteményében.
Kapcsolódó tartalom
- A Grover keresési algoritmusát implementáló oktatóanyag bemutatja, hogyan írhat olyan Q#-programot, amely a Grover keresési algoritmusát használja egy gráfszínezési probléma megoldásához.
- A Q# qubitszintű programjainak írása és szimulálása című oktatóanyag bemutatja, hogyan írhat olyan Q#-programokat, amelyek közvetlenül kezelik az adott qubiteket.
- A Q#-tal való kvantum-összefonódás feltárása című oktatóanyag bemutatja, hogyan lehet qubiteket használni a Q# használatával az állapotuk megváltoztatásához, és bemutatja a szuperpozíció és az összefonódás hatásait.
- A Quantum Katas Jupyter Notebook-alapú, öngyors oktatóanyagok és programozási gyakorlatok, amelyek célja a kvantum-számítástechnika és a Q#-programozás elemeinek egyidejű tanítása.