Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| 물리:열린_양자계_겨울학교_프로젝트 [2023/01/29 20:32] – created jiwon | 물리:열린_양자계_겨울학교_프로젝트 [2023/09/05 15:46] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 53: | Line 53: | ||
| \right)$$ | \right)$$ | ||
| 가 된다. | 가 된다. | ||
| + | |||
| + | =====수치해===== | ||
| + | 이론적으로는 위 행렬의 고윳값과 고유벡터를 구하면 계의 모든 특성을 알아낼 수 있지만, 식의 형태가 매우 복잡해지므로 여기서는 수치해를 구하는 것에 집중하도록 한다. 적분 방법으로는 4차 룽게-쿠타 방법을 이용했고 초기 조건으로는 다음과 같은 상태를 고려했다. | ||
| + | $$\rho(0) = \frac{1-p}4I + p\vert\psi^+\rangle\langle\psi^+\vert$$ | ||
| + | 여기서 $\vert\psi^+\rangle = 1/ | ||
| + | |||
| + | 그리고 물리량으로는 얽힘 엔트로피 | ||
| + | $$S_E(t) = \text{Tr}_A \rho_A(t)\log\rho_A(t)$$ | ||
| + | 를 선택했다. | ||
| + | |||
| + | =====결과===== | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | < | ||
| + | using LinearAlgebra | ||
| + | using Printf | ||
| + | |||
| + | if (length(ARGS)< | ||
| + | println(" | ||
| + | exit() | ||
| + | end | ||
| + | |||
| + | J = parse(Float32, | ||
| + | gamma = parse(Float32, | ||
| + | p=parse(Float32, | ||
| + | tf = parse(Float32, | ||
| + | dt = parse(Float32, | ||
| + | omega = 1 | ||
| + | |||
| + | sx = [0 1; 1 0] | ||
| + | sz = [1 0; 0 -1] | ||
| + | sm = [0 0; 1 0] | ||
| + | id2 = [1 0; 0 1] | ||
| + | id4 = kron(id2, | ||
| + | |||
| + | function Hf(omega) | ||
| + | hf = omega*(kron(sz, | ||
| + | return -im*(kron(hf, | ||
| + | end | ||
| + | |||
| + | function Hint(J) | ||
| + | hint = J*kron(sx, | ||
| + | return -im*(kron(hint, | ||
| + | end | ||
| + | |||
| + | function Decoherence(gamma) | ||
| + | L0 = kron(sm, | ||
| + | L1 = kron(id2, | ||
| + | |||
| + | decoherence0 = kron(L0, | ||
| + | decoherence1 = kron(L1, | ||
| + | return gamma*(decoherence0+decoherence1) | ||
| + | end | ||
| + | |||
| + | function EntanglementEntropy(r) | ||
| + | r = reshape(r, | ||
| + | c = real((r[1, | ||
| + | l1 = 0.5*(1.0+sqrt(1.0-4.0*c)) | ||
| + | l2 = 0.5*(1.0-sqrt(1.0-4.0*c)) | ||
| + | return -l1*log2(l1)-l2*log2(l2) | ||
| + | end | ||
| + | |||
| + | |||
| + | M = Hf(omega)+Hint(J)+Decoherence(gamma) | ||
| + | dmatrix = [(1-p)/4; 0; (1-p)/4; 0; 0; (1+p)/4; p/2; (1-p)/4; (1-p)/4; p/2; (1+p)/4; 0; 0; (1-p)/4; 0; (1-p)/4] | ||
| + | |||
| + | t=0.0 | ||
| + | while(t< | ||
| + | global dmatrix, | ||
| + | k1 = dt*M*dmatrix | ||
| + | k2 = dt*M*(dmatrix+k1/ | ||
| + | k3 = dt*M*(dmatrix+k2/ | ||
| + | k4 = dt*M*(dmatrix+k3) | ||
| + | dmatrix = dmatrix+(k1+2.0*k2+2.0*k3+k4)/ | ||
| + | @printf "%.4f %.4f\n" | ||
| + | t+=dt | ||
| + | end | ||
| + | </ | ||