Quantinuum sağlayıcısı

Quantinuum, yüksek doğrulukta, tamamen bağlı kuantum bitlerine ve orta devre ölçümü yapabilme yeteneğine sahip tutulmuş iyon sistemlerine erişim sağlar.

  • Yayımcı: Quantinuum
  • Sağlayıcı Kimliği: quantinuum

Targets

Bu sağlayıcıda aşağıdakiler targets kullanılabilir:

Hedef adı Hedef Kimliği Kubit sayısı Description
H2-1 Sözdizimi Denetleyicisi quantinuum.sim.h2-1sc 56 kubit Quantinuum platformundaki donanıma veya öykünücülere göndermeden önce kuantum programlarını H2-1 derleyicisine karşı doğrular. Ücretsiz.
H2-2 Sözdizimi Denetleyicisi quantinuum.sim.h2-2sc 56 kubit Quantinuum platformundaki donanıma veya öykünücülere göndermeden önce kuantum programlarını H2-2 derleyicisine karşı doğrular. Ücretsiz.
H2-1 Emülatör quantinuum.sim.h2-1e 56/32 kubit H2-1'in gerçekçi bir fiziksel modelini ve gürültü modelini kullanır. 56 kubit simülasyonu yalnızca dengeleyici simülasyonu olarak kullanılabilir
H2-2 Öykünücüsü quantinuum.sim.h2-2e 56/32 kubit H2-2'nin gerçekçi bir fiziksel modelini ve gürültü modelini kullanır. 56 kubit simülasyonu yalnızca dengeleyici simülasyonu olarak kullanılabilir
H2-1 quantinuum.qpu.h2-1 56 kubit Quantinuum'un H2-1 kapana kısılmış iyon cihazı.
H2-2 quantinuum.qpu.h2-2 56 kubit Quantinuum'un H2-2 hapsedilmiş iyon cihazı.

Quantinuum targets bir QIR Adaptive RI profile denk gelir. Bu target profili ve sınırlamaları hakkında daha fazla bilgi için Azure Quantum'da target profil türlerini anlama bölümüne bakın.

Quantinuum'un tüm makineleri targets artık Tümleşik hibrit devreleri destekliyor. Daha fazla bilgi için Entegre karma bilgi işlem altındaki entegre karma işleri gönderme konusuna bakın.

Tip

Bir oturum altında gönderilen kuantum iş yükleri, işleri bir dakika içinde kuyruğa aldığınız sürece Quantinuum donanımına özel erişim sağlar. Bundan sonra, herhangi bir iş kabul edilir ve standart kuyruğa alma ve öncelik belirleme mantığıyla işlenir. Daha fazla bilgi için Azure Quantum'da oturumlar bölümüne bakın.

Söz Dizimi Denetleyicileri

Kullanıcıların kodlarını doğrulamak için önce söz dizimi denetleyicisi kullanmalarını öneririz. Söz Dizimi Denetleyicisi düzgün söz dizimi, derleme tamamlama ve makine uyumluluğunu doğrular. Söz Dizimi Denetleyicileri, target ile aynı derleyiciyi kullandıkları kuantum bilgisayarı kullanır. Örneğin, H2-1 söz dizimi denetleyicisi H2-1 ile aynı derleyiciyi kullanır. Gerçek kuantum işlemleri dışında tam derleme yığını yürütülür. Kod derlenirse söz dizimi denetleyicisi bir success durum ve 0'ların tümünün sonucunu döndürür. Kod derlenemiyorsa söz dizimi denetleyicisi başarısız bir durum döndürür ve kullanıcıların devre söz dizimlerinde hata ayıklamasına yardımcı olmak için bir hata iletisi verir. Söz Dizimi Denetleyicisi, makineler çevrimdışı olduğunda bile geliştiricilerin kodlarını istedikleri zaman doğrulamalarına olanak sağlar.

  • İş türü: Simulation
  • Veri Biçimleri: honeywell.openqasm.v1, honeywell.qir.v1
  • Hedef Kimliği:
    • H2-1 Sözdizimi Denetleyicisi: quantinuum.sim.h2-1sc
    • H2-2 Sözdizimi Denetleyicisi: quantinuum.sim.h2-2sc
  • Hedef Yürütme Profili: QIR Adaptive RI

