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

Ez az oktatóanyag bemutatja, hogyan becsülheti meg a hamiltoniak energiájának 1 mHa kémiai pontosságú kiszámításához szükséges fizikai erőforrásokat az Azure Quantum Resource Estimator használatával.

Megjegyzés

A Microsoft Quantum Development Kit (klasszikus QDK) 2024. június 30. után már nem támogatott. Ha Ön meglévő QDK-fejlesztő, javasoljuk, hogy váltson az új Azure Quantum Development Kitre (Modern QDK) a kvantummegoldások fejlesztésének folytatásához. További információ: A Q#-kód migrálása a modern QDK-ba.

Az oktatóanyagban a következőket végezheti el:

  • Mintaadattár klónozása a GitHubról.
  • FCIDUMP-fájlokat használjon argumentumparaméterként kémiai modellezési és szimulációs alkalmazásokhoz.
  • Nagy léptékű probléma esetén futtassa az erőforrás-becslést, amely egy kettőstényezős kémiai minta.

Előfeltételek

Tipp

A helyi erőforrásbecslő futtatásához nincs szükség Azure-fiókra.

A probléma leírása

Ebben az oktatóanyagban kiértékeli a Phys. Rev. Research 3, 033055 (2021) című cikkben leírt qubitizációs algoritmus fizikai erőforrás-becsléseit egy felhasználó 1 mHa kémiai pontosságú hamiltoni energiájának kiszámításához.

A Hamiltonian energiáját kiszámító kvantum-algoritmus a kettőstényezős qubitizáción alapul. A Hamiltoniant egy- és kételektroin-integrálként írják le a megadott FCIDUMP -fájlokban (teljes konfigurációs interakció), amelyek HTTPS URI-n keresztül érhetők el.

A qubitizációs megközelítés kvantumfázis-becslésen alapul, de a hamiltoni mátrixból $H$ standard $U = \exp{(-i H/\alpha)}$ helyett $U = \exp{(-i \sin^{-1} (H/\alpha)}$, amely általában kevesebb erőforrással valósítható meg. A kettős faktorizáció használatával a $H$ kompakt módon jelenik meg, a pályák és tömörítések megfontolt választásának kombinációjával.

A minta betöltése a Visual Studio Code-ban

Az oktatóanyag kódja megtalálható a Q#-mintaadattárban, becslés/df-kémia 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ételektroin-integrálként írják le FCIDUMP formátumban. Az alábbi táblázatból kiválaszthatja az FCIDUMP-fájlok egyikét, vagy kiválaszthatja a számítógépén vagy online elérhető saját FCIDUMP-fájlját egy nyilvánosan elérhető HTTPS URI-n keresztül.

URI Példány neve Description
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, [ 2Fe, 2S] fürt 40 orbitális aktív területe.
https://aka.ms/fcidump/polyyne-24e-24o polyyne-24e-24o 24 elektron, 24 orbitális aktív tér a poliyne molekula.
https://aka.ms/fcidump/n2-10e-8o n2-10e-8o 10 elektron, 8 orbitális aktív tér, amely a nitrogént 3 Angstrom távolságban leválasztotta.

Az FCIDUMP fájl átadásához futtassa a chemistry.py fájlt, és adja meg az FCIDUMP fájlnevet vagy az URI-t argumentumként a vagy --fcidumpfilea használatával-f.

usage: chemistry.py [-h] [-f FCIDUMPFILE]

options:
  -h, --help           
  -f FCIDUMPFILE, --fcidumpfile FCIDUMPFILE                      

A kémiai minta futtatása

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

  2. Nyisson meg egy új terminált, a Terminál –> Új terminált, és lépjen arra a könyvtárra, ahol 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 lefuttatja 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
    

Megjegyzé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ás-becslő 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 a chemistry.py fájl hívásában qsharp.estimate találhatók. 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 bemutatja, hogyan módosíthatja a hibakeretet 0,333-ra. További információ: Az erőforrásbecslő paramétereinek testreszabásatarget.

    # 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, amely a kvantummegoldások erőforrás-becslését integrálja az elektronikus struktúra problémáiba. A skálázott kvantumszámítógépek egyik legfontosabb alkalmazása a kvantumkémiai problémák 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-biztonság, valamint a jobb üzemanyagok és anyagok tervezése.

Az ebben a mintában található FCIDUMP-fájlok egyike például nitrogenase_54orbital ismerteti a nitrogénáz enzimet. 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 nagy energiaigényű folyamatot, amely elegendő műtrágya előállítására szolgál 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 aggályokat.

Következő lépések

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.

Folytassa az egyéb kvantum-algoritmusok és technikák megismerését: