Apakah ada pedoman studi yang dimulai dari "latar belakang CS murni" dan kemajuan menuju "membuat bahasa pemrograman kuantum baru"?

12

Saya dari latar belakang ilmu komputer dan saya merasa sulit untuk memutuskan sumber daya yang harus saya fokuskan saat belajar komputasi kuantum, karena ada begitu banyak untuk dibaca / ditonton. Tujuan utama saya adalah membuat bahasa pemrograman yang bertindak sebagai antarmuka antara komputer kuantum dan orang yang mirip dengan 1972 ketika C dibuat. Sebagai tahap perantara yang realistis, saya ingin sampai pada titik penulisan program pada QISKit IBM.

Untuk itu, saya akan memerlukan panduan studi skematik untuk memperoleh latar belakang yang diperlukan dalam Fisika dan bidang terkait yang diperlukan untuk terjun ke bidang komputasi kuantum. Apakah ini sudah ada: daftar urutan konsep dan kemampuan yang sangat diperlukan untuk dikuasai, yang jika mungkin juga menyebutkan materi yang memadai untuk memperoleh masing-masing ?

Asumsikan pengetahuan fisika tingkat SMA. Sediakan panduan belajar, yaitu mulai dari panduan pemula hingga ahli. Cobalah untuk membuat daftar sumber daya video / buku yang harus diikuti seseorang dalam urutan kronologis sehingga menjadi seorang ahli di bidang komputasi kuantum ke tingkat yang saya dapat menulis bahasa komputasi kuantum saya sendiri (dengan asumsi sudah memiliki keterampilan CS lain untuk menulis bahasa) .

Kushajveer
sumber
Sudahkah Anda memeriksanya? quantumcomputing.stackexchange.com/questions/1367/…
agaitaarino
3
Selamat Datang di Quantum Computing SE! Saat ini, judul pertanyaan ini membuatnya tampak bahwa Anda menanyakan sesuatu yang luas dan berdasarkan pendapat (yang merupakan sesuatu yang tidak dirancang untuk format T&J SE), meskipun inti dari pertanyaan tersebut memperjelas bahwa ini sebenarnya adalah permintaan sumber daya (yang dapat diterima). Dengan demikian, akan sangat membantu jika Anda mengedit judul pertanyaan Anda untuk lebih spesifik tentang apa yang ingin Anda ketahui. Selain itu, mungkin berguna jika Anda memasukkan dengan tepat apa yang tidak ada jawaban untuk pertanyaan yang ditautkan di komentar, sehingga kami dapat lebih membantu. Terima kasih!
Mithrandir24601
1
Lihat khususnya kebijakan kami tentang pertanyaan permintaan sumber daya . Ini terlalu luas.
heather
1
Apakah Anda memikirkan sesuatu seperti nand2tetris, tetapi kuantum? Atau sesuatu seperti buku "Quantum Computing for Computer Scientists"?
James Wootton
1
Berkat hasil edit Anda, saya yakin ini sekarang memenuhi persyaratan permintaan sumber daya, jadi saya buka kembali.
heather

Jawaban:

11

Saya tidak berpikir ada sumber daya emas tunggal yang dapat Anda berikan semua pengetahuan yang diperlukan. Tapi saya bisa menyarankan jalur (atau panduan studi skematis dalam kata-kata Anda):