Söz Dizimi Denetleyicisi kullanımı ücretsiz olarak sunulur.

Sistem Modeli H2 Öykünücüsü

Kullanıcılar, kodlarının söz dizimini H2-1 Sözdizimi Denetleyicisi ile doğruladıktan sonra, ayrıntılı bir fiziksel model ve gerçek Sistem Modeli H2 donanımının gerçekçi kirlilik modelini içeren bir öykünme aracı olan Quantinuum'un Sistem Modeli H2 Öykünücüsü'ne sahip olabilir. Gürültü modeli hakkında daha fazla bilgi, Sistem Modeli H2 sayfasında bulunan Sistem Modeli H2 Öykünücüsü Ürün Veri Sayfası'nda bulunabilir. Sistem Modeli H2 Öykünücüsü, Sistem Modeli H2 donanımı ile aynı API'yi kullanarak iş gönderimi yapar ve böylece öykünmeden donanıma sorunsuz bir geçiş sağlar. Üretkenliği en üst düzeye çıkarmaya ve geliştirme süresini kısaltmaya yardımcı olmak için donanım çevrimdışıyken bile H2 Öykünücüsü kullanılabilir.

  • İş türü: Simulation
  • Veri Biçimi: quantinuum.openqasm.v1
  • Hedef Kimliği:
    • H2-1 Öykünücüsü: quantinuum.sim.h2-1e
    • H2-2 Öykünücüsü: quantinuum.sim.h2-2e
  • Hedef Yürütme Profili: QIR Adaptive RI

Sistem Modeli H2 Emülatör kullanımı, bir donanım aboneliği ile ücretsiz sunulmaktadır. Ayrıntılar için bkz . Azure Quantum fiyatlandırması.

Sistem Modeli H2

Honeywell tarafından desteklenen Kuantum bilgisayarların Quantinuum Sistem Modeli H2 nesli, iki bağlı doğrusal bölüme sahip bir Quantum şarj bağlantılı cihazdan (QCCD) oluşur ve şu anda H2-1 adlı 1 makineye sahiptir. Daha fazla bilgi, Sistem Modeli H2 sayfasında bulunan Sistem Modeli H2 Ürün Veri Sayfası'nda bulunabilir. Kullanıcıların, işleri makinelere göndermeden önce söz dizimi denetleyicisine ve Sistem Modeli H2 Öykünücüsü'ne göndererek kodlarının target uyumluluğunu test etmeleri önerilir.

Kullanıcı H2-1 makinesine bir iş gönderirse ve H2-1 makinesi kullanılamıyorsa, iş kullanılabilir duruma gelene kadar bu makinenin kuyruğunda kalır.

Sistem Modeli H2 donanımı, ürün yaşam döngüsü boyunca sürekli olarak yükseltilir. Kullanıcılara en güncel, gelişmiş ve kullanılabilir donanıma erişim verilir.

  • İş türü: Quantum Program
  • Veri Biçimi: quantinuum.openqasm.v1
  • Hedef Kimliği:
    • H2-1: quantinuum.qpu.h2-1
    • H2-2: quantinuum.qpu.h2-2
  • Hedef Yürütme Profili: QIR Adaptive RI

Sistem Modeli H2 Teknik Belirtimleri

Sistem Modeli H2'nin teknik ayrıntıları Quantinuum'un ürün veri sayfalarında, Quantinuum belirtimi ve kuantum hacmi veri depolarına bağlantılar ve Quantinuum sistemlerinin kullanımından nasıl alıntı yapılacağının yanı sıra Sistem Modeli H2 sayfasında bulunabilir.

Ek Özellikler

Quantinuum API'sinde kullanılabilen ek özellikler burada listelenmiştir.

Capability Description
Orta Devre Ölçüm ve Sıfırlama (MCMR) Bir bağlantı hattının ortasındaki kubitleri ölçme ve yeniden kullanma
Rastgele Açılı ZZ Geçitleri 2 kubit rastgele açılı geçit dönüşlerini doğrudan gerçekleştirin
Genel SU(4) Kuşatma Kapısı 2 kubit rastgele açılı geçit dönüşlerini doğrudan gerçekleştirin
Öykünücü Gürültü Parametreleri Quantinuum öykünücülerinde kullanılan gürültü parametrelerini deneyin
Quantinuum Stack'da TKET İyileştirmeleri Quantinuum yığınında farklı TKET iyileştirme düzeylerini açma denemesi

Kullanıcılar, Azure Quantum Q# ve Qiskit sağlayıcılarındaki devre işlevleri veya geçiş parametreleri aracılığıyla bu ek özelliklerden yararlanabilir.

Orta devre Ölçümü ve Sıfırlama

Orta devre Ölçüm ve Sıfırlama (MCMR), kullanıcıların bir bağlantı hattının ortasındaki kubitleri ölçmesine ve sıfırlamasına olanak tanır. Bu, kuantum hata düzeltmesi işlevselliğinin yanı sıra devre içindeki kubitleri yeniden kullanma olanağı sağlar.

Hapsedilmiş iyon kubitlerinin iç düzey yapısı nedeniyle, bir orta devre ölçümü, kubiti hesaplama durumları dışında bir hale bırakabilir. Kubit bu devrede yeniden kullanılacaksa, tüm orta devre ölçümleri bir sıfırlama ile izlenmelidir. Aşağıdaki kod örnekleri bunu göstermektedir.

Devrenin ortasında kubitlerin bir alt kümesi ölçüldüyse, bu ölçümlerden alınan klasik bilgiler, devrenin gelecekteki öğelerini koşullandırmak için kullanılabilir. Örneklerde bu kullanım da vurgulanır.

Quantinuum sistemlerinde MCMR hakkında bilgi için Quantinuum Docs'takiMCMR sayfasına bakın.

Q# dilinde işlev hem MResetZ kubiti ölçmek hem de sıfırlamak için kullanılabilir. Bu işlev hakkında daha fazla bilgi için Q# belgelerine bakın MResetZ .

%%qsharp
import Std.Measurement.*;

operation ContinueComputationAfterReset() : Result[] {
    // Set up circuit with 2 qubits
    use qubits = Qubit[2];

    // Perform Bell Test
    H(qubits[0]);
    CNOT(qubits[0], qubits[1]);

    // Measure Qubit 1 and reset it
    let res1 = MResetZ(qubits[1]);

    // Continue additional computation, conditioned on qubits[1] measurement outcome
    if res1 == One {
         X(qubits[0]);
    }
    CNOT(qubits[0], qubits[1]);

    // Measure qubits and return results
    let res2 = Measure([PauliZ, PauliZ], qubits);
    return [res1, res2];
}

Rastgele Açılı ZZ Geçitleri

Quantinuum'un yerel kapı kümesi rastgele açılı ZZ geçitleri içerir. Bu, birçok kuantum algoritması ve geçit dizisi için 2 kubitli kapı sayısını azaltmak için faydalıdır. Quantinuum sistemlerinde rastgele açı ZZ geçitleri hakkında bilgi için Quantinuum Docs'takiParametreli Açı ZZ Geçitleri sayfası.

Q# dilinde, Rzz işlemi ile rastgele açı ZZ kapısı uygulanır.

%%qsharp
import Std.Intrinsic.*;
import Std.Measurement.*;
import Std.Arrays.*;

operation ArbitraryAngleZZExample(theta : Double) : Result[] {
    
    // Set up circuit with 2 qubits
    use qubits = Qubit[2];

    // Create array for measurement results
    mutable resultArray = [Zero, size = 2];

    H(qubits[0]);
    Rz(theta, qubits[0]);
    Rz(theta, qubits[1]);
    X(qubits[1]);

    // Add Arbitrary Angle ZZ gate
    Rzz(theta, qubits[0], qubits[1]);  

    // Measure qubits and return results
    for i in IndexRange(qubits) {
        resultArray w/= i <- M(qubits[i]);  
    }
    
    return resultArray;
}

