Compartilhar via


Vetores e matrizes na computação quântica

Alguma familiaridade com álgebra linear é essencial para entender a computação quântica. Este artigo apresenta os conceitos básicos de álgebra linear e como trabalhar com vetores e matrizes na computação quântica.

Vetores

Um vetor de coluna, ou vetor para abreviar, $v$ de dimensão (ou tamanho) $n$ é uma coleção de $n$ números $complexos (v_1,v_2,\ldots,v_n)$ organizados 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}$. Um vetor é chamado de vetor unitário se sua norma for $1$.

O adjunto de um vetor $de coluna v$ é um vetor de linha denotado como $v^\dagger$ e é definido como a transposição conjugada de $v$. Para um vetor $de coluna v$ de dimensão $n$, o adjunto é um vetor de linha de dimensão $1 \times n$:

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

onde $v_i^*$ denota o conjugado complexo de $v_i$.

Usando álgebra linear, o estado de um qubit $\psi= a \ket{0} + b \ket{1}$ é descrito como um vetor$\begin{bmatrix} de estado quântico a \\ b \end{bmatrix}$, onde $|a| ^ 2 + |b| ^ 2 = 1$. Para obter mais informações, consulte O qubit.

Produto escalar

Dois vetores podem ser multiplicados juntos através do produto escalar, também conhecido como produto escalar ou produto interno. Como o nome indica, o resultado do produto escalar de dois vetores é um escalar. O produto escalar dá a projeção de um vetor em outro e é usado para expressar um vetor como uma soma de outros vetores mais simples. O produto escalar entre dois vetores $de coluna u$ e $v$ é denotado como $\left\langle u, v\right\rangle= u^\dagger v $ e é definido como

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

Com o produto escalar, a norma de um vetor $v$ pode ser escrita como $\sqrt{\langle v, v\rangle}$.

Você pode multiplicar um vetor por um número $a$ para formar um novo vetor cujas entradas são multiplicadas por $a$. Também podemos adicionar dois vetores $u$ e $v$ para formar um novo vetor cujas entradas são a soma das entradas de $u$ e $v$. Essas operações são as seguintes:

$$\mathrm{Se}~u =\begin{bmatrix} 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}$$

Matrizes

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

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

Observação

Observe que um vetor de dimensão $n$ é simplesmente uma matriz de tamanho $n\times 1$.

As operações quânticas são representadas por matrizes quadradas, ou seja, o número de linhas e colunas é igual. Por exemplo, as operações de qubit único são representadas por $2 \times 2$ matrizes, como a operação Pauli $X$

$$X =\begin{bmatrix} 0 & 1 \\ 1 & 0 \end{bmatrix}$$

Dica

Em Q#, a operação de Pauli $X$ é representada pela X operação.

Tal como acontece com os vetores, você pode multiplicar uma matriz por um número $c$ para obter uma nova matriz onde cada entrada é multiplicada por $c$, e duas matrizes do mesmo tamanho podem ser adicionadas para produzir uma nova matriz cujas entradas são a soma das respectivas entradas das duas matrizes.

Multiplicação de matrizes

Você também pode multiplicar uma matriz $M$ de dimensão $m\times n$ e uma matriz $N$ de dimensão $n \times p$ para obter uma nova matriz $P$ de dimensão $m \times p$ da seguinte maneira:

