Múltiplos QubitsMultiple Qubits

Enquanto os portões de um único qubit possuem algumas características contraintuitivas, tais como a capacidade de estar em mais do que um estado de cada vez, se tudo o que tínhamos num computador quântico fosse portas de um único qubit, então teríamos um dispositivo com poder computacional que seria atenuado até mesmo por uma calculadora, quanto mais um supercomputador clássico.While single-qubit gates possess some counter-intuitive features, such as the ability to be in more than one state at a given time, if all we had in a quantum computer were single-qubit gates then we would have a device with computational power that would be dwarfed by even a calculator let alone a classical supercomputer. O verdadeiro poder da computação quântica só se torna evidente à medida que aumentamos o número de qubits.The true power of quantum computing only becomes evident as we increase the number of qubits. Este poder surge, em parte, porque a dimensão do espaço vetorial dos vetores do estado quântico cresce exponencialmente com o número de qubits.This power arises, in part, because the dimension of the vector space of quantum state vectors grows exponentially with the number of qubits. Isto significa que, embora um único qubit possa ser trivialmente modelado, simular uma computação quântica de 50 qubits iria indiscutivelmente empurrar os limites dos supercomputadores existentes.This means that while a single qubit can be trivially modeled, simulating a fifty-qubit quantum computation would arguably push the limits of existing supercomputers. Aumentar o tamanho da computação em apenas um qubit adicional duplica a memória necessária para armazenar o estado e aproximadamente duplica o tempo computacional.Increasing the size of the computation by only one additional qubit doubles the memory required to store the state and roughly doubles the computational time. Esta rápida duplicação de poder computacional é a razão pela qual um computador quântico com um número relativamente pequeno de qubits pode ultrapassar em muito os supercomputadores mais poderosos de hoje, amanhã e além para algumas tarefas computacionais.This rapid doubling of computational power is why a quantum computer with a relatively small number of qubits can far surpass the most powerful supercomputers of today, tomorrow and beyond for some computational tasks.

Por que temos crescimento exponencial para vetores de estado quântico?Why do we have exponential growth for quantum state vectors? O nosso objetivo nesta secção é rever as regras usadas para construir estados multi-qubit saindo de estados de um único qubit, bem como discutir as operações de portão que precisamos incluir no nosso portão definido para formar um computador quântico universal de muitos qubits.Our goal in this section is to review the rules used to build multi-qubit states out of single-qubit states as well as discuss the gate operations that we need to include in our gate set to form a universal many-qubit quantum computer. Estas ferramentas são absolutamente necessárias para entender os conjuntos de porta que são comumente usados em Q# código e também para ganhar intuição sobre por que os efeitos quânticos, como o emaranhado ou a interferência, tornam a computação quântica mais poderosa do que a computação clássica.These tools are absolutely necessary to understand the gate sets that are commonly used in Q# code and also to gain intuition about why quantum effects such as entanglement or interference render quantum computing more powerful than classical computing.

Representando Dois QubitsRepresenting Two Qubits

A principal diferença entre estados de um e dois qubits é que os estados de dois qubits são quatro dimensões em vez de bidimensionais.The main difference between one- and two-qubit states is that two-qubit states are four dimensional rather than two dimensional. Isto porque a base computacional para estados de dois qubits é formada pelos produtos tensores de estados de um qubit.This is because the computational basis for two-qubit states is formed by the tensor products of one-qubit states. Por exemplo, temos \begin{align}For example, we have \begin{align} 00 \equiv \begin{bmatrix} 1 \\ 0 \end{bmatrix} \otimes \begin{bmatrix} 1 \\ \end{bmatrix} & = \begin{bmatrix} 0 1 \\ 0 \\ \\ 0 0 \end{bmatrix} , \qquad 01 \equiv \begin{bmatrix} \\ 0 \end{bmatrix} \otimes \begin{bmatrix} \\ 0 1 0 1 \end{bmatrix} = \begin{bmatrix} \\ 0 1 \\ 0 0 \\ 0 0 \end{bmatrix} ,\\00 \equiv \begin{bmatrix}1 \\ 0 \end{bmatrix}\otimes \begin{bmatrix}1 \\ 0 \end{bmatrix} &= \begin{bmatrix}1 \\ 0\\ 0\\ 0 \end{bmatrix},\qquad 01 \equiv \begin{bmatrix}1 \\ 0 \end{bmatrix}\otimes \begin{bmatrix}0 \\ 1 \end{bmatrix} = \begin{bmatrix}0 \\ 1\\ 0\\ 0 \end{bmatrix},\\ 10 \equiv \begin{bmatrix} 0 \\ 1 \end{bmatrix} \otimes \begin{bmatrix} 1 \\ \end{bmatrix} & = \begin{bmatrix} 0 \\ 0 \\ 1 \\ 0 \end{bmatrix} 10 , \qquad 11 \equiv \begin{bmatrix} 0 \\ 1 \end{bmatrix} \otimes \begin{bmatrix} \\ 0 1 \end{bmatrix} = \begin{bmatrix} \\ 0 0 \\ 0 \\ 0 1 \end{bmatrix} .10 \equiv \begin{bmatrix}0 \\ 1 \end{bmatrix}\otimes \begin{bmatrix}1 \\ 0 \end{bmatrix} &= \begin{bmatrix}0 \\ 0\\ 1\\ 0 \end{bmatrix},\qquad 11 \equiv \begin{bmatrix}0 \\ 1 \end{bmatrix}\otimes \begin{bmatrix}0 \\ 1 \end{bmatrix} = \begin{bmatrix}0 \\ 0\\ 0\\ 1 \end{bmatrix}. \end{align}

