Linearism › 선형대수 › LA.32

32장. 텐서곱

선형대수 · 4부. 심화

고급 · 약 40분 · 연습문제 13 · 그림 1

요약

크로네커 곱과 혼합곱 법칙, vec과 실베스터 방정식, 기저 없이 정의한 텐서곱 공간, 순수 텐서와 랭크 1, 보편성, 연산자의 텐서곱과 슈미트 분해, 큐비트와 얽힘, 외대수와 행렬식

두 벡터공간을 '곱해서' 더 큰 공간을 만드는 방법이 텐서곱입니다. 행렬의 크로네커 곱으로 구체적으로 계산할 수 있고, 양자컴퓨터의 여러 큐비트 상태와 얽힘, 머신러닝의 텐서 연산이 모두 이 언어로 쓰입니다. 마지막 장답게 앞의 개념을 많이 쓰지만, 계산은 크로네커 곱으로 손으로 할 수 있습니다(고급).

32.1 공간을 곱하기

질문. 직합 V⊕WV \oplus W는 차원을 더합니다: dim⁡(V⊕W)=dim⁡V+dim⁡W\dim(V \oplus W) = \dim V + \dim W. 차원을 곱하는 구성도 있을까요? 큐비트 하나는 C2\mathbb{C}^2의 단위벡터인데, 큐비트 두 개는 C2⊕C2=C4\mathbb{C}^2 \oplus \mathbb{C}^2 = \mathbb{C}^4가 아니라 다른 의미의 C4\mathbb{C}^4이고, nn개는 2n2^n차원입니다. 이 “곱”은 무엇일까요?

두 계를 합칠 때, 각 계의 상태를 따로 적는 것이 직합입니다: (v,w)(v, w). 하지만 두 계가 상관될 수 있다면 “eie_i이면서 fjf_j”인 모든 조합에 계수를 하나씩 줘야 합니다. 조합이 mnmn개이므로 mnmn차원 공간이 필요합니다. 이것이 텐서곱입니다. 행렬 계산으로 먼저 보고, 그다음 기저 없이 정의합니다.

32.2 크로네커 곱

정의 32.1 (크로네커 곱). m×nm \times n 행렬 AA와 p×qp \times q 행렬 BB의 크로네커 곱(Kronecker product)은 mp×nqmp \times nq 블록 행렬

A⊗B=[a11B⋯a1nB⋮⋮am1B⋯amnB]A \otimes B = \begin{bmatrix} a_{11}B & \cdots & a_{1n}B \\ \vdots & & \vdots \\ a_{m1}B & \cdots & a_{mn}B \end{bmatrix}

입니다.

예제 32.2.

[1234]⊗[0110]=[0102102003043040],[ab]⊗[cd]=[acadbcbd].\begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix} \otimes \begin{bmatrix} 0 & 1 \\ 1 & 0 \end{bmatrix} = \begin{bmatrix} 0 & 1 & 0 & 2 \\ 1 & 0 & 2 & 0 \\ 0 & 3 & 0 & 4 \\ 3 & 0 & 4 & 0 \end{bmatrix}, \qquad \begin{bmatrix} a \\ b \end{bmatrix} \otimes \begin{bmatrix} c \\ d \end{bmatrix} = \begin{bmatrix} ac \\ ad \\ bc \\ bd \end{bmatrix}.

두 벡터의 크로네커 곱은 “모든 성분의 곱”을 사전 순서로 늘어놓은 것입니다.

정리 32.3 (크로네커 곱의 성질). 크기가 맞으면

  1. (A⊗B)(C⊗D)=AC⊗BD(A \otimes B)(C \otimes D) = AC \otimes BD (혼합곱 법칙).
  2. (A⊗B)T=AT⊗BT(A \otimes B)^T = A^T \otimes B^T, (A⊗B)−1=A−1⊗B−1(A \otimes B)^{-1} = A^{-1} \otimes B^{-1}.
  3. Ax=λxA\mathbf{x} = \lambda\mathbf{x}, By=μyB\mathbf{y} = \mu\mathbf{y}이면 (A⊗B)(x⊗y)=λμ (x⊗y)(A \otimes B)(\mathbf{x} \otimes \mathbf{y}) = \lambda\mu\,(\mathbf{x} \otimes \mathbf{y}).
  4. AA가 n×nn \times n, BB가 p×pp \times p이면 tr⁡(A⊗B)=tr⁡Atr⁡B\operatorname{tr}(A \otimes B) = \operatorname{tr} A\operatorname{tr} B, det⁡(A⊗B)=(det⁡A)p(det⁡B)n\det(A \otimes B) = (\det A)^p(\det B)^n.

증명. (1) 왼쪽의 (i,j)(i, j) 블록은 ∑k(aikB)(ckjD)=(∑kaikckj)BD=(AC)ijBD\sum_k (a_{ik}B)(c_{kj}D) = \big(\sum_k a_{ik}c_{kj}\big)BD = (AC)_{ij}BD. (2) 전치는 블록을 바꾸고 각 블록을 전치합니다. 역행렬은 (1)로 (A⊗B)(A−1⊗B−1)=I⊗I=I(A \otimes B)(A^{-1} \otimes B^{-1}) = I \otimes I = I. (3) (1)에서 C=xC = \mathbf{x}, D=yD = \mathbf{y}. (4) 복소수에서 AA, BB를 위삼각화하면(정리 24.13) A=PTP−1A = PTP^{-1}, B=QUQ−1B = QUQ^{-1}이고 (1), (2)에 의해 A⊗B=(P⊗Q)(T⊗U)(P⊗Q)−1A \otimes B = (P \otimes Q)(T \otimes U)(P \otimes Q)^{-1}. T⊗UT \otimes U는 대각이 tiiujjt_{ii}u_{jj}인 위삼각행렬입니다. 따라서 고윳값은 λiμj\lambda_i\mu_j 전부이고, 합은 ∑i∑jλiμj\sum_i\sum_j \lambda_i\mu_j, 곱은 ∏i,jλiμj=(∏λi)p(∏μj)n\prod_{i,j}\lambda_i\mu_j = \big(\prod \lambda_i\big)^p\big(\prod \mu_j\big)^n. ■

