Aiden Kwak Pages
02 · Blog · 기록Quantum3/8

Quantum(3) - Deterministic Operations

2026-04-27 ·

지금까지의 두 글에서는 state 자체 를 vector 로 적는 법을 다뤘습니다. 이번 노트는 그 state 를 변환 하는 일을 어떻게 행렬로 적는지에 대한 기록입니다.

가장 단순한 변환은 함수 f:ΣΣf : \Sigma \to \Sigma. 입력 classical state aa 가 들어오면 출력 f(a)f(a) 를 deterministic 하게 내놓습니다. 무작위성 없이. 예를 들어 bit 의 NOT 은 010 \mapsto 1, 101 \mapsto 0 이고, 항등은 000 \mapsto 0, 111 \mapsto 1.

이 변환을 vector 차원에서도 똑같이 다루고 싶습니다. 그래서 함수 ff 하나마다 행렬 MM 하나 를 대응시키고, 작용을 단순한 matrix-vector 곱 vMvv \mapsto M v 로 적습니다. 이 형식이 이후 모든 operation (probabilistic, unitary 포함) 에 그대로 재사용됩니다. 즉 모든 operation = 어떤 행렬 곱 이라는 framework 가 여기서 시작합니다.

어떤 행렬인가

함수 f:ΣΣf : \Sigma \to \Sigma 가 주어지면, 다음 조건을 만족하는 유일한 행렬 MM 이 존재합니다.

Ma=f(a)for every aΣM |a\rangle = |f(a)\rangle \quad \text{for every } a \in \Sigma

행렬 entry 공식으로 적으면