É fácil ver que, de uma forma mais geral, o estado quântico de $ n $ qubits é representado por um vetor unitário de dimensão $ 2^n $ usando esta construção.It is easy to see that more generally the quantum state of $n$ qubits is represented by a unit vector of dimension $2^n$ using this construction. O vetorThe vector

$$ \begin{bmatrix}\alpha _ { } 00 \\ \alpha _ { 01 } \\ \alpha _ { 10 } \\ 11 \alpha _ { } \end{bmatrix}\begin{bmatrix} \alpha_{00} \\ \alpha_{01} \\ \alpha_{10} \\ \alpha_{11} \end{bmatrix} $$

representa um estado quântico em dois qubits se $ | \alpha _ { 00 } | | \alpha ^2+_ { 01 } | ^2+ | \alpha _ { 10 } | ^2+ | \alpha _ { 11 } | ^2 = 1 $ .represents a quantum state on two qubits if $|\alpha_{00}|^2+|\alpha_{01}|^2+|\alpha_{10}|^2+|\alpha_{11}|^2=1$. Assim como com os qubits individuais, o vetor de estado quântico de múltiplos qubits contém toda a informação necessária para descrever o comportamento do sistema.Just as with single qubits, the quantum state vector of multiple qubits holds all the information needed to describe the system's behavior.

Se nos forem dados dois qubits separados, um no estado $ \begin{bmatrix} \alpha \\ \beta \end{bmatrix} $ e um segundo qubit no $ \begin{bmatrix} \gamma \\ \delta \end{bmatrix} $ estado, o estado de dois qubits correspondente é If we are given two separate qubits, one in the state $\begin{bmatrix} \alpha \\ \beta \end{bmatrix}$ and a second qubit in the state $\begin{bmatrix} \gamma \\ \delta \end{bmatrix}$, the corresponding two-qubit state is

$$ \begin{bmatrix} \alpha \\ \beta \end{bmatrix} \otimes \begin{bmatrix} \gamma \\ \delta \end{bmatrix}\begin{bmatrix} \alpha \\ \beta \end{bmatrix} \otimes \begin{bmatrix} \gamma \\ \delta \end{bmatrix} =\begin{bmatrix} \alpha \begin{bmatrix} \gamma \\ \delta \end{bmatrix} \\ \beta \begin{bmatrix}\gamma \\ \delta \end{bmatrix} \end{bmatrix}=\begin{bmatrix} \alpha \begin{bmatrix} \gamma \\ \delta \end{bmatrix} \\ \beta \begin{bmatrix}\gamma \\ \delta \end{bmatrix} \end{bmatrix} = \begin{bmatrix} \alpha\gamma \\ \alpha\delta \\ \beta\gamma \\ \beta\delta \end{bmatrix}, $$= \begin{bmatrix} \alpha\gamma \\ \alpha\delta \\ \beta\gamma \\ \beta\delta \end{bmatrix}, $$

onde a operação $ \otimes $ é chamada de produto tensor (ou produto Kronecker) de vetores.where the operation $\otimes$ is called the tensor product (or Kronecker product) of vectors. Note-se que, embora possamos sempre tomar o produto tensor de dois estados de um único qubit para formar um estado de dois qubits, nem todos os estados quânticos de dois qubits podem ser escritos como o produto tensor de dois estados de um único qubit.Note that while we can always take the tensor product of two single-qubit states to form a two-qubit state, not all two-qubit quantum states can be written as the tensor product of two single-qubit states. Por exemplo, não há estados $ \psi = \begin{bmatrix} \alpha \\ \beta \end{bmatrix} $ e $ \phi = \begin{bmatrix} \gamma \\ \delta \end{bmatrix} $ de tal forma que o seu produto tensor é o estado For example, there are no states $\psi=\begin{bmatrix} \alpha \\ \beta \end{bmatrix}$ and $\phi=\begin{bmatrix} \gamma \\ \delta \end{bmatrix}$ such that their tensor product is the state

