“Tamamen CS geçmişinden” başlayıp “yeni bir kuantum programlama dili oluşturmaya” doğru ilerleyen bir çalışma kılavuzu var mı?


12

Ben bir bilgisayar bilimi geçmişindeyim ve okumak / izlemek için çok şey olduğundan kuantum hesaplama öğrenirken odaklanmam gereken kaynaklara karar vermekte zorlanıyorum. Nihai hedefim, kuantum bilgisayarlar ile C'nin yapıldığı 1972'ye benzer bir kişi arasında bir arabirim görevi gören bir programlama dili yapmaktır. Gerçekçi bir ara aşama olarak, IBM QISKit'te program yazma noktasına gelmek istiyorum.

Bunun için, Fizikte gerekli kulanı ve kuantum hesaplama alanına dalmak için gerekli alanları elde etmek için şematik bir çalışma kılavuzuna ihtiyacım olacaktı. Bu zaten var mı: mümkünse her birini elde etmek için yeterli malzemeden bahseten vazgeçilmez kavramların ve ustalık yeteneklerinin sıralı bir listesi ?

Lise düzeyinde fizik bilgisine sahip olun. Başlangıç ​​seviyesinden uzman türüne kadar bir rehber için bir çalışma kılavuzu sağlayın. Kuantum hesaplama alanında uzman olabilmek için kişinin kronolojik sırayla takip etmesi gereken video / kitap kaynaklarını listelemeye çalışın Kendi kuantum hesaplama dilimi yazabilirim (dili yazmak için başka CS becerilerine sahip olduğumuzu varsayarak) .



3
Quantum Computing SE'ye hoş geldiniz! Şu anda, bu sorunun başlık yapar görünen sorunun ana gövdesi bu aslında bir olduğunu temizlemek yapar her ne kadar esaslı bir şey Geniş ve görüş (ki SE Q & A biçimi için tasarlanmamış olduğu şeydir) soruyorsunuz kaynak talebi (kabul edilebilir). Bu nedenle, soru başlığınızı, ne bilmek istediğiniz konusunda daha spesifik olacak şekilde düzenlerseniz en yararlı olur . Ayrıca, yorumlarda bağlantılı soruya verilen cevapların tam olarak ne olduğunu eklerseniz faydalı olabilir, böylece daha iyi yardımcı olabiliriz. Teşekkürler!
Mithrandir24601

1
Özellikle kaynak talebi soruları ile ilgili politikamıza bakın . Bu çok geniş.
Heather

1
Nand2tetris gibi bir şey mi düşünüyorsun, ama kuantum? Veya “Bilgisayar Bilimcileri İçin Kuantum Hesaplama” kitabı gibi bir şey mi?
James Wootton

1
Yaptığınız düzenlemeler sayesinde, bunun artık kaynak talebi gereksinimlerini karşıladığına inanıyorum, bu yüzden yeniden açtım.
Heather

Yanıtlar:


11

Bence bir tüm gerekli bilgileri verebilecek tek bir altın kaynak . Ama bir yol önerebilirim (veya kelimelerinizde şematik çalışma kılavuzu ):

