Nötr atom cihazı simülatörlerini QDK içinde nasıl yükler ve kullanırsınız?

Nötr atom cihaz simülatörleri, kuantum programlarınızın gerçek bir nötr atom kuantum bilgisayarında nasıl çalıştığını simüle eden (Microsoft Quantum Development Kit) özellikleridir QDK . Bu makalede, simülasyon Python modüllerini QDK'dan yükler ve temel bir nötr atom cihazı simülasyonu çalıştırırsınız.

Önkoşullar

Nötr atom cihaz simülatörlerini kullanmak için aşağıdakileri yüklemeniz gerekir:

Nötr atom cihaz simülatörlerini yükleme

Nötr atom cihaz simülatörlerini kullanmak için, qdk eklentisiyle birlikte Pythonjupyter kütüphanesinin en son sürümünü yükleyin.

pip install --upgrade "qdk[jupyter]"

jupyter Ek, simülatörleri kullanmak için gerekli değildir, ancak modülü yüklerqdk.widgets. widgets modülü, Jupyter Notebook içinde simülasyon sonuçlarınızdan görselleştirmeler oluşturmanıza olanak tanır.

Temel kuantum programının simülasyonunu oluşturma

Nötr atom cihaz simülatörünü kullanmak için programınızı OpenQASM kodundan QIR'ye dönüştürmeniz, bir simülatör nesnesi oluşturmanız ve ardından QIR ve diğer parametreleri simülatöre geçirmeniz gerekir. bu QDK sürecin tamamını sizin için basitleştirir.

Örneğin, temel bir kuantum programı için nötr atom simülasyonu çalıştırmak ve sonuçların dağılımını görüntülemek için şu adımları izleyin:

  1. içinde VS CodeGörünüm menüsünü açın ve Komut Paleti'ni seçin.

  2. Yeni oluşturun: Jupyter Notebook yazın ve seçin. Boş Jupyter Notebook bir dosya içeren yeni bir sekme açılır.

  3. Gerekli kitaplıkları ve nesneleri içeri aktarmak için ilk hücrede aşağıdaki kodu çalıştırın:

    from qdk import init, TargetProfile
    from qdk.openqasm import compile
    from qdk.simulation import NeutralAtomDevice, NoiseConfig
    from qdk.widgets import Histogram
    
  4. Nötr atom kuantum bilgisayarı için QIR oluşturmak için bir hedef profil ayarlamanız gerekir. Bu örnek için hedef profili olarak Baseayarlayın. Hedef profili ayarlamak için aşağıdaki kodu yeni bir hücrede çalıştırın:

    init(target_profile=TargetProfile.Base)
    

    Uyarı

    Nötr atom cihaz simülatörleri, hedef profil dallanmayı desteklese bile dallanma içeren kuantum programlarını çalıştıramaz.

  5. OpenQASM kodunda kuantum devresi oluşturmak ve bağlantı hattını QIR'de derlemek için aşağıdaki kodu yeni bir hücrede çalıştırın:

    qasm_src = """
    include "stdgates.inc";
    qubit[2] qs;
    bit[2] r;
    
    h qs[0];
    cx qs[0], qs[1];
    r = measure qs;
    """
    
    qir = compile(qasm_src)
    
  6. Benzetiminize gürültü eklemek için aşağıdaki kodu kopyalayıp yeni bir hücrede çalıştırın.

    noise = NoiseConfig()
    noise.cz.set_depolarizing(0.05)
    noise.sx.set_bitflip(0.01)
    noise.mov.loss = 0.001
    
  7. GPU simülatörü oluşturmak ve programınızı simülatörde çalıştırmak için aşağıdaki kodu kopyalayıp yeni bir hücrede çalıştırın:

    simulator = NeutralAtomDevice()
    results = simulator.simulate(qir, shots=1000, noise=noise, type="gpu")
    

    Uyarı

    type yönteminde bir simulate bağımsız değişken belirtmezseniz, bu durumda varsayılan simülatör GPU simülatörüdür. GPU simülatörü makinenizde çalıştırılamıyorsa, QDK bunun yerine CPU simülatörünü kullanır. Ancak "gpu"’yi type olarak belirtirseniz ve makineniz GPU simülatörünü çalıştıramazsa, bir hata alırsınız.

  8. Simülasyon sonuçlarınızın histogramını görüntülemek için aşağıdaki kodu kopyalayıp yeni bir hücrede çalıştırın:

    Histogram(results, labels="kets")
    

    Nötr atom cihazında çalışan bir kuantum programının GPU benzetiminin sonuç histogramını gösteren ekran görüntüsü.