$$\psi\otimes\phi = \begin{bmatrix} 1/ \sqrt { 2 } \\ 0 \\ 0 \\ 1/ \sqrt { 2 } \end{bmatrix} .$$$$\psi\otimes \phi = \begin{bmatrix} 1/\sqrt{2} \\ 0 \\ 0 \\ 1/\sqrt{2} \end{bmatrix}.$$

Um estado de dois qubits, que não pode ser escrito como o produto de tensor de estados de um único qubit, é chamado de "estado emaranhado"; dizem que os dois qubits estão emaranhados.Such a two-qubit state, which cannot be written as the tensor product of single-qubit states, is called an "entangled state"; the two qubits are said to be entangled. Em termos frouxos, porque o estado quântico não pode ser considerado como um produto tensor de estados de qubit único, a informação que o Estado detém não se limita a nenhum dos qubits individualmente.Loosely speaking, because the quantum state cannot be thought of as a tensor product of single qubit states, the information that the state holds is not confined to either of the qubits individually. Pelo contrário, a informação é armazenada não localmente nas correlações entre os dois estados.Rather, the information is stored non-locally in the correlations between the two states. Esta não localidade da informação é uma das principais características distintivas da computação quântica sobre a computação clássica e é essencial para uma série de protocolos quânticos, incluindo teletransporte quântica e correção de erros quânticos.This non-locality of information is one of the major distinguishing features of quantum computing over classical computing and is essential for a number of quantum protocols including quantum teleportation and quantum error correction.

Medindo estados de dois qubitsMeasuring Two-Qubit States

Medir estados de dois qubits é muito semelhante às medições de um único qubit.Measuring two-qubit states is very similar to single-qubit measurements. Medir o estadoMeasuring the state

$$ \begin{bmatrix} \alpha_ { } \\ 00 \alpha _ { 01 }\\\alpha_{00} \\ \alpha_{01} \\ \alpha_ { } \\ 10 \alpha _ { 11}\alpha_{10} \\ \alpha_{11} \end{bmatrix} $$

produz $ 00 $ com probabilidade $ | \alpha _ { 00 } | ^2 , $ $ 01 $ com probabilidade $ | \alpha _ { 01 } | ^2 $ , $ 10 $ com probabilidade $ | \alpha _ { 10^2 , e } | $ $ 11 $ com probabilidade $ | \alpha _ { 11 } | ^2 $ .yields $00$ with probability $|\alpha_{00}|^2$, $01$ with probability $|\alpha_{01}|^2$, $10$ with probability $|\alpha_{10}|^2$, and $11$ with probability $|\alpha_{11}|^2$. As variáveis $ \alpha _ { } 00, \alpha _ { 01, } \alpha _ { 10 } $ e $ \alpha _ { 11 } $ foram deliberadamente nomeadas para tornar esta ligação clara.The variables $\alpha_{00}, \alpha_{01}, \alpha_{10},$ and $\alpha_{11}$ were deliberately named to make this connection clear. Após a medição, se o resultado for $ 00, $ então o estado quântico do sistema de dois qubits entrou em colapso e é agoraAfter the measurement, if the outcome is $00$ then the quantum state of the two-qubit system has collapsed and is now

$$ 00 \equiv00 \equiv \begin{bmatrix} 1 \\1 \\ 0 \\0 \\ 0 \\0 \\ 0 \end{bmatrix} .0 \end{bmatrix}. $$

Também é possível medir apenas um qubit de um estado quântico de dois qubits.It is also possible to measure just one qubit of a two-qubit quantum state. Nos casos em que se mede apenas um dos qubits, o impacto da medição é subtilmente diferente porque todo o Estado não é colapsado para um estado de base computacional, pelo contrário, é colapsado para apenas um subsiste.In cases where you measure only one of the qubits, the impact of measurement is subtly different because the entire state is not collapsed to a computational basis state, rather it is collapsed to only one sub-system. Por outras palavras, nestes casos, medir apenas um qubit colapsa apenas um dos subsistemas, mas não todos.In other words, in such cases measuring only one qubit only collapses one of the subsystems but not all of them.

