Challenges
Datasets
Workspaces
Papers
Discussions
Leaderboard
Log inSign up
Challenges
Datasets
Workspaces
Papers
Discussions
Leaderboard
Blog
Job Board
Q3AS

© 2026 Aqora Quantum S.A.S.

TermsPrivacyLegal Notice

TEMA (São Carlos)

Interpretações do Interferômetro de Mach-Zehnder no Modelo qMG

Rafael Amaral, Renata Reiser, A.C.R. Costa

Published Aug 11, 2009• 0 citations
Publisher

Abstract

Este trabalho analisa as interpretações de algoritmos quânticos no modelo qGM (Quantum Geometric Machine Model ), para compreensão da construção da informação durante o processo de evolução dos sistemas quânticos. A estrutura ordenada do modelo qGM mostra-se capaz de interpretar a construção dos processos e dos estados quânticos baseada na concepção de objetos parciais, considerando a relação de inclusão como a ordem de informação. O trabalho apresenta estudo de caso, onde a interpretação de objetos parciais possibilita uma descrição contextualizada para o Interferômetro de Mach-Zenhder, relacionado com o fenômeno da interferência. Verifica-se que esta interpretação não pode ser obtida fora do esquema conceitual da Teoria dos Domínios.

DOI
10.5540/tema.2009.010.02.0111

Related papers

THE QGM MODEL APPLICATIONS ON THE INTERPRETATION OF QUANTUM ALGORITHMS

Rafael Amaral

