O desenvolvimento de extensões de bibliotecas da linguagem de programa ção Haskell, mais intuitiva para programação quântica, visa obter uma compreensão mais abrangente da computação quântica baseada em seus fundamentos matemáticos. Os conceitos gerais da programação funcional são aplicados na implementa ção de algoritmos quânticos para teleportação. Baseada na metodologia introduzida por Amr Sabry, esta implementação inclui a aplicação da técnica de valores virtuais, a análise de dados quânticos (clássicos, superposição, emaranhados), a especificação de transformações unitárias e a compreensão do processos de medida, que é a observação de valores.
O desenvolvimento de extensões de bibliotecas da linguagem de programa ção Haskell, mais intuitiva para programação quântica, visa obter uma compreensão mais abrangente da computação quântica baseada em seus fundamentos matemáticos. Os conceitos gerais da programação funcional são aplicados na implementa ção de algoritmos quânticos para teleportação. Baseada na metodologia introduzida por Amr Sabry, esta implementação inclui a aplicação da técnica de valores virtuais, a análise de dados quânticos (clássicos, superposição, emaranhados), a especificação de transformações unitárias e a compreensão do processos de medida, que é a observação de valores.
Computaçãao quântica pode ser entendida como transformação da informação codificada no estado de um sistema físico quântico. A idéia básica da computação quântica é codificar dados utilizando bits quânticos (qubits). Diferentemente do bit clássico, o qubit pode existir em uma superposição dos seus estados básicos permitindo o “paralelismo quântico”, o qual é uma característica importante da computação quântica visto que pode aumentar consideravelmente a velocidade de processamento dos algoritmos. Entretanto, tipos de dados quânticos são bastante poderosos não somente por causa da superposição de estados. Existem outras propriedades ímpares como medida e emaranhamento. Nesta tese, nós discutimos que um modelo realístico para computações quânticas deve ser geral com respeito a medidas, e completo com respeito a comunicação entre o mundo quântico e o mundo clássico. Nós, então, explicamos e estruturamos computações quânticas gerais e completas em Haskell utilizando construções conhecidas da área de semântica e linguagens de programação clássicas, como mônadas e setas. Em mais detalhes, esta tese se concentra nas seguintes contribuições. Mônadas e Setas. Paralelismo quântico, emaranhamento e medida quântica certamente vão além do escopo de linguagens funcionais “puras”. Nós mostramos que o paralelismo quântico pode ser modelado utilizando-se uma pequena generalização de mônadas, chamada mônadas indexadas ou estruturas Kleisli. Além disso, nós mostramos que a medida quântica pode ser explicada utilizando-se uma generalização mais radical de mônadas, as assim chamadas setas, mais especificamente, setas indexadas, as quais definimos nesta tese. Este resultado conecta características quânticas “genéricas” e “completas” `a construções semânticas de linguagens de programação bem fundamentadas. Entendendo as Interpretações da Mecânica Quântica como Efeitos Computacionais. Em um experimento hipotético, Einstein, Podolsky e Rosen demonstraram algumas consequências contra-intuitivas da mecânica quântica. A idéia básica é que duas partículas parecem sempre comunicar alguma informação mesmo estando separadas por uma distância arbitrariamente grande. Existe muito debate e muitos artigos sobre esse tópico, mas é interessante notar que, como proposto por Amr Sabry, essas características estranhas podem ser essencialmente modeladas por atribuições a variáveis globais. Baseados nesta idéia nós modelamos este comportamento estranho utilizando noções gerais de efeitos computacionais incorporados nas noções de mônadas e setas. Provando Propriedades de Programas Quânticos Utilizando Leis Algébricas. Nós desenvolvemos um trabalho preliminar para fazer provas equacionais sobre algoritmos quânticos escritos em uma sublinguagem pura de uma linguagem de programação funcional quântica, chamada QML.
Computaçãao quântica pode ser entendida como transformação da informação codificada no estado de um sistema físico quântico. A idéia básica da computação quântica é codificar dados utilizando bits quânticos (qubits). Diferentemente do bit clássico, o qubit pode existir em uma superposição dos seus estados básicos permitindo o “paralelismo quântico”, o qual é uma característica importante da computação quântica visto que pode aumentar consideravelmente a velocidade de processamento dos algoritmos. Entretanto, tipos de dados quânticos são bastante poderosos não somente por causa da superposição de estados. Existem outras propriedades ímpares como medida e emaranhamento. Nesta tese, nós discutimos que um modelo realístico para computações quânticas deve ser geral com respeito a medidas, e completo com respeito a comunicação entre o mundo quântico e o mundo clássico. Nós, então, explicamos e estruturamos computações quânticas gerais e completas em Haskell utilizando construções conhecidas da área de semântica e linguagens de programação clássicas, como mônadas e setas. Em mais detalhes, esta tese se concentra nas seguintes contribuições. Mônadas e Setas. Paralelismo quântico, emaranhamento e medida quântica certamente vão além do escopo de linguagens funcionais “puras”. Nós mostramos que o paralelismo quântico pode ser modelado utilizando-se uma pequena generalização de mônadas, chamada mônadas indexadas ou estruturas Kleisli. Além disso, nós mostramos que a medida quântica pode ser explicada utilizando-se uma generalização mais radical de mônadas, as assim chamadas setas, mais especificamente, setas indexadas, as quais definimos nesta tese. Este resultado conecta características quânticas “genéricas” e “completas” `a construções semânticas de linguagens de programação bem fundamentadas. Entendendo as Interpretações da Mecânica Quântica como Efeitos Computacionais. Em um experimento hipotético, Einstein, Podolsky e Rosen demonstraram algumas consequências contra-intuitivas da mecânica quântica. A idéia básica é que duas partículas parecem sempre comunicar alguma informação mesmo estando separadas por uma distância arbitrariamente grande. Existe muito debate e muitos artigos sobre esse tópico, mas é interessante notar que, como proposto por Amr Sabry, essas características estranhas podem ser essencialmente modeladas por atribuições a variáveis globais. Baseados nesta idéia nós modelamos este comportamento estranho utilizando noções gerais de efeitos computacionais incorporados nas noções de mônadas e setas. Provando Propriedades de Programas Quânticos Utilizando Leis Algébricas. Nós desenvolvemos um trabalho preliminar para fazer provas equacionais sobre algoritmos quânticos escritos em uma sublinguagem pura de uma linguagem de programação funcional quântica, chamada QML.
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.
Este manual apresenta uma introdução técnica e aplicada à computação quântica, articulando os seus fundamentos físicos, matemáticos e computacionais com exemplos práticos de programação, simulação e análise de algoritmos. A obra explica a constituição de sistemas quânticos contemporâneos, incluindo processadores baseados em qubits supercondutores, infraestrutura criogénica, portas quânticas, superposição, interferência, medição e entrelaçamento. São desenvolvidos cálculos passo a passo para demonstrar a representação de estados quânticos, a aplicação de operadores matriciais e o comportamento probabilístico dos circuitos. O manual aborda ainda algoritmos como Grover e Shor, a utilização da biblioteca Qiskit e a diferença entre simulação clássica e execução em hardware quântico real. Em complemento, discute aplicações emergentes em química computacional, ciência dos materiais, investigação biomolecular, otimização e criptografia pós-quântica, destacando tanto o potencial transformador dessas tecnologias quanto as suas atuais limitações técnicas. A abordagem adotada procura diferenciar resultados já demonstrados experimentalmente de hipóteses, projeções e aplicações ainda em desenvolvimento, oferecendo uma visão crítica, pedagógica e cientificamente fundamentada sobre o papel da computação quântica na evolução da ciência e da engenharia.
Algoritmos Quânticos: Da lógica clássica à computação quântica apresenta uma introdução progressiva, técnica e computacional aos fundamentos e aos principais algoritmos da computação quântica. A obra parte dos conceitos clássicos de algoritmo, complexidade computacional, teoria dos números e álgebra linear para construir, passo a passo, a compreensão de qubits, superposição, medição, interferência, portas quânticas, circuitos e emaranhamento. Ao longo do livro são desenvolvidos algoritmos fundamentais como Deutsch, Deutsch–Jozsa, Simon e Grover, avançando para a Transformada Quântica de Fourier (QFT), estimação quântica de fase e o algoritmo de Shor. A obra também discute amplificação de amplitude, criptografia pós-quântica, computação híbrida quântico-clássica, VQE, QAOA, barren plateaus, ruído, correção e mitigação de erros, além dos diferentes significados de vantagem quântica e dos limites atuais da tecnologia. Uma parte substancial do livro é dedicada à implementação prática com Python e Qiskit, incluindo preparação e medição de estados, estados de Bell, circuitos de Grover, QFT, estimação de fase, demonstrações de Shor, simulação local, transpilação e execução em processadores quânticos (QPUs). O texto procura distinguir rigorosamente vantagem algorítmica teórica, vantagem experimental e utilidade prática, evitando interpretações excessivamente simplificadas da computação quântica. O objetivo é oferecer uma ponte entre Ciência da Computação clássica e computação quântica para estudantes, desenvolvedores, pesquisadores e leitores interessados em compreender não apenas como os algoritmos quânticos funcionam, mas também quando, por que e sob quais condições eles podem oferecer vantagens computacionais. Palavras-chave Computação quântica; Algoritmos quânticos; Quantum computing; Quantum algorithms; Qubits; Circuitos quânticos; Quantum circuits; Qiskit; Algoritmo de Grover; Grover's algorithm; Algoritmo de Shor; Shor's algorithm; Transformada Quântica de Fourier; Quantum Fourier Transform; Estimação quântica de fase; Quantum Phase Estimation; VQE; QAOA; Computação híbrida quântico-clássica; Criptografia pós-quântica; Complexidade computacional; Emaranhamento quântico; Amplificação de amplitude; Programação quântica.