Genel SU(4) Dolanan Kapı

Quantinuum'un yerel kapı kümesi genel bir SU(4) kuşatma kapısı içerir. Donanıma gönderilen kuantum devrelerinin tamamen dolanık ZZ kapısına ve keyfi açılı RZZ kapısına yeniden düzenlendiğini unutmayın. Devreler yalnızca kullanıcılar tercih ederse Genel SU(4) Dolanıklık kapısına yeniden temel alınır. Quantinuum sistemlerindeki Genel SU(4) Entangler hakkında bilgi için Quantinuum Docs'takiParametreli Açı SU(4) Geçitleri sayfasına bakın.

Q# dilinde Genel SU(4) Entangling kapısı Quantinuum'un QIR profili aracılığıyla uygulanır. Bunu kullanmak için QIR profil imzası ile eşleşen özel bir iç işlev tanımlayın ve bu işlevi işlem içinde SU4Example kullanın.

Devrenin Genel SU(4) Entangling gate ile çalıştığından emin olmak için Quantinuum yığınında aşağıdaki seçenekleri iletin:

  • nativetq: Rxxyyzz diğer yerel geçitlere yeniden bağlanmayı önlemek için.
  • noreduce: True ek derleyici iyileştirmelerini önlemek için (isteğe bağlı).
%%qsharp
import Std.Math.*;

operation __quantum__qis__rxxyyzz__body(a1 : Double, a2 : Double, a3 : Double, q1 : Qubit, q2 : Qubit) : Unit {
    body intrinsic;
}

operation SU4Example() : Result[] {
    use qs = Qubit[2];
    
    // Add SU(4) gate
    __quantum__qis__rxxyyzz__body(PI(), PI(), PI(), qs[0], qs[1]);
    
    MResetEachZ(qs)
}

Şimdi işlemi derleyin:

from qdk import qsharp

MyProgram = qsharp.compile("GenerateRandomBit()")

Azure Quantum'a bağlanın, target makineyi seçin ve emülatör için gürültü parametrelerini yapılandırın.

from qdk.azure import Workspace

MyWorkspace = Workspace(resource_id="")

MyTarget = MyWorkspace.get_targets("quantinuum.sim.h2-1e")

# Update TKET optimization level desired
option_params = {
    "nativetq": `Rxxyyzz`,
    "noreduce": True
}

İşi gönderirken noreduce seçeneğini belirtin.

job = MyTarget.submit(MyProgram, "Submit a program with SU(4) gate", shots = 10, input_params = option_params)
job.get_results()

Öykünücü Gürültü Parametreleri

Kullanıcılar, Quantinuum öykünücülerinin gürültü parametreleriyle deneme yapma seçeneğine sahiptir. Azure Quantum sağlayıcılarındaki parametrelerin nasıl geçirileceğini gösteren kullanılabilir kirlilik parametrelerinden yalnızca birkaçı burada vurgulanmıştır.

Kullanılabilir tüm kirlilik parametreleri kümesi hakkında daha fazla bilgi için Quantinuum belgelerinin Quantinuum Öykünücüleri sayfasına bakın.

İlk olarak gerekli paketleri içeri aktarın ve temel profili başlatın:

from qdk import qsharp
from qdk.azure import Workspace

qsharp.init(target_profile=qsharp.TargetProfile.Base)

Ardından işlevi tanımlayın.

%%qsharp
import Std.Measurement.*;
import Std.Arrays.*;
import Std.Convert.*;

operation GenerateRandomBit() : Result {
    use target = Qubit();

    // Apply an H-gate and measure.
    H(target);
    return M(target);
}

ve işlemi derleyin:

MyProgram = qsharp.compile("GenerateRandomBit()")

