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 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 $=\psia \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 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 $\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$. 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:

$$\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 $números complexos m\cdot n$ dispostos em $m$ linhas e $n$ colunas, como 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}$

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 e colunas é igual. 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

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

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$ da dimensão $m\times n$ e uma matriz $N$ da dimensão $n \times p$ para obter uma nova matriz $P$ da 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~~~~\cdots} M_{mn}\end{bmatrix}\begin{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}$$

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 de identidade, denotada\mathbb{I}$$\mathbb{ , que tem todos os seus elementos diagonais iguais a $1$ e os restantes elementos iguais a $0$:

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

Para uma matriz quadrada A$, uma matriz $B$ é o seu inverso se $AB = BA\mathbb{I}$=\mathbb{ .$ 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 $$M^\dagger$.

Uma matriz U é unitária se $UU^=\dagger U^\dagger U =\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=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}\begin{bmatrix}\otimesc \\ d \end{bmatrix}\begin{bmatrix}=a \begin{bmatrix} c \\ d \end{bmatrix}\\[1.5em] b \begin{bmatrix} c \\ d \end{bmatrix}\begin{bmatrix}=\end{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, consulte Operações em vários qubits.

O produto tensor 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 vetor próprio de $M$ se $Mv = cv$ para algum número $c$. O inteiro $c é o autovalor correspondente ao vetor $próprio v$.$

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

Como outro exemplo, considere uma matriz$diagonal D$, que só tem entradas diferentes de zero na diagonal:

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

Os vetores

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

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

Em geral, para uma matriz diagonal é fácil ler os autovalores e autovetores. Os autovalores são todos os números que aparecem na diagonal, e seus respetivos 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 tal que qualquer vetor pode ser escrito como uma combinação linear deles. Mais explicitamente, $v_1$, $v_2$ e $v_3$ formam uma base se qualquer vetor $v$ pode 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$.