No desenvolvimento de novas tecnologias de informac¸ ao, salienta-se a relev ancia da pesquisa direcionada ao conhecimento e a aplicac¸ ao da computac¸ ao qu antica, contribuindo para compreens ao de quest oes importantes de pesquisa como o fen omeno da interfer encia e o paralelismo qu antico associado `as transformac¸ oes unit´arias. Com o objetivo de colaborar com estas ´areas de pesquisa, este trabalho analisa as interpretac¸ oes de algoritmos qu anticos no modelo qGM (Quantum Geometric Machine Model), para compreens ao da construc¸ ao da informac¸ ao durante o processo de evoluc¸ ao dos sistemas qu anticos. A estrutura ordenada do modelo qGM mostra-se capaz de interpretar a construc¸ ao dos processos e dos estados qu anticos baseada na concepc¸ ao de objetos parciais, considerando a relac¸ ao de inclus ao como a ordem de informac¸ ao. O trabalho apresenta quatro estudos de casos, onde a interpretac¸ ao de objetos parciais possibilita uma descric¸ ao contextualizada para os algoritmos qu anticos relacionado com o fen omeno da interfer encia e no paralelismo qu antico: (i) o Interfer ometro de Mach-Zenhder relacionado com o fen omeno da interfer encia; (ii) operador controlado ¯C NOT (iii) o algoritmo de Deutsch; e (iv) o algoritmo de Grover. Mostrar-se que esta interpretac¸ ao n ao pode ser obtida fora do esquema conceitual da Teoria dos Dom´ınios .

•Feb 18, 2009•0 citations

Abordagem Paralela para Simulação Quântica no Modelo de Máquina Geométrica Quântica

Murilo Schmalfuss, Anderson Ávila, Renata Reiser +1 more

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.

Proceeding Series of the Brazilian Society of Computational and Applied Mathematics•Dec 11, 2014•0 citations

Interpretando o algoritmo de Deutsch no interferômetro de Mach-Zehnder

Gustavo Eulalio M. Cabral, Aércio Ferreira de Lima, Bernardo Lula

A Computação Quântica é uma área de pesquisa relativamente recente, que vem sendo desenvolvida nos últimos 20 anos, e que faz uso dos fundamentos da Ciência da Computação e da Física Quântica. Dois são os fenômenos quânticos em que se baseia a Computação Quântica: superposição e interferência. Neste trabalho, destacaremos o papel da interferência na solução do problema proposto por Deutsch, o qual consiste em saber se uma dada função é constante ou balanceada, calculando a função apenas uma vez. Figurativamente, isto equivale a saber se uma moeda é honesta ou viciada (duas faces iguais) olhando-a uma única vez. A solução de Deutsch (algoritmo) é, com freqüência, explicada de forma abstrata e com auxílio de circuitos. Contudo, embora eficiente para expressar a "lógica'' e facilitar o desenvolvimento de algoritmos quânticos, esta abordagem não deixa transparecer e facilmente apreender os fenômenos físicos subjacentes. Neste trabalho mostramos didaticamente como o interferômetro de Mach-Zehnder implementa o algoritmo de Deutsch, destacando desta forma a importância da interferência na realização de algoritmos quânticos.

Revista Brasileira de Ensino de Física•Jan 1, 2004•3 citations

Interpretações da mecânica quântica em um interferômetro virtual de Mach-Zehnder

Fernanda Ostermann, Sandra D. Prado

Neste trabalho analisamos o fenômeno da interferência quântica no interferômetro de Mach Zehnder - um arranjo experimental análogo ao experimento das duas fendas, porém mais simples - sob a luz das principais escolas de interpretação da mecânica quântica. Embora fortemente inspirados pelo trabalho de Pessoa Jr. [1]-[3], damos especial ênfase à Interpretação dos Muitos Mundos ou Universos Paralelos, que experimenta um crescente interesse tanto por parte da comunidade científica quanto de leigos. A Interpretação dos Muitos Mundos é uma corrente da mecânica quântica para a qual, além do mundo do qual somos conscientes, há muitos outros mundos similares que existem em paralelo no espaço e ao mesmo tempo. A existência destes outros mundos torna possível a remoção da aleatoriedade e da ação à distância da teoria quântica. Uma introdução básica de uma interpretação que tem estado presente nos meios de comunicação é uma importante contribuição para a formação inicial e continuada de professores de Física, principalmente quando se busca uma discussão mais conceitual sobre o tema.

Revista Brasileira de Ensino de Física•Jun 1, 2005•16 citations

Simulação quântica em arquiteturas multicore via biblioteca qgmc-analyzer

Murilo Schmalfuss, Anderson Ávila, Renata Reiser +1 more

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 [5]. O ambiente VPE-qGM, fundamentado no modelo de processos qGM (Quantum Geometric Machine Model) [4], é constituı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 substituı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 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. 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 [1]. 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 [1], apenas alterando as estruturas de dados utilizados e fazendo uso de recursos nativos oferecidos pela linguagem visando a otimização da execução. Para a implementação do paralelismo foi utilizada a biblioteca OpenMP [3]. 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. As 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 distribuıdo de forma Bolsista de Iniciação Cientıfica PIBIC/CNPq †Bolsista de PROBIC/FAPERGS 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, foram desenvolvidos estudos de caso de transformações quânticas Hadamard e Pauli X [2], contemplando sistemas entre 13 e 20 qubits. Para cada estudo de caso foram realizadas 15 simulações. A máquina utilizada nas simulações possui as seguintes caracterısticas principais: processador Intel Core i7-3770 @ 3.4 GHz com Hyper-Threading abilitado e Turbo Boost desabilitado, 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. Podemos observar o speedup das simulações em relação a um thread na Figura 1: Speedup das transformações Hadamard e Pauli X em relação a um thread. Figura 1. Nas simulações das Hadamards, observa-se que para as configurações de 2 e 4 threads, o speedup aproxima-se do ideal conforme aumenta-se o número de qubits. Para 8 threads o desempenho não segue o mesmo padrão, justificado pelo uso do hyper-threading. Nas transformações controladas Pauli X o speedup diminui conforme aumenta-se o número de threads. Justifica-se este fato pelo baixo número de operações envolvidas. 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. 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.

Proceeding Series of the Brazilian Society of Computational and Applied Mathematics•Aug 25, 2015•0 citations

O tratamento clássico do interferômetro de Mach-Zehnder: uma releitura mais moderna do experimento da fenda dupla na introdução da física quântica

Trieste dos Santos Freire Ricci, Fernanda Ostermann, Sandra D. Prado

Neste trabalho, analisamos detalhadamente o fenômeno ondulatório da luz em um interferômetro de Mach-Zehnder (IMZ) operando em regime clássico. Um dos principais objetivos do trabalho é dar suporte a futuras transposições para o IMZ em regime quântico. O IMZ é um arranjo experimental que apresenta uma releitura, mais moderna em termos tecnológicos, do experimento das duas fendas de Young [1] e tem sido extensivamente explorado em artigos da área de computação quântica e criptografia quântica [2] - áreas que se alicerçam nos fenômenos de superposição e de interferência quânticas - e em artigos de ensino de física para disciplinas introdutórias de física quântica (FQ) - área que propõe naturalmente uma reflexão sobre o problema conceitual da escolha dos caminhos pelo fóton [3-10]. Os resultados analíticos aqui apresentados foram utilizados na elaboração de um software educacional que simula a interferência nos regimes clássico e quântico e que está em plena utilização em cursos introdutórios de FQ no IF-UFRGS.

Revista Brasileira de Ensino de Física•Jan 1, 2007•7 citations
Este trabalho analisa as interpretações de algoritmos quânticos no modelo qGM (Quantum Geometric Machine Model ), para compreensão da construção da informação durante o processo de evolução dos sistemas quânticos. A estrutura ordenada do modelo qGM mostra-se capaz de interpretar a construção dos processos e dos estados quânticos baseada na concepção de objetos parciais, considerando a relação de inclusão como a ordem de informação. O trabalho apresenta estudo de caso, onde a interpretação de objetos parciais possibilita uma descrição contextualizada para o Interferômetro de Mach-Zenhder, relacionado com o fenômeno da interferência. Verifica-se que esta interpretação não pode ser obtida fora do esquema conceitual da Teoria dos Domínios.
No desenvolvimento de novas tecnologias de informac¸ ao, salienta-se a relev ancia da pesquisa direcionada ao conhecimento e a aplicac¸ ao da computac¸ ao qu antica, contribuindo para compreens ao de quest oes importantes de pesquisa como o fen omeno da interfer encia e o paralelismo qu antico associado `as transformac¸ oes unit´arias. Com o objetivo de colaborar com estas ´areas de pesquisa, este trabalho analisa as interpretac¸ oes de algoritmos qu anticos no modelo qGM (Quantum Geometric Machine Model), para compreens ao da construc¸ ao da informac¸ ao durante o processo de evoluc¸ ao dos sistemas qu anticos. A estrutura ordenada do modelo qGM mostra-se capaz de interpretar a construc¸ ao dos processos e dos estados qu anticos baseada na concepc¸ ao de objetos parciais, considerando a relac¸ ao de inclus ao como a ordem de informac¸ ao. O trabalho apresenta quatro estudos de casos, onde a interpretac¸ ao de objetos parciais possibilita uma descric¸ ao contextualizada para os algoritmos qu anticos relacionado com o fen omeno da interfer encia e no paralelismo qu antico: (i) o Interfer ometro de Mach-Zenhder relacionado com o fen omeno da interfer encia; (ii) operador controlado ¯C NOT (iii) o algoritmo de Deutsch; e (iv) o algoritmo de Grover. Mostrar-se que esta interpretac¸ ao n ao pode ser obtida fora do esquema conceitual da Teoria dos Dom´ınios .
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 Computação Quântica é uma área de pesquisa relativamente recente, que vem sendo desenvolvida nos últimos 20 anos, e que faz uso dos fundamentos da Ciência da Computação e da Física Quântica. Dois são os fenômenos quânticos em que se baseia a Computação Quântica: superposição e interferência. Neste trabalho, destacaremos o papel da interferência na solução do problema proposto por Deutsch, o qual consiste em saber se uma dada função é constante ou balanceada, calculando a função apenas uma vez. Figurativamente, isto equivale a saber se uma moeda é honesta ou viciada (duas faces iguais) olhando-a uma única vez. A solução de Deutsch (algoritmo) é, com freqüência, explicada de forma abstrata e com auxílio de circuitos. Contudo, embora eficiente para expressar a "lógica'' e facilitar o desenvolvimento de algoritmos quânticos, esta abordagem não deixa transparecer e facilmente apreender os fenômenos físicos subjacentes. Neste trabalho mostramos didaticamente como o interferômetro de Mach-Zehnder implementa o algoritmo de Deutsch, destacando desta forma a importância da interferência na realização de algoritmos quânticos.
Neste trabalho analisamos o fenômeno da interferência quântica no interferômetro de Mach Zehnder - um arranjo experimental análogo ao experimento das duas fendas, porém mais simples - sob a luz das principais escolas de interpretação da mecânica quântica. Embora fortemente inspirados pelo trabalho de Pessoa Jr. [1]-[3], damos especial ênfase à Interpretação dos Muitos Mundos ou Universos Paralelos, que experimenta um crescente interesse tanto por parte da comunidade científica quanto de leigos. A Interpretação dos Muitos Mundos é uma corrente da mecânica quântica para a qual, além do mundo do qual somos conscientes, há muitos outros mundos similares que existem em paralelo no espaço e ao mesmo tempo. A existência destes outros mundos torna possível a remoção da aleatoriedade e da ação à distância da teoria quântica. Uma introdução básica de uma interpretação que tem estado presente nos meios de comunicação é uma importante contribuição para a formação inicial e continuada de professores de Física, principalmente quando se busca uma discussão mais conceitual sobre o tema.
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 [5]. O ambiente VPE-qGM, fundamentado no modelo de processos qGM (Quantum Geometric Machine Model) [4], é constituı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 substituı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 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. 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 [1]. 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 [1], apenas alterando as estruturas de dados utilizados e fazendo uso de recursos nativos oferecidos pela linguagem visando a otimização da execução. Para a implementação do paralelismo foi utilizada a biblioteca OpenMP [3]. 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. As 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 distribuıdo de forma Bolsista de Iniciação Cientıfica PIBIC/CNPq †Bolsista de PROBIC/FAPERGS 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, foram desenvolvidos estudos de caso de transformações quânticas Hadamard e Pauli X [2], contemplando sistemas entre 13 e 20 qubits. Para cada estudo de caso foram realizadas 15 simulações. A máquina utilizada nas simulações possui as seguintes caracterısticas principais: processador Intel Core i7-3770 @ 3.4 GHz com Hyper-Threading abilitado e Turbo Boost desabilitado, 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. Podemos observar o speedup das simulações em relação a um thread na Figura 1: Speedup das transformações Hadamard e Pauli X em relação a um thread. Figura 1. Nas simulações das Hadamards, observa-se que para as configurações de 2 e 4 threads, o speedup aproxima-se do ideal conforme aumenta-se o número de qubits. Para 8 threads o desempenho não segue o mesmo padrão, justificado pelo uso do hyper-threading. Nas transformações controladas Pauli X o speedup diminui conforme aumenta-se o número de threads. Justifica-se este fato pelo baixo número de operações envolvidas. 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. 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.
Neste trabalho, analisamos detalhadamente o fenômeno ondulatório da luz em um interferômetro de Mach-Zehnder (IMZ) operando em regime clássico. Um dos principais objetivos do trabalho é dar suporte a futuras transposições para o IMZ em regime quântico. O IMZ é um arranjo experimental que apresenta uma releitura, mais moderna em termos tecnológicos, do experimento das duas fendas de Young [1] e tem sido extensivamente explorado em artigos da área de computação quântica e criptografia quântica [2] - áreas que se alicerçam nos fenômenos de superposição e de interferência quânticas - e em artigos de ensino de física para disciplinas introdutórias de física quântica (FQ) - área que propõe naturalmente uma reflexão sobre o problema conceitual da escolha dos caminhos pelo fóton [3-10]. Os resultados analíticos aqui apresentados foram utilizados na elaboração de um software educacional que simula a interferência nos regimes clássico e quântico e que está em plena utilização em cursos introdutórios de FQ no IF-UFRGS.