두 벡터공간을 '곱해서' 더 큰 공간을 만드는 방법이 텐서곱입니다. 행렬의 크로네커 곱으로 구체적으로 계산할 수 있고, 양자컴퓨터의 여러 큐비트 상태와 얽힘, 머신러닝의 텐서 연산이 모두 이 언어로 쓰입니다. 마지막 장답게 앞의 개념을 많이 쓰지만, 계산은 크로네커 곱으로 손으로 할 수 있습니다(고급).
32.1 공간을 곱하기
질문. 직합 V ⊕ W V \oplus W V ⊕ W 는 차원을 더합니다: dim ( V ⊕ W ) = dim V + dim W \dim(V \oplus W) = \dim V + \dim W dim ( V ⊕ W ) = dim V + dim W . 차원을 곱하는 구성도 있을까요? 큐비트 하나는 C 2 \mathbb{C}^2 C 2 의 단위벡터인데, 큐비트 두 개는 C 2 ⊕ C 2 = C 4 \mathbb{C}^2 \oplus \mathbb{C}^2 = \mathbb{C}^4 C 2 ⊕ C 2 = C 4 가 아니라 다른 의미의 C 4 \mathbb{C}^4 C 4 이고, n n n 개는 2 n 2^n 2 n 차원입니다. 이 “곱”은 무엇일까요?
두 계를 합칠 때, 각 계의 상태를 따로 적는 것이 직합입니다: ( v , w ) (v, w) ( v , w ) . 하지만 두 계가 상관될 수 있다면 “e i e_i e i 이면서 f j f_j f j ”인 모든 조합에 계수를 하나씩 줘야 합니다. 조합이 m n mn mn 개이므로 m n mn mn 차원 공간이 필요합니다. 이것이 텐서곱입니다. 행렬 계산으로 먼저 보고, 그다음 기저 없이 정의합니다.
32.2 크로네커 곱
정의 32.1 (크로네커 곱). m × n m \times n m × n 행렬 A A A 와 p × q p \times q p × q 행렬 B B B 의 크로네커 곱 (Kronecker product)은 m p × n q mp \times nq m p × n q 블록 행렬
A ⊗ B = [ a 11 B ⋯ a 1 n B ⋮ ⋮ a m 1 B ⋯ a m n B ] A \otimes B = \begin{bmatrix} a_{11}B & \cdots & a_{1n}B \\ \vdots & & \vdots \\ a_{m1}B & \cdots & a_{mn}B \end{bmatrix} A ⊗ B = a 11 B ⋮ a m 1 B ⋯ ⋯ a 1 n B ⋮ a mn B
입니다.
예제 32.2.
[ 1 2 3 4 ] ⊗ [ 0 1 1 0 ] = [ 0 1 0 2 1 0 2 0 0 3 0 4 3 0 4 0 ] , [ a b ] ⊗ [ c d ] = [ a c a d b c b d ] . \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}. [ 1 3 2 4 ] ⊗ [ 0 1 1 0 ] = 0 1 0 3 1 0 3 0 0 2 0 4 2 0 4 0 , [ a b ] ⊗ [ c d ] = a c a d b c b d .
두 벡터의 크로네커 곱은 “모든 성분의 곱”을 사전 순서로 늘어놓은 것입니다.
정리 32.3 (크로네커 곱의 성질). 크기가 맞으면
( A ⊗ B ) ( C ⊗ D ) = A C ⊗ B D (A \otimes B)(C \otimes D) = AC \otimes BD ( A ⊗ B ) ( C ⊗ D ) = A C ⊗ B D (혼합곱 법칙).
( A ⊗ B ) T = A T ⊗ B T (A \otimes B)^T = A^T \otimes B^T ( A ⊗ B ) T = A T ⊗ B T , ( A ⊗ B ) − 1 = A − 1 ⊗ B − 1 (A \otimes B)^{-1} = A^{-1} \otimes B^{-1} ( A ⊗ B ) − 1 = A − 1 ⊗ B − 1 .
A x = λ x A\mathbf{x} = \lambda\mathbf{x} A x = λ x , B y = μ y B\mathbf{y} = \mu\mathbf{y} B y = μ y 이면 ( A ⊗ B ) ( x ⊗ y ) = λ μ ( x ⊗ y ) (A \otimes B)(\mathbf{x} \otimes \mathbf{y}) = \lambda\mu\,(\mathbf{x} \otimes \mathbf{y}) ( A ⊗ B ) ( x ⊗ y ) = λ μ ( x ⊗ y ) .
A A A 가 n × n n \times n n × n , B B B 가 p × p p \times p p × p 이면 tr ( A ⊗ B ) = tr A tr B \operatorname{tr}(A \otimes B) = \operatorname{tr} A\operatorname{tr} B tr ( A ⊗ B ) = tr A tr B , det ( A ⊗ B ) = ( det A ) p ( det B ) n \det(A \otimes B) = (\det A)^p(\det B)^n det ( A ⊗ B ) = ( det A ) p ( det B ) n .
증명. (1) 왼쪽의 ( i , j ) (i, j) ( i , j ) 블록은 ∑ k ( a i k B ) ( c k j D ) = ( ∑ k a i k c k j ) B D = ( A C ) i j B D \sum_k (a_{ik}B)(c_{kj}D) = \big(\sum_k a_{ik}c_{kj}\big)BD = (AC)_{ij}BD ∑ k ( a ik B ) ( c k j D ) = ( ∑ k a ik c k j ) B D = ( A C ) ij B D . (2) 전치는 블록을 바꾸고 각 블록을 전치합니다. 역행렬은 (1)로 ( A ⊗ B ) ( A − 1 ⊗ B − 1 ) = I ⊗ I = I (A \otimes B)(A^{-1} \otimes B^{-1}) = I \otimes I = I ( A ⊗ B ) ( A − 1 ⊗ B − 1 ) = I ⊗ I = I . (3) (1)에서 C = x C = \mathbf{x} C = x , D = y D = \mathbf{y} D = y . (4) 복소수에서 A A A , B B B 를 위삼각화하면(정리 24.13 ) A = P T P − 1 A = PTP^{-1} A = P T P − 1 , B = Q U Q − 1 B = QUQ^{-1} B = Q U Q − 1 이고 (1), (2)에 의해 A ⊗ B = ( P ⊗ Q ) ( T ⊗ U ) ( P ⊗ Q ) − 1 A \otimes B = (P \otimes Q)(T \otimes U)(P \otimes Q)^{-1} A ⊗ B = ( P ⊗ Q ) ( T ⊗ U ) ( P ⊗ Q ) − 1 . T ⊗ U T \otimes U T ⊗ U 는 대각이 t i i u j j t_{ii}u_{jj} t ii u j j 인 위삼각행렬입니다. 따라서 고윳값은 λ i μ j \lambda_i\mu_j λ i μ j 전부이고, 합은 ∑ i ∑ j λ i μ j \sum_i\sum_j \lambda_i\mu_j ∑ i ∑ j λ i μ 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 ∏ i , j λ i μ j = ( ∏ λ i ) p ( ∏ μ j ) n . ■
행렬방정식. p × q p \times q p × q 행렬 X X X 의 열을 차례로 쌓은 벡터를 vec X \operatorname{vec} X vec X 라 하면
vec ( A X B ) = ( B T ⊗ A ) vec X \operatorname{vec}(AXB) = (B^T \otimes A)\operatorname{vec} X vec ( A X B ) = ( B T ⊗ A ) vec X
입니다(문제 32.3). 그래서 A X + X B = C AX + XB = C A X + X B = C 같은 행렬방정식(실베스터 방정식, 제어이론에서 자주 나옵니다)은 보통의 연립방정식 ( I ⊗ A + B T ⊗ I ) vec X = vec C (I \otimes A + B^T \otimes I)\operatorname{vec} X = \operatorname{vec} C ( I ⊗ A + B T ⊗ I ) vec X = vec C 가 되고, (3)에 의해 A A A 와 − B -B − B 가 고윳값을 공유하지 않으면 해가 유일합니다.
또 2차원 격자 위의 라플라시안은 1차원 라플라시안 L L L 로 L ⊗ I + I ⊗ L L \otimes I + I \otimes L L ⊗ I + I ⊗ L 이라 씁니다. 고윳값은 λ i + λ j \lambda_i + \lambda_j λ i + λ j 입니다. 큰 행렬을 작은 행렬의 크로네커 곱으로 쓰면 저장과 계산이 크게 줄어듭니다.
▶ 문제 32.1–32.4
32.3 텐서곱 공간
이제 기저 없이 정의합시다. 이 절에서 V V V , W W W 는 F \mathbb{F} F 위의 유한차원 공간, dim V = m \dim V = m dim V = m , dim W = n \dim W = n dim W = n 입니다. 28장에서 쌍선형 형식은 V × V V \times V V × V 위에서 정의했지만, 같은 정의가 V × W V \times W V × W 위에서도 됩니다.
정의 32.4 (텐서곱). V ′ × W ′ V' \times W' V ′ × W ′ 위의 쌍선형 형식 전체의 공간을 V ⊗ W V \otimes W V ⊗ W 라 하고 텐서곱 (tensor product)이라 합니다. v ∈ V v \in V v ∈ V , w ∈ W w \in W w ∈ W 에 대해 v ⊗ w ∈ V ⊗ W v \otimes w \in V \otimes W v ⊗ w ∈ V ⊗ W 를
( v ⊗ w ) ( φ , ψ ) = φ ( v ) ψ ( w ) (v \otimes w)(\varphi, \psi) = \varphi(v)\,\psi(w) ( v ⊗ w ) ( φ , ψ ) = φ ( v ) ψ ( w )
로 정의합니다. v ⊗ w v \otimes w v ⊗ w 꼴의 원소를 순수 텐서 (pure tensor)라 합니다.
벡터를 “범함수를 먹이면 수를 내놓는 것”으로 보는 22장의 관점(V ≅ V ′ ′ V \cong V'' V ≅ V ′′ )을 두 공간으로 늘린 것입니다. 정의에서 바로 다음이 나옵니다.
( v 1 + v 2 ) ⊗ w = v 1 ⊗ w + v 2 ⊗ w , ( c v ) ⊗ w = c ( v ⊗ w ) = v ⊗ ( c w ) , (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 1 + v 2 ) ⊗ w = v 1 ⊗ w + v 2 ⊗ w , ( c v ) ⊗ w = c ( v ⊗ w ) = v ⊗ ( c w ) ,
즉 ( v , w ) ↦ v ⊗ w (v, w) \mapsto v \otimes w ( v , w ) ↦ v ⊗ w 는 쌍선형입니다. 특히 v ⊗ w v \otimes w v ⊗ w 와 ( 2 v ) ⊗ ( 1 2 w ) (2v) \otimes (\frac12w) ( 2 v ) ⊗ ( 2 1 w ) 는 같은 원소입니다.
정리 32.5 (텐서곱의 기저). e 1 , … , e m e_1, \ldots, e_m e 1 , … , e m 과 f 1 , … , f n f_1, \ldots, f_n f 1 , … , f n 이 V V V , W W W 의 기저이면 e i ⊗ f j e_i \otimes f_j e i ⊗ f j (m n mn mn 개)는 V ⊗ W V \otimes W V ⊗ W 의 기저입니다. 따라서 dim ( V ⊗ W ) = m n \dim(V \otimes W) = mn dim ( V ⊗ W ) = mn 입니다.
증명. 쌍대기저를 φ 1 , … , φ m \varphi_1, \ldots, \varphi_m φ 1 , … , φ m , ψ 1 , … , ψ n \psi_1, \ldots, \psi_n ψ 1 , … , ψ n 이라 합시다. 정리 28.3 과 같은 논리로 쌍선형 형식 β \beta β 는 값 β ( φ k , ψ l ) \beta(\varphi_k, \psi_l) β ( φ k , ψ l ) 로 정해지고, 그 값들은 아무것이나 될 수 있습니다. ( e i ⊗ f j ) ( φ k , ψ l ) = δ i k δ j l (e_i \otimes f_j)(\varphi_k, \psi_l) = \delta_{ik}\delta_{jl} ( e i ⊗ f j ) ( φ k , ψ l ) = δ ik δ j l 이므로 β = ∑ i , j β ( φ i , ψ j ) e i ⊗ f j \beta = \sum_{i,j}\beta(\varphi_i, \psi_j)\,e_i \otimes f_j β = ∑ i , j β ( φ i , ψ j ) e i ⊗ f j 이고, 이 표현은 유일합니다. ■
τ ∈ V ⊗ W \tau \in V \otimes W τ ∈ V ⊗ W 를 τ = ∑ c i j e i ⊗ f j \tau = \sum c_{ij}\,e_i \otimes f_j τ = ∑ c ij e i ⊗ f j 로 쓰면 τ \tau τ 는 m × n m \times n m × n 계수 행렬 [ c i j ] [c_{ij}] [ c ij ] 로 정해집니다. 순수 텐서는 v = ∑ a i e i v = \sum a_ie_i v = ∑ a i e i , w = ∑ b j f j w = \sum b_jf_j w = ∑ b j f j 에 대해 c i j = a i b j c_{ij} = a_ib_j c ij = a i b j , 즉 계수 행렬이 a b T \mathbf{a}\mathbf{b}^T a b T 입니다.
정리 32.6 (순수 텐서와 랭크 1). τ \tau τ 가 순수 텐서인 것은 계수 행렬의 랭크가 1 이하인 것과 동치입니다. 일반적으로 τ \tau τ 는 계수 행렬의 랭크 r r r 개의 순수 텐서의 합으로 쓸 수 있고, 그보다 적게는 안 됩니다.
증명. 랭크 1 이하 행렬은 a b T \mathbf{a}\mathbf{b}^T a b T 꼴입니다. 랭크 r r r 인 행렬은 랭크 1 행렬 r r r 개의 합이고(예를 들어 SVD), s s s 개의 합이면 랭크가 s s s 이하입니다. ■
예를 들어 e 1 ⊗ f 1 + e 2 ⊗ f 2 e_1 \otimes f_1 + e_2 \otimes f_2 e 1 ⊗ f 1 + e 2 ⊗ f 2 의 계수 행렬은 I 2 I_2 I 2 이고 랭크가 2이므로 어떤 v ⊗ w v \otimes w v ⊗ w 로도 쓸 수 없습니다. V ⊗ W V \otimes W V ⊗ W 의 원소 대부분은 순수 텐서가 아닙니다.
다음 성질이 텐서곱의 존재 이유입니다.
정리 32.7 (보편성). U U U 가 벡터공간이고 β : V × W → U \beta : V \times W \to U β : V × W → U 가 쌍선형이면, β ~ ( v ⊗ w ) = β ( v , w ) \tilde\beta(v \otimes w) = \beta(v, w) β ~ ( v ⊗ w ) = β ( v , w ) 인 선형사상 β ~ : V ⊗ W → U \tilde\beta : V \otimes W \to U β ~ : V ⊗ W → U 가 유일하게 존재합니다.
증명. 기저 e i ⊗ f j e_i \otimes f_j e i ⊗ f j 에서 β ~ ( e i ⊗ f j ) = β ( e i , f j ) \tilde\beta(e_i \otimes f_j) = \beta(e_i, f_j) β ~ ( e i ⊗ f j ) = β ( e i , f j ) 로 정하면 선형사상이 하나로 정해집니다(정리 22.3 ). v = ∑ a i e i v = \sum a_ie_i v = ∑ a i e i , w = ∑ b j f j w = \sum b_jf_j w = ∑ b j f j 이면 β ~ ( v ⊗ w ) = ∑ a i b j β ( e i , f j ) = β ( v , w ) \tilde\beta(v \otimes w) = \sum a_ib_j\beta(e_i, f_j) = \beta(v, w) β ~ ( v ⊗ w ) = ∑ a i b j β ( e i , f j ) = β ( v , w ) . 순수 텐서들이 V ⊗ W V \otimes W V ⊗ W 를 생성하므로 유일합니다. ■
“쌍선형 사상은 텐서곱에서 나가는 선형사상과 같습니다.” 곱셈처럼 두 입력에 각각 선형인 것들을 선형대수의 틀로 가져오는 장치가 텐서곱입니다. 예를 들어 β ( v , φ ) = φ ( v ) \beta(v, \varphi) = \varphi(v) β ( v , φ ) = φ ( v ) 를 생각하면 V ⊗ V ′ V \otimes V' V ⊗ V ′ 에서 F \mathbb{F} F 로의 선형사상이 나오는데, V ⊗ V ′ ≅ L ( V ) V \otimes V' \cong \mathcal{L}(V) V ⊗ V ′ ≅ L ( V ) 로 보면 이것이 대각합입니다(문제 32.7).
▶ 문제 32.5–32.7
32.4 연산자의 텐서곱
S ∈ L ( V ) S \in \mathcal{L}(V) S ∈ L ( V ) , T ∈ L ( W ) T \in \mathcal{L}(W) T ∈ L ( W ) 이면 ( v , w ) ↦ S v ⊗ T w (v, w) \mapsto Sv \otimes Tw ( v , w ) ↦ S v ⊗ T w 는 쌍선형이므로 보편성에 의해 선형사상
S ⊗ T ∈ L ( V ⊗ W ) , ( S ⊗ T ) ( v ⊗ w ) = S v ⊗ T w S \otimes T \in \mathcal{L}(V \otimes W), \qquad (S \otimes T)(v \otimes w) = Sv \otimes Tw S ⊗ T ∈ L ( V ⊗ W ) , ( S ⊗ T ) ( v ⊗ w ) = S v ⊗ T w
가 있습니다. 기저 e 1 ⊗ f 1 , e 1 ⊗ f 2 , … , e 1 ⊗ f n , e 2 ⊗ f 1 , … e_1 \otimes f_1, e_1 \otimes f_2, \ldots, e_1 \otimes f_n, e_2 \otimes f_1, \ldots e 1 ⊗ f 1 , e 1 ⊗ f 2 , … , e 1 ⊗ f n , e 2 ⊗ f 1 , … (사전 순서)에서 행렬을 계산하면 M ( S ⊗ T ) = M ( S ) ⊗ M ( T ) \mathcal{M}(S \otimes T) = \mathcal{M}(S) \otimes \mathcal{M}(T) M ( S ⊗ T ) = M ( S ) ⊗ M ( T ) , 크로네커 곱입니다. 32.2절의 성질들이 이제 기저와 무관한 사실이 됩니다. S ⊗ T S \otimes T S ⊗ T 의 고윳값은 λ i μ j \lambda_i\mu_j λ i μ j 이고 고유벡터는 v i ⊗ w j v_i \otimes w_j v i ⊗ w j 입니다.
내적공간이면 V ⊗ W V \otimes W V ⊗ 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. ⟨ v ⊗ w , v ′ ⊗ w ′ ⟩ = ⟨ v , v ′ ⟩ ⟨ w , w ′ ⟩ .
(순수 텐서에서 이렇게 정하고 쌍선형으로 확장합니다.) e i e_i e i , f j f_j f j 가 정규직교이면 e i ⊗ f j e_i \otimes f_j e i ⊗ f j 도 정규직교입니다. 이 내적으로 텐서 τ \tau τ 의 길이는 계수 행렬의 프로베니우스 노름입니다.
정리 32.8 (슈미트 분해). V V V , W W W 가 내적공간이면 모든 τ ∈ V ⊗ W \tau \in V \otimes W τ ∈ V ⊗ W 는
τ = σ 1 u 1 ⊗ w 1 + ⋯ + σ r u r ⊗ w r ( σ i > 0 , u i 와 w i 는 각각 정규직교 ) \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{는 각각 정규직교}) τ = σ 1 u 1 ⊗ w 1 + ⋯ + σ r u r ⊗ w r ( σ i > 0 , u i 와 w i 는 각각 정규직교 )
로 쓸 수 있습니다. σ i \sigma_i σ i 는 계수 행렬의 특잇값입니다.
증명. 정규직교 기저에서 계수 행렬 C = ∑ i σ i a i b i T C = \sum_i \sigma_i\mathbf{a}_i\mathbf{b}_i^T C = ∑ i σ i a i b i T (SVD, 실수의 경우; 복소수면 b i \mathbf{b}_i b i 대신 b ˉ i \bar{\mathbf{b}}_i b ˉ i )이고 a i b i T \mathbf{a}_i\mathbf{b}_i^T a i b i T 는 순수 텐서 u i ⊗ w i u_i \otimes w_i u i ⊗ w i 의 계수 행렬입니다. ■
18장의 SVD가 텐서의 언어로는 “두 계의 상태를 가장 적은 수의 독립 조합으로 쓰기”입니다.
▶ 문제 32.8–32.9
32.5 큐비트
양자 컴퓨터의 큐비트 (qubit) 하나의 상태는 C 2 \mathbb{C}^2 C 2 의 단위벡터입니다. 물리학의 표기로 ∣ 0 ⟩ = e 1 |0\rangle = \mathbf{e}_1 ∣0 ⟩ = e 1 , ∣ 1 ⟩ = e 2 |1\rangle = \mathbf{e}_2 ∣1 ⟩ = e 2 라 씁니다. 상태 α ∣ 0 ⟩ + β ∣ 1 ⟩ \alpha|0\rangle + \beta|1\rangle α ∣0 ⟩ + β ∣1 ⟩ 을 측정하면 확률 ∣ α ∣ 2 \lvert \alpha \rvert^2 ∣ α ∣ 2 로 0, ∣ β ∣ 2 \lvert \beta \rvert^2 ∣ β ∣ 2 로 1이 나옵니다. 큐비트 n n n 개의 상태는
C 2 ⊗ C 2 ⊗ ⋯ ⊗ C 2 = C 2 n \mathbb{C}^2 \otimes \mathbb{C}^2 \otimes \cdots \otimes \mathbb{C}^2 = \mathbb{C}^{2^n} C 2 ⊗ C 2 ⊗ ⋯ ⊗ C 2 = C 2 n
의 단위벡터이고, 기저는 ∣ b 1 b 2 … b n ⟩ = ∣ b 1 ⟩ ⊗ ⋯ ⊗ ∣ b n ⟩ |b_1b_2 \ldots b_n\rangle = |b_1\rangle \otimes \cdots \otimes |b_n\rangle ∣ b 1 b 2 … b n ⟩ = ∣ b 1 ⟩ ⊗ ⋯ ⊗ ∣ b n ⟩ (b i ∈ { 0 , 1 } b_i \in \{0, 1\} b i ∈ { 0 , 1 } )입니다. 큐비트가 하나 늘 때마다 차원이 두 배가 됩니다. 고전 컴퓨터로 양자 계를 흉내 내기 어려운 이유가 이것입니다.
얽힘. 두 큐비트의 상태 τ = ∑ c i j ∣ i j ⟩ \tau = \sum c_{ij}|ij\rangle τ = ∑ c ij ∣ ij ⟩ 가 순수 텐서이면 두 큐비트가 독립이고, 아니면 얽혀 (entangled) 있다고 합니다. 정리 32.6 에 의해 판정은 2 × 2 2 \times 2 2 × 2 계수 행렬의 랭크, 즉 det [ c i j ] ≠ 0 \det[c_{ij}] \ne 0 det [ c ij ] = 0 인지입니다.
예제 32.9.
1 2 ( ∣ 00 ⟩ + ∣ 01 ⟩ + ∣ 10 ⟩ + ∣ 11 ⟩ ) = ∣ 0 ⟩ + ∣ 1 ⟩ 2 ⊗ ∣ 0 ⟩ + ∣ 1 ⟩ 2 , 1 2 ( ∣ 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). 2 1 ( ∣00 ⟩ + ∣01 ⟩ + ∣10 ⟩ + ∣11 ⟩ ) = 2 ∣0 ⟩ + ∣1 ⟩ ⊗ 2 ∣0 ⟩ + ∣1 ⟩ , 2 1 ( ∣00 ⟩ + ∣11 ⟩ ) .
앞의 것은 계수 행렬 1 2 [ 1 1 1 1 ] \frac12\begin{bmatrix} 1 & 1 \\ 1 & 1 \end{bmatrix} 2 1 [ 1 1 1 1 ] (랭크 1), 순수 텐서입니다. 뒤의 것(벨 상태 (Bell state))은 1 2 I \frac{1}{\sqrt2}I 2 1 I (랭크 2), 얽혀 있습니다. 벨 상태에서 첫 큐비트를 측정해 0이 나오면 상태가 ∣ 00 ⟩ |00\rangle ∣00 ⟩ 으로 바뀌어 둘째 큐비트도 반드시 0입니다. 슈미트 계수는 1 2 , 1 2 \frac{1}{\sqrt2}, \frac{1}{\sqrt2} 2 1 , 2 1 로 가장 강하게 얽혀 있습니다.
게이트. 양자 연산은 유니터리 행렬(26장)입니다. 아다마르 게이트 H = 1 2 [ 1 1 1 − 1 ] H = \frac{1}{\sqrt2}\begin{bmatrix} 1 & 1 \\ 1 & -1 \end{bmatrix} H = 2 1 [ 1 1 1 − 1 ] 을 첫 큐비트에만 걸면 H ⊗ I H \otimes I H ⊗ I 입니다. 반면 CNOT 게이트
C N O T = [ 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 ] \mathrm{CNOT} = \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 \end{bmatrix} CNOT = 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0
(첫 큐비트가 1이면 둘째를 뒤집습니다)은 크로네커 곱으로 쓸 수 없습니다. 이런 게이트가 얽힘을 만듭니다.
C N O T ( H ⊗ I ) ∣ 00 ⟩ = C N O T ∣ 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}. CNOT ( H ⊗ I ) ∣00 ⟩ = CNOT 2 ∣00 ⟩ + ∣10 ⟩ = 2 ∣00 ⟩ + ∣11 ⟩ .
순수 텐서 ∣ 0 ⟩ ⊗ ∣ 0 ⟩ |0\rangle \otimes |0\rangle ∣0 ⟩ ⊗ ∣0 ⟩ 이 벨 상태가 되었습니다. 양자 알고리즘은 결국 2 n 2^n 2 n 차원 공간에서 유니터리 행렬을 곱하는 일입니다.
아래 위젯의 단추 “H → 1번”은 H ⊗ I H \otimes I H ⊗ I , “H → 2번”은 I ⊗ H I \otimes H I ⊗ H , “X → 1번”은 X ⊗ I X \otimes I X ⊗ I (X = [ 0 1 1 0 ] X = \begin{bmatrix} 0 & 1 \\ 1 & 0 \end{bmatrix} X = [ 0 1 1 0 ] )입니다.
게이트를 걸 때마다 진폭과 계수 행렬이 바뀝니다. 계수 행렬의 행렬식이 0이 아니게 되는 순간 두 큐비트가 얽힙니다 이 위젯은 JavaScript가 필요합니다
▶ 문제 32.10–32.12
32.6 다시 행렬식으로
텐서곱을 여러 번 하면 V ⊗ m = V ⊗ ⋯ ⊗ V V^{\otimes m} = V \otimes \cdots \otimes V V ⊗ m = V ⊗ ⋯ ⊗ V 를 얻습니다. 보편성을 m m m 개 자리로 늘리면, V V V 위의 m m m -선형 형식은 V ⊗ m V^{\otimes m} V ⊗ m 위의 선형 범함수와 같습니다: V ( m ) ≅ ( V ⊗ m ) ′ V^{(m)} \cong (V^{\otimes m})' V ( m ) ≅ ( V ⊗ m ) ′ . 28장의 다중선형 형식은 텐서곱의 쌍대입니다.
교대 형식만 남기면 외대수 (exterior power) Λ m V \Lambda^mV Λ m V 가 나옵니다. v 1 ∧ ⋯ ∧ v m v_1 \wedge \cdots \wedge v_m v 1 ∧ ⋯ ∧ v m 은 자리를 바꾸면 부호가 바뀌는 텐서이고, dim Λ m V = ( n m ) \dim\Lambda^mV = \binom{n}{m} dim Λ m V = ( m n ) (문제 28.5). 특히 Λ n V \Lambda^nV Λ n V 는 1차원이고, 연산자 T T T 는 그 위에서
T v 1 ∧ ⋯ ∧ T v n = det T ⋅ v 1 ∧ ⋯ ∧ v n Tv_1 \wedge \cdots \wedge Tv_n = \det T \cdot v_1 \wedge \cdots \wedge v_n T v 1 ∧ ⋯ ∧ T v n = det T ⋅ v 1 ∧ ⋯ ∧ v n
으로 작용합니다. 1차원 공간 위의 연산자는 수 하나를 곱하는 것뿐이고, 그 수가 행렬식입니다. 6장의 “넓이 배율”에서 시작한 행렬식이, 28장의 교대 형식을 거쳐 여기서 가장 짧은 정의에 도착합니다.
▶ 문제 32.13
쓰이는 곳. 양자컴퓨팅 논문의 ∣ 0 ⟩ ⊗ ∣ 1 ⟩ |0\rangle \otimes |1\rangle ∣0 ⟩ ⊗ ∣1 ⟩ , 텐서 분해, 다변수 데이터(영상×시간×채널)를 다루는 머신러닝이 텐서곱의 언어로 쓰입니다.
이 장의 요약
크로네커 곱 A ⊗ B A \otimes B A ⊗ B : 혼합곱 법칙 ( A ⊗ B ) ( C ⊗ D ) = A C ⊗ B D (A \otimes B)(C \otimes D) = AC \otimes BD ( A ⊗ B ) ( C ⊗ D ) = A C ⊗ B D . 고윳값은 λ i μ j \lambda_i\mu_j λ i μ j .
V ⊗ W V \otimes W V ⊗ W : dim = m n \dim = mn dim = mn , 기저 e i ⊗ f j e_i \otimes f_j e i ⊗ f j . 원소는 m × n m \times n m × n 계수 행렬과 같고, 순수 텐서는 랭크 1 행렬입니다.
보편성: 쌍선형 사상 V × W → U V \times W \to U V × W → U = 선형사상 V ⊗ W → U V \otimes W \to U V ⊗ W → U .
S ⊗ T S \otimes T S ⊗ T 의 행렬은 크로네커 곱. 슈미트 분해는 계수 행렬의 SVD.
큐비트 n n n 개는 C 2 n \mathbb{C}^{2^n} C 2 n . 얽힘 = 순수 텐서가 아님 = 계수 행렬의 랭크 ≥ 2 \ge 2 ≥ 2 .
다중선형 형식은 텐서곱의 쌍대이고, Λ n V \Lambda^nV Λ n V 위에서 T T T 는 det T \det T det T 배입니다.
문제
32.1 [계산] · 확인 문제
A = [ 1 2 3 4 ] A = \begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix} A = [ 1 3 2 4 ] 에 대해 I 2 ⊗ A I_2 \otimes A I 2 ⊗ A 와 A ⊗ I 2 A \otimes I_2 A ⊗ I 2 를 씁니다. 두 행렬은 같을까요? 닮았을까요? 그렇으면 O, 아니면 X를 적습니다.
정답 풀이 I ⊗ A = [ 1 2 0 0 3 4 0 0 0 0 1 2 0 0 3 4 ] , A ⊗ I = [ 1 0 2 0 0 1 0 2 3 0 4 0 0 3 0 4 ] . 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}. I ⊗ A = 1 3 0 0 2 4 0 0 0 0 1 3 0 0 2 4 , A ⊗ I = 1 0 3 0 0 1 0 3 2 0 4 0 0 2 0 4 . 다릅니다. 그러나 기저 순서를 1, 3, 2, 4로 바꾸는 치환행렬 P P P 에 대해 P ( A ⊗ I ) P T = I ⊗ A P(A \otimes I)P^T = I \otimes A P ( A ⊗ I ) P T = I ⊗ A 이므로 닮았습니다. 일반적으로 A ⊗ B A \otimes B A ⊗ B 와 B ⊗ A B \otimes A B ⊗ A 는 치환으로 닮았습니다(V ⊗ W ≅ W ⊗ V V \otimes W \cong W \otimes V V ⊗ W ≅ W ⊗ V ).
32.2 [계산] · 확인 문제
A = [ 2 1 1 2 ] A = \begin{bmatrix} 2 & 1 \\ 1 & 2 \end{bmatrix} A = [ 2 1 1 2 ] , B = [ 0 1 1 0 ] B = \begin{bmatrix} 0 & 1 \\ 1 & 0 \end{bmatrix} B = [ 0 1 1 0 ] 에 대해 A ⊗ B A \otimes B A ⊗ B 의 고윳값, 대각합, 행렬식을 정리 32.3 으로 구합니다. 표에는 대각합과 행렬식을 적습니다.
tr ( A ⊗ B ) \operatorname{tr}(A \otimes B) tr ( A ⊗ B )
det ( A ⊗ B ) \det(A \otimes B) det ( A ⊗ B )
[?]
[?]
정답 풀이 A A A : 3, 1. B B B : 1, − 1 -1 − 1 . A ⊗ B A \otimes B A ⊗ B : 3, − 3 -3 − 3 , 1, − 1 -1 − 1 . tr = 0 = tr A tr B = 4 ⋅ 0 \operatorname{tr} = 0 = \operatorname{tr} A\operatorname{tr} B = 4 \cdot 0 tr = 0 = tr A tr B = 4 ⋅ 0 . det = 9 = ( det A ) 2 ( det B ) 2 = 3 2 ⋅ ( − 1 ) 2 \det = 9 = (\det A)^2(\det B)^2 = 3^2 \cdot (-1)^2 det = 9 = ( det A ) 2 ( det B ) 2 = 3 2 ⋅ ( − 1 ) 2 .
32.3 [증명]
vec ( A X B ) = ( B T ⊗ A ) vec X \operatorname{vec}(AXB) = (B^T \otimes A)\operatorname{vec} X vec ( A X B ) = ( B T ⊗ A ) vec X 임을 보입니다.
힌트. A X B AXB A X B 의 j j j 열을 X X X 의 열들로 씁니다.
풀이 X X X 의 열을 x k \mathbf{x}_k x k 라 하면 A X B AXB A X B 의 j j j 열은 A X b j = ∑ k b k j A x k AX\mathbf{b}_j = \sum_k b_{kj}A\mathbf{x}_k A X b j = ∑ k b k j A x k . B T ⊗ A B^T \otimes A B T ⊗ A 의 j j j 번째 블록 행은 [ b 1 j A ⋯ b q j A ] [\,b_{1j}A\ \cdots\ b_{qj}A\,] [ b 1 j A ⋯ b q j A ] 이고 이것을 vec X = ( x 1 , … , x q ) \operatorname{vec} X = (\mathbf{x}_1, \ldots, \mathbf{x}_q) vec X = ( x 1 , … , x q ) 에 곱하면 같은 값입니다.
32.4 [계산] · 확인 문제
A = diag ( 1 , 2 ) A = \operatorname{diag}(1, 2) A = diag ( 1 , 2 ) , B = diag ( 3 , 4 ) B = \operatorname{diag}(3, 4) B = diag ( 3 , 4 ) , C = [ 4 5 5 6 ] C = \begin{bmatrix} 4 & 5 \\ 5 & 6 \end{bmatrix} C = [ 4 5 5 6 ] 일 때 A X + X B = C AX + XB = C A X + X B = C 를 풉니다. ( I ⊗ A + B T ⊗ I ) (I \otimes A + B^T \otimes I) ( I ⊗ A + B T ⊗ I ) 는 어떤 행렬일까요? A = [ 1 ] A = [1] A = [ 1 ] , B = [ − 1 ] B = [-1] B = [ − 1 ] 이면 어떻게 될까요? 표에는 X X X 를 적습니다.
x 11 x_{11} x 11
x 12 x_{12} x 12
x 21 x_{21} x 21
x 22 x_{22} x 22
[?]
[?]
[?]
[?]
정답 풀이 성분별로 ( a i + b j ) x i j = c i j (a_i + b_j)x_{ij} = c_{ij} ( a i + b j ) x ij = c ij : x 11 = 4 / 4 x_{11} = 4/4 x 11 = 4/4 , x 12 = 5 / 5 x_{12} = 5/5 x 12 = 5/5 , x 21 = 5 / 5 x_{21} = 5/5 x 21 = 5/5 , x 22 = 6 / 6 x_{22} = 6/6 x 22 = 6/6 . X = [ 1 1 1 1 ] X = \begin{bmatrix} 1 & 1 \\ 1 & 1 \end{bmatrix} X = [ 1 1 1 1 ] . 행렬은 대각 diag ( a i + b j ) \operatorname{diag}(a_i + b_j) diag ( a i + b j ) (vec 순서로 4, 5, 5, 6). A = [ 1 ] A = [1] A = [ 1 ] , B = [ − 1 ] B = [-1] B = [ − 1 ] 이면 1 + ( − 1 ) = 0 1 + (-1) = 0 1 + ( − 1 ) = 0 이므로 0 ⋅ x = c 0 \cdot x = c 0 ⋅ x = c : c ≠ 0 c \ne 0 c = 0 이면 해가 없고 c = 0 c = 0 c = 0 이면 무수히 많습니다. A A A 와 − B -B − B 가 고윳값 1을 공유합니다.
32.5 [계산] · 확인 문제
R 2 ⊗ R 2 \mathbb{R}^2 \otimes \mathbb{R}^2 R 2 ⊗ R 2 에서 순수 텐서인지 판정하고, 순수이면 v ⊗ w v \otimes w v ⊗ w 로 씁니다. 순수 텐서이면 O, 아니면 X를 적습니다.
(a) e 1 ⊗ f 1 + e 1 ⊗ f 2 + e 2 ⊗ f 1 + e 2 ⊗ f 2 e_1 \otimes f_1 + e_1 \otimes f_2 + e_2 \otimes f_1 + e_2 \otimes f_2 e 1 ⊗ f 1 + e 1 ⊗ f 2 + e 2 ⊗ f 1 + e 2 ⊗ f 2
(b) e 1 ⊗ f 1 + 2 e 1 ⊗ f 2 + 2 e 2 ⊗ f 1 + 4 e 2 ⊗ f 2 e_1 \otimes f_1 + 2e_1 \otimes f_2 + 2e_2 \otimes f_1 + 4e_2 \otimes f_2 e 1 ⊗ f 1 + 2 e 1 ⊗ f 2 + 2 e 2 ⊗ f 1 + 4 e 2 ⊗ f 2
(c) e 1 ⊗ f 2 − e 2 ⊗ f 1 e_1 \otimes f_2 - e_2 \otimes f_1 e 1 ⊗ f 2 − e 2 ⊗ f 1
정답 풀이 (a) 계수 행렬 [ 1 1 1 1 ] \begin{bmatrix} 1 & 1 \\ 1 & 1 \end{bmatrix} [ 1 1 1 1 ] , 랭크 1: ( e 1 + e 2 ) ⊗ ( f 1 + f 2 ) (e_1 + e_2) \otimes (f_1 + f_2) ( e 1 + e 2 ) ⊗ ( f 1 + f 2 ) . (b) [ 1 2 2 4 ] \begin{bmatrix} 1 & 2 \\ 2 & 4 \end{bmatrix} [ 1 2 2 4 ] , 랭크 1: ( e 1 + 2 e 2 ) ⊗ ( f 1 + 2 f 2 ) (e_1 + 2e_2) \otimes (f_1 + 2f_2) ( e 1 + 2 e 2 ) ⊗ ( f 1 + 2 f 2 ) . (c) [ 0 1 − 1 0 ] \begin{bmatrix} 0 & 1 \\ -1 & 0 \end{bmatrix} [ 0 − 1 1 0 ] , 랭크 2: 순수 텐서가 아닙니다.
32.6 [증명]
(a) v ⊗ w = 0 ⟺ v = 0 v \otimes w = 0 \iff v = 0 v ⊗ w = 0 ⟺ v = 0 또는 w = 0 w = 0 w = 0 임을 보입니다. (b) v ⊗ w = v ′ ⊗ w ′ ≠ 0 v \otimes w = v' \otimes w' \ne 0 v ⊗ w = v ′ ⊗ w ′ = 0 이면 어떤 c ≠ 0 c \ne 0 c = 0 에 대해 v ′ = c v v' = cv v ′ = c v , w ′ = c − 1 w w' = c^{-1}w w ′ = c − 1 w 임을 보입니다.
풀이 (a) 계수 행렬이 a b T \mathbf{a}\mathbf{b}^T a b T 이고 이것이 O O O 인 것은 a = 0 \mathbf{a} = \mathbf{0} a = 0 또는 b = 0 \mathbf{b} = \mathbf{0} b = 0 일 때뿐입니다.
(b) a b T = a ′ b ′ T ≠ O \mathbf{a}\mathbf{b}^T = \mathbf{a}'\mathbf{b}'^T \ne O a b T = a ′ b ′ T = O 이면 두 행렬의 열공간이 같으므로 a ′ = c a \mathbf{a}' = c\mathbf{a} a ′ = c a , 그러면 a ( b T − c b ′ T ) = O \mathbf{a}(\mathbf{b}^T - c\mathbf{b}'^T) = O a ( b T − c b ′ T ) = O 이고 a ≠ 0 \mathbf{a} \ne \mathbf{0} a = 0 이므로 b = c b ′ \mathbf{b} = c\mathbf{b}' b = c b ′ .
32.7 [도전]
Φ : V ⊗ V ′ → L ( V ) \Phi : V \otimes V' \to \mathcal{L}(V) Φ : V ⊗ V ′ → L ( V ) 를 Φ ( v ⊗ φ ) ( u ) = φ ( u ) v \Phi(v \otimes \varphi)(u) = \varphi(u)v Φ ( v ⊗ φ ) ( u ) = φ ( u ) v 로 정의합니다(보편성으로 잘 정의됩니다).
(a) 기저 e i e_i e i 와 쌍대기저 φ j \varphi_j φ j 에 대해 Φ ( e i ⊗ φ j ) \Phi(e_i \otimes \varphi_j) Φ ( e i ⊗ φ j ) 의 행렬을 구하고, Φ \Phi Φ 가 동형임을 보입니다.
(b) 쌍선형 사상 ( v , φ ) ↦ φ ( v ) (v, \varphi) \mapsto \varphi(v) ( v , φ ) ↦ φ ( v ) 에서 나오는 선형사상 V ⊗ V ′ → F V \otimes V' \to \mathbb{F} V ⊗ V ′ → F 가 Φ \Phi Φ 를 거치면 대각합임을 보입니다. 대각합이 기저와 무관한 이유가 여기 있습니다.
풀이 (a) Φ ( e i ⊗ φ j ) ( e k ) = φ j ( e k ) e i = δ j k e i \Phi(e_i \otimes \varphi_j)(e_k) = \varphi_j(e_k)e_i = \delta_{jk}e_i Φ ( e i ⊗ φ j ) ( e k ) = φ j ( e k ) e i = δ j k e i 이므로 행렬은 ( i , j ) (i, j) ( i , j ) 성분만 1인 E i j E_{ij} E ij . E i j E_{ij} E ij (n 2 n^2 n 2 개)는 L ( V ) \mathcal{L}(V) L ( V ) 의 기저이므로 Φ \Phi Φ 는 기저를 기저로 보내는 동형입니다.
(b) 그 선형사상 c c c 는 c ( e i ⊗ φ j ) = φ j ( e i ) = δ i j c(e_i \otimes \varphi_j) = \varphi_j(e_i) = \delta_{ij} c ( e i ⊗ φ j ) = φ j ( e i ) = δ ij . Φ − 1 ( ∑ a i j E i j ) = ∑ a i j e i ⊗ φ j \Phi^{-1}\big(\sum a_{ij}E_{ij}\big) = \sum a_{ij}\,e_i \otimes \varphi_j Φ − 1 ( ∑ a ij E ij ) = ∑ a ij e i ⊗ φ j 에 c c c 를 쓰면 ∑ a i i = tr \sum a_{ii} = \operatorname{tr} ∑ a ii = tr . c c c 와 Φ \Phi Φ 는 기저 없이 정의되었으므로 대각합도 기저와 무관합니다.
32.8 [계산] · 확인 문제
R 2 ⊗ R 2 \mathbb{R}^2 \otimes \mathbb{R}^2 R 2 ⊗ R 2 의 텐서 τ = 3 e 1 ⊗ f 1 + 4 e 2 ⊗ f 1 + 5 e 2 ⊗ f 2 \tau = 3e_1 \otimes f_1 + 4e_2 \otimes f_1 + 5e_2 \otimes f_2 τ = 3 e 1 ⊗ f 1 + 4 e 2 ⊗ f 1 + 5 e 2 ⊗ f 2 의 슈미트 분해를 구합니다(문제 30.4 참고). ∥ τ ∥ 2 = ∑ σ i 2 \lVert \tau \rVert^2 = \sum \sigma_i^2 ∥ τ ∥ 2 = ∑ σ i 2 을 확인합니다. 소수 셋째 자리까지 적습니다.
σ 1 \sigma_1 σ 1
σ 2 \sigma_2 σ 2
∥ τ ∥ 2 \lVert \tau \rVert^2 ∥ τ ∥ 2
[?]
[?]
[?]
정답 풀이 계수 행렬 C = [ 3 0 4 5 ] C = \begin{bmatrix} 3 & 0 \\ 4 & 5 \end{bmatrix} C = [ 3 4 0 5 ] (행이 e i e_i e i , 열이 f j f_j f j ). 문제 30.4에서 σ 1 = 3 5 \sigma_1 = 3\sqrt5 σ 1 = 3 5 , a 1 = 1 10 ( 1 , 3 ) \mathbf{a}_1 = \frac{1}{\sqrt{10}}(1, 3) a 1 = 10 1 ( 1 , 3 ) , b 1 = 1 2 ( 1 , 1 ) \mathbf{b}_1 = \frac{1}{\sqrt2}(1, 1) b 1 = 2 1 ( 1 , 1 ) . b 2 = 1 2 ( 1 , − 1 ) \mathbf{b}_2 = \frac{1}{\sqrt2}(1, -1) b 2 = 2 1 ( 1 , − 1 ) , C b 2 = 1 2 ( 3 , − 1 ) C\mathbf{b}_2 = \frac{1}{\sqrt2}(3, -1) C b 2 = 2 1 ( 3 , − 1 ) , σ 2 = 5 \sigma_2 = \sqrt5 σ 2 = 5 , a 2 = 1 10 ( 3 , − 1 ) \mathbf{a}_2 = \frac{1}{\sqrt{10}}(3, -1) a 2 = 10 1 ( 3 , − 1 ) .
τ = 3 5 e 1 + 3 e 2 10 ⊗ f 1 + f 2 2 + 5 3 e 1 − e 2 10 ⊗ f 1 − f 2 2 . \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}. τ = 3 5 10 e 1 + 3 e 2 ⊗ 2 f 1 + f 2 + 5 10 3 e 1 − e 2 ⊗ 2 f 1 − f 2 . ∥ τ ∥ 2 = 9 + 16 + 25 = 50 = 45 + 5 \lVert \tau \rVert^2 = 9 + 16 + 25 = 50 = 45 + 5 ∥ τ ∥ 2 = 9 + 16 + 25 = 50 = 45 + 5 .
32.9 [증명]
V ⊗ W V \otimes W V ⊗ W 의 내적에서 ∥ v ⊗ w ∥ = ∥ v ∥ ∥ w ∥ \lVert v \otimes w \rVert = \lVert v \rVert\lVert w \rVert ∥ v ⊗ w ∥ = ∥ v ∥ ∥ w ∥ 이고, τ \tau τ 의 길이는 정규직교 기저에 대한 계수 행렬의 프로베니우스 노름임을 보입니다.
풀이 ∥ v ⊗ w ∥ 2 = ⟨ v , v ⟩ ⟨ w , w ⟩ \lVert v \otimes w \rVert^2 = \langle v, v \rangle\langle w, w \rangle ∥ v ⊗ w ∥ 2 = ⟨ v , v ⟩ ⟨ w , w ⟩ . e i ⊗ f j e_i \otimes f_j e i ⊗ f j 가 정규직교이므로 ∥ ∑ c i j e i ⊗ f j ∥ 2 = ∑ ∣ c i j ∣ 2 = ∥ C ∥ F 2 \big\lVert \sum c_{ij}\,e_i \otimes f_j \big\rVert^2 = \sum \lvert c_{ij} \rvert^2 = \lVert C \rVert_F^2 ∑ c ij e i ⊗ f j 2 = ∑ ∣ c ij ∣ 2 = ∥ C ∥ F 2 .
32.10 [계산] · 확인 문제
얽혀 있는지 판정합니다. 얽혀 있지 않으면 두 큐비트 상태의 텐서곱으로 씁니다. 얽혀 있으면 O, 아니면 X를 적습니다.
(a) 1 2 ( ∣ 00 ⟩ + ∣ 01 ⟩ ) \frac{1}{\sqrt2}\big(|00\rangle + |01\rangle\big) 2 1 ( ∣00 ⟩ + ∣01 ⟩ ) (b) 1 2 ( ∣ 00 ⟩ + ∣ 01 ⟩ + ∣ 10 ⟩ − ∣ 11 ⟩ ) \frac12\big(|00\rangle + |01\rangle + |10\rangle - |11\rangle\big) 2 1 ( ∣00 ⟩ + ∣01 ⟩ + ∣10 ⟩ − ∣11 ⟩ ) (c) 1 2 ( ∣ 01 ⟩ − ∣ 10 ⟩ ) \frac{1}{\sqrt2}\big(|01\rangle - |10\rangle\big) 2 1 ( ∣01 ⟩ − ∣10 ⟩ )
정답 풀이 (a) 1 2 [ 1 1 0 0 ] \frac{1}{\sqrt2}\begin{bmatrix} 1 & 1 \\ 0 & 0 \end{bmatrix} 2 1 [ 1 0 1 0 ] , 랭크 1: ∣ 0 ⟩ ⊗ ∣ 0 ⟩ + ∣ 1 ⟩ 2 |0\rangle \otimes \frac{|0\rangle + |1\rangle}{\sqrt2} ∣0 ⟩ ⊗ 2 ∣0 ⟩ + ∣1 ⟩ . 얽혀 있지 않습니다. (b) 1 2 [ 1 1 1 − 1 ] \frac12\begin{bmatrix} 1 & 1 \\ 1 & -1 \end{bmatrix} 2 1 [ 1 1 1 − 1 ] , det = − 1 2 ≠ 0 \det = -\frac12 \ne 0 det = − 2 1 = 0 : 얽혀 있습니다. (c) 1 2 [ 0 1 − 1 0 ] \frac{1}{\sqrt2}\begin{bmatrix} 0 & 1 \\ -1 & 0 \end{bmatrix} 2 1 [ 0 − 1 1 0 ] , det = 1 2 ≠ 0 \det = \frac12 \ne 0 det = 2 1 = 0 : 얽혀 있습니다(싱글렛 상태).
32.11 [계산] · 확인 문제
H ⊗ H H \otimes H H ⊗ H 를 4 × 4 4 \times 4 4 × 4 행렬로 쓰고 ( H ⊗ H ) ∣ 00 ⟩ (H \otimes H)|00\rangle ( H ⊗ H ) ∣00 ⟩ 을 구합니다. H ⊗ n ∣ 0 ⋯ 0 ⟩ H^{\otimes n}|0 \cdots 0\rangle H ⊗ n ∣0 ⋯ 0 ⟩ 은 무엇일까요? 표에는 ( H ⊗ H ) ∣ 00 ⟩ (H \otimes H)|00\rangle ( H ⊗ H ) ∣00 ⟩ 의 진폭을 적습니다.
∣ 00 ⟩ \lvert 00 \rangle ∣ 00 ⟩
∣ 01 ⟩ \lvert 01 \rangle ∣ 01 ⟩
∣ 10 ⟩ \lvert 10 \rangle ∣ 10 ⟩
∣ 11 ⟩ \lvert 11 \rangle ∣ 11 ⟩
[?]
[?]
[?]
[?]
정답 풀이 H ⊗ H = 1 2 [ 1 1 1 1 1 − 1 1 − 1 1 1 − 1 − 1 1 − 1 − 1 1 ] , ( H ⊗ H ) ∣ 00 ⟩ = 1 2 ( ∣ 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 ⊗ H = 2 1 1 1 1 1 1 − 1 1 − 1 1 1 − 1 − 1 1 − 1 − 1 1 , ( H ⊗ H ) ∣00 ⟩ = 2 1 ( ∣00 ⟩ + ∣01 ⟩ + ∣10 ⟩ + ∣11 ⟩ ) . 혼합곱 법칙으로 H ⊗ n ∣ 0 ⟩ ⊗ n = ( H ∣ 0 ⟩ ) ⊗ n = ( ∣ 0 ⟩ + ∣ 1 ⟩ 2 ) ⊗ n = 1 2 n ∑ 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 H ⊗ n ∣0 ⟩ ⊗ n = ( H ∣0 ⟩ ) ⊗ n = ( 2 ∣0 ⟩ + ∣1 ⟩ ) ⊗ n = 2 n 1 ∑ x ∣ x ⟩ . 2 n 2^n 2 n 개 상태 전부의 균등한 중첩입니다.
32.12 [증명]
CNOT은 어떤 2 × 2 2 \times 2 2 × 2 행렬 A A A , B B B 에 대해서도 A ⊗ B A \otimes B A ⊗ B 로 쓸 수 없음을 보입니다.
힌트. A ⊗ B A \otimes B A ⊗ B 는 순수 텐서를 순수 텐서로 보냅니다.
풀이 ( A ⊗ B ) ( v ⊗ w ) = A v ⊗ B w (A \otimes B)(v \otimes w) = Av \otimes Bw ( A ⊗ B ) ( v ⊗ w ) = A v ⊗ B w 는 순수 텐서입니다. 그런데 1 2 ( ∣ 0 ⟩ + ∣ 1 ⟩ ) ⊗ ∣ 0 ⟩ \frac{1}{\sqrt2}(|0\rangle + |1\rangle) \otimes |0\rangle 2 1 ( ∣0 ⟩ + ∣1 ⟩) ⊗ ∣0 ⟩ 은 순수 텐서이고 CNOT은 이것을 얽힌 벨 상태로 보냅니다. 따라서 C N O T ≠ A ⊗ B \mathrm{CNOT} \ne A \otimes B CNOT = A ⊗ B .
32.13 [계산]
(a) Λ 2 R 2 \Lambda^2\mathbb{R}^2 Λ 2 R 2 에서 T e 1 = a e 1 + c e 2 Te_1 = ae_1 + ce_2 T e 1 = a e 1 + c e 2 , T e 2 = b e 1 + d e 2 Te_2 = be_1 + de_2 T e 2 = b e 1 + d e 2 이면 T e 1 ∧ T e 2 = ( a d − b c ) e 1 ∧ e 2 Te_1 \wedge Te_2 = (ad - bc)\,e_1 \wedge e_2 T e 1 ∧ T e 2 = ( a d − b c ) e 1 ∧ e 2 임을 e i ∧ e i = 0 e_i \wedge e_i = 0 e i ∧ e i = 0 , e 2 ∧ e 1 = − e 1 ∧ e 2 e_2 \wedge e_1 = -e_1 \wedge e_2 e 2 ∧ e 1 = − e 1 ∧ e 2 만으로 계산합니다. (b) Λ 2 R 3 \Lambda^2\mathbb{R}^3 Λ 2 R 3 의 기저 e 2 ∧ e 3 e_2 \wedge e_3 e 2 ∧ e 3 , e 3 ∧ e 1 e_3 \wedge e_1 e 3 ∧ e 1 , e 1 ∧ e 2 e_1 \wedge e_2 e 1 ∧ e 2 에 대한 u ∧ v u \wedge v u ∧ v 의 좌표가 외적 u × v u \times v u × v 의 성분임을 보입니다.
풀이 (a) ( a e 1 + c e 2 ) ∧ ( b e 1 + d e 2 ) = a b e 1 ∧ e 1 + a d e 1 ∧ e 2 + c b e 2 ∧ e 1 + c d e 2 ∧ e 2 = ( a d − b c ) e 1 ∧ e 2 (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 ( a e 1 + c e 2 ) ∧ ( b e 1 + d e 2 ) = ab e 1 ∧ e 1 + a d e 1 ∧ e 2 + c b e 2 ∧ e 1 + c d e 2 ∧ e 2 = ( a d − b c ) e 1 ∧ e 2 .
(b) u ∧ v = ∑ i , j u i v j e i ∧ e j u \wedge v = \sum_{i,j} u_iv_j\,e_i \wedge e_j u ∧ v = ∑ i , j u i v j e i ∧ e j 에서 같은 쌍을 모으면 e 2 ∧ e 3 e_2 \wedge e_3 e 2 ∧ e 3 의 계수 u 2 v 3 − u 3 v 2 u_2v_3 - u_3v_2 u 2 v 3 − u 3 v 2 , e 3 ∧ e 1 e_3 \wedge e_1 e 3 ∧ e 1 의 계수 u 3 v 1 − u 1 v 3 u_3v_1 - u_1v_3 u 3 v 1 − u 1 v 3 , e 1 ∧ e 2 e_1 \wedge e_2 e 1 ∧ e 2 의 계수 u 1 v 2 − u 2 v 1 u_1v_2 - u_2v_1 u 1 v 2 − u 2 v 1 . 28.7절의 외적 성분과 같습니다. 외적은 Λ 2 R 3 \Lambda^2\mathbb{R}^3 Λ 2 R 3 의 원소를 R 3 \mathbb{R}^3 R 3 의 벡터로 바꿔 쓴 것입니다.