행렬방정식. p×qp \times q 행렬 XX의 열을 차례로 쌓은 벡터를 vec⁡X\operatorname{vec} X라 하면

vec⁡(AXB)=(BT⊗A)vec⁡X\operatorname{vec}(AXB) = (B^T \otimes A)\operatorname{vec} X

입니다(문제 32.3). 그래서 AX+XB=CAX + XB = C 같은 행렬방정식(실베스터 방정식, 제어이론에서 자주 나옵니다)은 보통의 연립방정식 (I⊗A+BT⊗I)vec⁡X=vec⁡C(I \otimes A + B^T \otimes I)\operatorname{vec} X = \operatorname{vec} C가 되고, (3)에 의해 AA와 −B-B가 고윳값을 공유하지 않으면 해가 유일합니다.

또 2차원 격자 위의 라플라시안은 1차원 라플라시안 LL로 L⊗I+I⊗LL \otimes I + I \otimes L이라 씁니다. 고윳값은 λi+λj\lambda_i + \lambda_j입니다. 큰 행렬을 작은 행렬의 크로네커 곱으로 쓰면 저장과 계산이 크게 줄어듭니다.

▶ 문제 32.1–32.4

32.3 텐서곱 공간

이제 기저 없이 정의합시다. 이 절에서 VV, WW는 F\mathbb{F} 위의 유한차원 공간, dim⁡V=m\dim V = m, dim⁡W=n\dim W = n입니다. 28장에서 쌍선형 형식은 V×VV \times V 위에서 정의했지만, 같은 정의가 V×WV \times W 위에서도 됩니다.

정의 32.4 (텐서곱). V′×W′V' \times W' 위의 쌍선형 형식 전체의 공간을 V⊗WV \otimes W라 하고 텐서곱(tensor product)이라 합니다. v∈Vv \in V, w∈Ww \in W에 대해 v⊗w∈V⊗Wv \otimes w \in V \otimes W를

(v⊗w)(φ,ψ)=φ(v) ψ(w)(v \otimes w)(\varphi, \psi) = \varphi(v)\,\psi(w)

로 정의합니다. v⊗wv \otimes w 꼴의 원소를 순수 텐서(pure tensor)라 합니다.

벡터를 “범함수를 먹이면 수를 내놓는 것”으로 보는 22장의 관점(V≅V′′V \cong V'')을 두 공간으로 늘린 것입니다. 정의에서 바로 다음이 나옵니다.

(v1+v2)⊗w=v1⊗w+v2⊗w,(cv)⊗w=c(v⊗w)=v⊗(cw),(v_1 + v_2) \otimes w = v_1 \otimes w + v_2 \otimes w, \qquad (cv) \otimes w = c(v \otimes w) = v \otimes (cw),

즉 (v,w)↦v⊗w(v, w) \mapsto v \otimes w는 쌍선형입니다. 특히 v⊗wv \otimes w와 (2v)⊗(12w)(2v) \otimes (\frac12w)는 같은 원소입니다.

정리 32.5 (텐서곱의 기저). e1,…,eme_1, \ldots, e_m과 f1,…,fnf_1, \ldots, f_n이 VV, WW의 기저이면 ei⊗fje_i \otimes f_j (mnmn개)는 V⊗WV \otimes W의 기저입니다. 따라서 dim⁡(V⊗W)=mn\dim(V \otimes W) = mn입니다.

증명. 쌍대기저를 φ1,…,φm\varphi_1, \ldots, \varphi_m, ψ1,…,ψn\psi_1, \ldots, \psi_n이라 합시다. 정리 28.3과 같은 논리로 쌍선형 형식 β\beta는 값 β(φk,ψl)\beta(\varphi_k, \psi_l)로 정해지고, 그 값들은 아무것이나 될 수 있습니다. (ei⊗fj)(φk,ψl)=δikδjl(e_i \otimes f_j)(\varphi_k, \psi_l) = \delta_{ik}\delta_{jl}이므로 β=∑i,jβ(φi,ψj) ei⊗fj\beta = \sum_{i,j}\beta(\varphi_i, \psi_j)\,e_i \otimes f_j이고, 이 표현은 유일합니다. ■

τ∈V⊗W\tau \in V \otimes W를 τ=∑cij ei⊗fj\tau = \sum c_{ij}\,e_i \otimes f_j로 쓰면 τ\tau는 m×nm \times n 계수 행렬 [cij][c_{ij}]로 정해집니다. 순수 텐서는 v=∑aieiv = \sum a_ie_i, w=∑bjfjw = \sum b_jf_j에 대해 cij=aibjc_{ij} = a_ib_j, 즉 계수 행렬이 abT\mathbf{a}\mathbf{b}^T입니다.

