예전에 슈나잇 모형(Sznajd model)의 단순화된 형태를 수식으로 풀어내는 논문을 보면서 몰랐던 내용인데 지금 보고 있는 논문에서 같은 방법이 등장하여 고민중이다. 모르는 게 있으면 끝까지 알아내야 다음번에 편한 법인데 늘 미루다가 이렇게 된다. 불완전하나마 정리를 해보려 글을 쓴다.

시스템이 정의되면 그 시스템이 가질 수 있는 가능한 모든 상태를 설정할 수 있다. 이 상태들을 0, 1, 2, ..., N 이라고 하자. 시각 t에 상태 n (n=0, 1, ..., N)에 있을 확률을 P(n,t)라고 쓴다. 단위 시간 동안 n에서 m으로 상태가 전이할 전이율을 W(n→m)라고 하자. 그 시간 동안 확률 P(n,t)의 변화는 W들에 의해 결정된다:

dP(n,t)/dt = Σ_{m≠n} [W(m→n) P(m,t) - W(n→m) P(n,t)]

이걸 으뜸방정식(master equation)이라 하고 이걸 잘 풀어야 한다. 보면 P에 관한 선형 미분방정식이라는 걸 알 수 있는데 그래서 행렬로 표현할 수도 있다. |v(t)>를 P(0,t), P(1,t), ..., P(N,t)로 이루어진 벡터라고 하자. 전이율들은 행렬 L의 각 요소로 써주면 된다. 시간에 대한 미분을 간단히 d_t라고 하겠다.

d_t |v(t)> = L |v(t)>

행렬 L에 대한 고유값(eigenvalue)과 고유벡터(eigenvector)를 각각 μ와 |μ>로 표현한다.

L |μ> = μ |μ>

행렬 오른쪽에 붙은 고유벡터이므로 |μ>는 '오른쪽 고유벡터'라고 부른다. 이러면 상태 |v(t)>를 |μ>들의 중첩으로 나타낼 수 있다.

|v(t)> = Σ_μ c(μ,t) |μ>

c는 시간의 함수인 적절한 계수다. 양변을 시간으로 미분한 식과 양변에 L을 가해준 식을 비교하면 d_t c(μ,t) = μ c(μ,t) 라는 관계식이 나오는데 이걸 풀면 c(μ,t) = exp(μt) c(μ,0)이 된다. c(μ,0)는 편의상 c_μ라고 쓰겠다. 이로부터 원래 구하려고 했던 확률 벡터 |v(t)>는 다음처럼 씌어진다.

|v(t)> = Σ_μ exp(μt) c_μ |μ>

이제 c_μ만 구하면 원하는 답을 얻은 것이다. c_μ는 초기조건에 의해 결정되는 상수다. 위 식에 t=0을 대입하자.

|v(0)> = Σ_μ c_μ |μ>

c_μ를 구하기 위해 양옆에 <μ'|을 곱해주고 |μ>들의 직교성(즉 <μ'|μ> = δ(μ,μ'))을 이용하면

c_μ = <μ|v(0)>

임을 알 수 있다. 그런데 여기에서 <μ'|은 그냥 |μ'>을 자리바꿈(transpose)한 것이라고 생각했는데 일반적으로 그렇지 않고 '왼쪽 고유벡터'를 따로 구해서 이용해야 한다는 식으로 논문에는 나와 있다. 아직 완전히 이해하지는 못했지만, L이 L^+ (이건 L의 수반행렬(adjoint matrix)을 의미한다)와 같은 경우, 즉 L = L^+일 때(self-adjoint)에는 왼쪽 고유벡터와 오른쪽 고유벡터가 각각 같으므로 상관없지만 그렇지 않을 경우(non-self-adjoint)에는 왼쪽과 오른쪽이 다르므로 따로 구해서 이용해야 한다고 볼 수 있다.

왼쪽 고유벡터는 다음과 같이 정의된다.

<μ| L = <μ| μ

고유값도 왼쪽과 오른쪽이 따로 계산되는 것 같지만, 고유값을 구하기 위한 행렬식은 자리바꿈에 상관없이 똑같으므로 오른쪽 고유벡터의 고유값과 왼쪽 고유벡터의 고유값은 각각 같다. 그리고 오른쪽 고유벡터와 왼쪽 고유벡터는 직교성을 보인다. 이렇게 L로부터 구한 <μ|들을 이용하여 c_μ를 구할 수 있다. 최종적으로 다음과 같은 답을 얻는다.
 
|v(t)> = Σ_μ exp(μt) |μ><μ|v(0)>

문제에 따라 다르지만 지금 내가 풀어야 하는 문제에서 μ들은 0이거나 음수이다. 이 답에서 시간이 많이 지나면 μ가 0인 항만 살아남고 나머지는 죽는다.

|v(t→∞)> = Σ_{μ=0} |μ><μ|v(0)>

그런데 μ=0은 L |μ> = μ |μ> = 0임을 뜻하고 곧 d_t |v(t)> = 0임을 뜻한다. 즉 위의 해는 이 시스템의 정상해(stationary solution)임을 알 수 있다.

끝.

---
* 2007. 10. 5. 오후 5:52 덧붙임.

위에서 잘 모르겠다고 한 부분은 선형대수학의 기본적인 정리를 알면 당연히 알 수 있는 건데 배우고 써먹지 않아서 잊어버리고 있었다. L이 Hermitian matrix(즉 self-adjoint matrix)가 아닌 경우 일반적으로 고유벡터들이 서로 직교하지 않는다. c_μ를 구하기 위해서는 직교하는 고유벡터들이 필요한데, 이를 위해 왼쪽 고유벡터가 추가로 필요하다. 같은 고유값에 대한 왼쪽 고유벡터와 오른쪽 고유벡터의 내적은 0이 아니며, 다른 고유값에 대한 내적은 0이므로 왼쪽/오른쪽 고유벡터의 직교성을 이용할 수 있다.