M(b,a)={1if b=f(a)0if bf(a)M(b, a) = \begin{cases} 1 & \text{if } b = f(a) \\\\ 0 & \text{if } b \neq f(a) \end{cases}

여기서 bb 는 row index (출력 위치), aa 는 column index (입력 위치) 입니다.

핵심 성질이 두 가지 있습니다.

  • 각 column 에 정확히 하나의 11, 나머지는 00. 이유는 단순합니다. aa 번째 column 은 Ma=f(a)M |a\rangle = |f(a)\rangle 그 자체이고, f(a)|f(a)\rangle 가 한 자리만 11 인 standard basis vector 이기 때문입니다.
  • 행렬 곱이 곧 작용. vMvv \mapsto M v 가 그 operation 의 정의입니다.

probabilistic state 에 작용시켰을 때 무슨 일이 일어나는지도 짚어둘 만합니다. v=ap(a)av = \sum_a p(a) |a\rangle 면 linearity 에 의해

Mv=ap(a)(Ma)=ap(a)f(a)M v = \sum_a p(a) (M |a\rangle) = \sum_a p(a) |f(a)\rangle

즉 각 classical state aaf(a)f(a) 로 보내지면서 확률은 그대로 따라갑니다. deterministic operation 을 따로 정의하지 않아도 확률 분포 위에서 자동으로 잘 동작한다는 뜻입니다.

Σ = {0, 1} 의 4가지 함수

bit 위에서 f:{0,1}{0,1}f : \{0, 1\} \to \{0, 1\} 인 함수는 총 4개입니다 (입력 2가지 ×\times 출력 2가지 =22=4= 2^2 = 4).

함수f(0)f(0)f(1)f(1)의미
f1f_10000항상 00 (constant)
f2f_20011identity
f3f_31100NOT (bit flip)
f4f_41111항상 11 (constant)

각 함수에 대응하는 행렬은 column 별로 f(a)|f(a)\rangle 를 적으면 바로 나옵니다.

M1=(1100),M2=(1001),M3=(0110),M4=(0011)M_1 = \begin{pmatrix} 1 & 1 \\\\ 0 & 0 \end{pmatrix}, \quad M_2 = \begin{pmatrix} 1 & 0 \\\\ 0 & 1 \end{pmatrix}, \quad M_3 = \begin{pmatrix} 0 & 1 \\\\ 1 & 0 \end{pmatrix}, \quad M_4 = \begin{pmatrix} 0 & 0 \\\\ 1 & 1 \end{pmatrix}

각 행렬에서 column 1 (즉 a=0a = 0) 은 f(0)|f(0)\rangle, column 2 (즉 a=1a = 1) 은 f(1)|f(1)\rangle 입니다. 예컨대 M3M_3 의 column 1 은 (0,1)T=1=f3(0)=NOT(0)(0, 1)^T = |1\rangle = |f_3(0)\rangle = |\mathrm{NOT}(0)\rangle.

NOT 을 직접 적용해 보기

M3M_3 가 정말 bit 를 뒤집는지 확인합니다.

M30=(0110)(10)=(01)=1M_3 |0\rangle = \begin{pmatrix} 0 & 1 \\\\ 1 & 0 \end{pmatrix} \begin{pmatrix} 1 \\\\ 0 \end{pmatrix} = \begin{pmatrix} 0 \\\\ 1 \end{pmatrix} = |1\rangle M31=(0110)(01)=(10)=0M_3 |1\rangle = \begin{pmatrix} 0 & 1 \\\\ 1 & 0 \end{pmatrix} \begin{pmatrix} 0 \\\\ 1 \end{pmatrix} = \begin{pmatrix} 1 \\\\ 0 \end{pmatrix} = |0\rangle

다음으로 probabilistic state 에 적용해 봅니다. v=340+141v = \tfrac{3}{4} |0\rangle + \tfrac{1}{4} |1\rangle 일 때

M3v=(0110)(3/41/4)=(1/43/4)=140+341M_3 v = \begin{pmatrix} 0 & 1 \\\\ 1 & 0 \end{pmatrix} \begin{pmatrix} 3/4 \\\\ 1/4 \end{pmatrix} = \begin{pmatrix} 1/4 \\\\ 3/4 \end{pmatrix} = \tfrac{1}{4} |0\rangle + \tfrac{3}{4} |1\rangle

Pr(0)\Pr(0)Pr(1)\Pr(1) 이 정확히 swap. NOT 이 확률 분포 위에서도 직관대로 작동합니다. 별도 정의 없이 linearity 가 알아서 해주는 결과입니다.

직접 풀어 적으면 이 알아서 의 정체가 보입니다.

M3v=M3(340+141)=34M30+14M31=341+140M_3 v = M_3 \left( \tfrac{3}{4} |0\rangle + \tfrac{1}{4} |1\rangle \right) = \tfrac{3}{4} M_3 |0\rangle + \tfrac{1}{4} M_3 |1\rangle = \tfrac{3}{4} |1\rangle + \tfrac{1}{4} |0\rangle

행렬 곱이 합과 스칼라 배에 분배되는 linearity 덕에, M30M_3 |0\rangleM31M_3 |1\rangle 두 결과만 알면 어떤 확률 조합에 대해서도 자동으로 답이 나옵니다. classical state 위에서 ff 의 동작만 행렬로 정리해두면, probabilistic state 에서도 그대로 작동한다는 framework 의 이득이 여기서 분명해집니다.

짚어둘 것

세 가지만 따로 정리합니다.

  • Column 에만 정확히 하나의 11 이 보장됩니다. row 에는 여러 개의 11 (예: M1M_1 의 첫 row (1,1)(1, 1)) 또는 00 개 (예: M1M_1 의 둘째 row (0,0)(0, 0)) 가 등장할 수 있습니다. 이는 ff 가 non-injective 일 때 (여러 입력이 같은 출력으로 보내질 때) 자연스럽게 발생합니다.
  • 행렬 entry M(b,a)M(b, a) 는 함수 값 자체가 아니라 그 자리가 f(a)f(a) 와 일치하는가 라는 indicator 입니다. 값은 항상 00 또는 11 만 가집니다. f(a)=1f(a) = 1 이라고 해서 MM 의 어떤 entry 가 11 인 게 아니라, M(1,a)=1M(1, a) = 1 이라는 뜻입니다.
  • Identity 함수의 행렬은 모든 자리에 11 이 아니라 대각선만 11 인 단위행렬 II 입니다. column 별로 f(a)=a|f(a)\rangle = |a\rangle 가 들어가니 자연스럽게 그렇게 됩니다.

어떤 함수가 invertible 인가

위 4개 행렬 중 역행렬 이 존재하는 것은 M2M_2 (identity) 와 M3M_3 (NOT) 입니다. M1M_1M4M_4 는 invertible 하지 않습니다.

이걸 직접 행렬식으로 계산할 필요는 없습니다. 함수 ff 의 어떤 성질 이 invertibility 를 결정하는지로 한 줄에 답이 나옵니다.

ff 가 bijection (= permutation of Σ\Sigma) 이면, 그리고 그때만 MM 은 invertible.

  • f2f_2 (identity), f3f_3 (NOT) 은 bijection. 입력과 출력이 일대일 대응. 두 행렬은 permutation matrix 입니다.
  • f1,f4f_1, f_4 는 constant 함수. 두 입력 0,10, 1 이 모두 같은 출력으로 보내져 정보가 사라집니다. 사라진 정보는 어떤 행렬 곱으로도 복원할 수 없습니다.

이 관찰은 quantum 으로 넘어갈 때 중요한 복선이 됩니다. quantum operation 은 모두 unitary 이고, unitary 는 항상 invertible 입니다 (사실 U1=UU^{-1} = U^\dagger). 즉 quantum 세계에서는 정보가 사라지는 변환이 허용되지 않습니다. f1f_1, f4f_4 같은 constant operation 은 quantum 에선 단독으로 존재할 수 없습니다.

다음으로

다음 노트의 주제는 probabilistic operation 입니다. deterministic operation 의 일반화로, 행렬 entry 가 00 또는 11 이 아니라 임의의 확률 을 가질 수 있는 형태입니다. 미리 짚어두면 좋을 두 가지가 있습니다.

  • 각 column 의 entry 는 어떤 조건을 만족할까요. 힌트는 probability vector 의 두 조건 (entry 0\geq 0, sum =1= 1) 과 같은 형식 입니다. 이런 행렬을 stochastic matrix 라 부릅니다.
  • 그러면 deterministic operation 은 probabilistic operation 의 어떤 극단 case 일까요. 한 줄로 적자면 각 column 이 한 자리에 모든 확률을 몰아둔 (즉 entry 가 00 또는 11 만인) probabilistic operation 입니다.

이 둘을 머리에 담아두고 다음 글로 넘어갈 예정입니다.

Back toBlog 목록