정리 32.6 (순수 텐서와 랭크 1). τ\tau가 순수 텐서인 것은 계수 행렬의 랭크가 1 이하인 것과 동치입니다. 일반적으로 τ\tau는 계수 행렬의 랭크 rr개의 순수 텐서의 합으로 쓸 수 있고, 그보다 적게는 안 됩니다.

증명. 랭크 1 이하 행렬은 abT\mathbf{a}\mathbf{b}^T 꼴입니다. 랭크 rr인 행렬은 랭크 1 행렬 rr개의 합이고(예를 들어 SVD), ss개의 합이면 랭크가 ss 이하입니다. ■

예를 들어 e1⊗f1+e2⊗f2e_1 \otimes f_1 + e_2 \otimes f_2의 계수 행렬은 I2I_2이고 랭크가 2이므로 어떤 v⊗wv \otimes w로도 쓸 수 없습니다. V⊗WV \otimes W의 원소 대부분은 순수 텐서가 아닙니다.

다음 성질이 텐서곱의 존재 이유입니다.

정리 32.7 (보편성). UU가 벡터공간이고 β:V×W→U\beta : V \times W \to U가 쌍선형이면, β~(v⊗w)=β(v,w)\tilde\beta(v \otimes w) = \beta(v, w)인 선형사상 β~:V⊗W→U\tilde\beta : V \otimes W \to U가 유일하게 존재합니다.

증명. 기저 ei⊗fje_i \otimes f_j에서 β~(ei⊗fj)=β(ei,fj)\tilde\beta(e_i \otimes f_j) = \beta(e_i, f_j)로 정하면 선형사상이 하나로 정해집니다(정리 22.3). v=∑aieiv = \sum a_ie_i, w=∑bjfjw = \sum b_jf_j이면 β~(v⊗w)=∑aibjβ(ei,fj)=β(v,w)\tilde\beta(v \otimes w) = \sum a_ib_j\beta(e_i, f_j) = \beta(v, w). 순수 텐서들이 V⊗WV \otimes W를 생성하므로 유일합니다. ■

“쌍선형 사상은 텐서곱에서 나가는 선형사상과 같습니다.” 곱셈처럼 두 입력에 각각 선형인 것들을 선형대수의 틀로 가져오는 장치가 텐서곱입니다. 예를 들어 β(v,φ)=φ(v)\beta(v, \varphi) = \varphi(v)를 생각하면 V⊗V′V \otimes V'에서 F\mathbb{F}로의 선형사상이 나오는데, V⊗V′≅L(V)V \otimes V' \cong \mathcal{L}(V)로 보면 이것이 대각합입니다(문제 32.7).

▶ 문제 32.5–32.7

32.4 연산자의 텐서곱

S∈L(V)S \in \mathcal{L}(V), T∈L(W)T \in \mathcal{L}(W)이면 (v,w)↦Sv⊗Tw(v, w) \mapsto Sv \otimes Tw는 쌍선형이므로 보편성에 의해 선형사상

S⊗T∈L(V⊗W),(S⊗T)(v⊗w)=Sv⊗TwS \otimes T \in \mathcal{L}(V \otimes W), \qquad (S \otimes T)(v \otimes w) = Sv \otimes Tw

가 있습니다. 기저 e1⊗f1,e1⊗f2,…,e1⊗fn,e2⊗f1,…e_1 \otimes f_1, e_1 \otimes f_2, \ldots, e_1 \otimes f_n, e_2 \otimes f_1, \ldots (사전 순서)에서 행렬을 계산하면 M(S⊗T)=M(S)⊗M(T)\mathcal{M}(S \otimes T) = \mathcal{M}(S) \otimes \mathcal{M}(T), 크로네커 곱입니다. 32.2절의 성질들이 이제 기저와 무관한 사실이 됩니다. S⊗TS \otimes T의 고윳값은 λiμj\lambda_i\mu_j이고 고유벡터는 vi⊗wjv_i \otimes w_j입니다.

내적공간이면 V⊗WV \otimes W에도 내적을 줍니다.

⟨v⊗w,v′⊗w′⟩=⟨v,v′⟩⟨w,w′⟩.\langle v \otimes w, v' \otimes w' \rangle = \langle v, v' \rangle\langle w, w' \rangle.

(순수 텐서에서 이렇게 정하고 쌍선형으로 확장합니다.) eie_i, fjf_j가 정규직교이면 ei⊗fje_i \otimes f_j도 정규직교입니다. 이 내적으로 텐서 τ\tau의 길이는 계수 행렬의 프로베니우스 노름입니다.

정리 32.8 (슈미트 분해). VV, WW가 내적공간이면 모든 τ∈V⊗W\tau \in V \otimes W는

τ=σ1 u1⊗w1+⋯+σr ur⊗wr(σi>0, ui와 wi는 각각 정규직교)\tau = \sigma_1\,u_1 \otimes w_1 + \cdots + \sigma_r\,u_r \otimes w_r \qquad (\sigma_i > 0,\ u_i\text{와 } w_i\text{는 각각 정규직교})

로 쓸 수 있습니다. σi\sigma_i는 계수 행렬의 특잇값입니다.

증명. 정규직교 기저에서 계수 행렬 C=∑iσiaibiTC = \sum_i \sigma_i\mathbf{a}_i\mathbf{b}_i^T (SVD, 실수의 경우; 복소수면 bi\mathbf{b}_i 대신 bˉi\bar{\mathbf{b}}_i)이고 aibiT\mathbf{a}_i\mathbf{b}_i^T는 순수 텐서 ui⊗wiu_i \otimes w_i의 계수 행렬입니다. ■

