수학:코흐_곡선

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revisionBoth sides next revision
수학:코흐_곡선 [2022/01/16 22:15] yong수학:코흐_곡선 [2022/01/17 16:23] yong
Line 76: Line 76:
  
 $d_{\rm sq}\,, d_{\rm dead}\,, d_{\rm cor}$는 0, $d_{\rm para}$는 1, $d_{\rm line}$는 11, $d_{\rm empty}$는 25의 고윳값을 가지는 것을 확인할 수 있다. $d_{\rm sq}\,, d_{\rm dead}\,, d_{\rm cor}$는 0, $d_{\rm para}$는 1, $d_{\rm line}$는 11, $d_{\rm empty}$는 25의 고윳값을 가지는 것을 확인할 수 있다.
-고유방정식의 의미를 생각해보면, $d_{\rm sq}\,, d_{\rm dead}\,, d_{\rm cor}$는 irrelevant하며, $d_{\rm para}$는 marginal, $d_{\rm line}$와 $d_{\rm empty}$는 relevant하다는 것을 알 수 있다. +고유방정식의 의미를 생각해보면, $d_{\rm sq}\,, d_{\rm dead}\,, d_{\rm cor}$는 irrelevant하며, $d_{\rm para}$는 marginal, $d_{\rm line}$와 $d_{\rm empty}$는 relevant하다. 
-다음으로 정수로 구성되는 고유벡터는, + 
-\begin{align+한편 각 고유값에 대응되는 고유벡터는, 
- \mathbf{d}_{\rm{sq}} =& \left( -1 ~~ 4 ~~ -4 ~~ 0 ~~ 0 ~~ 1 \right) \\ +\begin{equation*} 
- \mathbf{d}_{\rm{dead}} =& \left( 0 ~~ 1 ~~ -2 ~~ 0 ~~ 1 ~~ 0 \right) \\ +\begin{aligned
- \mathbf{d}_{\rm{cor}}  =& \left( 1 ~~ -2 ~~ 0 ~~ 1 ~~ 0 ~~ 0 \right) \\ + \mathbf{d}_{\rm{sq}} =& \, \left( -1 ~~ 4 ~~ -4 ~~ 0 ~~ 0 ~~ 1 \right) \\ 
- \mathbf{d}_{\rm{para}} =& \left( 0 ~~ 1 ~~ -1 ~~ 1 ~~ -3 ~~ 2 \right) \\ + \mathbf{d}_{\rm{dead}} =& \, \left( 0 ~~ 1 ~~ -2 ~~ 0 ~~ 1 ~~ 0 \right) \\ 
- \mathbf{d}_{\rm{line}} =& \left( 0 ~~ -98 ~~ -112 ~~ -28 ~~ -196 ~~ 379 \right) \\ + \mathbf{d}_{\rm{cor}}  =& \, \left( 1 ~~ -2 ~~ 0 ~~ 1 ~~ 0 ~~ 0 \right) 
- \mathbf{d}_{\rm{empty}} =& \left( 0 ~~ 0 ~~ 0 ~~ 0 ~~ 0 ~~ 1 \right) +\end{aligned} 
-\end{align}+\qquad 
 +\begin{aligned} 
 + \mathbf{d}_{\rm{para}} =& \, \left( 0 ~~ 1 ~~ -1 ~~ 1 ~~ -3 ~~ 2 \right) \\ 
 + \mathbf{d}_{\rm{line}} =& \, \left( 0 ~~ -98 ~~ -112 ~~ -28 ~~ -196 ~~ 379 \right) \\ 
 + \mathbf{d}_{\rm{empty}} =& \, \left( 0 ~~ 0 ~~ 0 ~~ 0 ~~ 0 ~~ 1 \right) 
 +\end{aligned} 
 +\end{equation*} 
 +고유벡터로 구성되는 행렬 Q를 $Q = \left( \mathbf{d}_{\rm{sq}}\,, \mathbf{d}_{\rm{dead}}\,, \mathbf{d}_{\rm{cor}}\,, \mathbf{d}_{\rm{para}}\,, \mathbf{d}_{\rm{line}}\,, \mathbf{d}_{\rm{empty}} \right)$ 
 +으로 구성하면 대각화의 성질을 이용하여 n번의 변환을 거친 프랙탈 기본 구성 사각형의 총 개수를 얻을 수 있다. 즉, 
 +\begin{equation*} 
 + SI^{n} = \left( QDQ^{-1} \right)^{n} = QD^{n}Q^{-1} 
 +\end{equation*} 
 +python을 이용하여 그래프를 그리면 다음을 얻을 수 있다. 
 + 
 +{{:수학:kochgraph.png?600 |}} 
 + 
 + 
 +<code Python | fractalstep.py> 
 +import numpy as np 
 +import numpy.linalg as lin 
 +import matplotlib.pyplot as plt 
 + 
 +matrix = np.array( 
 +        [[0,0,0,0,0,0], 
 +        [8,5,3,2,1,0], 
 +        [4,4,3,4,2,0], 
 +        [4,2,1,0,0,0], 
 +        [4,6,5,8,4,0], 
 +        [1,5,11,9,17,25]] 
 +
 + 
 +steps = 10 
 +eigval, eigvec = lin.eig(matrix) 
 +diagmat = np.zeros((6,6)) 
 +np.fill_diagonal(diagmat,eigval) 
 +diagmat0 = diagmat 
 +sum_mat = np.zeros((6,steps)) 
 +for i in range(steps): 
 +        A = eigvec @ diagmat @ lin.inv(eigvec) 
 +        for j in range(6): 
 +                sum_mat[j][i] = np.sum(A[j]) 
 +        diagmat = diagmat0 @ diagmat 
 + 
 +x = np.arange(1,steps+1,1) 
 +label = ['square', 'deadend', 'corner', 'parallel', 'line', 'empty'
 +for i in range(6): 
 +        plt.plot(x, sum_mat[i], label=label[i]) 
 +plt.yscale('log'
 +plt.plot((2,8),(5**5*10,5**17*10),'--',label='2'
 +log_5_11=np.log(11)/np.log(5) 
 +plt.plot((2,8),(5**(log_5_11*2)*10,5**(log_5_11*8)*10),'--',label=r'$\log 11 / \log 5$') 
 +plt.xlabel('steps'
 +plt.ylabel('n (steps)'
 +plt.legend() 
 +plt.savefig('kochgraph.png', dpi=300, transparent=True) 
 +</code> 
 + 
 +====== 함께 보기 ====== 
 +  * [[물리:프랙탈 차원]] 
 +  * [[http://events.kias.re.kr/h/statphys.winterschool/?pageNo=4526|The 19th KIAS-APCTP Winter School on Statistical Physics]] 
 + 
  • 수학/코흐_곡선.txt
  • Last modified: 2023/09/05 15:46
  • by 127.0.0.1