Implementação do algoritmo quântico Deutsch-Jozsa em linguagem funcional e no simulador IBM Q Experience
Resumo
O objetivo deste artigo é mostrar a implementação do algoritmo quântico Deutsch-Jozsa em linguagem funcional e a simulação deste no IBM Q Experience. Para tanto, são apresentados conceitos matemáticos fundamentais e conceitos específicos da Computação Quântica, tal como sobreposição de estados, Bit Quântico, Esfera de Bloch e Portas Quânticas. Também serão apresentadas definições de programação imperativa, linguagem Python e seu caráter multi-paradigma, utilizada pela IBM no simulador IBM Q Experience, para a simulação de circuitos quânticos. Por fim, são exibidas definições e características da programação funcional, da linguagem Haskell e da linguagem Quipper, onde se apresenta a implementação detalhada e comentada do algoritmo quântico de Deutsch-Jozsa juntamente com o pseudocódigo.
Referências
BARBOSA, Alexandre de Andrade. Introdução a Circuitos Quânticos. 2005. 22 f. Dissertação (Mestrado) - Curso de Ciência da Computação, Departamento de Sistemas e Computação, Universidade Federal de Campina Grande, Campina Grande, 2005. Disponível em: < http://lad.dsc.ufcg.edu.br/arq/AC - Escrito - Circuitos Quanticos.pdf> Acesso em: 20 nov. 2017.
CASTRO, T. C. et al. Utilizando programação funcional em disciplinas introdutórias de computação. In: X WORKSHOP SOBRE EDUCAÇÃO EM COMPUTAÇÃO. EVENTO INTEGRANTE DO XXII CONGRESSO DA SBC. 2002, Florianópolis. Anais... Florianópolis: WEI, 2002.
CERRI, Cristina; MONTEIRO, Martha S. (Org.). História dos Números Complexos. 2001. Disponível em: <https://www.ime.usp.br/~martha/caem/complexos.pdf >. Acesso em: 01 dez. 2017.
GREEN, Alexander S., LUMSDAINE, Peter L., ROSS, Neil J., SELINGER, Peter, VALIRON, Benoît. An introduction to quantum programming in Quipper. In: INTERNATIONAL CONFERENCE ON REVERSIBLE COMPUTATION, 5th., 2013, Victoria. Proceedings. Victoria, BC, Canadá, 2013. Disponível em: . Acesso em: 28 maio 2018.
GRILO, Alex Bredariol. Computação quântica e teoria de computação. 2014. 155 p. Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação, Campinas, SP. Disponível em: < http://repositorio.unicamp.br/jspui/handle/REPOSIP/275508>. Acesso em: 2 nov. 2017.
JOSÉ, Marcelo Archanjo; PIQUEIRA, José Roberto Castilho; LOPES, Roseli de Deus. Introdução à programação quântica. Revista Brasileira de Ensino de Física, [s.l.], v. 35, n. 1, p.2-9, mar. 2013. FapUNIFESP (SciELO). http://dx.doi.org/10.1590/s1806-11172013000100006.
KUCHLING, A. M.. Functional Programming HOWTO. 2001. Disponível em: <https://docs.python.org/3/howto/functional.html>. Acesso em: 28 maio 2018.
SHIFFMAN, Daniel. Coordenadas polares. 2003. Disponível em: <https://pt.khanacademy.org/computing/computer-programming/programming-natural-simulations/programming-angular-movement/a/polar-coordinates>. Acesso em: 01 de dez de 2017.
STEINBRUCH, Alfredo; WINTERLE, Paulo. Introdução à álgebra linear. 2°. ed. [S.l.]: Makron Books, 1995. 245 p.
STRUBELL, Emma. An Introduction to Quantum Algorithms, Springer, vol. COS498, 2011.
NASCIMENTO, Mauri C.. Coordenadas Polares. 2005. Disponível em: <http://wwwp.fc.unesp.br/~mauri/Down/Polares.pdf>. Acesso em: 01 de dez de 2017.
NIELSEN, Michael A.; CHUANG, Isaac L.. Quantum Computation and Quantum Information. Cambridge: Cambridge University Press, 2010. 698 p.
ÖMER, Bernard. Structured Quantum Programming. 2003. 130 f. Dissertação, TU Vienna, 2003.
SIDDIQUI, Safat; ISLAM, Mohammed Jahirul; SHEHAB, Omar. Five Quantum Algorithms Using Quipper. 2014. 27 f. Tese (Doutorado) - Curso de Quantum Physics, University Of Maryland, Maryland, 2014. Disponível em: <https://arxiv.org/abs/1406.4481>. Acesso em: 08 jun. 2018.
THOMPSON, Simon. Haskell: the craft of functional programming. 3. ed. Boston: Addison-Wesley, 2011.
TUCKER, Allen B.; NOONAN, Robert E. Programming Languages: Principles and Paradigms. 2. ed. Boston: McGraw-Hill Higher Education, 2007.
VENNERS, Bill. The Making of Python. 2003. Disponível em: <https://www.artima.com/intv/pythonP.html>. Acesso em: 28 maio 2018.
VIGNATTI, André L., NETTO, Francisco S., BITTENCOURT, Luiz F. Uma introdução à Computação Quântica, 2004(Trabalho de Graduação (conclusão de curso)).
Downloads
Publicado
Edição
Seção
Licença
A “Revista Tecnológica da Fatec de Americana” é uma publicação semestral digital de responsabilidade da “Faculdade de Tecnologia de Americana”, “Centro Estadual de Educação Tecnológica Paula Souza”, com a publicação de trabalhos de caráter interdisciplinar realizados pelas comunidades discente, docente e pesquisadores internos e bem como por pesquisadores externos.
The “Revista Tecnológica da Fatec Americana” is a biannual digital publication, under “Faculdade de Tecnologia de Americana” responsability, from “Centro Estadual de Educação
Tecnológica Paula Souza”, which encompasses interdisciplinary papers submitted by students, professors and researches of the community as well as external researches.
La “Revista Tecnológica da Fatec Americana” es una publicación digital semestral de responsabilidad de esa “Faculdade de Tecnologia de Americana”, “Centro Estadual de Educação Tecnológica Paula Souza”, cuyo objetivo es publicar trabajos de carácter interdisciplinario realizados tanto por el profesorado, por el alunnado e investigadores internos, como por investigadores externos.
É permitido a reprodução parcial desde que citado a fonte.
Partial reproduction is permitted if the source is cited.
Su reproducción parcial está permitida siempre e cuando se mencione la fuente.
Políticas editoriais: Leia em www.fatec.edu.br/revista/politicas
Editorial Politics: Read in www.fatec.edu.br/revista/politicas
Sítio: www.fatec.edu.br/revista
Site: www.fatec.edu.br/revista