Existe um guia de estudo que parte de uma "base puramente de CS" e avança no sentido de "criar uma nova linguagem de programação quântica"?

12

Sou formado em ciência da computação e acho difícil decidir sobre os recursos em que devo me concentrar enquanto aprendo computação quântica, pois há muito o que ler / assistir. Meu objetivo final é tornar uma linguagem de programação agindo como uma interface entre computadores quânticos e a pessoa semelhante a 1972 quando C foi criado. Como um estágio intermediário realista, eu gostaria de chegar ao ponto de escrever programas no QISKit da IBM.

Para isso, eu precisaria de um guia de estudo esquemático para adquirir o conhecimento necessário em Física e os campos relacionados necessários para mergulhar no campo da computação quântica. Isso já existe: uma lista ordenada de conceitos e habilidades indispensáveis ​​para dominar, que se possível também menciona material adequado para adquirir cada um deles ?

Suponha um conhecimento de física no ensino médio. Forneça um guia de estudo, ou seja, do guia do iniciante ao especialista. Tente listar os recursos de vídeo / livro que devem ser seguidos em ordem cronológica, para se tornar um especialista no campo da computação quântica no nível em que eu possa escrever minha própria linguagem de computação quântica (supondo que já tenha outras habilidades de CS para escrever a linguagem) .

Kushajveer
fonte
Você já conferiu isso? quantumcomputing.stackexchange.com/questions/1367/…
agaitaarino
3
Bem-vindo ao Quantum Computing SE! Atualmente, o título desta pergunta faz parecer que você está perguntando algo amplo e baseado em opiniões (que é algo para o qual o formato de perguntas e respostas da SE não foi projetado), embora o corpo principal da pergunta deixe claro que isso é realmente um solicitação de recurso (o que é aceitável). Dessa forma, seria mais útil editar o título da pergunta para ser mais específico sobre o que você deseja saber. Além disso, pode ser útil se você incluir exatamente quais respostas estão faltando para a pergunta vinculada nos comentários, para que possamos ajudar melhor. Obrigado!
Mithrandir24601
11
Veja em particular nossa política sobre questões de solicitação de recursos . Isso é muito amplo.
heather
11
Você está pensando em algo como nand2tetris, mas quântico? Ou algo parecido com o livro "Computação quântica para cientistas da computação"?
26618 James Wootton
11
Graças às suas edições, acredito que isso agora preenche os requisitos de solicitação de recursos, então reabri.
heather

Respostas:

11

Eu não acho que exista um único recurso de ouro que você possa fornecer todo o conhecimento necessário. Mas eu poderia sugerir um caminho (ou guia de estudo esquemático em suas palavras):

Se seu objetivo é criar uma nova linguagem de programação quântica, eu prefiro dizer que você deve aprender minuciosamente uma linguagem de programação quântica existente primeiro, juntamente com os conceitos básicos de computação quântica, tanto do lado da física quanto do lado da ciência da computação (talvez até a matemática). lado!).

  • A Microsoft tem sua linguagem de programação quântica chamada Q # (que faz parte do Quantum Development Kit ). O guia completo da documentação está no site: https://docs.microsoft.com/en-us/quantum . Se você é do lado do CS, espero que você já tenha algum conhecimento de vetores, matrizes e álgebra linear em geral. Nesse caso, você pode começar diretamente a ler o guia artigo por artigo. Inicialmente, eles começam com uma breve revisão de matrizes, vetores, etc., seguida de uma breve introdução aos qubits. Isso é suficiente para, pelo menos, começar a escrever um programa quântico básico, com um entendimento mínimo da física por trás dele. A propósito, se seus conceitos de álgebra linear são fracos, você sempre pode tentarAs palestras da Khan Academy sobre o mesmo.

  • Em seguida, você gostaria de aprender pelo menos alguns conceitos básicos da mecânica quântica. Pessoalmente, adoro as palestras do professor Vazirani , que agora estão no Youtube. Em cerca de 60 palestras de dez minutos, ele cobre todos os conceitos básicos necessários da mecânica quântica e dos algoritmos de computação quântica. Depois disso, você estará em boa forma para adquirir novos algoritmos por conta própria.

  • Como terceiro passo, sugiro que aponte " Computação Quântica e Informação Quântica de Isaac Chuang e Michael Nielsen " e também " Computação Quântica para Cientistas da Computação por Mirco A. Mannucci e Noson S. Yanofsky " por cobrir os tópicos importantes que você perdeu.

Isso deve ser suficiente para você obter uma base sólida para começar a escrever sua própria linguagem de programação quântica. Você também pode procurar em tutoriais as outras linguagens de computação quântica comuns para ter uma idéia de como escrever programas quânticos e projetar linguagens de programação quântica.

Sanchayan Dutta
fonte
6

Eu sugiro que você reflita sobre se o objetivo de "criar uma nova linguagem de programação quântica" é adequado neste momento no desenvolvimento da computação quântica. Não é a abordagem mais comum, pois ainda estamos na fase de pensar em termos do que é essencialmente linguagem de máquina. Quando criamos algoritmos, o nível em que isso é feito é semelhante à expressão de algoritmos clássicos em termos de portas lógicas (como este exemplo para multiplicação). Os SDKs quânticos, como o QISKit, são essencialmente formas de criar tarefas a serem enviadas para hardware ou simuladores quânticos. Isso inclui ferramentas para realizar simulações, otimizar o tempo de execução ou os níveis de ruído, etc. Eles não são realmente idiomas no sentido de alto nível ao qual estamos acostumados no cálculo clássico.

Para uma introdução ao que está acontecendo nesse nível da pilha quântica, Q é para Quantum por Terry Rudolph pode ser útil.

Para seu objetivo intermediário de escrever programas com o QISKit, recomendo o tutorial do QISKit . Existem muitos exemplos de implementação de programas quânticos curtos. Há também uma publicação do QISKit no Medium, na qual algumas das coisas do tutorial são explicadas em mais detalhes. Há também um tutorial gamificado para o QISKit , que pode ser útil como aquecimento para o tutorial completo do QISKit.

Divulgação total: contribuí com todas as coisas mencionadas no parágrafo final.

James Wootton
fonte
3
Eu gostaria de discordar disso. Assim que o FORTRAN foi desenvolvido (quando os computadores digitais ainda eram bastante primitivos), as pessoas começaram a usá-lo em vez da linguagem de máquina, e esse foi provavelmente o maior salto nas linguagens de programação da história dos computadores clássicos. Por que devemos forçar as pessoas a programar em linguagem de máquina para computadores quânticos? (Tenho certeza que sim, por eficiência, mas não devem ser forçados a fazê-lo.) #
Peter Shor
11
Ótimo ponto! Eu diria que o hardware não está pensando muito além da linguagem de máquina no momento. Mas seria ótimo provar que está errado.
James Wootton
Eu editei minha resposta um pouco para amenizar a negatividade, e apenas aponto que não é a maneira usual de fazer as coisas no momento (embora isso não signifique que esteja errado)
James Wootton