Kuantum bilgisayarlar için emülatörler var mı?


64

Kuantum bilgisayarını normal bilgisayarımda taklit etmenin bir yolu var mı, böylece kuantum programlama dillerini ( Q # gibi ) test edip deneyebileceğim ? Demek istediğim, hipotezimi gerçekten test edebildiğim ve en doğru sonuçları aldığım bir şey.

Güncelleme: Gerçekten kuantum bilgisayarı simüle etmek istemiyorum, ancak kuantum olmayan normal bir bilgisayarda birini verimli bir şekilde taklit etmenin mümkün olup olmadığından emin değilim.


Yanıtlar:


39

Evet, mümkün (ama yavaş). Birkaç tane var (bu sadece kısmi bir liste) emülatörleri var

  • QDD: Kuantum Bilgisayar Emülasyon Kütüphanesi

    QDD, C ++ programlama ortamı kapsamında nispeten sezgisel bir kuantum hesaplama yapıları kümesi sağlayan bir C ++ kütüphanesidir. QDD, kuantum hesaplama emülasyonunun kuantum durumunun bir İkili Karar Şeması (BDD) temsiline dayanması bakımından benzersizdir.

  • jQuantum

    jQuantum, kuantum bilgisayarı simüle eden bir programdır. Kuantum devreleri onunla tasarlayabilir ve onların çalışmasına izin verebilirsiniz. Kuantum yazmacının mevcut durumu gösterilmektedir.

  • QCE

    QCE, Quantum Computers'ın çeşitli donanım tasarımlarını taklit eden bir yazılım aracıdır. QCE, bir donanım kuantum işlemcisinin çalışmasını düzenleyen fiziksel süreçleri, kesinlikle kuantum mekaniğinin yasalarına göre simüle eder. QCE ayrıca gerçekçi deneysel koşullar altında kuantum algoritmalarında hata ayıklama ve uygulama ortamı da sağlar.

(Ayrıca, Q # yalnızca MS'in QDK'siyle çalışır , teşekkürler @Pavel)

Bunların hepsinin dezavantajı basittir: hala ikili (kuantum olmayan) devrelerde çalışırlar. Bildiğim kadarıyla, bunları çalıştırmak için kullanılabilecek kolay erişilebilir bir kuantum bilgisayar yok. Tek bir qubit'i ifade etmek için birden fazla ikili bit gerektiğinden, kuantum bir programı simüle etmek için gereken hesaplama gücü miktarı çok hızlı bir şekilde artar.

Konuyla ilgili bir alıntı yapacağım ( J. Allcock, 2010 ):

Değerlendirmemiz, uygulamalarımızın çok doğru olduğunu gösteriyor, ancak aynı zamanda bunu başarmak için önemli miktarda ek bellek kullanıyoruz. Doğruluk konusundaki hedeflerimizi azaltmak, temsil boyutunu küçültmemize ve dolayısıyla aynı miktarda bellekle daha fazla litre taklit etmemize izin verir.

p 89, bölüm 5.1

Uygulamalarımız daha doğru hale geldikçe, daha da yavaşlıyorlar.

TL; DR: Bu mümkün ve bazı emülatörler var, ancak hiçbiri büyük miktarlardaki litreler için çok verimli değil.


Bu öykünücülerden hiçbirinin (şu anda) yalnızca Microsoft'un QDK'siyle çalışan Q # tarafından kullanılamayacağını unutmayın.
Pavel

3
Söylediklerinize ek olarak: Gerçek kuantum bilgisayarlar sağlayan IBM Quantum Experience'da kod çalıştırmanın programlı yolları vardır - Q # kodu değil, bunun yerine QASM. QISKit buraya gitmenin yoludur. github.com/QISKit
blalasaadri

Söyledikleriniz mantıklı geliyor çünkü simülasyon bir bilgisayarda çalışıyor. Ancak birden fazla bilgisayar kullanılıyorsa aynı hıza ulaşmak mümkün müdür?
iOS Takvim patchthecode.com

26

Evet, kuantum bilgisayarı normal bir bilgisayarda taklit etmek mümkündür - Ama büyük olasılıkla verimliliği feda etmeniz gerekir.

Devlet alanı boyutu (qubits sayısıyla katlanarak artar , qubits sayısıdır), bu yüzden onunla ilgili olacak lineer cebir çok açık olmayacak - Çok büyük matrisler karşılaşacağınız ve kullandığınız algoritma (ne kadar verimli olduğuna bakılmaksızın) muhtemelen hızlı bir şekilde katlanarak ölçeklenir . Bununla birlikte, normal bir makinede bir QC'yi taklit etmek kesinlikle mümkündür.2nn


kaynaklar

Belirtilen diğer cevaplar gibi Q # ile ilgilenebilirsiniz. Biraz daha emülatör:

  • Kuantum Hesaplama Bahçesi

    Quantum Computing Playground tarayıcı tabanlı bir WebGL Chrome Deneyidir. Basit bir IDE arabirimine sahip bir GPU ile hızlandırılmış kuantum bilgisayarına ve hata ayıklama ve 3D kuantum durum görselleştirme özelliklerine sahip kendi komut dosyası diline sahiptir. Quantum Computing Playground, 22 litreye kadar olan kuantum kayıtlarını verimli bir şekilde simüle edebilir, Grover ve Shor algoritmalarını çalıştırabilir ve kodlama diline yerleştirilmiş çeşitli kuantum geçitlerine sahiptir.

  • QX Simülatörü

    QX Simulator, QuTech'te Nader Khammassi tarafından geliştirilen evrensel bir kuantum bilgisayar simülatörüdür. QX, kuantum algoritma tasarımcılarının kuantum devrelerinin kuantum bilgisayarlarda yürütülmesini simüle etmelerine izin verir. Simülatör, kullanıcıların devrelerini basit bir metinsel kaynak kod dosyasında tarif etmelerini sağlayan Quantum Code (Düşük Seviyeli) bir quantum derleme dili tanımlar. Kaynak kod dosyası daha sonra içeriğini yürüten simülatörün girişi olarak kullanılır.

  • kuantum ++

    Quantum ++, yalnızca şablon başlık dosyalarından oluşan modern bir C ++ 11 genel amaçlı kuantum hesaplama kütüphanesidir. Quantum ++, standart C ++ 11 ile yazılmıştır ve yalnızca Eigen 3 doğrusal cebir üstbilgi şablon kitaplığı ve varsa OpenMP çoklu işlem kitaplığı kullanılarak çok düşük dış bağımlılıklara sahiptir.

  • Kuantum Bilgisayar Dili

    Klasik bilgisayar bilimi ile birçok ortak konsepte rağmen, kuantum hesaplama hala geniş bir teorik fizik alanı içinde özel bir disiplin olarak kabul edilir. [...] QCL (Kuantum Hesaplama Dili) bu boşluğu doldurmaya çalışıyor: QCL, kuantum bilgisayarlar için C veya Pascal gibi klasik işlemsel dillerden elde edilen bir sözdizimi olan yüksek düzeyde mimariden bağımsız bir programlama dilidir. Bu, tek bir tutarlı formalizmin tamamında kuantum algoritmalarının (klasik bileşenler dahil) uygulanmasına ve simüle edilmesine olanak sağlar.

  • Quantiki'de daha alakalı emülatörler bulunabilir.


21

Evet, klasik bir bilgisayarda kuantum hesaplamaları simüle etmek mümkündür. Ancak simülasyonların maliyeti, bit sayısı ve / veya devre derinliği ve / veya belirli işlem sayıları ile katlanarak artmaktadır.

Hızlı bir şekilde fikirler denemek için, simülatör Quirk harika. Bu bir var açık kaynak web tarayıcısında çalışır sürükle ve bırak kuantum devre simülatörü. Canlı bir sürüme algassert.com/quirk adresinden erişebilirsiniz .

İşte Quirk'in örnek olan "Grover" durumunu gösteren "gizli" durumun daha muhtemel hale geldiğini izlemek için orta seviye göstergelerle donatılmış Grover devresinin bir ekran görüntüsü:

Quirk ekran görüntüsü


16

Özellikle Q # 'ya bakıyorsanız, öyleyse bir emülatörle kullanmak çok kolaydır - aslında, Q #' ya sahip olmak mümkün değildir, ama öykünücüye sahip olamazlar, birlikte paketlenirler.

Başlamak için önce .NET'in Microsoft'un web sitesinden indirilmesi gerekir .

Microsoft’un Quantum Development Kit’i dotnet new -i "Microsoft.Quantum.ProjectTemplates::0.2-*"veya Microsoft’un web sitesinden indirdiğinizde, hem dili hem de Microsoft’un kendi emülatörünü birlikte indirir.

Yeni bir Q # project ( dotnet new console -lang Q#) oluşturmak öykünücüyü kullanması için otomatik olarak yapılandırır, bu nedenle bazı Q # yazıp projeyi çalıştırdığınızda "sadece çalışır".


3

Evet. Kendiniz inşa ederseniz, BullSequana M9600 serisi ile aynı özelliklere sahip bir 3. parti bilgisayar bulun veya 100K € + ile gelin ve Atos'tan bir sistem satın alın.

BullSequana M9600 series ve Atos QLM arasındaki benzerliğe dikkat edin . Atis QLM vs. M9600

Farklı yazılımla aynı kutu (ve muhtemelen dahili bileşenler) (ancak kendi Q # kodunuzu kullanmak istediniz). Atos iddia ediyor: "Dünyanın en yüksek performanslı kuantum simülatörü". Bundan emin değilim ancak 30 bitlik sürümün teknik özelliklerine erişilebilir, sadece iki adet Intel CPU ve 1TB bellek bulunuyor.

Atos QLM .PDF Broşürü .

Kuantum bilgisayarını normal bilgisayarımda taklit etmenin bir yolu var mı , böylece kuantum programlama dillerini (Q # gibi) test edip deneyebileceğim ?

Yalnızca 256 GB bellek ve 1-24 TB Takas Sürücüsü kullanıyorsanız yavaş olacaktır ancak çalışacaktır.

Demek istediğim, hipotezimi gerçekten sınayabildiğim ve en doğru sonuçları alabildiğim bir şey .

Broşürden Alıntı:

"Atos Quantum Learning Machine , bir kuantum programının tam olarak yürütülmesini çift ​​basamaklı bir hassasiyetle hesaplar. Kuantum hesaplamanın tam merkezinde olan fizik yasalarını simüle eder . Bu, kuantumdan muzdarip olan kuantum işlemcilerinden çok farklıdır. Gürültü, kuantum decoherence ve üretim önyargılarının yanı sıra performans darboğazları Atos Quantum Learning Machine Simülasyonu, geliştiricilerin kuantum makinelerinin hazır olmasını beklemeden uygulamalarına ve algoritmalarına odaklanmalarını sağlar ”.

Yüksek hassasiyete sahip olduklarını iddia ediyorlar, çünkü gürültüye maruz kalmayan bir simülatör - ne kadar hızlı ya da pahalı olacak. Teoride, bilgisayarınıza bir miktar bellek, sürücü ve yazılım ekleyebilirsiniz ...


3

Ben konuyla ilgili güzel bir "genel bakış" bulunabilir: Quantiki

Birkaç dilde kuantum bilgisayar simülatörleri listesi var, simülatörlerden bazıları daha önce burada belirtilmişti. Ancak, projenin durumunu bildirmek (veya bilgilendirmeye çalışmak) için güncelleme yaptıkları bir liste tutarlar. Gibi bazı "kütüphaneler" vardır:

Haskell

qchas (qchas: Kuantum Algoritmalarını uygulamak için bir kütüphane) - Kuantum Algoritmalarını uygulamak için yararlı bir kütüphane. Kuantum Kapıları, Qubits tanımlarını içerir.

piton

qubiter : Qubiter projesi sonunda klasik bilgisayarlarda kuantum devreleri tasarlamak ve simüle etmek için en çok Python ile yazılmış tam bir araç takımı sağlamayı amaçlamaktadır.

JavaScript

jsqis : jsqis, özünde, Javascript'te yazılmış bir kuantum bilgisayar simülatörüdür. Kuantum kayıtlarının başlatılmasını ve kuantum geçitlerle manipülasyonlarını sağlar.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.