18장의 SVD가 텐서의 언어로는 “두 계의 상태를 가장 적은 수의 독립 조합으로 쓰기”입니다.

▶ 문제 32.8–32.9

32.5 큐비트

양자 컴퓨터의 큐비트(qubit) 하나의 상태는 C2\mathbb{C}^2의 단위벡터입니다. 물리학의 표기로 ∣0⟩=e1|0\rangle = \mathbf{e}_1, ∣1⟩=e2|1\rangle = \mathbf{e}_2라 씁니다. 상태 α∣0⟩+β∣1⟩\alpha|0\rangle + \beta|1\rangle을 측정하면 확률 ∣α∣2\lvert \alpha \rvert^2로 0, ∣β∣2\lvert \beta \rvert^2로 1이 나옵니다. 큐비트 nn개의 상태는

C2⊗C2⊗⋯⊗C2=C2n\mathbb{C}^2 \otimes \mathbb{C}^2 \otimes \cdots \otimes \mathbb{C}^2 = \mathbb{C}^{2^n}

의 단위벡터이고, 기저는 ∣b1b2…bn⟩=∣b1⟩⊗⋯⊗∣bn⟩|b_1b_2 \ldots b_n\rangle = |b_1\rangle \otimes \cdots \otimes |b_n\rangle (bi∈{0,1}b_i \in \{0, 1\})입니다. 큐비트가 하나 늘 때마다 차원이 두 배가 됩니다. 고전 컴퓨터로 양자 계를 흉내 내기 어려운 이유가 이것입니다.

얽힘. 두 큐비트의 상태 τ=∑cij∣ij⟩\tau = \sum c_{ij}|ij\rangle가 순수 텐서이면 두 큐비트가 독립이고, 아니면 얽혀(entangled) 있다고 합니다. 정리 32.6에 의해 판정은 2×22 \times 2 계수 행렬의 랭크, 즉 det⁡[cij]≠0\det[c_{ij}] \ne 0인지입니다.

예제 32.9.

12(∣00⟩+∣01⟩+∣10⟩+∣11⟩)=∣0⟩+∣1⟩2⊗∣0⟩+∣1⟩2,12(∣00⟩+∣11⟩).\frac12\big(|00\rangle + |01\rangle + |10\rangle + |11\rangle\big) = \frac{|0\rangle + |1\rangle}{\sqrt2} \otimes \frac{|0\rangle + |1\rangle}{\sqrt2}, \qquad \frac{1}{\sqrt2}\big(|00\rangle + |11\rangle\big).

앞의 것은 계수 행렬 12[1111]\frac12\begin{bmatrix} 1 & 1 \\ 1 & 1 \end{bmatrix} (랭크 1), 순수 텐서입니다. 뒤의 것(벨 상태(Bell state))은 12I\frac{1}{\sqrt2}I (랭크 2), 얽혀 있습니다. 벨 상태에서 첫 큐비트를 측정해 0이 나오면 상태가 ∣00⟩|00\rangle으로 바뀌어 둘째 큐비트도 반드시 0입니다. 슈미트 계수는 12,12\frac{1}{\sqrt2}, \frac{1}{\sqrt2}로 가장 강하게 얽혀 있습니다.

게이트. 양자 연산은 유니터리 행렬(26장)입니다. 아다마르 게이트 H=12[111−1]H = \frac{1}{\sqrt2}\begin{bmatrix} 1 & 1 \\ 1 & -1 \end{bmatrix}을 첫 큐비트에만 걸면 H⊗IH \otimes I입니다. 반면 CNOT 게이트

CNOT=[1000010000010010]\mathrm{CNOT} = \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 \end{bmatrix}

(첫 큐비트가 1이면 둘째를 뒤집습니다)은 크로네커 곱으로 쓸 수 없습니다. 이런 게이트가 얽힘을 만듭니다.

CNOT (H⊗I)∣00⟩=CNOT ∣00⟩+∣10⟩2=∣00⟩+∣11⟩2.\mathrm{CNOT}\,(H \otimes I)|00\rangle = \mathrm{CNOT}\,\frac{|00\rangle + |10\rangle}{\sqrt2} = \frac{|00\rangle + |11\rangle}{\sqrt2}.

순수 텐서 ∣0⟩⊗∣0⟩|0\rangle \otimes |0\rangle이 벨 상태가 되었습니다. 양자 알고리즘은 결국 2n2^n차원 공간에서 유니터리 행렬을 곱하는 일입니다.

아래 위젯의 단추 “H → 1번”은 H⊗IH \otimes I, “H → 2번”은 I⊗HI \otimes H, “X → 1번”은 X⊗IX \otimes I (X=[0110]X = \begin{bmatrix} 0 & 1 \\ 1 & 0 \end{bmatrix})입니다.

게이트를 걸 때마다 진폭과 계수 행렬이 바뀝니다. 계수 행렬의 행렬식이 0이 아니게 되는 순간 두 큐비트가 얽힙니다

이 위젯은 JavaScript가 필요합니다

▶ 문제 32.10–32.12

32.6 다시 행렬식으로