Para ver este considerar medir o primeiro qubit do seguinte estado, que é formado pela aplicação da transformação Hadamard $ H $ em dois qubits inicialmente definidos para o estado "0": $$To see this consider measuring the first qubit of the following state, which is formed by applying the Hadamard transform $H$ on two qubits initially set to the "0" state: $$ H^ { \otimes 2 } \left ( \begin{bmatrix} 1 \\ 0 \end{bmatrix} \otimes \begin{bmatrix} 1 \\ 0 \end{bmatrix} \right ) = \frac { 1 } { 2 } \begin{bmatrix} 1 & & 1 & \\ 1 & & 1 1 1 & -1 \\ & 1 1 1 1 & & -1 \\ & -1 & -1 -1 & \end{bmatrix} \begin{bmatrix} 1 1 \\ 1 1 1 1 \\ 0 \\ \end{bmatrix} = \frac { 0 0 } { } \begin{bmatrix} \\ \\ \\ \end{bmatrix} \mapsto \begin{cases} \text { } = & \frac { } { \sqrt { } } \begin{bmatrix} \\ \\ \\ \end{bmatrix} \\ \text { } = & \frac { } { \sqrt { } } \begin{bmatrix} \\ \\ 0 \\ 11 1 \end{bmatrix} \\ \end{cases} . H^{\otimes 2} \left( \begin{bmatrix}1 \\ 0 \end{bmatrix}\otimes \begin{bmatrix}1 \\ 0 \end{bmatrix} \right) = \frac{1}{2}\begin{bmatrix}1 & 1 & 1 & 1 \\ 1 & -1 & 1 & -1 \\ 1 & 1 & -1 & -1 \\ 1 & -1 & -1 & 1 \end{bmatrix}\begin{bmatrix}1\\ 0\\ 0\\ 0\end{bmatrix} = \frac{1}{2}\begin{bmatrix}1\\ 1\\ 1\\ 1\end{bmatrix} \mapsto \begin{cases}\text{outcome }=0 & \frac{1}{\sqrt{2}}\begin{bmatrix}1\\ 1\\ 0\\ 0 \end{bmatrix}\\ \text{outcome }=1 & \frac{1}{\sqrt{2}}\begin{bmatrix}0\\ 0\\ 1\\ 1 \end{bmatrix}\\ \end{cases}. $$ Ambos os resultados têm 50% de probabilidade de ocorrer.Both outcomes have 50% probability of occurring. O resultado sendo 50% de probabilidade para ambos pode ser intuido pelo facto de que o vetor de estado quântico inicial é invariante sob a troca $ de 0 $ com $ 1 no primeiro $ qubit.The outcome being 50% probability for both can be intuited from the fact that the initial quantum state vector is invariant under swapping $0$ with $1$ on the first qubit.

A regra matemática para medir o primeiro ou segundo qubit é simples.The mathematical rule for measuring the first or second qubit is simple. Se deixarmos $ e_k $ ser o $ vetor de base computacional k^ { \rm } $ e deixar S ser o conjunto $ de todos os e_k de tal forma que o $ $ $ qubit em questão leva o valor $ 1 para esse valor de k $ $ $ .If we let $e_k$ be the $k^{\rm th}$ computational basis vector and let $S$ be the set of all $e_k$ such that the qubit in question takes the value $1$ for that value of $k$. Por exemplo, se estivermos interessados em medir o primeiro qubit, $ S $ consistirá em $ e_1 \equiv 10 $ e e_3 $ \equiv 11 $ .For example, if we are interested in measuring the first qubit then $S$ would consist of $e_1\equiv 10$ and $e_3\equiv 11$. Da mesma forma, se estivermos interessados no segundo qubit $ S $ consistiria em $ e_2 \equiv 01 $ e e_3 $ \equiv 11 $ .Similarly, if we are interested in the second qubit $S$ would consist of $e_2\equiv 01$ and $e_3 \equiv 11$. Em seguida, a probabilidade de medir o qubit escolhido para ser $ 1 $ é para o vetor de estado $\psi$Then the probability of measuring the chosen qubit to be $1$ is for state vector $\psi$

$$ P( \text { resultado } = 1) = \sum _ e_k no conjunto { S \text { } } \psi ^ \dagger e_k e_k^ \dagger \psi .P(\text{outcome}=1)= \sum_{e_k \text{ in the set } S}\psi^\dagger e_k e_k^\dagger \psi. $$

Nota

> Neste documento estamos a usar o formato pouco endiano para rotular a base computacional.> In this document we are using the little-endian format to label the computational basis. Em formato pequeno endiano, os pedaços menos significativos vêm em primeiro lugar.In little endian format, the least significant bits come first. Por exemplo, o número quatro em formato pequeno-endiano é representado pela cadeia de bits 001.For example, the number four in little-endian format is represented by the string of bits 001.

Uma vez que cada medida de qubit só pode produzir $ 0 $ ou $ $ 1, a probabilidade de medir $ 0 é simplesmente $ $ 1-P( \text { resultado } = 1) $ .Since each qubit measurement can only yield $0$ or $1$, the probability of measuring $0$ is simply $1-P(\text{outcome}=1)$. É por isso que apenas explicitamente damos uma fórmula para a probabilidade de medir $ 1 $ .This is why we only explicitly give a formula for the probability of measuring $1$.

