Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
물리:이징_사슬 [2017/05/15 20:44] – [1차원 이징 사슬] minjae | 물리:이징_사슬 [2023/09/05 15:46] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 15: | Line 15: | ||
Zc=Tr{ai}eH=∑{σi}=±1exp{N∑i=1[Kσiσi+1+h2(σi+σi+1)]} | Zc=Tr{ai}eH=∑{σi}=±1exp{N∑i=1[Kσiσi+1+h2(σi+σi+1)]} | ||
로 쓰이고, 자유도에 대한 합은 | 로 쓰이고, 자유도에 대한 합은 | ||
- | $$\sum\splits_{{\sigma_{i}}=\pm1}e^{H}=\sum\splits_{{\sigma_{2}}=\pm1}\sum\splits_{{\sigma_{4}}=\pm1}\cdots\sum\splits_{{\sigma_{N}}=\pm1}\left[\sum\splits_{{\sigma_{1}}=\pm1}\sum\splits_{{\sigma_{3}}=\pm1} | + | $$\sum_{\{{\sigma_{i}\}}=\pm1}e^{H}=\sum_{{\sigma_{2}}=\pm1}\sum_{{\sigma_{4}}=\pm1}\cdots\sum_{{\sigma_{N}}=\pm1}\left[\sum_{{\sigma_{1}}=\pm1}\sum_{{\sigma_{3}}=\pm1} |
- | \cdots\sum\splits_{{\sigma_{N-1}}=\pm1}e^{H}\right]$$ | + | \cdots\sum_{{\sigma_{N-1}}=\pm1}e^{H}\right]$$ |
로 나타낼 수 있다. H에서 σ1을 포함하는 항을 보기 위해 i=1인 경우와 i=N인 경우를 더해보면 | 로 나타낼 수 있다. H에서 σ1을 포함하는 항을 보기 위해 i=1인 경우와 i=N인 경우를 더해보면 | ||
Kσ1(σN+σ2)+hσ1+h2(σN+σ2)이 되고 여기서 σ1이 포함된 항에 대해서만 생각해보자. | Kσ1(σN+σ2)+hσ1+h2(σN+σ2)이 되고 여기서 σ1이 포함된 항에 대해서만 생각해보자. | ||
σ1의 가능한 모든 값을 합하면 | σ1의 가능한 모든 값을 합하면 | ||
- | $$\sum\limits_{\sigma_{1}=\pm1}e^{K\sigma_{1}(\sigma_{N}+\sigma_{2})+h\sigma_{1}}=2\cosh\left[K(\sigma_{N}+\sigma_{2})+h}\right]$$ | + | $$\sum_{\sigma_1=\pm1}e^{K\sigma_1(\sigma_N+\sigma_2)+h\sigma_1} = 2\cosh\left[K(\sigma_N+\sigma_2)+h\right]$$ |
이 된다. σ2n=1,σ2n+1=σ임을 이용하여 식을 좀 더 정리해보면 | 이 된다. σ2n=1,σ2n+1=σ임을 이용하여 식을 좀 더 정리해보면 | ||
- | \begin{equation}\notag | + | \begin{align*} |
- | \sum\limits_{\sigma_{1}\pm1}}e^{K\sigma_{1}(\sigma_{N}+\sigma_{2})+h\sigma_{1}+\frac{h}{2}(\sigma_{N}+\sigma_{2})}=2e^{\frac{h}{2}(\sigma_{N}+\sigma_{2})}\cosh\left[K(\sigma_{N}+\sigma_{2})+h\right] | + | \sum_{\sigma_1=\pm1}e^{K\sigma_1(\sigma_N+\sigma_2)+h\sigma_1+h(\sigma_N+\sigma_2)/2} &= 2e^{h(\sigma_N+\sigma_2)/2}\cosh\left[K(\sigma_N+\sigma_2)+h\right]\\ |
+ | &= \exp\left\{2g + K^\prime\sigma_N\sigma_2 + \frac{1}{2}h^\prime(\sigma_N+\sigma_2)\right\} | ||
\label{renorm} | \label{renorm} | ||
- | \end{equation} | + | \end{align*} |
로 나타낼 수 있다. 여기서 | 로 나타낼 수 있다. 여기서 | ||
K′=14lncosh(2K+h)cosh(2K−h)cosh2h, | K′=14lncosh(2K+h)cosh(2K−h)cosh2h, | ||
Line 32: | Line 33: | ||
이다. σ3,σ5,…,σN−1이 각각 위와 같은 결과를 가지므로 | 이다. σ3,σ5,…,σN−1이 각각 위와 같은 결과를 가지므로 | ||
\begin{equation}\notag | \begin{equation}\notag | ||
- | \sum\limits_{\sigma_{1}, | + | \sum\limits_{\sigma_{1}, |
\end{equation} | \end{equation} | ||
- | 을 얻게 된다. 이 결과를 $\sum\limits_{{\sigma_{i}}=\pm1}e^{H}$에 대입하면 | + | 을 얻게 된다. 이 결과를 $\sum_\limits{\{\sigma_i\}=\pm1}e^{H}$에 대입하면 |
\begin{equation}\notag | \begin{equation}\notag | ||
- | \sum\limits_{{\sigma_{i}}=\pm}e^{H}=\sum\limits_{\sigma_{2}=\pm1}\sum\limits_{\sigma_{4}=\pm1}\cdots\sum\limits_{\sigma_{N}=\pm1}\exp\left\{{Ng(K, | + | \sum_{\{\sigma_i\}=\pm1}e^H=\sum_{\sigma_2=\pm1}\sum_{\sigma_4=\pm1}\cdots\sum_{\sigma_N=\pm1}\exp\left\{{Ng(K, |
\end{equation} | \end{equation} | ||
이 된다. 결과식의 형태를 보면 짝수번째 스핀에 대한 합이 분배함수 Zc와 닮은 형태를 가지는 것을 알 수 있다. 이것은 처음의 물리계가 짝수번째 스핀들이 자기장 h′ 속에서 결합계수 K′로 가장 가까이 있는 스핀들과 상호작용하는 물리계로 치환될 수 있음을 보여준다. 그러므로 처음의 분배함수는 | 이 된다. 결과식의 형태를 보면 짝수번째 스핀에 대한 합이 분배함수 Zc와 닮은 형태를 가지는 것을 알 수 있다. 이것은 처음의 물리계가 짝수번째 스핀들이 자기장 h′ 속에서 결합계수 K′로 가장 가까이 있는 스핀들과 상호작용하는 물리계로 치환될 수 있음을 보여준다. 그러므로 처음의 분배함수는 | ||
Line 73: | Line 74: | ||
∂h′∂h>1 | ∂h′∂h>1 | ||
이 된다는 것을 확인할 수 있다. 결론적으로 재규격화 과정이 진행될수록 처음의 물리계는 K의 값은 점점 작아져 K=0에 가까워지고 h의 값은 점점 더 커지는 물리계로 치환된다고 할 수 있다. | 이 된다는 것을 확인할 수 있다. 결론적으로 재규격화 과정이 진행될수록 처음의 물리계는 K의 값은 점점 작아져 K=0에 가까워지고 h의 값은 점점 더 커지는 물리계로 치환된다고 할 수 있다. | ||
+ | |||
+ | |||
+ | 앞서 설명된 ' | ||
+ | |||
+ | 하나는 coarse graining 과정, 다른 하나는 rescaling 이다. | ||
+ | |||
+ | coarse graining은 ' | ||
+ | |||
+ | 아래의 ' | ||
+ | |||
+ | ====== 블록 스핀 (Block spin) ====== | ||
+ | |||
+ | 아래의 그림 중 왼쪽은, 어느 특정 시점에서 10x10개의 2차원 이징 모형 스핀 배열의 원본이고, | ||
+ | 오른쪽 그림은 그러한 왼쪽의 배열을 ' | ||
+ | |||
+ | (이해를 돕기 위해 그림판을 이용하여 간단히 그려보았다. 실제로는 랜덤하게 그린 것은 아니다.) | ||
+ | |||
+ | {{:: | ||
+ | |||
+ | 블록 스핀이란, | ||
+ | |||
+ | 즉, 위의 경우는 아래의 방식으로, | ||
+ | |||
+ | |||
+ | {{:: | ||
+ | |||
+ | 그 2x2 정사각형 내의 왼쪽 아래에 위치한 스핀의 부호를 택하여, 나머지 3개의 스핀까지 같은 스핀으로 둔 방식이다. | ||
+ | |||
+ | 이러한 방식을 ' | ||
+ | |||
+ | 다른 변환 방식으로는 ' | ||
+ | |||
+ | 그래서 이러한 과정을 coasre graining이라고 부르는데, | ||
+ | |||
+ | 같은 방식으로 128x128개의 스핀 배열을 예로 들어, 아래의 그림들로 보다 명확히 살펴볼 수 있다. | ||
+ | |||
+ | (각각 ' | ||
+ | {{:: | ||
+ | |||
+ | {{:: | ||
+ | |||
+ | (β=0.5 로 설정하였고, | ||
+ | |||
+ | 위에서 설명한 decimation의 방식을 택하여 시뮬레이션을 수행해 보기 위해, 아래의 C++ 코드를 이용할 수 있으며, | ||
+ | |||
+ | [[물리: | ||
+ | |||
+ | (spin : 스핀 배열 원본, deci : decimation을 적용시킨 블록 스핀 배열) | ||
+ | |||
+ | <code C++> | ||
+ | #include < | ||
+ | #include < | ||
+ | #include < | ||
+ | #include < | ||
+ | #include < | ||
+ | |||
+ | using namespace std; | ||
+ | |||
+ | int main() { | ||
+ | const int lsize=30; | ||
+ | const float beta = 0.5; | ||
+ | const float J = 1; | ||
+ | const int MC_steps=1000; | ||
+ | const int iter=lsize*lsize*5000; | ||
+ | |||
+ | int i; int j; | ||
+ | float del_E; float mp_probability; | ||
+ | float spin[lsize][lsize] = { 0 }; | ||
+ | float deci[lsize][lsize] = { 0 }; | ||
+ | random_device rd; | ||
+ | mt19937 gen(rd()); | ||
+ | bernoulli_distribution distrib(0.5); | ||
+ | uniform_int_distribution<> | ||
+ | uniform_real_distribution<> | ||
+ | |||
+ | for (int t=0; t< | ||
+ | if (t==0){ | ||
+ | for (int a=0; | ||
+ | for (int b=0; | ||
+ | if (distrib(gen)){ | ||
+ | spin[a][b]=1; | ||
+ | } | ||
+ | else { | ||
+ | spin[a][b]=-1; | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | |||
+ | else { | ||
+ | i = distri(gen); | ||
+ | j = distri(gen); | ||
+ | |||
+ | if (i< | ||
+ | del_E=2*J*(spin[i][j]*(spin[i-1][j] + spin[i+1][j] + spin[i][j-1] + spin[i][j+1])); | ||
+ | } | ||
+ | else if (i==lsize-1 && j< | ||
+ | del_E=2*J*(spin[i][j]*(spin[i-1][j] + spin[0][j] + spin[i][j-1] + spin[i][j+1])); | ||
+ | } | ||
+ | |||
+ | else if (i< | ||
+ | del_E=2*J*(spin[i][j]*(spin[i-1][j] + spin[i+1][j] + spin[i][j-1] + spin[i][0])); | ||
+ | } | ||
+ | |||
+ | else if (i==lsize-1 && j==lsize-1){ | ||
+ | del_E=2*J*(spin[i][j]*(spin[i-1][j] + spin[0][j] + spin[i][j-1] + spin[i][0])); | ||
+ | } | ||
+ | |||
+ | if (exp(-beta*del_E) < 1){ | ||
+ | mp_probability = exp(-beta*del_E); | ||
+ | } | ||
+ | |||
+ | else if (exp(-beta*del_E) >= 1) { | ||
+ | mp_probability = 1; | ||
+ | } | ||
+ | |||
+ | if (dist(gen) < mp_probability){ | ||
+ | spin[i][j] = spin[i][j]*(-1); | ||
+ | } | ||
+ | } | ||
+ | |||
+ | for (int a=0; | ||
+ | for (int b=0; | ||
+ | if ((a+1)%2==0 && (a+b)%2==1){ | ||
+ | deci[a][b] = spin[a][b]; | ||
+ | deci[a][b+1] = spin[a][b]; | ||
+ | deci[a-1][b+1] = spin[a][b]; | ||
+ | deci[a-1][b] = spin[a][b];// | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | |||
+ | } | ||
+ | return 0; | ||
+ | } | ||
+ | |||
+ | </ | ||
======참고문헌====== | ======참고문헌====== | ||
* M. Plischke and B. Bergersen, // | * M. Plischke and B. Bergersen, // |