Fizik olmayan ana dallar için kuantum bilgisayarları programlama


43

Fizik dışı bir arka plandan geliyorum ve Quantum Computing'in (özellikle onları nasıl programlanacağını) takip etmeyi çok istiyorum. Nasıl başlayacağınıza dair rehberlik çok yardımcı olacaktır.


Klasik bir programcının elektronun çalışmalarını anlama ihtiyacı yoktur. Bu, QED için de geçerlidir.
tgm1024

Bu arada, buradaki biçimlendirme mekanizması diğer yığın değişim sitelerine kıyasla korkunç derecede bozuk görünüyor. Gerçek bir cevap yaratmaya çalıştım ve pes etmek zorunda kaldım, bu yüzden çok basit bir yoruma başvurdum. Buradaki listeler tırnak içinde değildir. Tüm stackexchange sitelerinin aynı UI kodunu paylaştığını düşündüm.
tgm1024

@ tgm1024 tam olarak neyi kastediyorsunuz? Hangi biçimlendirme burada çalışmaz ancak diğer sitelerde çalışır? Tırnak içindeki listeler benim için mükemmel çalışıyor
glS

Yanıtlar:



17

Kuantum programcılarının kuantum fiziği ve lineer cebir hakkında bilmeleri gerekmeyeceğini düşünüyorum. Bunlar kesinlikle kuantum programcıların bilgisini genişletmeye yardımcı olacak şeylerdir, ancak önkoşul olarak kabul edilmemelidirler.

Öyle olsa bile, bir tomurcuklanan kuantum programcısına yardımcı olacak çoğu kaynak doğrusal cebir varsayımı ile başlar. Çoğunlukla QISKit'e odaklanmayanlar, IBM'in kuantum cihazı için SDK'sı (ve bazıları benim tarafımdan yazılmıştır).

Bulabileceğiniz en basit program “Merhaba Dünya”. Kuantum bilgisayarlar için bunu nasıl yapıyorsunuz? Teklifim ifadelerin bir üst üste gelmesidir .

Kuantum programlamada “Merhaba Dünya” nın ötesine geçtiğinizde, daha karmaşık bir şey yapmak istersiniz. Genellikle insanlar basit oyunlar yapar. Öyleyse bunu kuantum bilgisayarla yapalım. Savaş gemileri yaptım .

Bunları ve daha birçok kuantum programlama örneğini QISKit dersinde bulabilirsiniz . Yeni kuantum programcılarının ne yapılabileceğini ve nasıl yapılacağını görmeleri için muhtemelen en iyi yer burası.


5

pyQuil , Python'da bir açık kaynak kuantum programlama kütüphanesidir. Dokümantasyon, programlama ile öğrendiğiniz yerde kuantum hesaplamaya giriş hakkında bir el içermektedir. Herhangi bir fizik geçmişini varsaymıyor.

İşte ana konulara bazı bağlantılar:


5

QC'nin arkasındaki teoriyi anlamak için Quantum Mechanics'i tam olarak anlamak gerekmez. Ben bir matematik BSc / programcısıyım ve konuyu okudum ve eski edX QC kursunu da yaptım (maalesef müsait değil, fakat diğerleri var). QC'nin fikrini anladığımı söyleyebilirim ama Kuantum Mekaniği hakkında hiçbir şey bilmiyorum.

Anahtar bölüm Quantum Computing'in çoğunlukla mühendislik / bilgisayar bilimi lisans çalışmalarında öğretilen matematiğe dayanan doğrusal cebir kullanmasıdır. Bu kontrast gerçek (İsterseniz, veya işlevsel analiz) sonsuz boyutlu boşluk kullanır Kuantum Mekaniği.

Bu lisans matematik konularında kendinizi rahat hissederseniz, Susskind Kuantum Mekaniği: Teorik Minimum - aslında 'gerçek' kuantum mekaniği ile ilgili değil, çoğunlukla QC için faydalı olan şeyleri inceleyebilirsiniz. BTW'nin tamamı Teorik Minimum kitap serisi, biraz matematiği bilen (bilgisayar bilimcileri veya mühendislik uzmanları gibi) ve fizik hakkında daha fazla bilgi edinmek isteyen kişilere yöneliktir. Çevrimiçi olarak birçok kurs var, örneğin edX'te yeni kurslar var, ancak hiçbirini yapmadım, bu yüzden bir tane öneremem.


