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) .
sumber
Jawaban:
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.
sumber
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.
sumber