무한한 양자 우물에 한정된 입자의 고유 벡터를 플롯하기위한 간단한 코드를 작성했습니다. 실 공간 유한 차분 법을 사용했습니다.슈뢰딩거 방정식을 풀기위한 실제 유한 차분 접근법
import matplotlib.pyplot as plt
import numpy as np
import numpy.linalg as la
L=12 #length of the well,unit:Ang
a0=0.52917721 #unit of length in atomic system, given in Ang
k=0 # quantum number
#Atomic unit conversion
L_au=L/a0
n=1000
h=L_au/n
c0=1/(h**2)
c1=-1/(2*h**2)
#kinetic energy
T=c0*np.diag(np.ones(n-1))+c1*np.diag(np.ones(n-2),1) \
+c1*np.diag(np.ones(n-2),-1)
x=np.arange(0,L_au,h)
#Hamiltonian
H=T
val,vec=la.eigh(H)
plt.plot(x[:-1],vec[:,k])
코드는 본질적으로 간단하지만 나는 그것을 그릴 때 나는 잘 정규화 된 정현파 고유 상태를하지 않는 : 여기 내 코드입니다. 출력은 다음과 같습니다. :
정규화되지 않았 음을 알 수 있습니다. 나는 수직축이 L에 의존하는 변수로 곱 해져야한다고 생각한다. 나는 어떤 힌트도 감사 할 줄 모른다.
편집 1 : 정규화되지 않았다는 것을 자세히 설명하겠습니다. 이 조건에 해당하는 경우 양자 물리학에서, 파동 함수의 PSI (X)는 정규화 말한다 : 정상화
그래서 우리가 확인해야 그 공간 전체에 걸쳐 파동 함수의 제곱의 적분 위의 다이어그램에서는 그렇지 않습니다. 문제가 내 코드와 관련이 있는지 또는 문제를 이해했는지는 알 수 없습니다.
자세한 내용은 this article, 15 페이지를 참조하십시오.
EDIT 2 : 사실, 정규화하려는 경우 다이어그램의 피크 값은 0.46이어야하지만 내 경우에는 약 0.046입니다. 따라서 정규화하기 위해 10을 곱해야 할 필요가 있다고 들립니다. 그러나 나는 L을 바꾸려고 시도했고 다른 곱셈 요소를 얻었다.
나는 질문이 여전히 대부분의 사람들에게 모호하게 보일 수도 있음을 알고 있습니다. 그러나 모든 것을 자세하게 말하고 싶으면 책을 쓸 필요가 있으며 불가능합니다. 그러나 위에서 언급 한 기사를 읽으면 필자가 작성한 코드를 잘 이해할 수 있습니다.
실제 질문이 무엇인지 명확히 할 수 있습니까? 나는 관련 물리학이 충분히 도움이되는지 모르지만, 당신이 요구하는 것에 대해 더 분명하다면 다른 누군가가 할 수있을 것입니다. – Blckknght
왜 그것이 정규화되지 않았다고 생각합니까? 'np.linalg.eigh'는 정규화 된 벡터를 제공합니다.이를 제공하는'np.linalg.norm (vec [:, k])'로 테스트 할 수 있습니다. 다른 문제가 있습니까? – Michael
@Blckknght 죄송합니다. 충분히 명확하지 않습니다.게시물을 편집하겠습니다. –