앞글에 이어 스핀동역학에 대해서도 보겠습니다. 하이젠베르크 모형을 이용합니다.

$$H=-J\sum_{\langle ij\rangle}S_i\cdot S_j=\sum_i S_i\cdot H_{{\rm eff},i}$$

앞의 H는 해밀토니안이고 뒤의 Heff,i는 스핀 i의 이웃들에 의해 스핀 i가 느끼는 자기장입니다. 각 스핀의 운동방정식은 다음과 같이 주어진다고 합니다. 사실 S와 Heff 모두 벡터인데 그냥 썼습니다.

$$\frac{dS_i}{dt}=-S_i\times H_{{\rm eff},i},\ H^k_{{\rm eff},i}=-J\sum_{j=nn(i)}S^k_j \ (k=x,y,z)$$

여기서도 모든 스핀의 상태를 y(t)={Si}로 나타내면, 적절한 연산자를 도입하여 다음처럼 쓸 수 있습니다.

$$\frac{dy(t)}{dt}=\hat R y(t)$$

2 차원 사각 격자 위의 스핀 시스템을 생각한다면, 격자를 두 개의 하위격자(sublattice)로 나눌 수 있는데, 이를테면 체스판에서 검은 칸들의 집합과 흰 칸들의 집합이 하위격자입니다. 이들을 각각 A, B로 쓰겠습니다. R도 A와 B 각각에 대한 R들로 나눕니다.

$$\frac{dy(t)}{dt}=(\hat R_A+ \hat R_B)y(t),\ y(t+\tau)=e^{\hat R_B\tau/2}e^{\hat R_A\tau}e^{\hat R_B\tau/2}y(t)$$

여기서도 RB 연산자는 A의 스핀들에 의존하여 B의 스핀을 변화시키지만 A의 스핀은 그대로 둡니다. 반대도 마찬가지죠. 또한 위에 쓴 스핀의 운동방정식에서 알 수 있듯이 R은 각 스핀 i를 Heff,i 축을 중심으로 회전시키는 작용을 합니다. 각 스핀 i와 Heff,i 사이의 각도가 변하지 않으므로 스핀의 길이뿐만 아니라 에너지 역시 정확히 보존됩니다. 상태공간 부피 보존과 시간대칭도 분자동역학에서 논의한 것과 똑같이 성립합니다. 논문에서는 다른 적분 방법보다 이 방법이 얼마나 좋은지를 실제 컴퓨터 계산결과로 보여주고 있습니다.

이렇게 분자동역학의 리우빌 연산자나 스핀동역학의 회전 연산자를 지수 위에 올린 경우, 각 연산자를 성분에 따라 또는 하위격자들로 나누고(분할) 이들을 순서대로 적용하는 방법은 트로터 분할(Trotter decomposition)의 예들입니다. 이걸 일반화한 게 스즈키-트로터 분할(Suzuki-Trotter decomposition)이며, 스핀동역학과 같은 양자 시스템에 적용되는 양자 몬테카를로(quantum Monte Carlo) 기법으로 쓰인다고 하네요.