Partilhar via


Vetores e matrizes em 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 simplesmente vetor, $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 a 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 coluna v de dimensão n, o adjunto é um vetor linha de dimensão 1 × 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= um \ket{0}\ket{1}$ + b é descrito como um vetor de estado quântico $\begin{bmatrix} a \ b \end{bmatrix}$, onde $|um|^2 + |b|^2 = 1$. Para obter mais informações, veja O qubit.

Produto escalar

Dois vetores podem ser multiplicados juntos através do produto escalar, também conhecido como produto ponto 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 $\langleu, v\rangle=u^\daggerv$ e é definido como

$$\left\langle u, 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 + u_n^* v_n.$$ $$

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$. Você 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:

$$ 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 dispostos em $m$ linhas e $n$ colunas, como 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}$$

Nota

Note 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 é igual ao número de colunas. Por exemplo, 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}$$

Gorjeta

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

Tal como acontece com os vetores, você pode multiplicar uma matriz com 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 respetivas entradas das duas matrizes.

Multiplicação matricial

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 forma:

$$ \begin{ \begin{align} &\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}\begin{bmatrix} N_{{11} N_{{12}\cdots N_{1p}\\ N_{{21} N_{22}\cdots N_{2p}\\\ddots\\ N_{n1} N_{n2}\cdots N_{np}\end{bmatrix}=\begin{bmatrix} P_{{11} P_{12}\cdots P_{1p}\\ P_{21} P_{{22}\cdots P_{2p}\\\ddots\\ P_{m1} P_{m2}\cdots P_{mp}\end{bmatrix}\end{align}$$

onde as entradas de $P$ são $P_{ik}=\sum_j M_{ij}N_{jk}$. Por exemplo, a entrada $P_{11}$ é o produto escalar da primeira linha de $M$ com a primeira coluna de $N$. Note que, uma vez que um vetor é simplesmente um caso especial de uma matriz, esta definição se estende à multiplicação matriz-vetor.

Tipos especiais de matrizes

Uma matriz quadrada especial é a matriz identidade, denotada $\mathbb{\mathbb{I}$, que tem todos os seus elementos diagonais iguais a $1$ e os restantes elementos 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$ é o seu inverso se $AB = BA = I\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$ é uma matriz $N$ tal que $N_{ij}= M_{ji}^*$. O adjunto de $M$ é denotado por $M^\dagger$.

Uma matriz $U$ é unitária se $UU^\dagger= = U^\dagger U =\mathbb{I}$ \mathbb{I} ou, equivalentemente, $U^{{-1} = U^=\dagger$. Uma propriedade importante das matrizes unitárias é que elas preservam a norma de um vetor. Isto acontece 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.$

Nota

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=c4 />M^{\dagger}$.

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

Produto tensor

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

Considere os dois vetores $v=\begin{bmatrix}a \\ b \end{bmatrix}$ e $u =\begin{bmatrix} c \\ d \end{bmatrix}$. Seu produto tensor é denotado como $v \otimes u$ e resulta em uma matriz de bloco.

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

Nota

Note que o produto tensor é distinguido da multiplicação matricial, 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 da alavancagem de vários qubits para realizar cálculos. Para saber mais, veja Operações em múltiplos qubits.

  • O qubit
  • Múltiplos qubits
  • Notação Dirac
  • Medições de Pauli