4

Q # , pyQuil ve QISKit gibi çeşitli kuantum programlama çerçevelerinde kuantum devreleri yazmayı öğrenmekten öteye geçmek istiyorsanız , bu son makaleyi Los Alamos Ulusal Laboratuvarı'ndan Yeni Başlayanlar İçin Kuantum Algoritması Uygulamaları başlığı ile tavsiye ederim . IBM Q Experience ile kuantum devreleri gibi çeşitli kuantum algoritmalarının yanı sıra oracıklarının ve belirli alt programlarının nasıl derlenip uygulanacağını anlamak için harika bir kaynaktır. Bunları yukarıda belirtilen programlama çerçevelerinden herhangi birine uygulamanızı ve nitty-gritty detaylarını öğrenirken öğrenmenizi tavsiye ederim.


4

Kuantum bilgisayarlar, kuantum devreleri denilen (gelişen programlama dillerini temsil eden) tarafından programlanır. Bunlar bir kuantum kapıları dizisi artı kuantum bitlerinin (kubitler) etki ettikleri bilgilerdir.

Kuantum geçitleri hakkında bilmeniz gereken tek şey, rotasyonları temsil etmeleridir (daha yüksek boyutsal bir alanda, Hilbert alanı denir). Dolayısıyla geri dönüşümlüdürler: Kuantum bilgisayarları geri dönüşümlü mantıkla programlanır.

|00|01|10|11Her zamanki Dirac notasyonundaki 2-bitlik bir sistem için) bir katsayı veya sözde olasılık genliği denilen karmaşık bir sayı alır. Temel vektörler diktir ve eyaletin Hilbert uzayını kaplar, olasılık genlikleri içinde koordinatlar olarak görülebilir. Bu, kuantum geçitlerinin rotasyonları etkilediği resimdir. Fizikçilerin, kuantum geçitlerinin de dönmelere neden olduğu, tek seferlik bir sistem için Bloch küresinin sıklıkla farklı bir resim kullandığını göreceksiniz (bazen daha büyük bir açıyla veya bu resimde tamamen göz ardı edilen biri tarafından).

Tüm geleneksel mantık, önce geri dönüşümlü mantıkta (ancilla bitler gerektirebilir) ifade edilerek kuantum bilgisayar tarafından uygulanabilir. Klasik NOT geçidi X kuantum geçidine karşılık gelir, ancak yalnızca 1 bit ters çevrilebilir geçitlerin kimlik ve NOT geçidi olduğu klasik durumdan farklı olarak, kuantum bir bilgisayarda dört karşılık gelen geçit vardır (X, Y, Z; Bloch küresi, artı kimliği). Ayrıca, yalnızca bu kapıların ne kadar döndüğünün bir kesriyle dönen rotasyonlara sahip olabilirsiniz; özellikle ilgi çekici olanlardan birkaçı, Hadamard kapısı veya H kapısı gibi tüm devletlerin eşit üst üste binmesini yaratan özel isimler ve kısaltmalar içerir.

Ne yazık ki, ilk kuantum yazılım mühendisleri muhtemelen kullanacakları kuantum bilgisayar donanımı hakkında biraz bilgi sahibi olmak zorunda kalacaklar: Kuantum geçidinin etkin rotasyonunun keyfi ve sürekli olarak seçilebilen açıları nedeniyle, kuantum bilgisayarların kuantum bilgisayarlarına bir tür analog eleman var. mutlaka hatalar oluşturur (ve fiziksel kuantum bilgisayarların bundan daha fazla hata kaynağı vardır). Bununla başa çıkmanın bir yolu var, hataları mahrum eden kuantum hata düzeltme ve bağlı hatalarla keyfi bir şekilde karmaşık hesaplamalar yapabilmeleri için en muhtemel kararsızlıkları düzeltir. Ancak optimizasyon muhtemelen bir kuantum hatası düzeltme seçeneğine sahip bir kuantum bilgisayarının belirli kuantum geçitlerinde veya hatta algoritmalarda diğerlerinden daha uygun olacağı anlamına gelecektir.


Kuantum algoritmalarını nasıl kolayca yazacağını anlayacak olan tek kişinin kendi kendine gelişen kuantum AI'ler olup olmayacağını merak eden başka biri var mı?
tgm1024
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.