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$.