Unknownpgr

라그랑주 역학[1] - 변분법

2020-10-22 22:30:26 | English, Korean

예전에 라그랑주 역학을 잠깐 공부했었습니다. 아마도 고3때 내신 공부 빼고 다 재미있었을 시절에 뭔가 복잡한 물리 계산을 할 필요가 있어 그랬었던 것 같은데 뭘 하려 했었는지는 잘 기억나지 않습니다. 아마도 이중 진자를 시뮬레이션하기 위해서였던 것 같기는 합니다.

어쨌든 이번에 이걸 다시 써먹을 일이 생겨서 이번에 한 번 정리해두고자 합니다.

이중진자(Double Pendulum) : 네이버 블로그

변분법

라그랑주 역학은 변분법이라는, 일반적인 미적분을 확장한 수학 분야를 사용합니다.

변분법은 범함수라는 것을 다루는데, 범함수란 함수들의 집합을 정의역으로 갖는 함수를 말합니다. 물론 공역 역시 여러 집합이 될 수 있겠지만 이 글에서는 공역이 실수인 경우만을 다룰 것입니다. 즉, 이 글에서 다룰 범함수란 함수들의 집합을 F\mathbb{F}라 하고, 실수 집합을 R\mathbb{R}라 하면 J:FRJ:\mathbb{F}\rightarrow\mathbb{R} 인 함수를 말합니다. 간단한 범함수의 예시로는 다음과 같은 것이 있습니다.

J[f]=01(f(t))2dtJ[f] = \int_0^1(f(t))^2dt

위 수식의 범함수 JJ는 어떤 함수 ff를 매개변수로 받고(ff는 실함수라고 가정할 때), 실수를 반환합니다.

미적분에서는 어떤 함수가 있을 때 그 매개변수의 미소 변화에 따른 함숫값의 미소 변화가 어떤 관계가 있는지를 조사합니다. 마찬가지로 변분법에서도 그 매개변수인 함수의 미소 변화가 있을 때, 범함수의 미소 변화(변분)와 어떤 관계가 있는지를 다룹니다. 특히 범함수를 최대나 최소로 만드는 경우가 중요한데, 이러한 최대값이나 최소값을 정류값이라 하며 범함수를 최대나 최소가 되게 하는 함수를 정류함수 또는 정류점이라 합니다. 예를 들어, 위의 함수의 경우 유일하게 f=0f=0인 경우에 정류값 00을 가지며, f=0f=0이 정류점(또는 정류함수)이 됩니다.

오일러-라그랑주 방정식

물론 변분법에는 제가 모르는 수많은 중요한 원리들이 있겠지만 우리가 다룰 라그랑주 역학은 주로 오일러-라그랑주 방정식이라는 중요한 방정식으로부터 유도됩니다.

오일러 라그랑주 방정식이란 어떤 함수 qq에 대한 아래 수식처럼 생긴 범함수 SS의 정류점을 찾기 위한 방정식입니다.