Jika tujuan Anda adalah untuk menciptakan bahasa pemrograman kuantum baru, saya lebih suka mengatakan Anda harus mempelajari bahasa pemrograman kuantum yang ada terlebih dahulu bersama dengan konsep dasar komputasi kuantum, baik dari sisi fisika dan sisi ilmu komputer (bahkan mungkin Matematika sisi!).

  • Microsoft memiliki bahasa pemrograman kuantum mereka bernama Q # (yang merupakan bagian dari Quantum Development Kit mereka ). Dokumentasi-cum-panduan lengkap ada di situs web mereka: https://docs.microsoft.com/en-us/quantum . Jika Anda dari sisi CS, saya harap Anda sudah memiliki beberapa pengetahuan tentang vektor, matriks dan aljabar linier pada umumnya. Jika demikian, Anda dapat langsung mulai membaca panduan artikel demi artikel. Awalnya, mereka mulai dengan revisi singkat dari matriks, vektor, dll diikuti oleh pengantar singkat untuk qubit. Sebanyak itu cukup untuk setidaknya memulai dengan menulis program kuantum dasar, dengan pemahaman minimal tentang fisika di baliknya. Omong-omong, jika konsep aljabar linier Anda lemah, Anda selalu bisa mencobaCeramah Khan Academy tentang hal yang sama.

  • Selanjutnya, Anda ingin mempelajari setidaknya beberapa dasar-dasar mekanika kuantum. Saya pribadi menyukai ceramah Profesor Vazirani , yang sekarang ada di Youtube. Dalam sekitar 60 sepuluh menit kuliah dia membahas semua dasar-dasar mekanika kuantum dan algoritma komputasi kuantum yang diperlukan. Setelah ini, Anda akan berada dalam kondisi yang baik untuk mengambil algoritma baru sendiri.

  • Sebagai langkah ketiga, saya sarankan mengambil " Komputasi Quantum dan Informasi Quantum oleh Isaac Chuang dan Michael Nielsen " dan juga " Komputasi Quantum untuk Ilmuwan Komputer oleh Mirco A. Mannucci dan Noson S. Yanofsky " untuk meliput topik-topik penting yang Anda terjawab.

Itu seharusnya cukup bagi Anda untuk mendapatkan landasan yang kuat untuk mulai menulis bahasa pemrograman kuantum Anda sendiri. Anda juga dapat melihat tutorial untuk bahasa komputasi kuantum umum lainnya untuk mendapatkan gagasan tentang cara menulis program kuantum dan merancang bahasa pemrograman kuantum.

Sanchayan Dutta
sumber
6

Saya sarankan Anda merenungkan apakah tujuan "membuat bahasa pemrograman kuantum baru" cocok pada tahap ini dalam pengembangan perhitungan kuantum. Ini bukan pendekatan yang paling umum, karena sebagian besar kita masih pada tahap berpikir dalam hal apa yang pada dasarnya bahasa mesin. Ketika kita membuat algoritma, tingkat di mana hal ini dilakukan mirip dengan mengekspresikan algoritma klasik dalam hal gerbang logika (seperti contoh ini untuk perkalian). SDK kuantum, seperti QISKit pada dasarnya adalah cara menciptakan pekerjaan untuk dikirim ke perangkat keras atau simulator kuantum. Ini termasuk alat untuk melakukan simulasi, mengoptimalkan untuk waktu berjalan atau tingkat kebisingan, dll. Mereka tidak benar-benar bahasa dalam pengertian tingkat tinggi yang biasa kita gunakan untuk perhitungan klasik.

Untuk pengantar apa yang terjadi pada tingkat tumpukan kuantum ini, Q untuk Quantum oleh Terry Rudolph mungkin bisa membantu.

Untuk tujuan menengah Anda menulis program dengan QISKit, saya akan merekomendasikan tutorial QISKit . Ini memiliki banyak contoh berhasil menerapkan program kuantum pendek. Ada juga publikasi QISKit tentang Medium di mana beberapa hal dalam tutorial dijelaskan secara lebih rinci. Ada juga tutorial gamified untuk QISKit , yang mungkin berguna sebagai pemanasan untuk tutorial QISKit lengkap.

Pengungkapan penuh: Saya telah berkontribusi untuk semua hal yang disebutkan dalam paragraf terakhir.

James Wootton
sumber
3
Saya ingin tidak setuju dengan ini. Segera setelah FORTRAN dikembangkan (ketika komputer digital masih sangat primitif), orang-orang mulai menggunakannya alih-alih bahasa mesin, dan ini mungkin merupakan lompatan terbesar dalam bahasa pemrograman dalam sejarah komputer klasik. Mengapa kita harus memaksa orang untuk memprogram dalam bahasa mesin untuk komputer kuantum? (Saya yakin mereka akan melakukannya, demi efisiensi, tetapi mereka seharusnya tidak dipaksa.)
Peter Shor
1
Poin yang bagus! Saya akan mengatakan bahwa perangkat kerasnya tidak banyak berpikir di luar bahasa mesin saat ini. Tapi alangkah baiknya jika dibuktikan salah.
James Wootton
Saya mengedit jawaban saya sedikit untuk mengurangi negativitas, dan hanya menunjukkan bahwa itu bukan cara yang biasa dilakukan saat ini (walaupun itu tidak berarti itu salah)
James Wootton