A ação que tal medida tem sobre o estado pode ser expressa matematicamente comoThe action that such a measurement has on the state can be expressed mathematically as

$$ \psi\mapsto \frac{\sum _ { e_k no conjunto S \text { } } e_k e_k^ \dagger \psi } { \sqrt { P( \text { resultado } = 1) } } .\psi \mapsto \frac{\sum_{e_k \text{ in the set } S} e_k e_k^\dagger \psi}{\sqrt{P(\text{outcome}=1)}}. $$

O leitor cauteloso pode preocupar-se com o que acontece quando a probabilidade da medição é zero.The cautious reader may worry about what happens when the probability of the measurement is zero. Embora o estado resultante seja tecnicamente indefinido neste caso, nunca precisamos de nos preocupar com tais eventualidades porque a probabilidade é zero!While the resultant state is technically undefined in this case, we never need to worry about such eventualities because the probability is zero!

Se tomarmos $ \psi $ para ser o vetor de estado uniforme dado acima e estamos interessados em medir o primeiro qubit, entãoIf we take $\psi$ to be the uniform state vector given above and are interested in measuring the first qubit then

$$ P( \text { medição do primeiro qubit } = 1) = \psi ^ \dagger (e_1)(e_1^2) \dagger \psi \psi ^ \dagger \dagger \psi (e_3 e_3)) = | \dagger \psi | e_1^2+ | \dagger \psi | e_3^2.P(\text{measurement of first qubit}=1) = (\psi^\dagger e_1)(e_1^\dagger \psi)+(\psi^\dagger e_3)(e_3^\dagger \psi)=|e_1^\dagger \psi|^2+|e_3^\dagger \psi|^2. $$

Note-se que esta é apenas a soma das duas probabilidades que seria de esperar para medir os resultados $ 10 $ e $ 11 $ foram todos os qubits a medir.Note that this is just the sum of the two probabilities that would be expected for measuring the results $10$ and $11$ were all the qubits to be measured. Para o nosso exemplo, isto avalia aFor our example, this evaluates to

$$ \frac{1 } { 4 } \left | \begin{bmatrix} 0 & 0 & 1 & \end{bmatrix} \begin{bmatrix} 1 \\ 1 \\ \\ 1 1 \end{bmatrix} \right | 1 ^2+ \frac { 1 } { 4 } \left | \begin{bmatrix} 0 & & 0 & 0 1 \end{bmatrix} \begin{bmatrix} \\ \\ 1 \\ 1 1 1 \end{bmatrix} \right | 1 ^2 = \frac { 1 } { 2 } .\frac{1}{4}\left|\begin{bmatrix}0&0&1&0\end{bmatrix}\begin{bmatrix}1\\ 1\\ 1\\ 1\end{bmatrix} \right|^2+\frac{1}{4}\left|\begin{bmatrix}0&0&0&1\end{bmatrix}\begin{bmatrix}1\\ 1\\ 1\\ 1\end{bmatrix} \right|^2=\frac{1}{2}. $$

que combina perfeitamente com o que a nossa intuição nos diz que a probabilidade deve ser.which perfectly matches what our intuition tells us the probability should be. Da mesma forma, o estado pode ser escrito comoSimilarly, the state can be written as

$$ \frac{\frac{e_1 } { 2 } + \frac { e_3 } { } } { \sqrt { \frac { 2 1 } { } } } = \frac { 2 1 } { \sqrt { 2 } } \begin{bmatrix} 0 \\ \\ 1 \\ 1\end{bmatrix}\frac{\frac{e_1}{2}+\frac{e_3}{2}}{\sqrt{\frac{1}{2}}}=\frac{1}{\sqrt{2}}\begin{bmatrix} 0\\ 0\\ 1\\ 1\end{bmatrix} $$

novamente de acordo com a nossa intuição.again in accordance with our intuition.

Operações de Dois QubitsTwo-Qubit Operations

Como no caso de um único qubit, qualquer transformação unitária é uma operação válida em qubits.As in the single-qubit case, any unitary transformation is a valid operation on qubits. Em geral, uma transformação unitária em $ n $ qubits é uma matriz $ U de tamanho $ $ 2^n \times 2^n $ (de modo que atua em vetores de tamanho $ 2^n), $ tal que $ U^ { -1 } = U^ \dagger $ .In general, a unitary transformation on $n$ qubits is a matrix $U$ of size $2^n \times 2^n$ (so that it acts on vectors of size $2^n$), such that $U^{-1} = U^\dagger$. Por exemplo, o portão CNOT (CONTROLLED-NOT) é um portão de dois qubits comumente utilizado e é representado pela seguinte matriz unitária:For example, the CNOT (controlled-NOT) gate is a commonly used two-qubit gate and is represented by the following unitary matrix:

