Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu öğreticide, Microsoft Quantum kaynak tahmin aracını kullanarak bir Hamiltonian'ın enerjisini 1 mHa kimyasal doğruluğuna hesaplamak için gereken fiziksel kaynakları tahmin edebilirsiniz.
Bu öğreticide şunları yapacaksınız:
- GitHub'dan örnek bir depo kopyalayın.
- Kimyasal modelleme ve simülasyon uygulamaları için bağımsız değişken parametreleri olarak FCIDUMP dosyalarını kullanın.
- Çift faktörlü kimya örneği olan büyük ölçekli bir sorun için kaynak tahminini çalıştırın.
Önkoşullar
Python ve Pip'in yüklü olduğu bir Python ortamı.
Microsoft Quantum Development Kit (QDK) ve Python uzantılarının yüklü olduğu Visual Studio Code'un (VS Code) en son sürümü.
En son
qdkPython kitaplığı venumpyilescipypaketleri.python -m pip install --upgrade qdk numpy scipy
İpucu
Kaynak tahmin aracını çalıştırmak için bir Azure hesabınız olması gerekmez.
Sorunu açıklama
Bu öğreticide, Phys. Rev. Research 3, 033055 (2021)'de tanımlanan kübitizasyon algoritmasının fiziksel kaynak tahminlerini değerlendirerek, kullanıcının sağladığı Hamiltonian'ın enerjisini 1 mHa kimyasal doğruluğuna hesaplayacaksınız.
Hamiltonian'ın enerjisini hesaplayan kuantum algoritması çift faktörlü kubitizasyona dayanır. Hamiltonian, HTTPS URI üzerinden mevcut olan FCIDUMP (tam yapılandırma etkileşimi) dosyalarındaki bir ve iki elektron integralleri bakımından tanımlanmıştır.
Kubitizasyon yaklaşımı kuantum aşaması tahminini temel alır, ancak hamilton matrisi $H$ değerinden standart $U = \exp{(-i H/\alpha)}$ oluşturmak yerine, $U = \exp{(-i \sin^{-1} (H/\alpha))}$ alır ve bu genellikle daha az kaynakla uygulanabilir. çift faktörizasyon kullanılarak, $H$, rastgele bir yörünge seçimi ve sıkıştırmanın bir bileşimiyle kompakt bir şekilde temsil edilir.
Visual Studio Code'da örneği yükleme
Bu öğreticinin kodu QDK örnek deposunda, estimation/df-chemistry altında bulunabilir. Örneği çalıştırmak için yerel makinenizdeki depoyu kopyalamanızı öneririz.
Depoyu kopyalamak için terminalden aşağıdaki komutu çalıştırın:
git clone https://github.com/microsoft/qdk.git
FCIDUMP dosyasını seçin ve aktarın.
Bu örnekte Hamiltonian, FCIDUMP biçiminde bir ve iki elektron integrali olarak açıklanmıştır. Aşağıdaki tablodan FCIDUMP dosyalarından birini seçebilir veya genel olarak erişilebilen https URI'sini kullanarak makinenizde veya çevrimiçi ortamda bulunan kendi FCIDUMP dosyanızı seçebilirsiniz.
| URI | Örnek adı | Açıklama |
|---|---|---|
| https://aka.ms/fcidump/XVIII-cas4-fb-64e-56o | XVIII-cas4-fb-64e56o | 64 elektron, 56 yörünge aktif uzayı, ruthenyum katalizörlü karbon fiksasyon döngüsündeki kararlı ara maddelerden biri. |
| https://aka.ms/fcidump/nitrogenase-54e-54o | nitrojenaz_54orbital | 54 elektron, nitrojenaz enziminin aktif çekirdeğinin 54 yörünge aktif alanı. |
| https://aka.ms/fcidump/fe2s2-10e-40o | fe2s2-10e-40o | 10 elektron, 40 orbital aktif uzay [2Fe, 2S] kümesi. |
| https://aka.ms/fcidump/polyyne-24e-24o | poliyne-24e-24o | 24 elektron, poliyne molekülünün 24 yörünge aktif alanı. |
| https://aka.ms/fcidump/n2-10e-8o | n2-10e-8o | 10 elektron, 8 yörünge aktif uzayı nitrojeni 3 Angstrom mesafeden ayırmış. |
FCIDUMP dosyasını geçirmek için, chemistry.py dosyasını çalıştırmanız ve FCIDUMP dosya adını veya URI'sini bağımsız değişken olarak -f veya --fcidumpfile kullanarak geçirmeniz gerekir.
usage: chemistry.py [-h] [-f FCIDUMPFILE]
options:
-h, --help
-f FCIDUMPFILE, --fcidumpfile FCIDUMPFILE
Kimya örneğini çalıştırma
Visual Studio Code'da QDK örnek deposunu kopyaladığınız klasörü açın .
Terminal -> Yeni Terminal adlı yeni bir terminal açın ve kuantum kimyası örneğinin bulunduğu dizine gidin. Örneğin, QDK örnek deposunu yerel makinenize klonladığınızda, yol bu şekilde olur:
qdk/samples/estimation/df-chemistry.chemistry.py dosyasını çalıştırın ve FCIDUMP dosyasını geçirin. Örneğin, aşağıdaki komut FCIDUMP dosyasını
n2-10e-8oçalışma klasörüne indirir ve bunun için kaynak tahminini çalıştırır.python chemistry.py -f https://aka.ms/fcidump/n2-10e-8oBundan sonra, indirilen dosyanın yolunu betiğe geçirebilirsiniz.
python chemistry.py -f n2-10e-8oKaynak tahmininin sonucu terminalde görüntülenir. Örneğin, aşağıdaki çıktı
n2-10e-8oFCIDUMP dosyasının kaynak tahminini gösterir.Algorithm runtime: 19 mins Number of physical qubits required: 207.60k For more detailed resource counts, see file resource_estimate.json
Not
Dosyayı çalıştırdıktan chemistry.py sonra çalışma klasöründe bir resource_estimation.json dosya oluşturulur. Dosya resource_estimation.json , iş parametreleri, fiziksel sayılar, T fabrika özellikleri, mantıksal sayılar ve mantıksal kubit özellikleri gibi kaynak tahmin aracının ayrıntılı çıkışını içerir.
Parametreleri değiştirme target
chemistry.pydosyasını açın.Kaynak tahmini parametreleri, target dosyasının
qsharp.estimateçağrısındachemistry.pybulunabilir. Aşağıdaki kod parçacığı, bu öğreticide kullanılan parametreleri gösterir.# Get resource estimates res = qsharp.estimate(qsharp_string, params={"errorBudget": 0.01, "qubitParams": {"name": "qubit_maj_ns_e6"}, "qecScheme": {"name": "floquet_code"}})Parametreleri değiştirmek target istiyorsanız, önceki kod parçacığını değiştirin. Örneğin, aşağıdaki kod parçacığı hata bütçesinin 0,333 olarak nasıl değiştireceğini gösterir. Daha fazla bilgi için bkz. Kaynak tahmin aracının parametrelerini özelleştirmetarget.
# Get resource estimates res = qsharp.estimate(qsharp_string, params={"errorBudget": 0.333, "qubitParams": {"name": "qubit_maj_ns_e6"}, "qecScheme": {"name": "floquet_code"}})
Kuantum bilişiminin kimya uygulamaları neden önemlidir?
Bu öğretici, kuantum çözümlerinin kaynak tahminini elektronik yapı sorunlarıyla tümleştirmek için ilk adımı temsil eder. Ölçeklendirilmiş kuantum bilgisayarların en önemli uygulamalarından biri kuantum kimyası sorunlarını çözmektir. Karmaşık kuantum mekanik sistemlerinin simülasyonu, karbon yakalama, gıda güvensizliği ve daha iyi yakıtlar ve malzemeler tasarlama gibi alanlarda çığır açabilecek potansiyele sahiptir.
Örneğin, bu örnekte sağlanmış olan FCIDUMP dosyalarından biri, nitrojenaz enzimi nitrogenase_54orbitalaçıklar. Bu enzimin kuantum düzeyinde nasıl çalıştığını doğru bir şekilde simüle edebilirseniz, büyük ölçekte nasıl üretildiğini anlamamıza yardımcı olabilir. Gezegeni beslemek için yeterli gübre üretmek için kullanılan yüksek enerji yoğunluklu süreci değiştirebilirsiniz. Bu, küresel karbon ayak izini azaltma ve artan bir popülasyondaki gıda güvensizliği ile ilgili endişeleri gidermeye yardımcı olma potansiyeline sahiptir.
Bilgilerinizi daha derine inmek istiyorsanız deneyebileceğiniz bazı denemeler şunlardır:
- Bazı özel FCIDUMP dosyalarını tahmin edin.
- Özel kubit parametreleri sağlayarak kuantum bilgisayardaki varsayımları target değiştirin.
İlgili içerik
- Grover'ın arama algoritmasını uygulama öğreticisi, graf renklendirme sorununu çözmek için Grover'ın arama algoritmasını kullanan bir Q# programının nasıl yazıldığını gösterir.
- Q# dilinde kubit düzeyinde programlar yazma ve simülasyonu öğreticisi, belirli kubitleri doğrudan ele alan bir Q# programı yazmayı inceler.
- Q# ile kuantum dolanıklığını keşfetme öğreticisi , Q# ile kubitlerin durumunu değiştirmek için nasıl çalışabileceklerini gösterir ve süper pozisyon ile dolanıklığın etkilerini gösterir.
- Kuantum Kataları, kuantum bilişiminin ve Q# programlamanın öğelerini aynı anda öğretmeyi amaçlayan Jupyter Notebook tabanlı, kendi hızındaki öğreticiler ve programlama alıştırmalarıdır.