Trabalhar com vetores e matrizes na computação quântica

Alguma familiaridade com vetores e matrizes é essencial para compreender a computação quântica. O artigo Álgebra linear para computação quântica fornece um breve atualizador e os leitores que pretendem aprofundar são recomendados para ler uma referência padrão sobre álgebra linear, como Strang, G. (1993). Introdução à álgebra linear (Vol. 3). Wellesley, MA: Wellesley-Cambridge Prima ou uma referência online, como Álgebra Linear.

Vetores

Um vetor de coluna (ou simplesmente vetor) $v$ de dimensão (ou tamanho) $n$ é uma coleção de $n$ números complexos $(v_1,v_2,\ldots,v_n)$ dispostos como uma coluna:

$$v=\begin{bmatrix}\\ v_1 v_2\\ \vdots\\ v_n\end{bmatrix}$$

A norma de um vetor $v$ é definida como $\sqrt{\sum_i |v_i|^2}$. Diz-se que um vetor é de norma de unidade (ou, em alternativa, é chamado de vetor de unidade) se a sua norma for $1$. O adjacente de um vetor$v$ é indicado $como v^\dagger$ e é definido como o seguinte vetor de linha em que $*$ denota o conjugado complexo,

$$\begin{bmatrix}\\ v_1 \vdots \\ v_n \end{bmatrix}^\dagger=\begin{bmatrix}v_1^* & \cdots& v_n^*\end{bmatrix}$$

Repare que existe uma distinção entre um vetor $de coluna v$ e um vetor $de linha v^\dagger$.

Produto interno

Dois vetores podem ser multiplicados através do produto interno, também conhecido como produto de ponto ou produto escalar. Como o nome indica, o resultado do produto interno de dois vetores é um escalar. O produto interno dá a projeção de um vetor para outro e é inestimável ao descrever como expressar um vetor como uma soma de outros vetores mais simples. O produto interno entre dois vetores de coluna u$=(u_1 , u_2 , \ldots , u_n)$ e $v=(v_1 , v_2 , \ldots , v_n)$, indicado $\left\langle u, v\right\rangle$ é definido como

$$\left\langleu, v\right\rangle= u^\dagger v\begin{bmatrix}=u_1^* & \cdots& u_n^* \end{bmatrix}\begin{bmatrix}v_1\\ \vdots\\ v_n=\end{bmatrix}u_1^{*} v_1 + + \cdots _n^{*} v_n. $$

Esta notação também permite que a norma de um vetor $v$ seja escrita como $\sqrt{\langle v, v\rangle}$.

Um vetor pode ser multiplicado com um número $c$ para formar um novo vetor cujas entradas são multiplicadas por $c$. Também pode adicionar dois vetores u e v para formar um novo vetor cujas entradas são a soma das entradas de $u$ e $v$.$$$$ Estas operações são as seguintes:

$$\mathrm{Se u u_1 u_2 \vdots\\ u_n \end{bmatrix}~\mathrm{e}~ v =\begin{bmatrix} v_1\\ v_2\\ \vdots\\ v_n \end{bmatrix},~\mathrm{ então}~ au+bv =\begin{bmatrix} au_1+bv_1\\ au_2+bv_2\\ \vdots\\ au_n+bv_n \end{bmatrix}.\\\\=\begin{bmatrix}}~ $$

Uma matriz do tamanho $m \times n$ é uma coleção de números complexos de $mn$ dispostos em $linhas m$ e $n$ colunas, conforme mostrado abaixo:

$M =\begin{bmatrix} M_{11}~~{ M_{12}~~\cdots~~ M_{1n}\\ M_~~{{21} M_~~{22}{\cdots~~ M_{2n}\\\ddots\\ M_{m1}~~ M_{m2~~\cdots}~~ M_{mn.}\\\end{bmatrix}$

Tenha em atenção que um vetor da dimensão $n$ é simplesmente uma matriz do tamanho $n \times 1$. Tal como acontece com os vetores, uma matriz pode ser multiplicada com um número $c$ para obter uma nova matriz em que cada entrada é multiplicada por $c$ e podem ser adicionadas duas matrizes do mesmo tamanho para produzir uma nova matriz cujas entradas são a soma das respetivas entradas das duas matrizes.

Multiplicação da matriz

Também pode multiplicar duas matrizes $M$ da dimensão $m\times n$ e $N$ da dimensão $n \times p$ para obter uma nova matriz $P$ da dimensão $m \times p$ da seguinte forma:

$$\begin{\begin{align}&\begin{bmatrix}{{11}~~ M_ M_~~{12}~~\cdots M_{1n}\\ M_~~{{21} M_\cdots~~{22}~~{ M_{2n\ddots\\}\\ M_{m1}~~ M_{m2~~~~\cdots} M_{mn\begin{bmatrix}}\end{bmatrix} N_{11}~~ N_{~~{12}~~\cdots N_{1p}\\ N_ N_{21}{~~ N_{22}\cdots~~{~~2p\ddots\\}\\ N_{n1~~} N_{n2}~~~~\cdots N_{np\end{bmatrix}=\begin{bmatrix}} P_ P_{{11}~~{12}~~\cdots~~{P_1p}\\ P_~~{{21} P_\cdots{22}~~{~~ P_{2p}\\\ddots\\ P_{m1}~~ P_{m2~~\cdots}~~ P_mp{}\end{bmatrix}\end{align}$$

em que as entradas de $P$ são $P_{ik}\sum=_j M_{ij}N_{jk.}$ Por exemplo, a entrada $P_{11}$ é o produto interno da primeira linha de $M$ com a primeira coluna de $N$. Tenha em atenção que, uma vez que um vetor é simplesmente um caso especial de uma matriz, esta definição expande-se para multiplicação de vetor de matriz.

Todas as matrizes que consideramos serão matrizes quadradas, em que o número de linhas e colunas é igual ou vetores, que correspondem apenas $a 1$ coluna. Uma matriz quadrada especial é a matriz de identidade, indicada $\mathbb{\mathbb{I}$, que tem todos os respetivos elementos diagonais iguais a $1$ e os restantes elementos iguais a $0$:

$\mathbb{\mathbb{I}=\begin{bmatrix}1 ~~ 0\cdots~~~~ 0 0 ~~\\ 1~~~~\cdots0\ddots\\\\~~ 0 ~~ 0\cdots~~~~ 1 .\end{bmatrix}$

Para uma matriz $quadrada A$, uma matriz $B$ é inversa se $AB = BA =\mathbb{\mathbb{I}$. O inverso de uma matriz não precisa de existir, mas quando existe é exclusivo e denotamo-lo $como A^{-1}$.

Para qualquer matriz $M$, a transposta adjacente ou conjugada de $M$ é uma matriz $N$ de tal forma que $N_{ij}= M_{ji}^*$. Normalmente, o contíguo de $M é denominado $M^\dagger$$. Uma matriz $U$ é unitária se $UU^=\dagger U^\dagger U =\mathbb{I}$ ou equivalente, $U^={{-1} U^.\dagger$ Uma propriedade importante das matrizes unitárias é que preservam a norma de um vetor. Isto acontece porque

$\langlev,v^ v^ U^{-1} U v=^\dagger U^\dagger U v U v=\langle, U v\rangle.\dagger=\dagger\rangle=$

Diz-se que uma matriz $M$ é Hermitiana se $M=^\dagger$.

Produto tensor

Outra operação importante é o produto Kronecker, também denominado produto direto de matriz ou produto tensor. Tenha em atenção que o produto Kronecker distingue-se da multiplicação da matriz, que é uma operação totalmente diferente. Na teoria da computação quântica, o produto tensor é normalmente utilizado para denotar o produto Kronecker.

Considere os dois vetores $v a \\=\begin{bmatrix}b \end{bmatrix}$ e $u =\begin{bmatrix} c \\ d \\ e \end{bmatrix}$. O produto tensor é indicado como $v \otimes u$ e resulta numa matriz de blocos.

$$\begin{bmatrix}a \\ b \end{bmatrix}\begin{bmatrix}\otimesc \\ d \\ e a \begin{bmatrix}\end{bmatrix}=\begin{bmatrix} c \\ d \\ e \end{bmatrix}\\[1.5em] b \begin{bmatrix} c \\ d \\ e a\end{bmatrix}\end{bmatrix}=\begin{bmatrix} c \\ a d a \\ e \\ b c b \\ d be \\\end{bmatrix}$$

Repare que o produto tensor é uma operação em duas matrizes ou vetores de tamanho arbitrário. O produto do tensor de duas matrizes $M$ de tamanho $m\times n$ e $N$ de tamanho $p \times q$ é uma matriz $P=M\otimes N$ maior de tamanho $mp \times nq$ e é obtido a partir de $M$ e $N$ da seguinte forma:

$$\begin{align}M \otimes N &=\begin{bmatrix}{~~~~\cdots{11}M_ M_{1n\\\ddots\\} M_{m1}~~~~\cdots M_{mn\begin{bmatrix}\otimes\end{bmatrix}} N_~~~~{11}\cdots{ N_{1q}\\\ddots\\ N_{p1~~}\cdots~~ N_{pq\end{bmatrix}\\&}amp;=\begin{bmatrix}{{11}\begin{bmatrix} M_ N_~~{~~{11}\cdots N_{1q\ddots\\}\\ N_{p1~~\cdots}~~ N_{pq\end{bmatrix}~~}\cdots~~ M_{1n\begin{bmatrix}} N_~~\cdots{11}~~ N_{1q}\\\ddots\\ N_{p1\cdots~~~~} N_{pq}\ddots\\\end{bmatrix}\\ M_{m1}\begin{bmatrix} N_{11}\cdots{~~~~ N_{1q\ddots\\}\\ N_{p1~~\cdots}~~ N_{pq~~\cdots}\end{bmatrix}~~ M_{mn N_}\begin{bmatrix}{{11}~~\cdots~~{N_1q}\\\ddots\\ N_{p1\cdots}~~~~ N_{pq.}\end{bmatrix}\end{bmatrix} \end{align} $$

Isto é melhor demonstrado com um exemplo: $$a\ b \\ c\ d\otimes\begin{bmatrix}\end{bmatrix}e\ f\\ g\ h a \end{bmatrix}\begin{bmatrix}\begin{bmatrix}=e\ f\\ g\ h b \end{bmatrix}\begin{bmatrix} e\ f\\ g\ h\\\end{bmatrix} [1em] c\begin{bmatrix} e\ f\\ g\ h \end{bmatrix} d\begin{bmatrix} e\ f\\ g\ h ae\end{bmatrix}\end{bmatrix}=\begin{bmatrix}\ af\ be\ bf \\ ag\ ah\ bg\ bh \\ ce\ cf\ de\ df \\ cg\ ch\ dg\ dh .\end{bmatrix}\begin{bmatrix} $$

Uma convenção notacional útil final em torno dos produtos tensor é que, para qualquer vetor $v$ ou matriz $M$, $v^{\otimes n}$ ou $M^{\otimes n}$ é uma mão curta para um $produto de tensor repetido n$ dobra. Por exemplo:

\begin{align}&\begin{bmatrix} 1 \\ 0 \end{bmatrix}^{\otimes 1=}\begin{bmatrix} 1 \\ 0 \end{bmatrix}, \qquad\begin{bmatrix} 1 \\ 0 \end{bmatrix}^{\otimes 2}=\begin{bmatrix} 1 \\ 0 0 \\\\0 \end{bmatrix}, \qquad\begin{bmatrix} 1 \\ -1 \end{bmatrix}^{\otimes 2=\begin{bmatrix}} 1 \\ -1 \\-1 \\1 \end{bmatrix},&\\ amp;\begin{bmatrix} 0 & 1 \\ 1& 0 \end{bmatrix}^{\otimes 1}=\begin{bmatrix} 0& 1 1&\\ amp; 0 \end{bmatrix}, \qquad\begin{bmatrix} 0 & 1 \\ 1& 0 \end{bmatrix}^{\otimes 2}=\begin{bmatrix} 0 & 0& 0& 1 \\ 0 & 0& 1& 0 \\ 0 & 1& 0& 0\\ 1 & 0& 0& 0\end{bmatrix}. \end{align}

Passos Seguintes