$$ \operatorname{CNOT } = \begin{bmatrix} 1\ 0\ 0\ \\ 0\ 1\ 0\ \\ 0\ 0\ 0\ 0\ 0\ 0\ 1 \\ 0\ 0\ 1\ 0\ 0 \end{bmatrix}\operatorname{CNOT} = \begin{bmatrix} 1\ 0\ 0\ 0 \\ 0\ 1\ 0\ 0 \\ 0\ 0\ 0\ 1 \\ 0\ 0\ 1\ 0 \end{bmatrix} $$

Também podemos formar portões de dois qubits aplicando portas de um único qubit em ambos os qubits.We can also form two-qubit gates by applying single-qubit gates on both qubits. Por exemplo, se aplicarmos os portõesFor example, if we apply the gates

$$ \begin{bmatrix} a\ b \\ c\ d \end{bmatrix}a\ b\\ c\ d \end{bmatrix} $$

eand

$$\begin{bmatrix} e\ f \\ g\ h \end{bmatrix}e\ f\\ g\ h \end{bmatrix} $$

aos primeiros e segundos qubits, respectivamente, isto equivale à aplicação do unitário de dois qubits dado pelo seu produto tensor: $$\begin{bmatrix}to the first and second qubits, respectively, this is equivalent to applying the two-qubit unitary given by their tensor product: $$\begin{bmatrix} a\ b \\ c\ d \end{bmatrix}a\ b\\ c\ d \end{bmatrix} \otimes \begin{bmatrix} e\ f \\ g\ h \end{bmatrix}=e\ f\\ g\ h \end{bmatrix}= \begin{bmatrix} ae\ af\ ser\ bf \\ae\ af\ be\ bf \\ ag\ ah\ bg\ bh \\ag\ ah\ bg\ bh \\ ce\ cf\ de\ df \\ce\ cf\ de\ df \\ cg\ ch\ dg\ dh \end{bmatrix} .$$cg\ ch\ dg\ dh \end{bmatrix}.$$ Assim, podemos formar portões de dois qubits tomando o produto tensor de alguns portões de um único qubit conhecido.Thus we can form two-qubit gates by taking the tensor product of some known single-qubit gates. Alguns exemplos de portões de dois qubits incluem $ H \otimes $ $ \otimes \boldone $ H, X, e $ X Z \otimes $ .Some examples of two-qubit gates include $H \otimes H$, $X \otimes \boldone$, and $X \otimes Z$.

Note que, embora dois portões de um único qubit definam um portão de dois qubits tomando o seu produto tensor, o inverso não é verdade.Note that while any two single-qubit gates define a two-qubit gate by taking their tensor product, the converse is not true. Nem todos os portões de dois qubits podem ser escritos como o produto de tensor de portas de um único qubit.Not all two-qubit gates can be written as the tensor product of single-qubit gates. Tal portão é chamado de portão de enredar.Such a gate is called an entangling gate. Um exemplo de um portão de enredar é o portão CNOT.One example of an entangling gate is the CNOT gate.

A intuição por trás de um portão não controlado pode ser generalizada a portões arbitrários.The intuition behind a controlled-not gate can be generalized to arbitrary gates. Um portão controlado em geral é um portão que age como identidade (ou seja, não tem ação) a menos que um qubit específico seja $ 1 $ .A controlled gate in general is a gate that acts as identity (ie it has no action) unless a specific qubit is $1$. Denotamos um unitário controlado, controlado neste caso no qubit rotulado $ $ x, com um $ \Lambda _ x(U) $ .We denote a controlled unitary, controlled in this case on the qubit labeled $x$, with a $\Lambda_x(U)$. Como exemplo $ \Lambda _0(U) e _ { 1 } \otimes { \psi } = e _ { 1 } \otimes U { \psi } $ e $ \Lambda _ 0(U) e _ { 0 } \otimes { \psi } = e _ { 0 } \otimes { \psi } $ , onde $ e _ 0 $ e $ _ 1 são os $ vetores de base computacional para um único qubit correspondente aos valores $ 0 e $ $ 1 $ .As an example $\Lambda_0(U) e_{1}\otimes {\psi}=e_{1}\otimes U{\psi}$ and $\Lambda_0(U) e_{0}\otimes {\psi}=e_{0}\otimes{\psi}$, where $e_0$ and $e_1$ are the computational basis vectors for a single qubit corresponding to the values $0$ and $1$. Por exemplo, considere o seguinte $ portão controlado-Z, $ em seguida, podemos expressar isto como $$For example, consider the following controlled-$Z$ gate then we can express this as $$ \Lambda_0(Z) = \begin{bmatrix} 1 & 0 & & 0 \\ & 0 1 & 0 & \\ 0 & & 0 0 & \\ 0 & 0 & 0 0 0 & -1 \end{bmatrix} = \boldone \otimes (H) \operatorname { CNOT } \boldone \otimes (H).\Lambda_0(Z)= \begin{bmatrix}1&0&0&0\\0&1&0&0\\0&0&1&0\\0&0&0&-1 \end{bmatrix}=(\boldone\otimes H)\operatorname{CNOT}(\boldone\otimes H). $$

