양자 컴퓨팅의 벡터 및 행렬 사용

양자 컴퓨팅을 이해하려면 벡터와 행렬에 관해 잘 알고 있어야 합니다. 양자 컴퓨팅을 위한 선형 대수 문서는 간단한 새로 고침을 제공하며, 자세히 알아보려는 독자는 Strang, G. (1993)와 같은 선형 대수에 대한 표준 참조를 읽는 것이 좋습니다. 선형 대수 소개(Vol. 3). 웰즐리, MA: Wellesley-Cambridge 프레스 또는 선형 대수와 같은 온라인 참조.

벡터

차원(또는 크기) $n$의 열 벡터(또는 간단히 ‘벡터’) $v$는 열로 배열된 $n$개 복소수 $(v_1,v_2,\ldots,v_n)$의 컬렉션입니다.

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

벡터 $v$의 표준은 $\sqrt{\sum_i |v_i|^2}$으로 정의됩니다. 표준이 $1$인 경우 벡터를 단위 표준이라고 합니다(또는 ‘단위 벡터’라고 함). $v$벡터의 수반 행렬은 $v^\dagger$로 나타내며 다음 행 벡터로 정의됩니다. 여기서 $*$는 켤레 복소수를 나타냅니다.

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

열 벡터 $v$와 행 벡터 $v^\dagger$를 구분합니다.

내적

점 곱 또는 스칼라 곱이라고도 하는 내적을 통해 두 벡터를 곱할 수 있습니다. 이름이 의미하는 것처럼, 두 벡터 내적의 결과는 스칼라입니다. 내적은 한 벡터의 프로젝션을 또 다른 벡터에 제공하며 한 벡터를 더 간단한 다른 벡터의 합으로 표시하는 방법을 설명하는 데 중요합니다. $\left\langle u, v\right\rangle$로 나타내는 두 열 벡터 $u=(u_1 , u_2 , \ldots , u_n)$ 및 $v=(v_1 , v_2 , \ldots , v_n)$ 간 내적은 다음으로 정의됩니다.

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

이 표기법을 사용하면 벡터 $v$를 $\sqrt{\langle v, v\rangle}$로 작성할 수 있습니다.

벡터에 숫자 $c$를 곱하면 포함된 항목에 $c$를 곱하는 새 벡터를 만들 수 있습니다. 두 개의 벡터 $u$ 및 $v$를 더해서 포함된 항목이 $u$ 및 $v$ 항목의 합인 새 벡터를 형성할 수도 있습니다. 이러한 연산은 다음과 같습니다.

$$\mathrm{If}~u =\begin{bmatrix} u_1\\ u_2\\ \vdots\\ u_n \end{bmatrix}~\mathrm{and}~ v =\begin{bmatrix} v_1\\ v_2\\ \vdots\\ v_n \end{bmatrix},~\mathrm{then}~ au+bv =\begin{bmatrix} au_1+bv_1\\ au_2+bv_2\\ \vdots\\ au_n+bv_n \end{bmatrix}. $$

크기 $m \times n$의 ‘행렬’은 다음과 같이 $m$개 행 및 $n$개 열로 배열된 $mn$개 복소수의 컬렉션입니다.

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

차원 $n$의 벡터는 단순히 크기 $n \times 1$의 행렬입니다. 벡터와 마찬가지로, 행렬에 숫자 $c$를 곱하면 모든 항목에 $c$를 곱하는 새 행렬을 얻을 수 있으며, 동일한 크기의 두 행렬을 더하면 포함된 항목이 두 행렬에 있는 각 항목의 합인 새 행렬을 만들 수 있습니다.

행렬 곱하기

두 개의 행렬인 차원 $m\times n$의 $M$ 및 차원 $n \times p$의 $N$을 곱해서 다음과 같이 차원 $m \times p$의 새 행렬 $P$를 얻을 수도 있습니다.

