Kuantum bilgisayarlar için hangi programlama dilleri mevcuttur?


53

Bu sorudan, ana kuantum hesaplama programlama dillerinin Q # ve QISKit olduğunu topladım .

Kuantum bilgisayarları programlamak için başka hangi programlama dilleri mevcuttur? Belirli olanları seçmenin belirli yararları var mı?

EDIT: Programlama dilleri arıyorum, öykünücüler için değil. Emülatörler bir şeyleri simüle eder. Programlama dilleri, talimat yazma metodudur (gerçek nesneler veya emülatörler için). Birden fazla emülatör için çalışan tek bir dil olabilir;


Esasen, burada kabul edilen cevapta listelenen dillerin hiçbirinin aslında mevcut bir kuantum bilgisayarına karşı koyamayacağını belirtmek isterim. 1) mevcut donanıma karşı çalıştırılmak üzere derlenemeyen dilleri istediğinizi açıkça belirtmek için soruyu düzenleyin veya 2) farklı bir cevap kabul edin.
DanielSank

1
@DanielSank Vikipedi listesini bir kabul ettim çünkü o listenin gerçekten donanımda çalışan dilleri içerecek şekilde güncelleneceğini varsaydım; Wikipedia’nın bu sayfaya sahip olmaya devam edeceğini varsayarsak en iyi yanıt olarak hizmet verecek
Pro Q

1
@ProQ - Cevabımda küçük bir güncelleme var. Ek olarak, cevabımın kesip / yapıştırmadığını ancak bağlantıları doğruladığını onayladım. Kırık bir bağlantıyı düzelttim. Önemli bir katılımcının web sitesini ekledim. - Bu cevabın "yaklaşık olarak harika" olduğundan emin olmak için zaman zaman geri döneceğim. Cevap ve bakım ile ilgili detaylar ele alınmıştır. Cevabımdaki dillerden bazıları, satın alınabilecek donanımlarla çalışmakta ve düzenli olarak kullanılmaktadır. ProQ inancınız için teşekkürler.
Rob

Ayrıca Julia'da yazılmış Yao (Genişletilebilir, Verimli Kuantum Algoritması Tasarımı), Julia, github.com/QuantumBFS/Yao.jl . Ve burada ve burada bir karşılaştırma bulacaksınız.
Skan

Yanıtlar:


35

Quantum Computer programlama dillerinin Wikipedia listesi

(Bu cevap, bu web sayfasının bir kopyası değildir, daha güncellenmiş ve doğrulanmış bağlantılarla birlikte. Bazı durumlarda yazarın makalesi veya web sitesi bağlantısı eklenir.)

Quantum Computing Report web sitesinde bir düzine bağlantı üzerinden listelenen bir Araçlar web sayfası bulunur , bazıları yeni, bazıları ise yukarıdaki listeyi tekrarlar.

Ayrıca bakınız: QuanTiki'nin web sayfası: C / C ++, CaML, OCaml, F # ve GUI tabanlı, Java, JavaScript, Julia, Maple, Mathematica, Maxima ile birlikte çok sayıda simülatör ve programlama dili listesi için " QC simülatörleri listesi" , Matlab / Octave, .NET, Perl / PHP, Python, Şema / Haskell / LISP / ML ve hesap makineleri, derleyiciler, simülatörler ve araç setleri vb. Sağlayan diğer çevrimiçi hizmetler

Belirli olanları seçmenin belirli yararları var mı?

Belirli bir kuantum bilgisayarı kullanmayı planlıyorsanız, o zaman üretici tarafından geliştirilen programlama dilinin o makine için en uygun ve iyi desteklenmiş olacağını umarsınız.

Daha geniş bir dilden oluşan bir dil seçmek, daha fazla Forum mevcut olduğu ve umarım daha fazla hata düzeltmesi ve destek olduğu anlamına gelir.

Ne yazık ki, bu bir kullanıcı tabanı kazanmak için mücadele etmek için bazı harika niş ürünler bırakır. Hem güçlü / etkileyici hem de çeşitli platformlarda desteklenen bir dil bulmaya çalışmak, hiledir, cevap bir görüş ATM'sidir.

Dört yazılım platformunun bir değerlendirmesi: Orman (pyQuil), QISKit, ProjectQ ve Kuantum Geliştirici Kiti, " Geçit Seviyesi Kuantum Yazılım Platformlarına Genel Bakış ve Karşılaştırma" bölümünde (6 Temmuz 2018) Ryan LaRose tarafından sunulmaktadır .


Güncellemeler:

Google'ın Cirq ve OpenFermion-Cirq: " Google'ın AI Blogu - Cirq'i Duyurmak: NISQ Algoritmaları için Açık Kaynak Bir Çerçeve ".

D-Wave'in Sıçraması ve Okyanusu SDK'sı , kullanılan çekirdek algoritmaların açık kaynak havuzuna girdiğini varsayarak, iş yüklerini ücretsiz olarak test etmek ve çalıştırmak için 2000+ kbit kuantum tavlama makinesine erişimi olan bir bulut ortamında D-Wave 2000Q ™ Sistemine erişime izin verir . D-Wave'in Sıçraması web sayfasında giriş yapmak için başvurun .

Rigetti Computing'in Kuantum Bulut Hizmeti (QCS), 128 bitlik bir bilgisayarın 16 litresine erişmek için sanallaştırılmış bir programlama olan Quantum Machine Image ve Forest 2.0 ile önceden yapılandırılmış bir yürütme ortamı sunar.

