전산물리학:변분법

Differences

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

Link to this comparison view

Next revision
Previous revision
전산물리학:변분법 [2018/07/10 16:21] – created admin전산물리학:변분법 [2023/09/05 15:46] (current) – external edit 127.0.0.1
Line 21: Line 21:
 실제 계산에서는 라그랑주 곱수를 사용해서 $E$의 분모에 표현된 규격화 조건을 유지하면서 분자를 최소화하는 쪽이 더 간편하다. 변분의 표현으로는 실제 계산에서는 라그랑주 곱수를 사용해서 $E$의 분모에 표현된 규격화 조건을 유지하면서 분자를 최소화하는 쪽이 더 간편하다. 변분의 표현으로는
 $$\delta \left( \int \psi^\ast H \psi ~dx - \epsilon \int \psi^\ast \psi ~dx \right) = 0,$$ $$\delta \left( \int \psi^\ast H \psi ~dx - \epsilon \int \psi^\ast \psi ~dx \right) = 0,$$
-$$\left( \int \delta\psi^\ast (H-\epsilon) \psi ~dx + \int \psi^\ast (H-\epsilon) \delta \psi ~dx \right) = 0.$$ +$$\int \delta\psi^\ast (H-\epsilon) \psi ~dx + \int \psi^\ast (H-\epsilon) \delta \psi ~dx = 0.$$ 
-여기에서 $H \psi = \epsilon \psi$가 나오므로 라그랑주 곱의 물리적 의미는 에너지 고유값이다.+여기에서 $H \psi = \epsilon \psi$가 나오므로 라그랑주 곱의 물리적 의미는 에너지 고유값이다.
  
 ======기저함수로 전개====== ======기저함수로 전개======
Line 59: Line 59:
  
 이제 코드를 적어보자. 이제 코드를 적어보자.
-<code>+<Code:python>
 from __future__ import print_function,division from __future__ import print_function,division
 from math import pi from math import pi
 from numpy import array, empty from numpy import array, empty
 from numpy.linalg import eigvalsh # symmetric or hermitian from numpy.linalg import eigvalsh # symmetric or hermitian
 +
 hbar = 1.0546e-34 # Planck constant / (2*pi) hbar = 1.0546e-34 # Planck constant / (2*pi)
 m, eV = 9.1094e-31, 1.6022e-19 # electron mass and 1eV = 1.6022e-19J m, eV = 9.1094e-31, 1.6022e-19 # electron mass and 1eV = 1.6022e-19J
Line 70: Line 71:
 V0 = 10**4*eV V0 = 10**4*eV
 H = empty([N,N], float) H = empty([N,N], float)
 +
 for n in range(N): for n in range(N):
     for k in range(N):     for k in range(N):
Line 80: Line 82:
 e = eigvalsh(H) e = eigvalsh(H)
 print(e/eV) # output in units of eV print(e/eV) # output in units of eV
-</code>+</Code>
  
 위 코드의 변분법으로는 $N=10$개의 기저함수만을 사용해도 $E_0 \approx -2128.8767 eV$를 얻는다. 같은 상수값들을 가지고 [[:전산물리학:사격법]]을 사용할 경우 $E_0 \approx -2128.879 eV$를 얻는다. 분명 변분법의 결과가 더 크기는 하지만 그 차이는 매우 작다. 위 코드의 변분법으로는 $N=10$개의 기저함수만을 사용해도 $E_0 \approx -2128.8767 eV$를 얻는다. 같은 상수값들을 가지고 [[:전산물리학:사격법]]을 사용할 경우 $E_0 \approx -2128.879 eV$를 얻는다. 분명 변분법의 결과가 더 크기는 하지만 그 차이는 매우 작다.
 +
 +======함께 보기======
 +[[수학:범함수]]
  
 ======참고문헌====== ======참고문헌======
   * http://www.fisica.uniud.it/~giannozz/Corsi/MQ/LectureNotes/mq.pdf   * http://www.fisica.uniud.it/~giannozz/Corsi/MQ/LectureNotes/mq.pdf
  • 전산물리학/변분법.1531207279.txt.gz
  • Last modified: 2023/09/05 15:46
  • (external edit)