Resolvendo sistemas de equações lineares com o algoritmo quântico HHL: um tutorial com os fundamentos físicos e matemáticos para estudantes de graduação
Lucas Queiroz Galvão, Anna Beatriz M. de Souza, Alexandre Santos, Ana Luísa Araújo Ferreira de Sousa, Clebson Cruz
resumo A computação quântica possibilita a resolução eficiente de problemas complexos, superando métodos clássicos em diversas aplicações. Em 2009, Harrow, Hassidim e Lloyd propuseram um algoritmo para solução de sistemas lineares, demonstrando aceleração exponencial (em condições ideais) com complexidade p o l y ( log N ), em contraste com abordagens clássicas que, no caso geral, apresentam complexidade da ordem de O ( N 3 ), ainda que possam atingir O ( N ) em casos específicos com matrizes esparsas. Esse algoritmo tem potencial para avanços em aprendizado de máquina, equações diferenciais, regressão linear e ataques a criptossistemas. No entanto, sua estrutura é complexa e há poucos materiais detalhados disponíveis na literatura. Neste contexto, este artigo pretende apresentar um tutorial abordando os fundamentos físicos e matemáticos do algoritmo HHL, direcionado para estudantes de graduação, explicando sua construção teórica e implementação para a resolução de sistemas de equações lineares. Após a discussão dos conceitos matemáticos e físicos subjacentes, apresentamos exemplos numéricos ilustrando a evolução do circuito quântico. Por fim, analisamos sua complexidade, limitações e perspectivas futuras. Os exemplos abordados são comparados com suas simulações clássicas, permitindo uma avaliação operacional da performance do algoritmo.
resumo A computação quântica possibilita a resolução eficiente de problemas complexos, superando métodos clássicos em diversas aplicações. Em 2009, Harrow, Hassidim e Lloyd propuseram um algoritmo para solução de sistemas lineares, demonstrando aceleração exponencial (em condições ideais) com complexidade p o l y ( log N ), em contraste com abordagens clássicas que, no caso geral, apresentam complexidade da ordem de O ( N 3 ), ainda que possam atingir O ( N ) em casos específicos com matrizes esparsas. Esse algoritmo tem potencial para avanços em aprendizado de máquina, equações diferenciais, regressão linear e ataques a criptossistemas. No entanto, sua estrutura é complexa e há poucos materiais detalhados disponíveis na literatura. Neste contexto, este artigo pretende apresentar um tutorial abordando os fundamentos físicos e matemáticos do algoritmo HHL, direcionado para estudantes de graduação, explicando sua construção teórica e implementação para a resolução de sistemas de equações lineares. Após a discussão dos conceitos matemáticos e físicos subjacentes, apresentamos exemplos numéricos ilustrando a evolução do circuito quântico. Por fim, analisamos sua complexidade, limitações e perspectivas futuras. Os exemplos abordados são comparados com suas simulações clássicas, permitindo uma avaliação operacional da performance do algoritmo.
O método de Adomian é usado na solução de equações diferenciais não lineares com resíduo, em áreas das engenharias. Nesse trabalho, usaremos o método para transformar a Equação de Schrödinger não linear em um sistema de equações lineares para, então, estudar a construção de um algoritmo quântico de Adomian. Como método, realizamos uma revisão bibliográfica do método de Adomian e utilizamos Matlab para aplicar o método, no caso de um sistema clássico. Já quanto a versão quântica do método, fizemos uma revisão bibliográfica de algoritmos quânticos e identificamos possibilidades de usos de algoritmos quânticos para equações diferenciais lineares que podem ser utilizados, após a aplicação do método de Adomian. Nesse particular, discutimos abordagens que poderão ser úteis em trabalhos futuros. Resultados os resíduos do método de Adomian são muito variáveis em ordem de grandeza, contudo, em certas condições, o método apresenta soluções muito próximas da solução real. A ideia de algoritmo quântico proposto neste trabalho precisa ser aprofundada em estudos futuros para ser testada de forma apropriada, dependendo do sistema que se queira trabalhar.
A teoria dos algoritmos quânticos promete benefícios sem precedentes ao utilizar as leis da mecânica quântica para resolver certos problemas computacionais. Entretanto, alguns desafios impedem que tais vantagens se apliquem a todos os algoritmos quânticos. Entre esses desafios está o desenvolvimento de uma codificação eficiente de dados clássicos em um estado quântico. Em aplicações práticas, o custo para carregar a informação clássica em um dispositivo quân- tico pode dominar o custo computacional assintótico do algoritmo. Foram propostos diversos métodos baseados em circuitos para codificar dados clássicos nas amplitudes de probabilidade de um estado quântico. Entretanto, esses métodos produzem circuitos com complexidade que cresce linearmente com o tamanho do dado, anulando o benefício da aplicação quântica. O objetivo principal deste trabalho é reduzir a complexidade computacional dos circuitos para a inicialização de estados quânticos. As duas estratégias utilizadas para alcançar tal objetivo exploram a troca de complexidade temporal por espacial ou a transferência de complexidade computacional para um computador clássico. A primeira estratégia reinterpreta métodos al- gébricos para a decomposição de estados quânticos como caminhadas ao longo de árvores binárias. A segunda investiga o grau de emaranhamento de bipartições do estado quântico através da decomposição de Schmidt. Os métodos baseados em árvore alcançam uma redução exponencial na profundidade dos circuitos, em comparação às abordagens existentes. Os base- ados na decomposição de Schmidt produzem circuitos de complexidade variável, proporcional ao emaranhamento do estado. A perspectiva é que o resultado desta tese auxilie os profissionais da computação quântica durante a era dos dispositivos ruidosos de escala intermediária.
Desde a primeira vez que computação quântica foi concetualizada por Feynman, simulação quântica tem estado na vanguarda das possiveis aplicações de interesse. Os custos proibitivos de simular sistemas quânticos com computadores classicos são uma forte motivação para a investigação em computação quântica. Ao longo da última década, tem-se observado um progresso notável no desenvolvimento de hardware quantico. No entanto, os obstáculos entre nos e a era de vantagem quantica util mantem-se essencialmente os mesmos: A informação quântica e fragil, e protegê-la é um desafio. Visto que os dispositivos quânticos atuais são ruidosos e tem um número limitado de qubits, desenvolver algoritmos que possam ser executados neles e uma area de investigação importante. Por resultarem em circuitos de preparação de estado (ansatze) pouco profundos e treinaveis, algoritmos quânticos variacionais (VQAs) adaptativos são uma opção promissora. O primeiro algoritmo nesta classe, o ADAPT-VQE, pode ser utilizado para problemas de estrutura eletronica, otimização combinatoria, materia condensada, sistemas periódicos no tempo, entre outros. Nesta tese, são propostas varias melhorias para VQAs adaptativos, com o objetivo de diminuir os custos e aumentar a viabilidade a curto prazo. Propõe-se um otimizador quasi-Newton para VQAs adaptativos que reduz os custos de medição necessários para implementar estes algoritmos em hardware quântico, bem como o tempo necessario para os simular classicamente. Propõe-se ainda um novo conjunto de operadores — “operatores de intercambio acoplado” (CEOs) — que resulta no menor numero de portas quanticas e na menor profundidade de circuito entre todas as propostas na literatura. Combina-se varios desenvolvimentos-chave e mostra-se uma redução dramatica dos recursos computacionais quânticos necessários em comparação com as primeiras versões do algoritmo ou com ansätze estáticos para VQE. Adicionalmente, propõe-se uma versão codesenhada do ADAPT-VQE (Co-ADAPT-VQE) onde o hardware quântico e tido em consideração na construção do ansatz. Este paradigma pode ser utilizado para otimizar circuitos de preparação de estado em qualquer dispositivo, colmatando limitações como conetividade limitada, tempos de coerencia curtos, e erros nas portas quanticas. Finalmente, propomos estrategia para mitigar “vales de gradientes”, um problema de convergência especifico ao ADAPT-VQE.
Introdução: A computação quântica representa uma mudança fundamental em relação à computação clássica, ao utilizar princípios da mecânica quântica como superposição, emaranhamento e interferência. Desde as propostas iniciais de Feynman e Deutsch, a área tem avançado significativamente, embora ainda enfrente grandes desafios técnicos e conceituais para sua consolidação. Objetivo: analisar os principais desafios envolvidos no desenvolvimento da computação quântica e suas aplicações práticas potenciais, com destaque para os campos da criptografia, otimização, simulação de sistemas físicos e aprendizado de máquina. Metodologia: Consistiu-se na utilização de bases de dados eletrônicas mediante a realização de uma revisão integrativa da literatura e de um estudo descritivo com enfoque qualitativo. Tal processo foi conduzido a partir da seleção de artigos disponíveis na Scientific Electronic Library (SciELO), seguindo critérios de inclusão que priorizaram publicações dos últimos quatro anos, voltadas especificamente para estudos relacionados à computação quântica, com foco em avanços tecnológicos, gargalos técnicos e perspectivas futuras. Resultados e Discussão: Percebeu-se que a computação quântica tem avançado, mas ainda enfrenta desafios significativos. Na simulação de sistemas físicos e químicos, ela pode modelar moléculas complexas com grande precisão, beneficiando áreas como a farmacologia e a engenharia de materiais. Em otimização e logística, a computação quântica pode oferecer soluções mais rápidas para problemas de alocação e roteamento. Já na inteligência artificial, estudos sugerem que técnicas quânticas podem acelerar o processamento de dados e o treinamento de modelos, potencializando o desempenho de sistemas de aprendizado. Considerações: Apesar de ainda estar em estágio experimental, a computação quântica avança rapidamente e apresenta um enorme potencial disruptivo. No entanto, para que isso se concretize, será necessário superar desafios tecnológicos consideráveis por meio da colaboração entre universidades, empresas e governos.
Sistemas de criptografia largamente difundidos como o RSA fundamentam a sua eficiência na suposição de que, em termos práticos, é impossível fatorar números inteiros suficientemente grandes em uma escala de tempo aceitável. Mais precisamente, não existem, até o momento, algoritmos de fatoração em tempo polinomial que possam ser implementados nos atuais computadores. Dentre os algoritmos conhecidos, o mais eficiente requer um tempo computacional de ordem exponencial na quantidade de dígitos binários do número a ser fatorado. Em 1994, baseado nos trabalhos anteriores de Benioff, Bennett, Deutsch, Feynman e Simon, dentre outros, Peter Shor apresentou um algoritmo de fatoração que requer assintoticamente uma quantidade em ordem polinomial de passos em um computador quântico para fatorar um número inteiro de tamanho arbitrário. Esse algoritmo ao invés de abordar o problema de decompor tal número em dois fatores não triviais pelo método direto de divisões sucessivas, utiliza o problema equivalente de encontrar a ordem de um certo inteiro modulo o número fatorado, onde esse inteiro é escolhido aleatoriamente relativamente primo com o número fatorado. Shor faz uso de um algoritmo quântico para calcular essa ordem. A computação quântica revela um paradigma computacional bastante adverso da computação clássica. Enquanto esta última é realizada através de operações binárias determinísticas com base na lógica booleana clássica, a computação quântica fundamenta as suas operações nos postulados que descrevem o comportamento quântico da matéria. Portanto, é probabilística no seu modus operandi. Essa diferença entre os formalismos lógicos da computação clássica e da computação quântica é um reflexo direto da natureza dos sistemas físicos que são utilizados para implementar concretamente cada uma dessas computações. Esta dissertação apresenta o algoritmo de Shor para fatoração em um computador quântico. Na seqüência, introduzimos no capítulo 1 alguns conceitos básicos da computação clássica com o objetivo de criar um ambiente de idéias favorável à apresentação da computação quântica como uma extensão, tão natural quanto possível, do modelo clássico computacional. Assim, no capítulo 2, apresentamos as bases do formalismo matemático que modela a computação quântica, atendo-nos apenas aos aspectos conceituais que são, direta ou indiretamente, aplicados na descrição do algoritmo de Shor. Os capítulos 3 e 4 são dedicados à apresentação do algoritmo de fatoração de Shor, feita em duas partes. A primeira diz respeito a parte não quântica e aborda os aspectos algébricos do algoritmo. Também é demonstrado o teorema que assegura a viabilidade probabilística da solução desse problema. No capítulo 4, apresentamos a parte quântica do algoritmo de Shor. O ponto alto da dissertação é alcançado mostrando-se como encontrar a ordem de um inteiro módulo o número a ser fatorado relativamente primo com este, conciliando o algoritmo quântico com uma interpretação clássica de seus dados de saída, mediante o uso da expansão de um número racional em frações contínuas
Computação quântica é uma área de grande desenvolvimento hoje em dia e isso traz uma necessidade para desenvolver hardware e software. Uma vez que o hardware disponível é muito pouco e o software precisa de ser testado, existe uma necessidade de uma boa plataforma para testar as soluções de software. Simular um computador quântico num computador clássico não é ideal, contudo é uma resposta viável a esta necessidade, para um pequeno número de qubits. Além disso, os computadores quânticos necessitam dos computadores clássicos de forma a criar um sistema real prático, isto apresenta-se como uma excelente oportunidade para testar técnicas de programação clássica para melhorar a programação quântica. Esta tese propõe o uso de programação clássica para melhorar a implementação de um algoritmo de adição modular usando transformadas de Fourier quânticas. Os principais objectivos deste trabalho são: simular um circuito quântico; testar um algoritmo quântico e compará-lo com o seu equivalente clássico; implementar o algoritmo de adição modular, usando as capacidades de aceleração de computação das transformadas de Fourier quânticas e optimizá-lo; Testar e implementar códigos quânticos de correcção de erros; fazer um teste num computador quântico real.De forma a testar a linguagem e comparar um algoritmo quântico com um clássico, fez-se um teste ao algoritmo de Shor que está disponível de raiz na plataforma liquid. Apesar do algoritmo de Shor ter, teoricamente, uma dependência de tipo polinomial com a dimensão do problema, os testes realizados mostraram que o tempo de computação tem um comportamento exponencial. Simular um algoritmo quântico num computador clássico requer tempo de computação que cresce de forma exponencial, pois é necessário armazenar e processar todos os estados do sistema, que é um espaço de Hilbert de dimensão 2^n.O algoritmo de adição modular usando transformadas de Fourier quânticas foi implementado na plataforma liquid. Seguidamente fizeram-se melhorias e optimizações. O número de operações teórico é O(n^2). Contudo, depois de fazer melhorias ao circuito, removendo gates desnecessárias para casos específicos, o número de operações passa a ter um valor mínimo de Omega(n). Com este tipo de alterações o sistema pode apresentar melhorias no que respeito ao tempo de simulação até um factor de ordem 10. Isto mostra que programar um algoritmo quântico tendo em conta casos específicos pode melhorar imenso o desempenho da simulação.Os códigos de correção de erros quânticos foram implementados num circuito simples, com as ferramentas disponíveis na plataforma liquid, e obteve-se um sistema que consegue lidar com erros com probabilidade inferior ou igual a 2%, com uma taxa de sucesso na sua correção de 95%. Contudo são necessários circuitos muito grandes, pouco exequíveis.A plataforma disponibilizada pela IBM para fazer testes num computador quântico real, foi utilizada para testar o algoritmo de adição modular e adição normal (com carry bit). Uma vez que esta plataforma tem um número limitado de gates, reforça a ideia de que se deve otimizar os algoritmos tendo em conta casos particulares. Os resultados destes testes mostram também que é importante utilizar correcção de erros quânticos, mas para que isso seja viável é necessário que haja mais qubits disponíveis ou outro tipo de códigos.