Path: blob/main/translations/pt/intro/describing-quantum-computers.ipynb
3860 views
Descrevendo computadores quânticos
Este capítulo apresentará os diferentes objetos matemáticos e notações que usaremos para descrever computadores quânticos. Símbolos, equações e vocabulário especializado nos permitem comunicar e trabalhar com matemática de uma forma muito concisa, são ferramentas incrivelmente poderosas, mas também têm um custo; elas são difíceis de entender se você não sabe o que todos os símbolos significam, e isso pode alienar as pessoas. Para combater isso, neste livro, as equações são interativas. Você pode mover o mouse sobre os símbolos para ver o que eles significam. Também vamos espalhar lentamente algumas palavras esotéricas para que você possa começar a falar a linguagem da matemática e da computação quântica, e você pode ver explicações dessas palavras movendo o mouse sobre essas palavras também.
Amplitudes
Uma probabilidade clássica é frequentemente representada por um número real entre 0 e 1, mas as amplitudes também têm uma direção. Um candidato natural para representar uma amplitude é um número complexo , pois um número complexo também pode ser completamente descrito tanto por uma magnitude quanto por uma direção, mas neste curso só trabalharemos com amplitudes que podem apontar em duas direções (por exemplo, esquerda e direita ) e não vamos nos preocupar com mais nada.
Isso torna a matemática muito mais simples, pois agora podemos descrever qualquer amplitude como um número entre -1 e +1; se o número for positivo, a amplitude está voltada para frente e, se for negativa, está voltada para trás. Acontece que isso é suficiente para fazer coisas interessantes!
Questionário rápido
Qual destas é uma amplitude válida, mas não uma probabilidade válida?
Vetores de estado
Vimos na última página que podemos prever o comportamento de um sistema quântico observando as amplitudes de probabilidade para cada resultado em cada ponto de nossa computação. Também vimos que, para n qubits, existem resultados possíveis, e podemos armazenar essas amplitudes em listas de comprimento que chamamos de vetores. Como esses vetores descrevem o estado de nossos qubits, nós os chamamos de “vetores de estado”.
Aqui está um exemplo de um vetor de estado para um computador quântico com dois qubits:
ParseError: KaTeX parse error: Undefined control sequence: \class at position 1: \̲c̲l̲a̲s̲s̲{x-ket}{|x\rang…Passe algum tempo lendo as dicas sobre a equação acima e, em seguida, responda às perguntas abaixo.
Questionário rápido
No vetor de estado acima, qual é a amplitude do resultado '01'?
Se o vetor de estado acima descrevesse o estado de alguns qubits, qual seria a probabilidade de medir '00'?
Somando e multiplicando vetores
Se você estudar outras áreas da matemática, descobrirá que muitas coisas podem ser consideradas vetores. Introduzimos vetores como 'listas de números', porque é assim que os consideraremos neste livro e no Qiskit. Mas o que separa um vetor de qualquer lista de números é que os matemáticos decidiram algumas regras bem definidas para somar dois vetores e para multiplicar vetores por escalares .
Multiplicando vetores por escalares
Por exemplo, aqui está um vetor multiplicado por um escalar:
ParseError: KaTeX parse error: Undefined control sequence: \cssId at position 1: \̲c̲s̲s̲I̲d̲{_number-three}…Podemos ver que cada elemento do vetor foi multiplicado por 3. A regra mais geral para um vetor com elementos é:
ParseError: KaTeX parse error: Undefined control sequence: \class at position 1: \̲c̲l̲a̲s̲s̲{scalar}{s} \be…Então, poderíamos ter escrito o vetor de estado que definimos acima mais claramente assim:
ParseError: KaTeX parse error: Undefined control sequence: \class at position 1: \̲c̲l̲a̲s̲s̲{x-ket}{|x\rang…Somando dois vetores
A segunda regra é para somar dois vetores. Isso só é definido quando os dois vetores têm o mesmo número de elementos, e dá um novo vetor com o mesmo número de elementos. Aqui está a regra geral:
ParseError: KaTeX parse error: Undefined control sequence: \class at position 17: …begin{bmatrix} \̲c̲l̲a̲s̲s̲{_vec-el-0}{a_0…Isso significa que podemos adicionar e subtrair vetores para criar novos vetores. Por exemplo, se definirmos os vetores e assim:
ParseError: KaTeX parse error: Undefined control sequence: \class at position 1: \̲c̲l̲a̲s̲s̲{def-00}{|00\ra…Podemos escrever ParseError: KaTeX parse error: Undefined control sequence: \class at position 1: \̲c̲l̲a̲s̲s̲{x-ket}{|x\rang… na forma:
ParseError: KaTeX parse error: Undefined control sequence: \class at position 1: \̲c̲l̲a̲s̲s̲{x-ket}{|x\rang…Chamamos a adição de estados quânticos como estes de “superposição”, então podemos dizer “ é uma superposição dos estados e .” Na verdade, é convenção na computação quântica definir os estados de base computacional assim:
ParseError: KaTeX parse error: Undefined control sequence: \class at position 1: \̲c̲l̲a̲s̲s̲{def-00}{|00\ra…E podemos escrever qualquer estado quântico como uma superposição desses vetores de estado, se multiplicarmos cada vetor pelo número correto e os somarmos:
ParseError: KaTeX parse error: Undefined control sequence: \cssId at position 1: \̲c̲s̲s̲I̲d̲{_psi-ket}{|\ps…Como podemos escrever qualquer vetor como uma combinação desses quatro vetores, dizemos que esses quatro vetores formam uma base, que chamaremos de base computacional . A base computacional não é a única base. Para qubits únicos, uma base popular é formada pelos vetores ParseError: KaTeX parse error: Undefined control sequence: \class at position 1: \̲c̲l̲a̲s̲s̲{plus-ket}{|{+}… e ParseError: KaTeX parse error: Undefined control sequence: \class at position 1: \̲c̲l̲a̲s̲s̲{minus-ket}{|{-…:
Tente você mesmo
Encontre valores para , , e de forma que estas equações sejam verdadeiras:
Quantos vetores de estado diferentes existem?
Sabemos que podemos representar qualquer estado quântico usando vetores, mas qualquer vetor é um estado quântico válido? No nosso caso, não; já que elevamos nossas amplitudes ao quadrado para encontrar a probabilidade de ocorrência dos resultados, precisamos que esses quadrados somem um, caso contrário, não faz sentido.
ParseError: KaTeX parse error: Undefined control sequence: \cssId at position 1: \̲c̲s̲s̲I̲d̲{sum}{\sum^{N-1…Questionário rápido
Qual destes é um estado quântico válido? (Tente somar as amplitudes ao quadrado.)
Outro fator é algo que chamamos de "fases globais" do vetor de estado. Como só sabemos que a fase existe por causa dos efeitos de interferência que ela produz, só podemos medir as diferenças de fase. Se girarmos todas as amplitudes em um vetor de estado na mesma quantidade, ainda veríamos exatamente o mesmo comportamento.
Por exemplo, não há experimento que possamos realizar que seja capaz de distinguir entre esses dois estados:
Porque as diferenças entre cada uma das amplitudes são as mesmas. Você poderia dizer que esses dois vetores são matematicamente diferentes, mas fisicamente iguais.
Operações quânticas
Agora que sabemos tudo sobre os diferentes estados em que nossos qubits podem estar, é hora de ver como representamos as operações que transformam um estado em outro.
Da mesma forma que existe uma probabilidade de transição que uma determinada ação transforme uma moeda de cara em coroa, existe uma amplitude de transição para cada estado inicial e final de nossos qubits. Podemos descrever quaisquer operações quânticas através dessas amplitudes de transição.
Então, quais são as transformações possíveis? Digamos que temos um estado inicial que é transformado em um novo estado . Se quisermos que nossa representação cubra todas as transformações possíveis, então cada amplitude em deve ter uma amplitude de transição para cada amplitude em .
Questionário rápido
Um vetor de estado de qubits pode conter até amplitudes. Qual é o maior número de amplitudes de transição que precisaríamos para representar qualquer operação quântica em qubits?
Desenhar linhas como esta é uma maneira um pouco confusa de fazer isso, então, em vez disso, podemos colocar todos esses números em uma matriz :
Por exemplo, aqui está a matriz que representa a operação CNOT que vimos nos átomos da computação:
ParseError: KaTeX parse error: Undefined control sequence: \cssId at position 1: \̲c̲s̲s̲I̲d̲{_cnot-gate}{\t…Questionário rápido
Qual é a amplitude de transição da operação CNOT (como mostrado acima) transformando o estado para ?
E aqui está a matriz para a porta H que vimos na página anterior:
ParseError: KaTeX parse error: Undefined control sequence: \class at position 41: …begin{bmatrix} \̲c̲l̲a̲s̲s̲{_t_amp_0_0}{1}…(usamos a mesma regra para multiplicar uma matriz por um escalar como fazemos com vetores). E quando queremos ver que efeito uma operação terá em alguns qubits, multiplicamos cada amplitude de transição pela amplitude de cada estado em nosso vetor de estado de entrada e, em seguida, somamos as amplitudes de cada estado para obter nosso vetor de estado de saída. Isso é exatamente o mesmo que multiplicar ao longo de cada ramo em uma árvore de probabilidade (ou amplitude) e somar as probabilidades totais (ou amplitudes) no final.
Para qualquer matemático na platéia, isso é apenas uma multiplicação de matrizes padrão.
ParseError: KaTeX parse error: Undefined control sequence: \class at position 50: …begin{bmatrix} \̲c̲l̲a̲s̲s̲{_t_amp_0_0}{1}…Regras de operações quânticas
Da mesma forma que nem todo vetor é um vetor de estado válido, nem toda matriz é uma operação quântica válida. Para que uma matriz faça sentido como uma operação real, ela precisa manter a probabilidade total dos estados de saída igual a 1. Então, por exemplo, isso não poderia ser uma operação real:
ParseError: KaTeX parse error: Undefined control sequence: \class at position 17: …begin{bmatrix} \̲c̲l̲a̲s̲s̲{_t_amp_0_0}{1}…Porque se ele atua no estado temos:
ParseError: KaTeX parse error: Undefined control sequence: \class at position 17: …begin{bmatrix} \̲c̲l̲a̲s̲s̲{_t_amp_0_0}{1}…e as probabilidades totais somam dois, o que não faz sentido. Alternativamente, se ele atuasse no estado , então as probabilidades totais somariam zero, o que também não faz sentido. Para preservar a probabilidade total em todos os casos, nossas operações precisam ser reversíveis. Isso significa que podemos executar nossos portões quânticos para trás para 'desfazê-los' (lembrando-se de reverter quaisquer rotações) e ficar com o estado com o qual começamos. Dizemos que as matrizes com esta propriedade são unitárias . Você verá frequentemente portas quânticos chamadas de 'unitários' ou 'portas unitárias'.