Construir unidades controladas de forma eficiente é um grande desafio.Building controlled unitaries in an efficient manner is a major challenge. A forma mais simples de implementar isto requer a formação de uma base de dados de versões controladas de portões fundamentais e a substituição de todos os portões fundamentais da operação unitária original pela sua contraparte controlada.The simplest way to implement this requires forming a database of controlled versions of fundamental gates and replacing every fundamental gate in the original unitary operation with its controlled counterpart. Isto é muitas vezes uma visão bastante desperdiçada e inteligente muitas vezes pode ser usado apenas para substituir alguns portões por versões controladas para obter o mesmo impacto.This is often quite wasteful and clever insight often can be used to just replace a few gates with controlled versions to achieve the same impact. Por esta razão, fornecemos no nosso enquadramento a capacidade de executar o método ingénuo de controlo ou permitir que o utilizador defina uma versão controlada do unitário se for conhecida uma versão afinada à mão.For this reason, we provide in our framework the ability to perform either the naive method of controlling or allow the user to define a controlled version of the unitary if an optimized hand-tuned version is known.

Os portões também podem ser controlados usando informações clássicas.Gates can also be controlled using classical information. Um não-portão controlado clássicamente, por exemplo, é apenas um não-portão comum, mas só é aplicado se um pedaço clássico é $ 1 $ em oposição a um bit quântico.A classically controlled not-gate, for example, is just an ordinary not-gate but it is only applied if a classical bit is $1$ as opposed to a quantum bit. Neste sentido, um portão controlado clássicamente pode ser considerado como uma declaração no código quântico em que o portão é aplicado apenas em um ramo do código.In this sense, a classically controlled gate can be thought of as an if statement in the quantum code wherein the gate is applied only in one branch of the code.

Tal como no caso de um único qubit, um conjunto de portão de dois qubits é universal se qualquer $ \times matriz unitária de 4 4 $ pode ser aproximadada por um produto de portões deste conjunto para precisão arbitrária.As in the single-qubit case, a two-qubit gate set is universal if any $4\times 4$ unitary matrix can be approximated by a product of gates from this set to arbitrary precision. Um exemplo de um portão universal é o portão Hadamard, o portão T e o portão CNOT.One example of a universal gate set is the Hadamard gate, the T gate, and the CNOT gate. Tomando produtos destes portões, podemos aproximar qualquer matriz unitária em dois qubits.By taking products of these gates, we can approximate any unitary matrix on two qubits.

Sistemas Muitos QubitMany-Qubit Systems

Seguimos exatamente os mesmos padrões explorados no caso dos dois qubits para construir estados quânticos de muitos qubits a partir de sistemas mais pequenos.We follow exactly the same patterns explored in the two-qubit case to build many-qubit quantum states from smaller systems. Estes Estados são construídos através da formação de produtos de tensor de estados mais pequenos.Such states are built by forming tensor products of smaller states. Por exemplo, considere codificar a corda $ bit 1011001 $ num computador quântico.For example, consider encoding the bit string $1011001$ in a quantum computer. Podemos codificar isto comoWe can encode this as

$$ 1011001 \equiv \begin{bmatrix} 0 \\ 1 \end{bmatrix} \otimes \begin{bmatrix} 1 \\ 0 \end{bmatrix} \otimes \begin{bmatrix} \\ 0 1 \end{bmatrix} \otimes \begin{bmatrix} \\ 1 \end{bmatrix} \otimes \begin{bmatrix} 1 \\ \end{bmatrix} \otimes \begin{bmatrix} 1 0 1 \\ \end{bmatrix} \otimes \begin{bmatrix} 0 0 \\ 0 1 \end{bmatrix} .1011001 \equiv \begin{bmatrix} 0 \\ 1 \end{bmatrix}\otimes \begin{bmatrix} 1 \\ 0 \end{bmatrix}\otimes \begin{bmatrix} 0 \\ 1 \end{bmatrix}\otimes \begin{bmatrix} 0 \\ 1 \end{bmatrix} \otimes \begin{bmatrix} 1 \\ 0 \end{bmatrix}\otimes \begin{bmatrix} 1 \\ 0 \end{bmatrix}\otimes \begin{bmatrix} 0 \\ 1 \end{bmatrix}. $$

