Variational Method (Quantum Chemistry 1)

프로필

2019. 4. 9. 22:11

이웃추가

Introduction

우리가 정확하게 에너지를 알 수 있는 것은 수소원자입니다. 그러나 이마저도 스핀을 고려하게 되면 정확한 계산이 불가능해지죠. 그럼 우리는 어떤 방법들을 채택해야 할까요? 이번 시간과 다음 시간, 총 두 개에 걸쳐 근사법에 대해 배워보도록 할 예정입니다.

오늘 할 것은 Variational Method(변분론, 줄여서 VM이라 하겠습니다.)입니다.

위와 같이 normalized wave function을 적용하였을 때, Hamiltonian의 expected value는 가장 낮은 에너지 E1 보다 항상 크거나 같습니다. 이 때, 파동함수는 boundary condition을 만족하고 있어야 합니다.

Body

VM을 통해서 구할 에너지를 W라고 해봅시다. 다음을 가정해야합니다.

ψ는 complete set을 구성합니다. 따라서 k를 1부터 무한대까지 늘리면 φ는 점점 실제 파동함수에 가까워 질 것입니다. 물론 그렇게 시스템이 커지게 되면 계산을 할 수 없을 것이지만요.

아무튼 에너지에 관한 식을 전개해봅시다.

sumk{|ak|}2, Ek-E1 모두 양수이기 때문에 W가 E1보다 크거나 같을 수 밖에 없습니다. 따라서 VM은 true ground state에 대해서 upper bound에 대한 정보를 제공합니다. 즉 실제 에너지가 VM을 통해서 구한 에너지보다는 작게 나온다는 것을 확신할 수 있게 됩니다. 이 때, VM의 φ는 어떤 자명한 함수도 가능합니다. 설령 그것이 orthonormal하지 않아도 됩니다. 단지 boundary condition만 맞으면 되죠.

만약 W가 어떤 변수 c를 포함한다면 dW/dc = 0 이 되는 지점에서 최소 에너지를 가지는 것을 알 수 있습니다. W는 항상 true ground state 에너지보다 크거나 같기 때문이죠.

Linear Variational Method

위와 같이 우리가 사용할 함수 φ를 설정해둡시다.

여기서 f함수는 basis set이며, 우리가 arbitrary 하게 선택했기 때문에 orthonormal하지 않을 수 있습니다.

이러한 조건에서 우리는 가장 작은 값의 W를 찾아보도록 하겠습니다.

식을 전개할 것이므로 term들을 정리하고 시작하겠습니다.

parameter c가 실수라 한다면

이렇게 A, B로 표현해봅시다. 그럼 W의 미분값이 0이 되는 지점을 찾아봅시다.

또한 H와 f가 모두 real이라면 H와 f의 adjoint는 자기 자신과 같을 것입니다.

즉 Hij = Hji, Sij = Sji

W를 ck에 대해 미분하게 되면

위의 값이 0이 되게하는 c를 찾으면 됩니다.

따라서 우리는 다음 식만 풀면 됩니다.

위의 식을 만족하기 위해서는 c들이 자명한 해를 가지거나 (모두 0), 또는 c가 0이 아니고 H와 S에 관한 항들이 0이 되어야 겠죠. 물론 c는 0이 아닐 것입니다. 모든 c가 0이라는 말은 φ=0이라는 뜻이니깐요.

따라서 det (H-SW) = 0 이 되어야 합니다.

n차원의 행렬식으로 부터 n개의 solution을 구할 수 있을 것입니다. W에 대해 서술하면

여기서 구한 solution들을 크기에 따라 labeling 할 수 있고, W1, W2,... 등은 각각 E1, E2,... 에 대응될 것이며, 물론 시작할 때 말씀드린 것처럼 W는 E보다 항상 크거나 같을 것입니다.

만일 우리가 basis set으로 설정한 f함수들이 complete하다면 우리는 바닥상태에 대하여 정확한 solution을 얻을 것입니다.

우리는 또한 이들을 행렬로도 표현할 수 있습니다.

또한 W와 φ를 행렬과 벡터로 표현하면 다음처럼 표현할 수 있습니다.

W는 대각행렬입니다.

여기서 f가 orthonormal 하냐 아니냐에 따라 분류할 수 있겠습니다.

(a) 만약 f가 orthonormal하다면. S=identity이므로

HC = CW

i=j인 경우에 S=1이 되므로 위와 같이 표현할 수 있고, H가 diagonalized되어 eigenvalue인 W와 eigenvector인 C를 만들어 냈습니다.

(b) 선형 독립적인 아무 basis를 가지고 f를 만들때,

이 때는 f는 non-orthonormal이지만 변환 행렬 T를 이용하여 orthonormal한 g를 만들어낼 수 있습니다.

따라서 g = fT가 되겠군요. (여기서 g와 f는 row vector입니다. f = (f1, f2, ... , fn) 이며 g도 마찬가지입니다.) 따라서

위처럼 표현할 수 있게 됩니다.

g=fT에 adjoint를 구하면 g=Tf 입니다. 이 때, g는 orthonormal하므로 g로 만든 S(g)는 1입니다. 이 때는 Kronecker delta = S 인 것이죠. 그럼 S(g)를 S(f)를 사용하여 표현해봅시다.

S(g) = TS(f)T=1

여기서 B를 g의 eigenvectors라 가정하면

fC = gB = fTB 또는 C=TB

따라서 HC=SCW 로부터

HTB = STBW

THTB = TSTBW = BW, THT = H'라 하면

H'B=BW (B는 orthonormal, W는 에너지에 대응되는 값)

위의 식에서 H'이라는 diagonalized된 행렬로 표현할 수 있고 W를 transformed basis로 얻었습니다.

이처럼 f가 orthonormal 이던 아니던 우리는 에너지를 근사할 수 있습니다. 그렇다면 변환행렬 T는 어떻게 구할 수 있을까요?

3가지 유명한 방법들이 있습니다.

1) symmetric orthogonalization (equivalent basis functions)

T = S-1/2 = Ud-1/2U (여기서 d는 D라는 대각행렬의 대각성분입니다. U는 unitary행렬로 역행렬이 adjoint행렬입니다.)

따라서 U가 eigenvector가 되고 d는 eigenvalue가 됩니다.

USU = d

2) canonical orthogonalization (reflects spartial symmetry of the system)

T = Ud-1/2

3) Schmidt orthogonalization

일반적인 대각화 방법으로 v1을 먼저 설정하고 u2라는 벡터를 v1에 수직인 v2라는 벡터로 전환하는 방식을 연쇄적으로 진행하며 마지막에 크기로 나눠주면 orthonormal vectors를 얻을 수 있습니다.

1번의 예시를 들어 설명해보겠습니다..

{f}={f1, f2} <f1 | f2>=△ 이라 가정해봅시다.

또한 이들이 normalized 되어 있다면

이를 기반으로 S-1/2를 알 수 있고, 이는 변환행렬 T입니다.

나머지는 따로 설명하진 않겠습니다. 그러나 이들을 정리해보자면

1) Symmetric

2) Canonical

3) Schmidt

따라서 다음과 같은 파동함수들이 나옵니다.

이번엔 Linear Variational Method의 solution을 어떻게 구하는 지 알아보겠습니다.

1) 먼저 {fi} 를 설정합니다.

2)

위의 계산을 수행합니다.

3) det(H-SW) = 0 을 풉니다.

4) Ci와 W를 얻어냅니다.

만일 위에서 f가 orthonormal하지 않다면

3) 변환행렬 T를 구합니다. 이를 이용하여 H'=THT를 정의합니다.

4) H'B = BW 이므로 H'을 대각화하여 W를 구합니다.

5) C = TB라는 점을 이용하여 C를 찾습니다.

실제로 위의 Linear Variational Method (LVM)을 2개의 basis 가 있는 조건에서 풀어보겠습니다.

아무리봐도 손으로 풀기엔 조금 어려워 보이네요.

하지만 특수한 경우에 쉽게 풀 수 있습니다.

1)

위처럼 S가 normalized되어 있고, H와 S가 symmetric할 때 입니다.

2)

이 경우는 basis 가 orthogonal할 때이며 따라서 basis 간의 overlap이 0이 되므로 S = 0 입니다.

3)

basis에 상관없이 Hamiltonian에 대한 eigenvalue가 같을 때 입니다.

4)

basis가 orthogonal하면서 H도 같을 때입니다. 따라서 위 그림의 아래 두 식이 나올 수 있게 됩니다.

4)의 두 식은 다음과 같은 결과를 나타내는 데요

V > 0 인 경우

또한 4)의 두 식을 통해 C의 요소들을 유추해낼 수 있습니다.(직접 해봤는데 복잡해서 여기서는 건너뜀)

H1 = H2, S11 = S22 = 1, S12 = S21 = S, H12 = H21 이라 가정하면 아래와 같은 행렬 C를 구할 수 있습니다.

여기서 S = 0 이라 가정하면

또한 S = 0에 H1과 H2가 같지 않다면

위와 같은 결과를 얻을 수 있습니다.

Conclusion

Variational Method는 에너지를 근사하는 방법 중 하나로 true ground state energy의 upper bound를 제시해줍니다. 근사를 통해 얻을 에너지 W를 최소화하는 parameter c 를 찾는 것이 관건입니다.

또한 근사에 사용할 basis는 boundary condition을 만족하는 어떤 것들도 가능합니다.

사용된 basis가 complete set일 경우 무한개의 basis function을 사용할 경우 정확한 solution을 얻을 수 있습니다.

Basis가 orthogonal하지 않다면 변환행렬 T를 사용하여 solution을 찾을 수 있습니다.

민뱀
민뱀 교육·학문

계산화학하는 대학원생입니다. 전공보다는 제 생각을 곁들인.