Eu venho de uma formação não-física e estou muito interessado em buscar a Computação Quântica - especialmente em como programá-las. Qualquer orientação sobre como começar será muito útil.
resource-request
programming
Koder101
fonte
fonte
Respostas:
Você pode começar com uma introdução a computadores quânticos como este do Voxxed Days Vienna 2018 - destina-se a pessoas com experiência em programação, mas com pouco ou nenhum conhecimento prévio em mecânica quântica. Depois disso, você pode conferir os guias no IBM Quantum Experience ou no Microsoft Quantum Development Kit .
Além disso, existem muitos vídeos no YouTube, por exemplo, que podem ajudar você a entender o tópico mais profundamente.
fonte
Eu acho que os programadores quânticos não precisam necessariamente saber sobre física quântica e álgebra linear. Essas são certamente coisas que ajudarão a ampliar o conhecimento quântico dos programadores, mas não devem ser consideradas pré-requisitos.
Mesmo assim, a maioria dos recursos para ajudar um programador quântico iniciante começa com uma suposição de álgebra linear. Os que não se concentram principalmente no QISKit, o SDK do dispositivo quântico da IBM (e alguns deles foram escritos por mim).
O programa mais simples que você pode criar é um "Hello World". Como você faz isso em computadores quânticos? Minha proposta é uma superposição de emoticons .
Depois de ir além do “Hello World” na programação quântica, você desejará fazer algo mais complexo. Muitas vezes, as pessoas fazem jogos simples. Então, vamos fazer isso com um computador quântico. Eu fiz navios de guerra .
Você encontrará esses e muitos outros exemplos de programação quântica no tutorial do QISKit . Acho que esse é provavelmente o melhor lugar para novos programadores quânticos verem o que pode ser feito e como fazê-lo.
fonte
pyQuil é uma biblioteca de programação quântica de código aberto em Python. A documentação inclui uma introdução prática à computação quântica, onde você aprende por programação. Não assume nenhuma formação em física.
Aqui estão alguns links para os principais tópicos:
fonte
Não é necessário entender completamente a Mecânica Quântica para entender a teoria por trás do CQ. Sou bacharel em matemática / programador e li sobre o tópico e também fiz o antigo curso edX QC (infelizmente não está disponível, mas existem outros). Acho que posso dizer que entendo a essência do CQ, mas não sei quase nada sobre Mecânica Quântica.
A parte principal é que a Computação Quântica usa principalmente álgebra linear, que é baseada em matemática comumente ensinada em estudos de graduação em engenharia / ciência da computação. Compare isso com a Mecânica Quântica real, que usa espaços de dimensão infinita (ou análise funcional, se você quiser).
Se você se sente confortável com esses tópicos de graduação em matemática, pode conferir a Mecânica Quântica de Susskind : Teórico Mínimo - na verdade, não é sobre mecânica quântica 'real', é principalmente algo útil para o CQ. Aliás, toda a série de livros Teórico Mínimo é voltada para pessoas que sabem um pouco de matemática (como cientistas da computação ou cursos de engenharia) e gostariam de saber mais sobre física. Também existem muitos cursos on-line, por exemplo, existem novos cursos no edX, mas eu não os fiz, então não posso recomendar um.
fonte
Se você quiser ir além de aprender a escrever circuitos quânticos nas várias estruturas de programação quântica, como Q # , pyQuil e QISKit , recomendo este artigo recente com o título Implementações de algoritmos quânticos para iniciantes do Laboratório Nacional de Los Alamos. É um ótimo recurso para entender como compilar e implementar vários algoritmos quânticos, bem como seus oráculos e sub-rotinas específicas como circuitos quânticos com o IBM Q Experience. Eu recomendo que você os implemente em qualquer uma das estruturas de programação mencionadas e aprenda os detalhes detalhados à medida que avança.
fonte
Computadores quânticos são programados por (linguagens de programação em evolução representando) os chamados circuitos quânticos. Estas são uma sequência de portas quânticas mais as informações sobre quais bits quânticos (qubits) eles agem.
A única coisa que você realmente precisa saber sobre os portões quânticos é que eles representam rotações (em um espaço dimensional mais alto, o chamado espaço de Hilbert). Portanto, eles são reversíveis: os computadores quânticos são programados com lógica reversível.
Toda lógica convencional pode ser implementada por um computador quântico, expressando-o primeiro em lógica reversível (que pode exigir bits ancilla). O portão NOT clássico corresponde ao portão quântico X, mas, diferentemente do caso clássico em que os únicos portões reversíveis de 1 bit são a identidade e o portão NOT, um computador quântico possui quatro portões correspondentes (X, Y, Z de acordo com as rotações no Esfera de Bloch, mais a identidade). Além disso, você pode ter rotações que giram apenas uma fração da distância em que esses portões giram; alguns particularmente interessantes têm nomes e abreviações especiais, como o portão Hadamard ou o portão H, que cria a superposição igual de todos os estados.
Infelizmente, os primeiros engenheiros de software quântico provavelmente terão que saber um pouco sobre o hardware de computador quântico que estarão usando: Devido ao ângulo arbitrário e continuamente selecionável da rotação efetiva de uma porta quântica, existe um tipo de elemento analógico para computadores quânticos que necessariamente cria erros (e os computadores quânticos físicos têm ainda mais fontes de erro do que apenas isso). Existe uma maneira de lidar com isso: a correção de erros quânticos que discretiza erros e corrige as discretizações mais prováveis delas para obter computações (idealmente) arbitrariamente complexas com erros vinculados. Mas a otimização provavelmente significará que um computador quântico com uma opção de correção de erro quântico estará mais apto a determinados porta quânticos ou mesmo algoritmos do que outros,
fonte