Os portões quânticos funcionam exatamente da mesma forma.Quantum gates work in exactly the same way. Por exemplo, se quisermos aplicar o $ portão X ao primeiro $ qubit e, em seguida, executar um CNOT entre o segundo e o terceiro qubits, podemos expressar esta transformação comoFor example, if we wish to apply the $X$ gate to the first qubit and then perform a CNOT between the second and third qubits we may express this transformation as

\begin{align} &(X \otimes \operatorname { CNOT } _ { 12 } \otimes \boldone \otimes \boldone \otimes \boldone \otimes \boldone ) \begin{bmatrix} \\ 0 1 \end{bmatrix} \otimes \begin{bmatrix} \\ 1 0 \end{bmatrix} \otimes \begin{bmatrix} \\ 1 \end{bmatrix} \otimes \begin{bmatrix} \\ 0 1 \end{bmatrix} \otimes \begin{bmatrix} 1 \\ \end{bmatrix} \otimes \begin{bmatrix} 1 0 1 \\ \end{bmatrix} \otimes \begin{bmatrix} 0 0 0 \\ 1 0 1\end{bmatrix}\\&(X \otimes \operatorname{CNOT}_{12}\otimes \boldone\otimes \boldone \otimes \boldone \otimes \boldone) \begin{bmatrix} 0 \\ 1 \end{bmatrix}\otimes \begin{bmatrix} 1 \\ 0 \end{bmatrix}\otimes \begin{bmatrix} 0 \\ 1 \end{bmatrix}\otimes \begin{bmatrix} 0 \\ 1 \end{bmatrix} \otimes \begin{bmatrix} 1 \\ 0 \end{bmatrix}\otimes \begin{bmatrix} 1 \\ 0 \end{bmatrix}\otimes \begin{bmatrix} 0 \\ 1 \end{bmatrix}\\ &\qquad\qquad\equiv 0011001. \end{align}&\qquad\qquad\equiv 0011001. \end{align}

Em muitos sistemas qubits, há muitas vezes a necessidade de alocar e translocar qubits que servem de memória temporária para o computador quântico.In many qubit systems, there is often a need to allocate and deallocate qubits that serve as temporary memory for the quantum computer. Tal qubit é chamado de ancilla.Such a qubit is called an ancilla. Por defeito, assumimos que o estado qubit é inicializado para $ e_0 $ após a atribuição.By default we assume the qubit state is initialized to $e_0$ upon allocation. Assumimos ainda que é devolvida de novo a $ e_0 $ antes da negociação.We further assume that it is returned again to $e_0$ before deallocation. Esta suposição é importante porque se um qubit de ancilla ficar enredado com outro registo qubit quando se torna transatado, então o processo de transação prejudicará a ancilla.This assumption is important because if an ancilla qubit becomes entangled with another qubit register when it becomes deallocated then the process of deallocation will damage the ancilla. Por esta razão, assumimos sempre que tais qubits são revertidos para o seu estado inicial antes de serem libertados.For this reason, we always assume that such qubits are reverted to their initial state before being released.

Finalmente, embora fossem necessários novos portões para alcançar a computação quântica universal para dois computadores qubit qubit, não é necessário introduzir novos portões no caso multi-qubit.Finally, although new gates needed to be added to our gate set to achieve universal quantum computing for two qubit quantum computers, no new gates need to be introduced in the multi-qubit case. Os portões $ $ H, $ T e $ CNOT formam um portão universal definido em muitos qubits porque qualquer transformação unitária geral pode ser dividida numa série de duas rotações de qubit.The gates $H$, $T$ and CNOT form a universal gate set on many qubits because any general unitary transformation can be broken into a series of two qubit rotations. Podemos então aproveitar a teoria desenvolvida para o caso de dois qubits e usá-la novamente aqui quando temos muitos qubits.We then can leverage the theory developed for the two-qubit case and use it again here when we have many qubits.

Embora a notação algébrica linear que temos usado até agora possa certamente ser usada para descrever estados multi-qubit, torna-se cada vez mais complicado à medida que aumentamos o tamanho dos Estados.While the linear algebraic notation that we have been using thus far can certainly be used to describe multi-qubit states, it becomes increasingly cumbersome as we increase the size of the states. O vetor de coluna resultante para uma corda de 7 bits de comprimento, por exemplo, é $ 128 $ dimensional, o que faz expressá-lo usando a notação descrita anteriormente muito pesado.The resulting column-vector for a length 7 bit string, for example, is $128$ dimensional, which makes expressing it using the notation described previously very cumbersome. Por esta razão, apresentamos uma notação comum na computação quântica que nos permite descrever concisamente estes vetores de alta dimensão.For this reason, we next present a common notation in quantum computing that allows us to concisely describe these high-dimensional vectors.