Azure Quantum'a bağlanın, target makineyi seçin ve emülatör için gürültü parametrelerini yapılandırın.

MyWorkspace = Workspace(resource_id="")

MyTarget = MyWorkspace.get_targets("quantinuum.sim.h2-1e")

# Update the parameter names desired
# Note: This is not the full set of options available. 
# For the full set, see the Quantinuum Emulators page
option_params = {
    "error-params": {
        "p1": 4e-5,
        "p2": 3e-3,
        "p_meas": [3e-3, 3e-3],
        "p_init": 4e-5,
        "p_crosstalk_meas": 1e-5,
        "p_crosstalk_init": 3e-5,
        "p1_emission_ratio": 6e-6,
        "p2_emission_ratio": 2e-4
    }
}

İşi gönderirken öykünücü gürültü seçeneklerini geçin:

job = MyTarget.submit(MyProgram, "Experiment with Emulator Noise Parameters", 
                      shots = 10, 
                      input_params = option_params)
job.get_results()

Öykünücü gürültü modelini kapatmak için error-model seçeneğini False olarak ayarlayın. Bu varsayılan olarak olarak Trueayarlanır.

option_params = {
    "error-model": False 
}

Dengeleyici öykünücüsünü kullanmak için simulator seçeneğini stabilizer ayarlayın. Bu varsayılan olarak olarak state-vectorayarlanır.

option_params = {
    "simulator": "stabilizer" 
}

Quantinuum Yığınında TKET Derlemesi

Tümleşik karma gönderimler dışında Quantinuum sistemlerine gönderilen devreler, Quantinuum donanımı için TKET derleme geçişleri üzerinden otomatik olarak çalıştırılır. Bu, devrelerin Quantinuum sistemleri için otomatik olarak iyileştirilmelerini ve daha verimli çalışmasını sağlar.

Uygulanan belirli derleme geçişleri hakkında daha fazla bilgi belgelerde pytket-quantinuum , özellikle pytket-quantinuum Derleme Geçişleri bölümünde bulunabilir.

Quantinuum yazılım yığınında uygulanan iyileştirme düzeyi tket-opt-level parametresiyle ayarlanır. Quantinuum sistemlerine gönderilen tüm devreler için varsayılan derleme ayarı iyileştirme düzeyi 2'dir.

TKET derleme geçişlerini denemek isteyen ve herhangi bir iş göndermeden önce devrelerine hangi iyileştirmelerin uygulanacağını görmek isteyen kullanıcılar klasöründeki pytket-quantinuum not defterini görebilir.

Yığındaki TKET derlemesini kapatmak için, no-opt içinde True farklı bir seçenek olarak option_params olarak ayarlanabilir. Örneğin, "no-opt": True.

hakkında pytketdaha fazla bilgi için aşağıdaki bağlantılara bakın:

İlk olarak gerekli paketleri içeri aktarın ve temel profili başlatın:

from qdk import qsharp
from qdk.azure import Workspace
qsharp.init(target_profile=qsharp.TargetProfile.Base)

Ardından işlevi tanımlayın.

%%qsharp
import Std.Measurement.*;
import Std.Arrays.*;
import Std.Convert.*;

operation GenerateRandomBit() : Result {
    use target = Qubit();

    // Apply an H-gate and measure.
    H(target);
    return M(target);
}

ve işlemi derleyin:

MyProgram = qsharp.compile("GenerateRandomBit()")

Azure Quantum'a bağlanın, target makineyi seçin ve emülatör için gürültü parametrelerini yapılandırın.

MyWorkspace = Workspace(resource_id="")

MyTarget = MyWorkspace.get_targets("quantinuum.sim.h2-1e")

# Update TKET optimization level desired
option_params = {
    "tket-opt-level": 1
}

İşi gönderirken optimizasyon seçeneğini ekleyin:

job = MyTarget.submit(MyProgram, "Experiment with TKET Compilation", shots = 10, input_params = option_params)
job.get_results()

Teknik Özellikler