텐서곱을 여러 번 하면 V⊗m=V⊗⋯⊗VV^{\otimes m} = V \otimes \cdots \otimes V를 얻습니다. 보편성을 mm개 자리로 늘리면, VV 위의 mm-선형 형식은 V⊗mV^{\otimes m} 위의 선형 범함수와 같습니다: V(m)≅(V⊗m)′V^{(m)} \cong (V^{\otimes m})'. 28장의 다중선형 형식은 텐서곱의 쌍대입니다.

교대 형식만 남기면 외대수(exterior power) ΛmV\Lambda^mV가 나옵니다. v1∧⋯∧vmv_1 \wedge \cdots \wedge v_m은 자리를 바꾸면 부호가 바뀌는 텐서이고, dim⁡ΛmV=(nm)\dim\Lambda^mV = \binom{n}{m} (문제 28.5). 특히 ΛnV\Lambda^nV는 1차원이고, 연산자 TT는 그 위에서

Tv1∧⋯∧Tvn=det⁡T⋅v1∧⋯∧vnTv_1 \wedge \cdots \wedge Tv_n = \det T \cdot v_1 \wedge \cdots \wedge v_n

으로 작용합니다. 1차원 공간 위의 연산자는 수 하나를 곱하는 것뿐이고, 그 수가 행렬식입니다. 6장의 “넓이 배율”에서 시작한 행렬식이, 28장의 교대 형식을 거쳐 여기서 가장 짧은 정의에 도착합니다.

▶ 문제 32.13

쓰이는 곳. 양자컴퓨팅 논문의 ∣0⟩⊗∣1⟩|0\rangle \otimes |1\rangle, 텐서 분해, 다변수 데이터(영상×시간×채널)를 다루는 머신러닝이 텐서곱의 언어로 쓰입니다.

이 장의 요약

  • 크로네커 곱 A⊗BA \otimes B: 혼합곱 법칙 (A⊗B)(C⊗D)=AC⊗BD(A \otimes B)(C \otimes D) = AC \otimes BD. 고윳값은 λiμj\lambda_i\mu_j.
  • V⊗WV \otimes W: dim⁡=mn\dim = mn, 기저 ei⊗fje_i \otimes f_j. 원소는 m×nm \times n 계수 행렬과 같고, 순수 텐서는 랭크 1 행렬입니다.
  • 보편성: 쌍선형 사상 V×W→UV \times W \to U = 선형사상 V⊗W→UV \otimes W \to U.
  • S⊗TS \otimes T의 행렬은 크로네커 곱. 슈미트 분해는 계수 행렬의 SVD.
  • 큐비트 nn개는 C2n\mathbb{C}^{2^n}. 얽힘 = 순수 텐서가 아님 = 계수 행렬의 랭크 ≥2\ge 2.
  • 다중선형 형식은 텐서곱의 쌍대이고, ΛnV\Lambda^nV 위에서 TT는 det⁡T\det T배입니다.

문제

32.1 [계산] · 확인 문제

A=[1234]A = \begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix}에 대해 I2⊗AI_2 \otimes A와 A⊗I2A \otimes I_2를 씁니다. 두 행렬은 같을까요? 닮았을까요? 그렇으면 O, 아니면 X를 적습니다.

같은가 닮았는가
[?] [?]
정답
X
O
풀이
I⊗A=[1200340000120034],A⊗I=[1020010230400304].I \otimes A = \begin{bmatrix} 1 & 2 & 0 & 0 \\ 3 & 4 & 0 & 0 \\ 0 & 0 & 1 & 2 \\ 0 & 0 & 3 & 4 \end{bmatrix}, \qquad A \otimes I = \begin{bmatrix} 1 & 0 & 2 & 0 \\ 0 & 1 & 0 & 2 \\ 3 & 0 & 4 & 0 \\ 0 & 3 & 0 & 4 \end{bmatrix}.

다릅니다. 그러나 기저 순서를 1, 3, 2, 4로 바꾸는 치환행렬 PP에 대해 P(A⊗I)PT=I⊗AP(A \otimes I)P^T = I \otimes A이므로 닮았습니다. 일반적으로 A⊗BA \otimes B와 B⊗AB \otimes A는 치환으로 닮았습니다(V⊗W≅W⊗VV \otimes W \cong W \otimes V).

32.2 [계산] · 확인 문제

A=[2112]A = \begin{bmatrix} 2 & 1 \\ 1 & 2 \end{bmatrix}, B=[0110]B = \begin{bmatrix} 0 & 1 \\ 1 & 0 \end{bmatrix}에 대해 A⊗BA \otimes B의 고윳값, 대각합, 행렬식을 정리 32.3으로 구합니다. 표에는 대각합과 행렬식을 적습니다.

tr⁡(A⊗B)\operatorname{tr}(A \otimes B) det⁡(A⊗B)\det(A \otimes B)
[?] [?]
정답
0
9
풀이

AA: 3, 1. BB: 1, −1-1. A⊗BA \otimes B: 3, −3-3, 1, −1-1. tr⁡=0=tr⁡Atr⁡B=4⋅0\operatorname{tr} = 0 = \operatorname{tr} A\operatorname{tr} B = 4 \cdot 0. det⁡=9=(det⁡A)2(det⁡B)2=32⋅(−1)2\det = 9 = (\det A)^2(\det B)^2 = 3^2 \cdot (-1)^2.

32.3 [증명]

vec⁡(AXB)=(BT⊗A)vec⁡X\operatorname{vec}(AXB) = (B^T \otimes A)\operatorname{vec} X임을 보입니다.

