Neste trabalho discutimos a implementacao de processadores quânticos usando
armadilhas de ions. Apresentamos os principios basicos da computacao quântica,
destacando a diferenca entre bits classicos e qubits, bem como as operacoes realizadas
sobre estes pelas portas logicas quânticas. Discutimos as principais caracteristicas das
armadilhas de ions, dando enfase as armadilhas lineares. Mostramos como as portas
quânticas podem ser implementadas usando o sistema de ions confinados
eletromagneticamente. Apresentamos os resultados da simulacao numerica de uma
armadilha de ions linear do tipo Paul, realizada com o software COMSOL
Multiphysics®, tendo como resultado o confinamento de um ion de 40 Ca+ cujo
movimento apresentou as caracteristicas esperadas, estando de acordo com o que e
previsto teoricamente.
Neste trabalho discutimos a implementacao de processadores quânticos usando
armadilhas de ions. Apresentamos os principios basicos da computacao quântica,
destacando a diferenca entre bits classicos e qubits, bem como as operacoes realizadas
sobre estes pelas portas logicas quânticas. Discutimos as principais caracteristicas das
armadilhas de ions, dando enfase as armadilhas lineares. Mostramos como as portas
quânticas podem ser implementadas usando o sistema de ions confinados
eletromagneticamente. Apresentamos os resultados da simulacao numerica de uma
armadilha de ions linear do tipo Paul, realizada com o software COMSOL
Multiphysics®, tendo como resultado o confinamento de um ion de 40 Ca+ cujo
movimento apresentou as caracteristicas esperadas, estando de acordo com o que e
previsto teoricamente.
Neste artigo descrevemos uma das plataformas mais promissoras para a construção de um computador quântico universal, que consiste em uma cadeia de N íons aprisionados em um potencial harmônico, cujos estados internos funcionam como qubits e são acoplados a modos vibracionais coletivos da cadeia. A partir de tal acoplamento, é possível construir interações entre diferentes íons, isto é, interações qubit-qubit que, juntamente com operações individuais sobre os íons, permitem construir um computador quântico como primeiramente proposto por Cirac e Zoller na década de 90 [Phys. Rev. Lett. 74, 4091 (1995)]. Aqui discutimos desde a física envolvida no aprisionamento de íons em armadilhas eletromagnéticas até a engenharia de hamiltonianos necessária para gerar um conjunto universal de portas lógicas, fundamental para a execução de algoritmos quânticos mais complexos. Por último, apresentamos o atual estado da arte da computação quântica em sistemas de íons aprisionados, destacando os recentes avanços obtidos por empresas e projetos governamentais que utilizam tal arquitetura, como IonQ e AQTION.
A Computacao Quântica surgiu como uma promissora tecnologia alternativa capaz de contornar os problemas previstos para acontecerem em breve com a saturacao da tecnologia atual (Computacao Classica). Estes problemas acontecem quando se trabalha com componentes muito pequenos, da ordem de poucos nanometros, quando os efeitos da Mecânica Quântica comecam a tornar-se mais fortes, gerando resultados aleatorios. A Computacao Quântica toma proveito desses efeitos, resultando numa Computacao nao somente mais rapida, como um novo tipo de Computacao, capaz de realizar tipos novos de computacao impossiveis, em principio, de serem realizadas classicamente. Embora a teoria da Computacao Quântica venha se desenvolvendo com rapidez, a parte experimental ainda enfrenta grandes dificuldades. Embora implementacoes de algoritmos simples e com poucos qubits ja tenham sido realizadas, ainda ha problemas serios de escalabilidade, descoerencia e controlabilidade a serem resolvidos. Devido a esses problemas, torna-se imperativo o uso de simuladores tanto para o desenvolvimento de novos algoritmos quanto para o estudo dos algoritmos existentes. A simulacao, porem, apresenta um problema, no que um sistema quântico so pode ser simulado eficientemente por outro sistema quântico. Um sistema quântico de n qubits levara um tempo O(2n ) para ser simulado por um computador classico. A simulacao, entretanto, mostra-se a alternativa mais viavel em vista da falta de um hardware quântico. Este trabalho apresenta o processo de concepcao e implementacao de um simulador universal de circuitos quânticos, denominado Zeno. O modelo de circuitos quânticos foi escolhido por ser amplamente difundido e de facil assimilacao. O trabalho apresenta uma introducao aos conceitos de Computacao Quântica usados na implementacao do simulador, os requisitos gerais desejaveis para um novo simulador de circuitos quânticos, tanto do ponto de vista funcional quanto do nao-funcional, o processo de desenvolvimento utilizado e uma analise dos resultados obtidos com a implementacao do simulador.
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.
Nesta dissertação, tratamos da computação quântica em variáveis contínuas empregando a armadilha de íons como plataforma física. A proposta central deste trabalho consiste na sistematização de uma toolbox com portas lógicas gaussianas a partir da manipulação coerente dos modos de vibração de um íon aprisionado. Através da irradiação de feixes de lasers clássicos monocromáticos e bicromáticos em um íon confinado, propomos portas lógicas gaussianas análogas às operações de ótica linear e não linear. Relacionamos essas portas lógicas a operações já bem conhecidas do caso discreto, tais como transformada de Fourier, gates CNOT e CPHASE. A execução de cada uma dessas operações lógicas é selecionada pela frequência do laser de interação e pelo parâmetro de Lamb-Dicke. Reunindo todas as operações obtidas, gaussianas e não gaussianas, mostramos ser possível com nosso sistema simular hamiltonianas descritas por um polinômio em cada coordenada do espaço de fase, permitindo com isso a realização de dinâmicas hamiltonianas polinomiais nesse espaço.
A Computação Quântica (CQ) [7] segue atingindo novos marcos rumo à construção de computadores quânticos. Apesar de todos os esforços, vários desafios técnicos limitam os sistemas atuais a alguns bits quânticos [10]. Pela indisponibilidade de hardware quântico, o estudo e desenvolvimento de aplicações na CQ usualmente é feito estritamente pela especificação matemática das computações ou por meio de ferramentas de simulação. Este último caracteriza a abordagem mais prática, entretanto a complexidade computacional associada a simulação de sistemas quânticos a partir de computadores clássicos limita o tamanho dos sistemas a serem simulados. O projeto no qual este trabalho está inserido busca consolidar a integração de vários esforços de pesquisa, com destaque para: (i) Distribuição das computações em cluster [2]; (ii)Simulação quântica através de GPUs [5]; (iii) Simulação quântica através de CPUs multicore. Atualmente situado sob o contexto do ambiente de simulação quântica VPE-qGM (Visual Programming Environment for the Quantum Geometric Machine Model), este trabalho tem o objetivo de estabelecer o suporte à aceleração da biblioteca de execução do ambiente através de processadores multicore, beneficiando-se dos recursos providos pela biblioteca OpenMP [3]. Consolida-se assim a biblioteca qGMC-Analyzer, com a implementação, desenvolvimento e validação de algoritmo para simulação quântica em arquiteturas multicore, cuja modelagem foi introduzida em [9]. O ambiente VPE-qGM, fundamentado no modelo de processos qGM (Quantum Geometric Machine Model) [8], é constitúıdo de construtores para modelagem e simulação gráfica de aplicações quânticas. De acordo com o modelo qGM, a noção de portas quânticas pode ser substitúıda pelo conceito de sincronização de processos elementares (PEs). No ambiente VPE-qGM, o PE é um elemento estruturado por três atributos: (i) Ação: Corresponde às transformações quânticas aplicadas a diferentes qubits em um mesmo instante de tempo; (ii) Parâmetros: Contém dados auxiliares associados à definição das transformações quânticas; (iii) Posição: Posição de escrita em um espaço de memória global e compartilhada, na qual é armazenado o resultado calculado pelo PE. Neste contexto, uma transformação quântica, aplicada a N qubits, pode ser modelada pela sincronização de 2N PEs, cujas parametrizações satisfazem as condições equivalentes à definição dos vetores componentes da matriz (transformação unitária ou de medida) associada [6]. Bolsista de Iniciação Científica PIBIC/CNPq †Bolsista de PROBIC/FAPERGS Assim, durante a simulação, ocorre a execução (sequencial ou síncrona) dos PEs, os quais têm suas correspondentes computações efetuadas pela biblioteca qGM-Analyzer, manipulando os dados presentes nas posições de memória e simulando o comportamento de um sistema quântico. A biblioteca de execução dos PEs, denominada qGM-Analyzer, implementa otimizações que controlam o aumento exponencial dos vetores componentes das matrizes de definição do operador de múltiplos qubits, conforme introduzido em [4]. Os resultados relacionados comprovam a redução no consumo de memória durante a simulação, suportando algoritmos com 11 qubits. Entretanto, o tempo total de simulação obtido permanece elevado, devido a quantidade de operações necessárias para simular uma transformação quântica. A implementação da biblioteca qGM-Analyzer em C segue as otimizações introduzidas em [4], apenas alterando as estruturas de dados utilizados e fazendo uso de recursos nativos oferecidos pela linguagem visando a otimização da execução. Visando a compatibilidade da biblioteca com o ambiente VPE-qGM, é considerada a biblioteca Boost 1.49.0 [1] para integração das duas linguagens envolvidas. Para a implementação do paralelismo foi utilizada A biblioteca OpenMP [3] implementa o paralelismo. O módulo Boost-Python auxiliou no desenvolvimento da biblioteca qGMC-Analyzer permitindo que sejam reutilizados no código C tipos do Python, como as listas de valores utilizadas no ambiente VPE-qGM, e ainda realizando a conversão destes tipos para tipos da linguagem C. Outra funcionalidade utilizada do módulo Boost-Python foi a geração da biblioteca compartilhada importada pelo ambiente em Python. A implementação em C manteve o mesmo algoritmo desenvolvido em [4], porém a forma de armazenamento dos dados e os algoritmos para acesso a esses dados foram modificados para diminuir a complexidade da biblioteca. Dentre os fatores que contribúıram para um melhor desempenho, destacam-se a utilização de vetores como alternativa as listas do Python e o fato de a linguagem C ser compilada, permitindo ao compilador otimizações no código gerado. Na implementação paralela, cada thread possui uma cópia privada da pilha, e as memórias de escrita e leitura são compartilhadas entre todos os threads, pois cada valor calculado é escrito em uma posição diferente da memória. A divisão dos threads é feita de forma a manter juntos os valores das matrizes necessários para o cálculo de uma posição. Para tal, iterações são divididas levando em conta o número de colunas da primeira matriz envolvida na transformação. Nos casos em que a transformação possui apenas uma matriz, os threads são divididos de forma diferente, para que o trabalho seja distribúıdo de forma balanceada. A definição do número de threads utilizadas pela biblioteca é definida por uma variável de ambiente (OMP NUM THREADS ), gerando uma implementação mais flexível. Ou seja, dependendo da transformação quântica, tem-se um controle da granulosidade visando melhor desempenho da biblioteca. Para validação e análise de desempenho da implementação da qGM-Analyzer em C, foram desenvolvidos estudos de caso envolvendo sincronizações arbitrárias de transformações quânticas, contemplando sistemas entre 13 e 20 qubits. A metodologia dos testes utilizada contempla, para cada estudo de caso, a realização de 15 simulações. A máquina utilizada na simulação possui as seguintes características: processador Intel Core i7-3770 @ 3.4 GHz, 8GB RAM e sistema operacional Ubuntu 12.04 64 bits. A principal comparação de desempenho se dá com a execução da biblioteca em diferentes números de threads. Os testes foram realizados com transformações Hadamards, representada por uma matriz densa de ordem 2n, onde n é o número de qubits e transformações Pauli X, uma matriz esparsa de ordem 2n. Estas execuções compreenderam duas etapas: (i) Geração dos valores não nulos associados ao correspondente vetor componente da matriz de definição da transformação quântica modelada; (ii) Multiplicação desses valores pelas amplitudes obtidas da estrutura de memória que modela o espaço de estados do sistema quântico. Nas simulações das Hadamards, devido ao elevado número de operações, pode-se facilmente observar um desempenho elevado, ou seja, o aumento no número de qubits diretamente relacionado com a diminuição significativa do tempo de execução. Nas transformações controladas Pauli X houve um aumento no tempo de execução. Justifica-se este fato pelo baixo número de operações enFigura 1: Tempos das transformações Hadamard e Pauli X em relação ao número de threads. volvidas. Sendo a Pauli X uma matriz esparsa, seus valores zerados não são computados pelo algoritmo otimizado, tornando o overhead da criação e troca de contexto dos threads o principal custo da transformação, como observado no decremento de desempenho da Figura da Pauli X. Os tempos de simulação, em cada estudo de caso, abrangendo os casos para 1, 2, 4 e 8 threads são descritos na Figura 1. Como analisado, os tempos de execução para as transformações Hadamards obtiveram os melhores desempenhos. As transformações Pauli X tiveram o seu tempo de execução aumentando conforme aumentava o número de threads, pois envolvem poucos cálculos, e seu tempo é dominado pela criação e troca de contexto dos threads. As otimizações realizadas e a implementação paralela representaram um ganho significativo no tempo de execução das transformações quânticas, permitindo a simulação de transformações de 18 qubits com elevado número de operações, como no caso das Hadamards. A continuidade do trabalho consiste na integração da biblioteca qGMC-Analyzer com o ambiente VPE-qGM além da expansão para suporte a transformações multiqubits e na implementação de aplicações em outras bibliotecas disponíveis, para comparação de desempenho entre diferentes ferramentas para suporte a simulação quântica.
A presente tese e dedicada a utilizacao de conhecidos sistemas quânticos em aplicacoes de interesse em optica e informacao quântica. Motivados pelos recentes avancos experimentais em sistemas formados por ions aprisionados interagindo com lasers e na eletrodinâmica quântica de cavidades, nos focamos grande parte de nossas propostas nestes sistemas. Mais especificamente, nos estudamos a interacao de ions e campos quantizados na chamada eletrodinâmica quântica de cavidades com ions aprisionados. Neste contexto, iniciamos nossos trabalhos com uma proposta de geracao de superposicoes mesoscopicas no movimento do ion. Uma vez que tais superposicoes sao muito sensiveis a decoerencia, incluimos perdas na cavidade para tratar uma situacao mais realista. Atraves da observacao de quantum jumps, ou foton-contagens fora da cavidade, mostramos um esquema de geracao de estados com caracteristicas quânticas muito similares aos encontrados no caso da cavidade ideal, sem perdas. Neste aspecto, encontramos um modo de usar a dissipacao a nosso favor, fato de grande interesse experimental devido as imperfeicoes dos espelhos reais. Apresentamos tambem uma proposta de implementacao de uma interacao do tipo Kerr em ions como uma alternativa ao uso de cristais nao-lineares que apresentam baixissima eficiencia para esse tipo de efeito. Essa proposta abre novas possibilidades para o uso de ions em medidas nao demolidoras e computacao quântica. Nossos estudos na area de eletrodinâmica quântica com ions aprisionados terminam com a analise dos efeitos do movimento do ion na dinâmica das transicoes multi-fotonicas. Esse e um estudo mais fundamental e esta relacionado com o entendimento da interacao da radiacao com a materia. Na ultima parte desta tese sao apresentados resultados sobre o uso de sistemas de muitos corpos para a distribuicao de informacao quântica. O objetivo de se estudar estes sistemas mais complexos e a busca de implementacao de protocolos quânticos em larga escala. Neste sentido, poderiamos pensar numa cadeia de osciladores harmonicos acoplados como ocorre em sistemas tipicos da fisica da materia condensada. Em particular, nos estudamos como aumentar a eficiencia na transmissao de emaranhamento nestas cadeias. Propusemos um esquema que funciona como um tipo de quantum data bus, ou onibus quântico para transportar e distribuir emaranhamento com alta eficiencia
Abstract