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.
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.
Yanıtlar:
Voxxed Days Vienna 2018'den bu gibi kuantum bilgisayarlarına bir girişle başlayabilirsiniz - bu, programlama geçmişi olan ancak kuantum mekaniği hakkında önceden hiçbir bilgisi olmayan kişilere yöneliktir. Bundan sonra IBM Quantum Experience veya Microsoft Quantum Development Kit'teki kılavuzlara göz atabilirsiniz .
Buna ek olarak, YouTube'da, konuyu daha derinlemesine anlamanıza yardımcı olacak bir sürü video var.
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ı.
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:
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.
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.
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.
Her 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.