Geleneksel bir bilgisayardan 10.000 kat daha hızlı hesaplama yapabilen bir mimari olan Fujitsu'nun Dijital Annealer'ı hakkında bilgi edinmeye devam edin . Eğer onlar sonunda çapraz uyumlu bir geliştirme ortamı sağlamak doğrudur , bu iki paragraf bu cevap kalacak kuantum bilgisayarların aksi takdirde onları kaldıracaktır.

Onların silikon çip Fujitsu ile ortaklığa girmiştir doğada kuantum olmasa 1Qbit bir "olarak tarif ne geliştirmek için Kuantum Inspired AI Cloud Service ", onların olsun Dijital annealer ördek gibi vaklıyorsa (D-Wave gibi tavlanır, ve uyumlu kod kullanır) görülmeye devam ediyor. Fujitsu Digital Annealer Teknik Servisine erişmek için burayı ziyaret edin .

Pennsylvania'nın QWIRE Üniversitesi ( korosu ) kuantum devre dili ve resmi doğrulama aracıdır, GitHub web sayfasına sahiptir .

Bir inceleme: Cirq, Cliffords.jl, dimod, dwave sistemi, FermiLib, Orman (pyQuil & Grove), OpenFermion, ProjectQ, PyZX, QGL.jl, Qbsolv, Qiskit Terra ve Aqua, Qiskit Dersleri ve Qiskit.js, Qrack, Quantum Fog, Quantum ++, Qubiter, Quirk, reference-qvm, ScaffCC, Çilek Tarlaları, XACC, ve sonunda XACC VQE, " Quantum hesaplamada açık kaynaklı yazılım " (Aralık 21 2018), Mark Fingerhuth, Tomáš Babej ve Peter Wittek.

Zaman zaman güncellemeler yapmak için aşırı çarpma olmadan bu cevaba döneceğim .



Sıralama "sıralaması" ile ilgili haberler: IBM, gelecek ayda kullanıma açık olan 53 Qubit bilgisayarını kamuoyuna açıkladı .
Rob,

28

Gate model donanım satıcıları kendi düşük seviyeli dillerini oluşturdular:

Bunlar daha yüksek python sdk seviyelerine sahiptir:

Rigetti ayrıca, Grove adlı önceden oluşturulmuş uygulamaları çağırmak için dillerini daha yüksek bir kütüphaneye kaydırıyor .

Microsoft, mevcut simülatörlerine ve nihayetinde fiziksel donanımlarına karşı koyacak şekilde Q # geliştirmiştir .

Yukarıdaki diller satıcıya özel olduğundan, asıl yararı, bilgisayarlarında kuantum programlar çalıştırabilmenizdir.

Satıcıya özgü dillerin dışında Princeton araştırmacıları tarafından geliştirilen İskele var. Bu dil, maliyetleri, performans potansiyelini ve ölçeklenebilirlik potansiyelini belirlemek için programları analiz etmek için bir araç zinciri içerdiğinden ilginçtir .

Düzenleme: Proje Q , dahil edilmiş bir simülatör üzerinde çalışabilen Python kullanarak programlar geliştirmenize izin veren başka bir çerçevedir.

Oak Ridge National Labs, XACC adlı bir projede , her üreticiye özel bir dilde kod çoğaltmadan kullanıcıların çeşitli donanım platformlarına erişebilmelerini sağlamak için satıcıya özel kodları soyutlamalarını amaçlayan bir proje üzerinde çalışmaya başladı .


3
projectq.ch ayrıca bir söz hak ediyor.
James Wootton

1
Bu cevabı seviyorum, çünkü hangi dillerin gerçekten mevcut donanıma karşı çalıştırılabileceğini açıklıyor .
DanielSank


3

IBM'in Bestecisini eklerdim. Programlama gibi hissetmez, çünkü tüm hataları, hataları ve gerçekliği alamazsınız, ancak kapılarınızdaki talimatlarınızı QASM'ye dönüştürür ve gerçek bir IBM simülatörü veya gerçek bir IBM kuantum bilgisayarında çalıştırır. kullanıcının).


1

Ne yazık ki, Quantiki'deki liste oldukça eski ve bakımlı değil. Tüm kuantum programlama dillerini bu soruya tek bir cevapta listelemek bile, kuantum manzara sürekli olarak geliştiği için sürdürülebilir değildir. Örneğin, Google sadece yayımladı Cirq , bu gün sadece bir kaç yıl önce açıklandı beri yukarıdaki yanıtların hiçbirini özelliği değil Gürültülü Orta Ölçekli Kuantum (NISQ) bilgisayarlar için yeni bir kuantum programlama çerçevesi.

Bu sorunu ele almak ve QC StackExchange'teki başka bir soruya yanıt olarak GitHub'da aktif olarak geliştirilen kuantum programlama dilleri ve çerçevelerine kapsamlı bir genel bakış içeren açık kaynaklı yazılım projelerinin küratörlüğünü başladım . Liste topluluk tarafından aktif olarak tutulur ve sürekli yeni projeler ekleriz.


2
Bu harika bir kaynağa benziyor. Teşekkür ederim! Açık kaynaklı olmayan benzer bir proje listesi olup olmadığını merak ediyorum.
Pro Q

1
Dürüst olmak gerekirse @ProQ açık kaynak listesinin kuantum yazılım alanının% 95'ini kapsadığını düşünüyorum. Kamuya erişimi olan herhangi bir kapalı kaynaklı paket yoktur ve zaten halka açık erişimi olmayan bir şirkette dahili olarak kullanılan kuantum yazılımı ile ilgilenmezsiniz.
Mark Fingerhuth
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.