힌트. AXBAXB의 jj열을 XX의 열들로 씁니다.

풀이

XX의 열을 xk\mathbf{x}_k라 하면 AXBAXB의 jj열은 AXbj=∑kbkjAxkAX\mathbf{b}_j = \sum_k b_{kj}A\mathbf{x}_k. BT⊗AB^T \otimes A의 jj번째 블록 행은 [ b1jA ⋯ bqjA ][\,b_{1j}A\ \cdots\ b_{qj}A\,]이고 이것을 vec⁡X=(x1,…,xq)\operatorname{vec} X = (\mathbf{x}_1, \ldots, \mathbf{x}_q)에 곱하면 같은 값입니다.

32.4 [계산] · 확인 문제

A=diag⁡(1,2)A = \operatorname{diag}(1, 2), B=diag⁡(3,4)B = \operatorname{diag}(3, 4), C=[4556]C = \begin{bmatrix} 4 & 5 \\ 5 & 6 \end{bmatrix}일 때 AX+XB=CAX + XB = C를 풉니다. (I⊗A+BT⊗I)(I \otimes A + B^T \otimes I)는 어떤 행렬일까요? A=[1]A = [1], B=[−1]B = [-1]이면 어떻게 될까요? 표에는 XX를 적습니다.

x11x_{11} x12x_{12} x21x_{21} x22x_{22}
[?] [?] [?] [?]
정답
1
1
1
1
풀이

성분별로 (ai+bj)xij=cij(a_i + b_j)x_{ij} = c_{ij}: x11=4/4x_{11} = 4/4, x12=5/5x_{12} = 5/5, x21=5/5x_{21} = 5/5, x22=6/6x_{22} = 6/6. X=[1111]X = \begin{bmatrix} 1 & 1 \\ 1 & 1 \end{bmatrix}. 행렬은 대각 diag⁡(ai+bj)\operatorname{diag}(a_i + b_j) (vec 순서로 4, 5, 5, 6). A=[1]A = [1], B=[−1]B = [-1]이면 1+(−1)=01 + (-1) = 0이므로 0⋅x=c0 \cdot x = c: c≠0c \ne 0이면 해가 없고 c=0c = 0이면 무수히 많습니다. AA와 −B-B가 고윳값 1을 공유합니다.

32.5 [계산] · 확인 문제

R2⊗R2\mathbb{R}^2 \otimes \mathbb{R}^2에서 순수 텐서인지 판정하고, 순수이면 v⊗wv \otimes w로 씁니다. 순수 텐서이면 O, 아니면 X를 적습니다.

(a) e1⊗f1+e1⊗f2+e2⊗f1+e2⊗f2e_1 \otimes f_1 + e_1 \otimes f_2 + e_2 \otimes f_1 + e_2 \otimes f_2 (b) e1⊗f1+2e1⊗f2+2e2⊗f1+4e2⊗f2e_1 \otimes f_1 + 2e_1 \otimes f_2 + 2e_2 \otimes f_1 + 4e_2 \otimes f_2 (c) e1⊗f2−e2⊗f1e_1 \otimes f_2 - e_2 \otimes f_1

(a) (b) (c)
[?] [?] [?]
정답
O
O
X
풀이

(a) 계수 행렬 [1111]\begin{bmatrix} 1 & 1 \\ 1 & 1 \end{bmatrix}, 랭크 1: (e1+e2)⊗(f1+f2)(e_1 + e_2) \otimes (f_1 + f_2). (b) [1224]\begin{bmatrix} 1 & 2 \\ 2 & 4 \end{bmatrix}, 랭크 1: (e1+2e2)⊗(f1+2f2)(e_1 + 2e_2) \otimes (f_1 + 2f_2). (c) [01−10]\begin{bmatrix} 0 & 1 \\ -1 & 0 \end{bmatrix}, 랭크 2: 순수 텐서가 아닙니다.

32.6 [증명]

(a) v⊗w=0  ⟺  v=0v \otimes w = 0 \iff v = 0 또는 w=0w = 0임을 보입니다. (b) v⊗w=v′⊗w′≠0v \otimes w = v' \otimes w' \ne 0이면 어떤 c≠0c \ne 0에 대해 v′=cvv' = cv, w′=c−1ww' = c^{-1}w임을 보입니다.

풀이

(a) 계수 행렬이 abT\mathbf{a}\mathbf{b}^T이고 이것이 OO인 것은 a=0\mathbf{a} = \mathbf{0} 또는 b=0\mathbf{b} = \mathbf{0}일 때뿐입니다.

(b) abT=a′b′T≠O\mathbf{a}\mathbf{b}^T = \mathbf{a}'\mathbf{b}'^T \ne O이면 두 행렬의 열공간이 같으므로 a′=ca\mathbf{a}' = c\mathbf{a}, 그러면 a(bT−cb′T)=O\mathbf{a}(\mathbf{b}^T - c\mathbf{b}'^T) = O이고 a≠0\mathbf{a} \ne \mathbf{0}이므로 b=cb′\mathbf{b} = c\mathbf{b}'.

32.7 [도전]

Φ:V⊗V′→L(V)\Phi : V \otimes V' \to \mathcal{L}(V)를 Φ(v⊗φ)(u)=φ(u)v\Phi(v \otimes \varphi)(u) = \varphi(u)v로 정의합니다(보편성으로 잘 정의됩니다).