Sistem Modeli H2 ve Sistem Modeli H2 Öykünücüleri için teknik ayrıntılar, Quantinuum belirtimi ve kuantum hacmi veri depolarının yanı sıra Donanım Kullanım Kılavuzu sayfasında ve Quantinuum Sistemleri'ni alıntılama sayfasında bulunabilir.

Hedef Kullanılabilirlik

Quantinuum kuantum bilgisayarları sürekli yükseltilecek şekilde tasarlanmıştır ve Quantinuum geçit aslına uygunluklarını, bellek hatalarını ve sistem hızını sürekli iyileştirdiği için müşterilerin en son donanım özelliklerine erişmesini sağlar.

Quantinuum donanımı, ticari dönemler ve geliştirme dönemleri arasında döngü yapar. Ticari dönemlerde, donanım kuyruk sistemi aracılığıyla işleri işlemek için kullanılabilir. Geliştirme dönemlerinde, yükseltmeler uygulandıkça donanım çevrimdışıdır.

Her ay Quantinuum kullanıcılarına ticari ve geliştirme dönemleriyle ilgili bilgiler içeren bir takvim gönderilir. Bu takvimi almadıysanız lütfen QCsupport@quantinuum.com adresine e-posta gönderin.

Bir target'nin durumu, görevleri yürütme konusundaki mevcut yeteneğini gösterir. Olası durumlar şunlardır: target

  • Kullanılabilir: target çevrimiçidir, gönderilen işler işlenir ve yenilerini kabul edilir.
  • Azaltılmış: target görevleri kabul ediyor, ancak şu anda işlemiyor.
  • Kullanılamıyor: target yeni iş gönderimlerini kabul etmediğinden çevrimdışıdır.

Quantinuum kuantum bilgisayarı targetsiçin , Kullanılabilir ve Düzeyi Düşürülmüş ticari dönemlere karşılık gelirken , Kullanılamaz , makinenin yükseltmeler için çevrimdışı olduğu geliştirme dönemlerine karşılık gelir.

Geçerli durum bilgileri, Azure portalındaki bir çalışma alanının Sağlayıcılar sekmesinden alınabilir.

Pricing

Quantinuum'un faturalama planlarını görmek için Azure Quantum fiyatlandırması sayfasını ziyaret edin.

Limitler ve kotalar

Quantinuum'un kotaları, Quantinuum kuantum bilgisayarlarına gönderilen işler için QPU kullanım kredi birimi, Donanım Kuantum Kredisi (HQC), ve öykünücülere gönderilen işler için öykünücü HQC'ler (eHQC) üzerinden izlenir.

HQC'ler ve eHQC'ler, bir işi çalıştırma maliyetini hesaplamak için kullanılır ve aşağıdaki formüle göre hesaplanır:

$$ HQC = 5 + C(N_{1q} + 10 N_{2q} + 5 N_m)/5000 $$

where:

  • $N_{1q}$ bir bağlantı hattındaki tek kubitli işlemlerin sayısıdır.
  • $N_{2q}$ bir bağlantı hattındaki yerel iki kubitli işlemlerin sayısıdır. Doğal kapı, birkaç tek kubitli kapı ile birlikte CNOT'a eşdeğerdir.
  • $N_{m}$, ilk örtük durum hazırlığı ve her türlü ara ve son ölçümler ile durum sıfırlamaları dahil bir devredeki durum hazırlama ve ölçüm (SPAM) işlemlerinin sayısıdır.
  • $C$ atış sayısıdır.

Note

HQC'lerdeki toplam maliyet, tüm koşullu dallar veya kontrol akışları genelindeki tüm geçitleri ve ölçümleri içerir. Bu, tümleşik karma işler üzerinde daha yüksek bir etkiye sahip olabilir.

Kotalar plan seçimine dayalıdır ve destek bileti ile artırılabilir. Geçerli sınırlarınızı ve kotalarınızı görmek için İşlemler bölümüne gidin ve Azure portalında çalışma alanınızın Kotalar dikey penceresini seçin. Daha fazla bilgi için bkz . Azure Quantum kotaları.