$$\begin{\begin{align}&\begin{bmatrix} {{11}~~ M_ M_~~{12}~~\cdots M_{1n}\\ M_~~{{21} M_\cdots~~{22}{~~ M_{2n\ddots\\}\\ M_{m1~~} M_m2 M_{{mn\begin{bmatrix}\cdots~~\end{bmatrix}}~~} N_{11}~~ N_{~~~~\cdots{12} N_{1p}\\ N_{21}{~~ N_\cdots{22}~~~~ N_{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_ é o produto escalar da primeira linha de $M com a primeira coluna de $N$$.{11}$ Observe que, como um vetor é simplesmente um caso especial de uma matriz, essa definição se estende à multiplicação de vetores de matrizes.

Tipos especiais de matrizes

Uma matriz quadrada especial é a matriz de identidade, designada $\mathbb{\mathbb{I}$, que tem todos os elementos diagonais iguais a $1$ e os elementos restantes iguais a $0$:

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

Para uma matriz quadrada A$, uma matriz $B$ é seu inverso se $AB = BA =\mathbb{\mathbb{I}$.$ Se uma matriz $A$ tem um inverso, a matriz inversa é única e é escrita como $A^{-1}$.

Para qualquer matriz $M$, a transposição adjunta ou conjugada de $M$ é a matriz $N$ tal que $N_{ij}= M_{ji}^*$. O adjunto de M$ é denotado $$M^\dagger$.

Uma matriz $U$ é unitária se $UU^\dagger= U^\dagger U =\mathbb{I}$ ou o equivalente, $U^{{-1}= U^\dagger$. Uma propriedade importante das matrizes unitárias é que elas preservam a norma de um vetor. Isso ocorre porque

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

Observação

As operações quânticas são representadas por matrizes unitárias, que são matrizes quadradas cujo adjunto é igual ao seu inverso.

Uma matriz $M$ é chamada Hermitiana se $M=M^\dagger$.

Na computação quântica, há essencialmente apenas duas matrizes que você encontra: hermitiana e unitária.

Produto tensorial

Outra operação importante é o produto tensorial, também chamado de produto direto da matriz ou produto de Kronecker.

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

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

Observação

Observe que o produto tensorial é diferenciado da multiplicação de matrizes, que é uma operação totalmente diferente.

O produto tensor é usado para representar o estado combinado de vários qubits. O verdadeiro poder da computação quântica vem do aproveitamento de vários qubits para realizar cálculos. Para obter mais informações, consulte Operações em vários qubits.

O produto tensorial de duas matrizes quadradas M e N de tamanho $n\times n$ é uma matriz $maior P=M\otimes N$ de tamanho $n ^ 2 \times n ^ 2$.$ $$ $ Por exemplo:

$$\begin{bmatrix}a\ b \\ c\ d \end{bmatrix}\begin{bmatrix}\otimese\ f\\ g\ h \end{bmatrix}=\begin{bmatrix} a\begin{bmatrix} e\ f\\ g\ h \end{bmatrix} b\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 \end{bmatrix}\begin{bmatrix}\end{bmatrix}=ae\ af\ be\ bf \\ ag\ ah\ bg\ bh \\ ce\ cf\ de\ df \\ cg\ ch\ dg\ dh .\end{bmatrix} $$

Autovalores e autovetores

Considere uma matriz $quadrada M$ e um vetor $v$. O vetor $v$ é um autovetor de $M$ se $Mv = cv$ de algum número $c$. O inteiro $c$ é o autovalor correspondente ao autovetor $v$.

Em geral, uma matriz $M$ pode transformar um vetor em qualquer outro vetor. Um autovetor é especial porque não é alterado, exceto por ser multiplicado por um número. Se $v$ é um autovetor com autovalor $c$, então $av$ também é um autovetor (para qualquer a$) diferente de zero$) com o mesmo autovalor. Por exemplo, para a matriz de identidade, todo vetor $v$ é um autovetor com autovalor $1$.

Como um exemplo adicional, considere uma matriz diagonal $D$ que tem apenas entradas diferentes de zero na diagonal:

$$\begin{bmatrix}&d_1 amp; 0 & 0 \\ 0 & d_2 & 0 \\ 0 & 0 amp; 0 amp; d_3 &\end{bmatrix}. $$

Os vetores

$$\begin{bmatrix}1 \\ 0 \\ 0 \end{bmatrix}, \begin{bmatrix}0 \\ 1 \\ 0\end{bmatrix}\text{e}\begin{bmatrix}0 \\ 0 \\ 1\end{bmatrix}$$

são autovetores dessa matriz com autovalores $d_1$, $d_2$ e $d_3$, respectivamente. Se $d_1$, $d_2$ e $d_3$ forem números distintos, esses vetores (e seus múltiplos) serão os únicos autovetores da matriz $D$.

Em geral, para uma matriz diagonal, é fácil ler eigenvalues e eigenvectors. Autovalores são todos os números que aparecem na diagonal, e seus respectivos autovetores são os vetores unitários com uma entrada igual a $1$ e as entradas restantes iguais a $0$.

Observe no exemplo que os autovetores de $D$ formam uma base para $vetores tridimensionais$. Uma base é um conjunto de vetores, de modo que qualquer vetor pode ser escrito como uma combinação linear deles. De forma mais explícita, $v_1$, $v_2$ e $v_3$ formam uma base se qualquer vetor $v$ puder ser escrito como $v=a_1 v_1 + a_2 v_2 + a_3 v_3$ para alguns números $a_1$, $a_2$ e $a_3$.