(a) 기저 eie_i와 쌍대기저 φj\varphi_j에 대해 Φ(ei⊗φj)\Phi(e_i \otimes \varphi_j)의 행렬을 구하고, Φ\Phi가 동형임을 보입니다. (b) 쌍선형 사상 (v,φ)↦φ(v)(v, \varphi) \mapsto \varphi(v)에서 나오는 선형사상 V⊗V′→FV \otimes V' \to \mathbb{F}가 Φ\Phi를 거치면 대각합임을 보입니다. 대각합이 기저와 무관한 이유가 여기 있습니다.

풀이

(a) Φ(ei⊗φj)(ek)=φj(ek)ei=δjkei\Phi(e_i \otimes \varphi_j)(e_k) = \varphi_j(e_k)e_i = \delta_{jk}e_i이므로 행렬은 (i,j)(i, j) 성분만 1인 EijE_{ij}. EijE_{ij} (n2n^2개)는 L(V)\mathcal{L}(V)의 기저이므로 Φ\Phi는 기저를 기저로 보내는 동형입니다.

(b) 그 선형사상 cc는 c(ei⊗φj)=φj(ei)=δijc(e_i \otimes \varphi_j) = \varphi_j(e_i) = \delta_{ij}. Φ−1(∑aijEij)=∑aij ei⊗φj\Phi^{-1}\big(\sum a_{ij}E_{ij}\big) = \sum a_{ij}\,e_i \otimes \varphi_j에 cc를 쓰면 ∑aii=tr⁡\sum a_{ii} = \operatorname{tr}. cc와 Φ\Phi는 기저 없이 정의되었으므로 대각합도 기저와 무관합니다.

32.8 [계산] · 확인 문제

R2⊗R2\mathbb{R}^2 \otimes \mathbb{R}^2의 텐서 τ=3e1⊗f1+4e2⊗f1+5e2⊗f2\tau = 3e_1 \otimes f_1 + 4e_2 \otimes f_1 + 5e_2 \otimes f_2의 슈미트 분해를 구합니다(문제 30.4 참고). ∥τ∥2=∑σi2\lVert \tau \rVert^2 = \sum \sigma_i^2을 확인합니다. 소수 셋째 자리까지 적습니다.

σ1\sigma_1 σ2\sigma_2 ∥τ∥2\lVert \tau \rVert^2
[?] [?] [?]
정답
6.708
2.236
50
풀이

계수 행렬 C=[3045]C = \begin{bmatrix} 3 & 0 \\ 4 & 5 \end{bmatrix} (행이 eie_i, 열이 fjf_j). 문제 30.4에서 σ1=35\sigma_1 = 3\sqrt5, a1=110(1,3)\mathbf{a}_1 = \frac{1}{\sqrt{10}}(1, 3), b1=12(1,1)\mathbf{b}_1 = \frac{1}{\sqrt2}(1, 1). b2=12(1,−1)\mathbf{b}_2 = \frac{1}{\sqrt2}(1, -1), Cb2=12(3,−1)C\mathbf{b}_2 = \frac{1}{\sqrt2}(3, -1), σ2=5\sigma_2 = \sqrt5, a2=110(3,−1)\mathbf{a}_2 = \frac{1}{\sqrt{10}}(3, -1).

τ=35 e1+3e210⊗f1+f22+5 3e1−e210⊗f1−f22.\tau = 3\sqrt5\,\frac{e_1 + 3e_2}{\sqrt{10}} \otimes \frac{f_1 + f_2}{\sqrt2} + \sqrt5\,\frac{3e_1 - e_2}{\sqrt{10}} \otimes \frac{f_1 - f_2}{\sqrt2}.

∥τ∥2=9+16+25=50=45+5\lVert \tau \rVert^2 = 9 + 16 + 25 = 50 = 45 + 5.

32.9 [증명]

V⊗WV \otimes W의 내적에서 ∥v⊗w∥=∥v∥∥w∥\lVert v \otimes w \rVert = \lVert v \rVert\lVert w \rVert이고, τ\tau의 길이는 정규직교 기저에 대한 계수 행렬의 프로베니우스 노름임을 보입니다.

풀이

∥v⊗w∥2=⟨v,v⟩⟨w,w⟩\lVert v \otimes w \rVert^2 = \langle v, v \rangle\langle w, w \rangle. ei⊗fje_i \otimes f_j가 정규직교이므로 ∥∑cij ei⊗fj∥2=∑∣cij∣2=∥C∥F2\big\lVert \sum c_{ij}\,e_i \otimes f_j \big\rVert^2 = \sum \lvert c_{ij} \rvert^2 = \lVert C \rVert_F^2.

32.10 [계산] · 확인 문제

얽혀 있는지 판정합니다. 얽혀 있지 않으면 두 큐비트 상태의 텐서곱으로 씁니다. 얽혀 있으면 O, 아니면 X를 적습니다.

(a) 12(∣00⟩+∣01⟩)\frac{1}{\sqrt2}\big(|00\rangle + |01\rangle\big) (b) 12(∣00⟩+∣01⟩+∣10⟩−∣11⟩)\frac12\big(|00\rangle + |01\rangle + |10\rangle - |11\rangle\big) (c) 12(∣01⟩−∣10⟩)\frac{1}{\sqrt2}\big(|01\rangle - |10\rangle\big)

(a) (b) (c)
[?] [?] [?]
정답
X
O
O
풀이