Amacınız yeni birAmacınız kuantum programlama dili , önce hem kuantum bilgi işlemin hem de fizik tarafından ve bilgisayar bilimi tarafından (belki de Matematik) temel kavramları ile birlikte mevcut bir kuantum programlama dilini iyice öğrenmeniz gerektiğini söyleyebilirim. yan!).

  • Microsoft, Q # adında kuantum programlama diline sahiptir ( Kuantum Geliştirme Kiti ). Tüm dokümantasyon-cum-guide web sitelerinde bulunmaktadır: https://docs.microsoft.com/en-us/quantum . Eğer CS taraftan ise, ben zaten sahip umut bazı vektörler, matrisler ve genel olarak lineer cebir bilgisini. Öyleyse, kılavuzu makaleyi doğrudan okumaya başlayabilirsiniz. Başlangıçta, matrislerin, vektörlerin vb. Kısa bir revizyonu ve ardından kübitlere kısa bir giriş ile başlarlar. En azından temel bir kuantum programı yazmaya başlamak için çok şey yeter, arkasındaki fizik hakkında en az bilgi sahibi olmak. Bu arada, doğrusal cebir kavramlarınız zayıfsa, her zaman deneyebilirsinizKhan Academy'nin bir parçasıdır dersleri aynı.

  • Sonra, en azından kuantum mekaniğinin bazı temellerini öğrenmek istersiniz. Ben şahsen Profesör Vazirani'nin şu anda Youtube'da olan derslerini seviyorum . Yaklaşık 60 dakikalık derslerde kuantum mekaniğinin ve kuantum hesaplama algoritmalarının tüm temel bilgilerini kapsar. Bundan sonra, kendi başınıza yeni algoritmalar almak için iyi durumda olacaksınız.

  • Üçüncü adım olarak, sizin önemli konuları kapsadığı için " Isaac Chuang ve Michael Nielsen tarafından Kuantum Hesaplama ve Kuantum Bilgileri " ni ve ayrıca Mirco A. Mannucci ve Noson S. Yanofsky tarafından " Bilgisayar Bilimcileri için Kuantum Hesaplama " yı seçmenizi öneririm. kacirdi.

Bu, kendi kuantum programlama dilinizi yazmaya başlamak için sağlam bir temel almanız için yeterli olmalıdır. Ayrıca, kuantum programlarının nasıl yazılacağı ve kuantum programlama dillerinin nasıl tasarlanacağı hakkında fikir edinmek için diğer yaygın kuantum hesaplama dilleri için eğiticilere de bakabilirsiniz .


6

Bu noktada kuantum hesaplamanın geliştirilmesinde "yeni bir kuantum programlama dili yapma" hedefinin uygun olup olmadığını düşünmenizi öneririm. Bu en yaygın yaklaşım değildir, çünkü çoğunlukla temelde makine dili olarak düşünmeye devam ediyoruz. Algoritmalar oluşturduğumuzda, bunun yapıldığı seviye, klasik algoritmaları mantık kapıları (örn. çarpma için bu örnek ). QISKit gibi kuantum SDK'ları aslında kuantum donanımına veya simülatörlerine gönderilecek işler yaratmanın yoludur. Bu, simülasyonları gerçekleştirmek, çalışma süresi veya gürültü seviyeleri için optimize etmek, vb. Araçları içerir. Bunlar, klasik hesaplama için alışkın olduğumuz üst düzey anlamda gerçekte diller değildir.

Kuantum yığınının bu seviyesinde neler olup bittiğine giriş için Q, Kuantum içindir Terry Rudolph tarafından için yararlı olabilir.

QISKit ile program yazma ara hedefiniz için QISKit eğitimini öneriyorum . Kısa kuantum programlarının uygulanmasına ilişkin birçok çalışma örneği vardır. Ayrıca, ortamdaki bir QISKit yayını da vardır ; burada öğreticideki bazı şeyler daha ayrıntılı olarak açıklanmıştır. Ayrıca, QISKit için, tüm QISKit öğreticisi için bir ısınma olarak yararlı olabilecek oyunlaştırılmış bir öğretici de vardır.

Tam ifşa: Son paragrafta belirtilen her şeye katkıda bulundum.


3
Buna katılmıyorum. FORTRAN geliştirilir gelişmez (dijital bilgisayarlar hala oldukça ilkel olduğunda), insanlar bunu makine dili yerine kullanmaya başladılar ve bu muhtemelen klasik bilgisayarların tarihindeki programlama dillerinde en büyük sıçrama idi. İnsanları neden kuantum bilgisayarlar için makine dilinde programlamaya zorlamalıyız? (Verimlilik için emin olurlar, ama zorlanmamalıdırlar.)
Peter Shor

1
Harika bir nokta! Donanımın şu anda makine dilinin çok ötesinde düşünmeye hazır olmadığını söyleyebilirim. Ancak yanlış kanıtlanması harika olurdu.
James Wootton

Olumsuzluğu azaltmak için cevabımı biraz düzenledim ve şu anda bir şeyler yapmanın olağan yolu olmadığını işaret ettim (bu yanlış olduğu anlamına gelmez)
James Wootton
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.