Megosztás a következőn keresztül:


Oktatóanyag: Kvantumkémia-probléma erőforrásainak becslése

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

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

  1. A Visual Studio Code-ban nyissa meg azt a mappát, amelyben klónozta a Q#-mintaadattárat.

  2. 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.

  3. 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
    
  4. 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

  1. Nyissa meg a chemistry.py fájlt.

  2. 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"}})
    
  3. 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.