(a) 12[1100]\frac{1}{\sqrt2}\begin{bmatrix} 1 & 1 \\ 0 & 0 \end{bmatrix}, 랭크 1: ∣0⟩⊗∣0⟩+∣1⟩2|0\rangle \otimes \frac{|0\rangle + |1\rangle}{\sqrt2}. 얽혀 있지 않습니다. (b) 12[111−1]\frac12\begin{bmatrix} 1 & 1 \\ 1 & -1 \end{bmatrix}, det⁡=−12≠0\det = -\frac12 \ne 0: 얽혀 있습니다. (c) 12[01−10]\frac{1}{\sqrt2}\begin{bmatrix} 0 & 1 \\ -1 & 0 \end{bmatrix}, det⁡=12≠0\det = \frac12 \ne 0: 얽혀 있습니다(싱글렛 상태).

32.11 [계산] · 확인 문제

H⊗HH \otimes H를 4×44 \times 4 행렬로 쓰고 (H⊗H)∣00⟩(H \otimes H)|00\rangle을 구합니다. H⊗n∣0⋯0⟩H^{\otimes n}|0 \cdots 0\rangle은 무엇일까요? 표에는 (H⊗H)∣00⟩(H \otimes H)|00\rangle의 진폭을 적습니다.

∣00⟩\lvert 00 \rangle ∣01⟩\lvert 01 \rangle ∣10⟩\lvert 10 \rangle ∣11⟩\lvert 11 \rangle
[?] [?] [?] [?]
정답
0.5
0.5
0.5
0.5
풀이
H⊗H=12[11111−11−111−1−11−1−11],(H⊗H)∣00⟩=12(∣00⟩+∣01⟩+∣10⟩+∣11⟩).H \otimes H = \frac12\begin{bmatrix} 1 & 1 & 1 & 1 \\ 1 & -1 & 1 & -1 \\ 1 & 1 & -1 & -1 \\ 1 & -1 & -1 & 1 \end{bmatrix}, \qquad (H \otimes H)|00\rangle = \frac12\big(|00\rangle + |01\rangle + |10\rangle + |11\rangle\big).

혼합곱 법칙으로 H⊗n∣0⟩⊗n=(H∣0⟩)⊗n=(∣0⟩+∣1⟩2)⊗n=12n∑x∣x⟩H^{\otimes n}|0\rangle^{\otimes n} = (H|0\rangle)^{\otimes n} = \Big(\frac{|0\rangle + |1\rangle}{\sqrt2}\Big)^{\otimes n} = \frac{1}{\sqrt{2^n}}\sum_x |x\rangle. 2n2^n개 상태 전부의 균등한 중첩입니다.

32.12 [증명]

CNOT은 어떤 2×22 \times 2 행렬 AA, BB에 대해서도 A⊗BA \otimes B로 쓸 수 없음을 보입니다.

힌트. A⊗BA \otimes B는 순수 텐서를 순수 텐서로 보냅니다.

풀이

(A⊗B)(v⊗w)=Av⊗Bw(A \otimes B)(v \otimes w) = Av \otimes Bw는 순수 텐서입니다. 그런데 12(∣0⟩+∣1⟩)⊗∣0⟩\frac{1}{\sqrt2}(|0\rangle + |1\rangle) \otimes |0\rangle은 순수 텐서이고 CNOT은 이것을 얽힌 벨 상태로 보냅니다. 따라서 CNOT≠A⊗B\mathrm{CNOT} \ne A \otimes B.

32.13 [계산]

(a) Λ2R2\Lambda^2\mathbb{R}^2에서 Te1=ae1+ce2Te_1 = ae_1 + ce_2, Te2=be1+de2Te_2 = be_1 + de_2이면 Te1∧Te2=(ad−bc) e1∧e2Te_1 \wedge Te_2 = (ad - bc)\,e_1 \wedge e_2임을 ei∧ei=0e_i \wedge e_i = 0, e2∧e1=−e1∧e2e_2 \wedge e_1 = -e_1 \wedge e_2만으로 계산합니다. (b) Λ2R3\Lambda^2\mathbb{R}^3의 기저 e2∧e3e_2 \wedge e_3, e3∧e1e_3 \wedge e_1, e1∧e2e_1 \wedge e_2에 대한 u∧vu \wedge v의 좌표가 외적 u×vu \times v의 성분임을 보입니다.

풀이

(a) (ae1+ce2)∧(be1+de2)=ab e1∧e1+ad e1∧e2+cb e2∧e1+cd e2∧e2=(ad−bc) e1∧e2(ae_1 + ce_2) \wedge (be_1 + de_2) = ab\,e_1 \wedge e_1 + ad\,e_1 \wedge e_2 + cb\,e_2 \wedge e_1 + cd\,e_2 \wedge e_2 = (ad - bc)\,e_1 \wedge e_2.

(b) u∧v=∑i,juivj ei∧eju \wedge v = \sum_{i,j} u_iv_j\,e_i \wedge e_j에서 같은 쌍을 모으면 e2∧e3e_2 \wedge e_3의 계수 u2v3−u3v2u_2v_3 - u_3v_2, e3∧e1e_3 \wedge e_1의 계수 u3v1−u1v3u_3v_1 - u_1v_3, e1∧e2e_1 \wedge e_2의 계수 u1v2−u2v1u_1v_2 - u_2v_1. 28.7절의 외적 성분과 같습니다. 외적은 Λ2R3\Lambda^2\mathbb{R}^3의 원소를 R3\mathbb{R}^3의 벡터로 바꿔 쓴 것입니다.