지금까지의 두 글에서는 state 자체 를 vector 로 적는 법을 다뤘습니다. 이번 노트는 그 state 를 변환 하는 일을 어떻게 행렬로 적는지에 대한 기록입니다.
가장 단순한 변환은 함수 f:Σ→Σ. 입력 classical state a 가 들어오면 출력 f(a) 를 deterministic 하게 내놓습니다. 무작위성 없이. 예를 들어 bit 의 NOT 은 0↦1, 1↦0 이고, 항등은 0↦0, 1↦1.
이 변환을 vector 차원에서도 똑같이 다루고 싶습니다. 그래서 함수 f 하나마다 행렬 M 하나 를 대응시키고, 작용을 단순한 matrix-vector 곱 v↦Mv 로 적습니다. 이 형식이 이후 모든 operation (probabilistic, unitary 포함) 에 그대로 재사용됩니다. 즉 모든 operation = 어떤 행렬 곱 이라는 framework 가 여기서 시작합니다.
어떤 행렬인가
함수 f:Σ→Σ 가 주어지면, 다음 조건을 만족하는 유일한 행렬 M 이 존재합니다.
M∣a⟩=∣f(a)⟩for every a∈Σ
행렬 entry 공식으로 적으면
M(b,a)=⎩⎨⎧10if b=f(a)if b=f(a)
여기서 b 는 row index (출력 위치), a 는 column index (입력 위치) 입니다.
핵심 성질이 두 가지 있습니다.
각 column 에 정확히 하나의 1, 나머지는 0. 이유는 단순합니다. a 번째 column 은 M∣a⟩=∣f(a)⟩ 그 자체이고, ∣f(a)⟩ 가 한 자리만 1 인 standard basis vector 이기 때문입니다.
행렬 곱이 곧 작용. v↦Mv 가 그 operation 의 정의입니다.
probabilistic state 에 작용시켰을 때 무슨 일이 일어나는지도 짚어둘 만합니다. v=∑ap(a)∣a⟩ 면 linearity 에 의해
Mv=a∑p(a)(M∣a⟩)=a∑p(a)∣f(a)⟩
즉 각 classical state a 가 f(a) 로 보내지면서 확률은 그대로 따라갑니다. deterministic operation 을 따로 정의하지 않아도 확률 분포 위에서 자동으로 잘 동작한다는 뜻입니다.
Σ = {0, 1} 의 4가지 함수
bit 위에서 f:{0,1}→{0,1} 인 함수는 총 4개입니다 (입력 2가지 × 출력 2가지 =22=4).
행렬 곱이 합과 스칼라 배에 분배되는 linearity 덕에, M3∣0⟩ 과 M3∣1⟩ 두 결과만 알면 어떤 확률 조합에 대해서도 자동으로 답이 나옵니다. classical state 위에서 f 의 동작만 행렬로 정리해두면, probabilistic state 에서도 그대로 작동한다는 framework 의 이득이 여기서 분명해집니다.
짚어둘 것
세 가지만 따로 정리합니다.
Column 에만 정확히 하나의 1 이 보장됩니다. row 에는 여러 개의 1 (예: M1 의 첫 row (1,1)) 또는 0 개 (예: M1 의 둘째 row (0,0)) 가 등장할 수 있습니다. 이는 f 가 non-injective 일 때 (여러 입력이 같은 출력으로 보내질 때) 자연스럽게 발생합니다.
행렬 entry M(b,a) 는 함수 값 자체가 아니라 그 자리가 f(a) 와 일치하는가 라는 indicator 입니다. 값은 항상 0 또는 1 만 가집니다. f(a)=1 이라고 해서 M 의 어떤 entry 가 1 인 게 아니라, M(1,a)=1 이라는 뜻입니다.
Identity 함수의 행렬은 모든 자리에 1 이 아니라 대각선만 1 인 단위행렬 I 입니다. column 별로 ∣f(a)⟩=∣a⟩ 가 들어가니 자연스럽게 그렇게 됩니다.
어떤 함수가 invertible 인가
위 4개 행렬 중 역행렬 이 존재하는 것은 M2 (identity) 와 M3 (NOT) 입니다. M1 과 M4 는 invertible 하지 않습니다.
이걸 직접 행렬식으로 계산할 필요는 없습니다. 함수 f 의 어떤 성질 이 invertibility 를 결정하는지로 한 줄에 답이 나옵니다.
f 가 bijection (= permutation of Σ) 이면, 그리고 그때만 M 은 invertible.
f2 (identity), f3 (NOT) 은 bijection. 입력과 출력이 일대일 대응. 두 행렬은 permutation matrix 입니다.
f1,f4 는 constant 함수. 두 입력 0,1 이 모두 같은 출력으로 보내져 정보가 사라집니다. 사라진 정보는 어떤 행렬 곱으로도 복원할 수 없습니다.
이 관찰은 quantum 으로 넘어갈 때 중요한 복선이 됩니다. quantum operation 은 모두 unitary 이고, unitary 는 항상 invertible 입니다 (사실 U−1=U†). 즉 quantum 세계에서는 정보가 사라지는 변환이 허용되지 않습니다. f1, f4 같은 constant operation 은 quantum 에선 단독으로 존재할 수 없습니다.
다음으로
다음 노트의 주제는 probabilistic operation 입니다. deterministic operation 의 일반화로, 행렬 entry 가 0 또는 1 이 아니라 임의의 확률 을 가질 수 있는 형태입니다. 미리 짚어두면 좋을 두 가지가 있습니다.
각 column 의 entry 는 어떤 조건을 만족할까요. 힌트는 probability vector 의 두 조건 (entry ≥0, sum =1) 과 같은 형식 입니다. 이런 행렬을 stochastic matrix 라 부릅니다.
그러면 deterministic operation 은 probabilistic operation 의 어떤 극단 case 일까요. 한 줄로 적자면 각 column 이 한 자리에 모든 확률을 몰아둔 (즉 entry 가 0 또는 1 만인) probabilistic operation 입니다.