$$\begin{\begin{align}&앰프;\begin{bmatrix} M_ M_ M_~~{{12}\cdots~~1n}\\ M_ M_{~~{21} M_~~{{~~\cdots{22}2n\ddots\\}\\ M_{m1}~~ M_m2 M_{mn}\begin{bmatrix}}\end{bmatrix}~~\cdots~~ N_{11}~~ N_{ N_{{12}\cdots~~~~1p N_ N_ N_{{21}~~~~{22}{{\cdots~~2p}\\\ddots\\}\\{ N_n1}{~~ N_n2~~~~}\cdots N_{np}\end{bmatrix}=\begin{bmatrix} P_ P_{11}{~~{{11}~~{12}~~\cdots~~{P_1p}\\ P_{~~{21} P_ P_\cdots{{22}~~{~~2p}\\\ddots\\ P_{m1}~~ P_{m2~~\cdots}~~ P_mp{}\end{bmatrix}\end{align}$$

여기서 $P$의 항목은 $P_{ik}=\sum_j M_{ij}N_{jk}$입니다. 예를 들어, $P_{11}$ 항목은 $M$의 첫 번째 행과 $N$의 첫 번째 열의 내적입니다. 벡터는 단순히 행렬의 특별한 경우이기 때문에 이 정의는 행렬-벡터 곱으로 확장됩니다.

고려해야 하는 모든 행렬은 행 및 열 수가 같은 정방 행렬이거나 $1$개 열에만 해당하는 벡터입니다. 하나의 특수 제곱 행렬은 1$과 같고 나머지 요소가 0$과 같은 $$모든 대각선 요소를 포함하는 ID 행렬$\mathbb{\mathbb{I}$입니다.

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

정사각형 행렬 $A$의 경우 행렬 $B$는 AB = BA\mathbb{I}$=\mathbb{인 경우 $역입니다. 역행렬은 존재하지 않아도 되지만 존재하는 경우에는 고유하며 이를 $A^{-1}$으로 나타냅니다.

행렬 $M$의 경우 $M$의 전치 수반 행렬 및 켤레는 행렬 $N$이므로 $N_{ij}= M_{ji}^*$입니다. $M$의 수반 행렬은 일반적으로 $M^\dagger$으로 나타냅니다. 행렬 $U$는 UU^ U^\dagger=\dagger U =\mathbb{I}$ 또는 마찬가지로 U^{={-1} U^\dagger$인 $경우 $유니터리입니다. 유니터리 행렬의 중요한 속성 중 하나는 벡터의 표준을 보존하는 것입니다. 이는 다음과 같은 이유로 발생합니다.

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

$M=M^\dagger$인 경우 행렬 $M$을 ‘에르미트’라고 합니다.

텐서 곱

또 다른 중요한 연산은 행렬 직접 곱 또는 텐서 곱이라고도 하는 크로네커 곱입니다. 크로네커 곱은 완전히 다른 작업인 행렬 곱셈과 구분됩니다. 양자 컴퓨팅 이론에서 ‘텐서 곱’은 일반적으로 크로네커 곱을 나타내는 데 사용됩니다.

두 개의 벡터 $v=\begin{bmatrix}a \\ b \end{bmatrix}$ 및 $u =\begin{bmatrix} c \\ d \\ e \end{bmatrix}$를 살펴봅니다. 해당 텐서 곱은 $v \otimes u$로 나타내며 블록 행렬을 생성합니다.

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

텐서 곱은 임의 크기의 두 행렬 또는 벡터에 대한 작업입니다. 두 개의 행렬인 크기 $m\times n$의 $M$ 및 크기 $p \times q$의 $N$에 대한 텐서 곱은 더 큰 행렬인 크기 $mp \times nq$의 $P=M\otimes N$이며 다음과 같이 $M$ 및 $N$에서 얻습니다.

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

a\ b \\ c\ d\begin{bmatrix}\end{bmatrix}\otimese\ f\\ g\ h a\begin{bmatrix} e\ f g\ h=\end{bmatrix}\begin{bmatrix}\end{bmatrix} b\begin{bmatrix} e\ f\\\\ g\ h \end{bmatrix}\\[1em] c\begin{bmatrix} e\ f\\ g\ h e\ h e\begin{bmatrix}\ h \end{bmatrix} e\ f e\ f\\ g\ h\begin{bmatrix}\end{bmatrix}=\end{bmatrix} ae\ af\ be\ bf \\ ag\ ah\ bg\ bh \\ ce\ cf\ de\ df \\ cg\ ch\ dg\ dh .\end{bmatrix}$$\begin{bmatrix} $$

텐서 곱과 관련된 마지막 유용한 표기 규칙은 벡터 $v$ 또는 행렬 $M$, $v^{\otimes n}$ 또는 $M^{\otimes n}$이 $n$겹 반복된 텐서 곱의 약식이라는 것입니다. 예:

\begin{align}&앰프;\begin{bmatrix} 1 0 ^ 1 1=\\}\begin{bmatrix} 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 \\1 \\\end{bmatrix}&, 0 &\begin{bmatrix} 1 \\ 1& 0 \end{bmatrix}^{\otimes 1\begin{bmatrix}}= 0& 1 \\ 1& 0 \end{bmatrix}, \qquad\begin{bmatrix} 0 & 1 \\ 1& 0 \end{bmatrix}^{\otimes 2\begin{bmatrix}}= 0 &{\otimes\end{bmatrix}\\ 0& 0& 1 \\ 0 & 0& 1& 0 \\ 0 & 1& 0& 0\\ 1 & 0& 0& 0\end{bmatrix}. \end{align}

다음 단계