S(q)=abL(t,q(t),q(t))dtS(q)=\int_a^bL(t,q(t),q'(t))dt

이때 LL은 모든 편미분이 연속인 임의의 3변수 함수입니다.(일반적인 함수입니다. 범함수가 아닙니다.) 그리고 물론 qq는 미분가능해야 합니다. 예를 들어, L(a,b,c)=a2+cL(a,b,c)=a^2+c라고 가정하면, 위 수식은 아래와 같이 쓸 수 있겠습니다.

S(q)=abt2+q(t)dtS(q)=\int_a^bt^2+q'(t)dt

(이 경우 어렵지 않게 S(q)=q(b)q(a)+(b3a3)/3S(q)=q(b)-q(a)+(b^3-a^3)/3임을 알 수 있습니다.)

그리고 이러한 형태의 범함수 SS의 어떤 정류점이 q0q_0라고 하면 q0q_0는 다음 방정식을 만족합니다.

Lq0ddtLq0=0\frac{\partial L}{\partial q_0}-\frac{d}{dt}\frac{\partial L}{\partial q_0'}=0

이 방정식을 오일러-라그랑주 방정식이라 부릅니다.

변분법의 기본 보조정리

오일러-라그랑주 방정식을 증명하기 위해서는 먼저 변분법의 기본 보조정리를 알아야 합니다. 변분법의 기본 보조정리란,

라는 정리입니다.

사실 어떻게 보면 되게 당연해보입니다. ff와 무엇을 곱해서 적분하든 반드시 0이라면 ff는 0이다.

증명

사실 저는 컴퓨터과학 전공이지 수학 전공이 아니므로 compactly supported smooth라는 조건에 대해 잘 알지 못합니다. 그러나 조사해본 바 모든 실수에서 무한번 미분가능(모든 실수에서 연속이며 발산하는 값 없음)한 것으로 간주해도 괜찮을 것 같습니다.

이것을 귀류법을 사용해서 증명해보도록 하겠습니다. 즉, 그 어떤 η\eta에 대해서도 abf(x)η(x)dx=0\int_a^bf(x)\eta(x)dx=0이지만, 적어도 어떤 x0x_0가 존재하여 f(x0)0f(x_0)\not=0인 그런 신기한 ff가 존재한다고 가정해보겠습니다.

먼저 f(x0)>0f(x_0)>0인 경우를 고려해보겠습니다.

그러면 ff는 연속함수이므로 연속함수의 정의상 적어도 하나의 x0x_0를 포함하는 어떤 구간 [c,d][c,d]가 존재하여 x[c,d]x\in[c,d]xx에 대해 f(x)>0f(x)>0를 만족합니다. 물론 [c,d][a,b][c,d]\subset[a,b]입니다.

이때 다음과 같은 함수를 생각해보겠습니다.

η(x)=((xc)(xd))4 where x[c,d]η(x)=0 else\eta(x) = ((x-c)(x-d))^4 \text{ where }x\in[c,d]\\ \eta(x) = 0 \text{ else}

이 함수는 compactly supported smooth한 함수입니다. 그러면

abf(x)η(x)dx=acf(x)η(x)dx+cdf(x)η(x)dx+dbf(x)η(x)dx=cdf(x)η(x)dx\int_a^bf(x)\eta(x)dx\\ =\int_a^cf(x)\eta(x)dx+\int_c^df(x)\eta(x)dx+\int_d^bf(x)\eta(x)dx\\ =\int_c^df(x)\eta(x)dx

가 되는데, 구간 [c,d][c,d]를 잡을 때 f>0f>0이 되도록 잡았고, 또한 η>0\eta>0이므로 cdf(x)η(x)dx>0\int_c^df(x)\eta(x)dx>0이 성립하며 따라서 abf(x)η(x)dx>0\int_a^bf(x)\eta(x)dx>0입니다. 그런데 이는 맨 처음에 했던 가정 abf(x)η(x)dx=0\int_a^bf(x)\eta(x)dx=0과 모순됩니다. 따라서 가정이 거짓이며 그런 ff가 존재하지 않습니다.

마찬가지로 f(x0)<0f(x_0)<0인 경우를 증명할 수 있습니다.

좀 더 쉬운 증명(?)

가만히 생각해봤는데, 물리학(특히 역학)에서 다루는 함수는 상당수가 compactly supported smooth할 것이라 생각됩니다. 그러므로 ff가 compactly supported smooth라는 제약을 하나 더 추가해봅시다.

그럴 경우 η=f\eta=f라 두면 η(x)f(x)=(f(x))20\eta(x)f(x)=(f(x))^2\geq0이므로 abf(x)η(x)dx0\int_a^bf(x)\eta(x)dx\geq0이고 등호는 오직 f=0f=0일 때에만 성립함을 직관적으로 알 수 있습니다.

오일러-라그랑주 방정식의 증명

일단 범함수를 살펴보기 전에 일반적인 함수를 먼저 살펴봅시다. 미적분학에서는 어떤 벡터함수 f(x):RnRf(\bold{x}):\mathbb{R}^n\rightarrow\mathbb{R}x0\bold{x}_0에서 극소(혹은 극대)라 함은 임의의 x\bold{x}에 대해

limh0f(x0+hx)f(x0)h=df(x0+hx)dh=g(h)\lim_{h\rightarrow0}\frac{f(\bold{x}_0+h\bold{x})-f(\bold{x}_0)}{h}=\frac{df(\bold{x}_0+h\bold{x})}{dh}=g(h)

라 할 때 g(0)=0g(0)=0인 경우를 말하는 것이었습니다. (사실 f(x0)=0f'(\bold{x}_0)=0이라고 써도 되지만 아래 범함수를 다룰 때와 똑같은 형태로 만들기 위해 일부러 g(h)g(h)라는 새로운 함수를 도입했습니다.) 즉, 그 점 주변에서 임의의 방향으로 미소한 변화를 주더라도 변화량이 0일 경우 극점이라고 생각했었습니다.

마찬가지로 범함수의 정류값 역시 비슷하게 생각할 수 있습니다.

위에 서술했던 범함수를 다시 한번 살펴봅시다. (앞으로는 변수가 t,h,q,ηt,h,q,\eta등 여러가지가 나옵니다. 앞의 두 가지는 실수이며 뒤의 두 가지는 함수입니다. 최대한 헷갈리지 않도록 함수일 경우 q0(t)q_0(t)와 같이 최대한 함수임과 그 매개변수임을 나타내도록 했습니다.)

S(q)=abL(t,q(t),q(t))dtS(q)=\int_a^bL(t,q(t),q'(t))dt

만약 q0q_0가 범함수 SS의 정류점이라면, 즉 SS를 최소화하거나 최대화한다면, η(a)=η(b)=0\eta(a)=\eta(b)=0인 임의의 미분가능한 함수 η\eta에 대해 (벡터함수의 경우와 유사하게)다음을 만족할 것입니다.

Let limh0S(q0(t)+hη(t))S(q0(t))h=dS(q0(t)+hη(t))dh=g(h)Then, g(0)=0\text{Let }\lim_{h\rightarrow0}\frac{S(q_0(t)+h\eta(t))-S(q_0(t))}{h}=\frac{dS(q_0(t)+h\eta(t))}{dh}=g(h)\\ \text{Then, }g(0)=0

이는 함수 q0q_0hηh\eta라는 아주 작은 함수를 더해서 미소하게 변화시킨다 하더라도 SS의 변화량에는 별 차이가 없을 거라는 의미입니다.

그러면 이제 SS에 원래 식을 다시 대입한 후 정리해보도록 하겠습니다.

dS(q0+hη)dh=d(abL(t,q0(t)+hη(t),q0(t)+hη(t))dt)dh=abL(t,q0(t)+hη(t),q0(t)+hη(t))dhdt\frac{dS(q_0+h\eta)}{dh}\\ =\frac{d\left(\int_a^bL(t,q_0(t)+h\eta(t),q_0'(t)+h\eta'(t))dt\right)}{dh}\\ =\int_a^b\frac{L(t,q_0(t)+h\eta(t),q_0'(t)+h\eta'(t))}{dh}dt

적분되는 식은 복잡해 보이지만 문자가 많아서 그렇지 다변수함수의 전미분에 불과합니다. 이걸 한 번 전개해보겠습니다.

L(t,q0(t)+hη,q0(t)+hη(t))dh=Ltth+L(q0(t)+hη(t))(q0(t)+hη(t))h+L(q0(t)+hη(t))(q0(t)+hη(t))h\frac{L(t,q_0(t)+h\eta,q_0'(t)+h\eta'(t))}{dh}\\ =\frac{\partial L}{\partial t}\frac{\partial t}{\partial h} +\frac{\partial L}{\partial (q_0(t)+h\eta(t))}\frac{\partial (q_0(t)+h\eta(t))}{\partial h} +\frac{\partial L}{\partial (q_0'(t)+h\eta'(t))}\frac{\partial(q_0'(t)+h\eta'(t))}{\partial h}

식이 더 복잡해져버렸습니다. 그러나 여기에는 함정이 숨어 있는데 바로 df(x)/dtdf(x)/dt처럼 미분할 때 미분되는 함수의 변수와 미분하는 변수가 서로 다를 경우 0이 된다는 점입니다. 예를 들어 첫 번째 항의 Ltth\frac{\partial L}{\partial t}\frac{\partial t}{\partial h}에서 th\frac{\partial t}{\partial h}이 그런 경우로, 0이 됩니다. 이렇게 0이 되는 항들을 전부 소거하면 아래와 같이 비교적 깔끔하게 정리된 식을 얻을 수 있습니다. (앞으로는 매개변수로 헷갈릴 일이 별로 없으므로 가독성을 높이기 위해 함수의 매개변수 (t)(t)를 생략하겠습니다. 그러나 LL은 범함수가 아니라 일반 함수이므로 반드시 스칼라만을 매개변수로 받을 수 있고, 따라서 함수 자체를 매개변수로 넘기는 것이 아니라 함숫값을 넘기는 것임을 유의하시기 바랍니다.)

ηL(q0+hη)+ηL(q0+hη)\eta\frac{\partial L}{\partial (q_0+h\eta)} +\eta'\frac{\partial L}{\partial (q_0'+h\eta')}

이걸 다시 적분 기호 안으로 집어넣겠습니다.

dS(q0+hη)dh=abηL(q0+hη)+ηL(q0+hη)dt=g(h)\frac{dS(q_0+h\eta)}{dh}=\int_a^b\eta\frac{\partial L}{\partial (q_0+h\eta)} +\eta'\frac{\partial L}{\partial (q_0'+h\eta')}dt=g(h)

이제 다시 맨 처음의 논의로 돌아가봅시다.

만약 q0q_0가 범함수 SS의 정류점이라면, 즉 SS를 최소화하거나 최대화한다면, η(a)=η(b)=0\eta(a)=\eta(b)=0인 임의의 미분가능한 함수 η\eta에 대해 다음을 만족할 것입니다.

Let limh0S(q0+hη)S(q0)h=dS(q0+hη)dh=g(h)Then, g(0)=0\text{Let }\lim_{h\rightarrow0}\frac{S(q_0+h\eta)-S(q_0)}{h}=\frac{dS(q_0+h\eta)}{dh}=g(h)\\ \text{Then, }g(0)=0

그러므로 g(0)=0g(0)=0이라고 둬 봅시다. 그러면 아래 식을 얻습니다.

abηLq0+ηLq0dt=g(0)=0\int_a^b\eta\frac{\partial L}{\partial q_0} +\eta'\frac{\partial L}{\partial q_0'}dt=g(0)=0

여기서 η\eta'을 없애주기 위해 두 번째 항에 부분적분을 한 번 해봅시다. 부분적분 공식은 아래와 같습니다.

abg(t)f(t)dt=[g(t)f(t)]ababg(t)f(t)dt\int_a^b g(t)f'(t)dt=\left[g(t)f(t)\right]_a^b-\int_a^b g'(t)f(t)dt

η=f\eta=f, Lq0=g\frac{\partial L}{\partial q_0'}=g로 놓고 부분적분을 해보겠습니다.

abη(t)Lq0+η(t)Lq0dt=abη(t)Lq0dt+[η(t)Lq0]ababη(t)ddtLq0dt=abη(t)Lq0η(t)ddtLq0dt+[η(t)Lq0]ab=ab[Lq0ddtLq0]η(t)dt+[η(t)Lq0]ab=0\int_a^b\eta(t)\frac{\partial L}{\partial q_0}+\eta'(t)\frac{\partial L}{\partial q_0'}dt\\ =\int_a^b\eta(t)\frac{\partial L}{\partial q_0}dt+\left[\eta(t)\frac{\partial L}{\partial q_0'}\right]_a^b-\int_a^b\eta(t)\frac{d}{dt}\frac{\partial L}{\partial q_0'}dt\\ =\int_a^b\eta(t)\frac{\partial L}{\partial q_0}-\eta(t)\frac{d}{dt}\frac{\partial L}{\partial q_0'}dt+\left[\eta(t)\frac{\partial L}{\partial q_0'}\right]_a^b\\ =\int_a^b\left[\frac{\partial L}{\partial q_0}-\frac{d}{dt}\frac{\partial L}{\partial q_0'}\right]\eta(t)dt+\left[\eta(t)\frac{\partial L}{\partial q_0'}\right]_a^b=0

그런데 처음에 η\eta를 정의하기를

...최대화한다면, η(a)=η(b)=0\eta(a)=\eta(b)=0인 임의의 미분가능한 함수 η\eta에 대해...

라고 했었습니다. 그러므로 두 번째 항은 0이 되고, 아래와 같이 간단하게 정리됩니다.

ab[Lq0ddtLq0]η(t)dt=0\int_a^b\left[\frac{\partial L}{\partial q_0}-\frac{d}{dt}\frac{\partial L}{\partial q_0'}\right]\eta(t)dt=0

이제 앞서 증명했던 변분법의 기본 보조정리를 쓸 차례입니다. η\eta는 특별한 함수가 아니고 미분가능한 임의의 함수입니다. 변분법의 기본 보조정리에 따라 어떤 함수가 임의의 함수와 곱해서 적분했을 때 항상 0이 되려면 그 함수는 0이어야만 합니다.

Lq0ddtLq0=0\frac{\partial L}{\partial q_0}-\frac{d}{dt}\frac{\partial L}{\partial q_0'}=0

이로부터 오일러-라그랑주 방정식을 얻습니다. 맨 위로 올라가서 오일러-라그랑주 방정식을 소개한 부분을 보면 완벽히 똑같은 형태임을 알 수 있습니다.

참고문헌

위키백과

나무위키


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -