1. 개요
변분법(變分法, calculus of variations)은 수학의 한 분야로서 범함수의 최소 또는 최대를 찾는 방법 등을 가리키는 용어이다. 예를 들어 [math((x_1,\,y_1) )] 라는 점과 [math((x_2,\,y_2))] 라는 점을 연결하는 다양한 곡선들의 집합을 생각해 보자. 이들 중 가장 짧은 것, 즉 두 점 사이의 최단경로는 두 점을 연결한 직선이 된다. 직관적으로는 답을 쉽게 알 수 있지만 그것을 실제로 수학적인 엄밀성을 갖춰 증명하는 것은 쉽지 않다. 또 다른 예로, 일정한 길이의 닫힌 곡선으로 만들 수 있는 도형을 생각해 보자. 무수히 많은 가능한 도형들 중 가장 넓이가 큰 것은 원이 될 것이다. 그러나 그 증명을 위해 모든 가능한 도형들을 만들어 넓이를 비교해 볼 수는 없다.다양한 물리학 문제가 무언가를 최소화하거나 최대화하는 것을 요구하고 있고 고전역학을 기술하기 위해 도입된 페르마의 원리, 해밀턴의 원리 등을 실제로 적용하기 위해서는 최소 경로, 최소 시간, 최소 작용 등을 주는 운동을 찾아야 하므로 물리학자들에게 오히려 더 친숙한 수학적인 도구라고도 할 수 있다.
변분법 문제를 푸는 방법은 최적화 문제의 1계 조건에서 얻어지는 방정식의 해를 구하는 것이다. 이 1계 조건이 오일러-라그랑주 방정식이다. 또한 오일러-라그랑주 방정식은 최적화의 필요조건이므로 그 해가 충분조건도 만족하는지는 2계 조건을 따져 보아야 알 수 있다.
미분방정식의 풀이법인 변수분리법을 비공식적으로 '변분법'이라고 줄여 말하기도 하므로, 헷갈리지 않게 주의하자.
2. 역사
1687년 뉴턴은 프린키피아에서 유체 내부에서 운동하는 물체의 저항을 최소로 만드는 표면의 모양에 대해서 논의한다. 이를 변분법의 시초라고 볼 것인지에 대해선 사람마다 의견이 다르다.변분법은 1696년 6월 요한 베르누이가 《새 문제의 해법을 위하여 수학자들이 초대되다》(Problema novum ad cuius solutionem Mathematici invitantur)라는 제목으로 '박식한 자들의 행동'(Acta Eruditorum)이라는 학술지에 최속 하강 곡선(Brachistochrone curve) 문제를 다른 수학자들에게 난제로 제시하면서 시작되었다. 이 문제에 대해 라이프니츠, 아이작 뉴턴, 요한 베르누이 자신, 야코프 베르누이, 로피탈 등이 답을 제출하였다. 그 중에서 야코프 베르누이가 답을 구한 방식이 변분법의 아이디어의 단초가 되었다.
본격적인 변분법에 대한 연구는 오일러부터 시작되며 변분법이라는 이름도 오일러의 저서에서 비롯된다. 이후에 천재 소년 라그랑주가 오일러의 저서를 보고 연구하여 자신만의 개선점을 오일러에게 편지로 알리자 오일러가 자신의 방법을 버리고 라그랑주의 방법을 받아들였다는 것은 유명한 일화다.[1] 그래서 1계 조건 방정식이 오일러-라그랑주 방정식이라고 불린다.
이후에 야코비, 바이어슈트라스 등의 수학자들이 2계 조건에 관한 연구를 진척시켰다. 특히 힐베르트의 23가지 문제중 마지막 변분법에 대한 문제는 그 문제를 설명하면서 힐베르트가 2계 충분 조건의 기존 성과를 정리하고 자신의 연구결과를 덧붙이는 것을 발표하는 것으로 사실상 문제 아닌 문제가 되어버렸다. 이후 변분법은 좀더 유연한 최적제어론(Optimal control)과 동적 계획법(Dynamic programming)으로 계승되어 발전된다.
3. 변분법의 기본 보조정리
변분법의 기본 보조정리(Fundamental Lemma of Calculus of Variations)는 오일러-라그랑주 방정식의 증명에 있어서 핵심적인 보조정리이다.[math(f\colon [a,\,b] \to \mathbb R)]이 연속함수이고, 컴팩트 지지이자 매끄러운 임의의 함수 [math(\eta(x))]에 대하여 다음이 성립한다고 하자,
[math(\displaystyle \int_a^b f(x)\eta(x){\rm\,d}x=0)] |
참고로, 매끄러운 함수는 무한번 미분가능한 함수를 뜻하고, 컴팩트 지지 함수는 [math(\{x\in\mathbb R\mid\eta(x)\ne0\})]의 폐포(closure)가 유계인 것을 의미한다.
컴팩트 지지 대신에 좀 더 약한 조건인 [math(c\notin(a,\,b))]인 모든 점 [math(c)]에 관해 [math(\eta(c)=0)]인 조건을 넣기도 한다.
3.1. 증명
[math(f(x) \not\equiv 0)]이라 가정하자. 편의상 [math(x = \xi)]의 근방 [math({\cal N} = \{x \in [a,\,b] \colon \xi_1 < x < \xi_2 \})]에서 [math(f(x)>0)]이라 하자.이때, 위에서 언급하였던 조건보다 약화되어 두 번 미분가능한 함수에 대해 위 명제를 보일 것이다. [math(\eta(x) = (x - \xi_1)^4(x - \xi_2)^4 \bm1_{\cal N}(x))][2]이라 하자.
그러면,
[math(\begin{aligned} \int_a^b f(x)\eta(x){\rm\,d}x &= \int_a^{\xi_1} f(x)\eta(x){\rm\,d}x + \int_{\xi_1}^{\xi_2} f(x)\eta(x){\rm\,d}x + \int_{\xi_2}^b f(x)\eta(x){\rm\,d}x \\ &= \int_{\xi_1}^{\xi_2} f(x)\eta(x){\rm\,d}x \end{aligned})] |
따라서 [math(\displaystyle \int_a^b f(x)\eta(x){\rm\,d}x > 0)]인데, 이는 가정에서 [math(\displaystyle \int_a^b f(x)\eta(x){\rm\,d}x = 0)]라고 한 것과 모순이다.
같은 논지로 [math(f<0)]인 경우도 증명할 수 있다.
그러므로 [math(f(x) \equiv 0)]이다.
4. 오일러-라그랑주 방정식
#!if (문단 == null) == (앵커 == null)
를
#!if 문단 != null & 앵커 == null
의 [[오일러-라그랑주 방정식#s-|]]번 문단을
#!if 문단 == null & 앵커 != null
의 [[오일러-라그랑주 방정식#|]] 부분을
참고하십시오.변수를 하나만 가지는 함수 [math(y(x))]와 그 도함수 [math(y'(x))]를 변수로 가지는 어떤 범함수(functional)
[math(\displaystyle J = \int_{x_1}^{x_2} f\{y(x),\,y'(x),\, x \}{\rm\,d}x)] |
[math(\dfrac{\partial f}{\partial y} - \dfrac{\rm d}{{\rm d}x}\dfrac{\partial f}{\partial y'} = 0)] |
4.1. 다변수함수의 오일러-라그랑주 방정식
범함수 [math(J)]가 [math(y(x))]뿐만 아니라 다른 변수 [math(y_1(x),\,y_2(x),\,y_3(x),\,\cdots)] 등을 가지는 다변수함수일 수도 있다. 이때는 단순히 각 변수에 대해 오일러-라그랑주 방정식을 여러 번 써 주면 된다. 예를 들어[math(\displaystyle J = \int_{x_1}^{x_2} f\{y(x),\,y'(x),\,z(x),\,z'(x),\,x\}{\rm\,d}x)] |
[math(\begin{cases} \cfrac{\partial f}{\partial y} - \cfrac{\rm d}{{\rm d}x}\cfrac{\partial f}{\partial y'} = 0 \\ \cfrac{\partial f}{\partial z} - \cfrac{\rm d}{{\rm d}x}\cfrac{\partial f}{\partial z'} = 0 \end{cases})] |
[math(\dfrac{\partial f}{\partial y_i} - \dfrac{\rm d}{{\rm d}x}\dfrac{\partial f}{\partial {y_i}'} = 0)] |
4.2. 구속 조건이 있는 오일러-라그랑주 방정식
라그랑주 승수법에 의하면, 어떤 조건 [math(g(x,\,y,\,z)=0)]을 만족할 때 [math(f(x,\,y,\,z))]의 극값의 좌표는, 어떤 실수 [math(\lambda)]가 존재하여 다음 식을 만족한다.[math(\bm\nabla f(x,\,y,\,z) + \lambda \bm\nabla g(x,\,y,\,z) = 0)] |
4.2.1. 일반 구속 조건
비슷한 원리로, 구속 조건 [math(g(y,\,x)=0)]을 만족하는 범함수 [math(\displaystyle J = \int_{x_1}^{x_2} f\{y(x),\,y'(x),\,x\}{\rm\,d}x)]가 극값이 될 때, 어떤 함수 [math(\lambda(x))]가 존재하여 다음 방정식을 만족한다.[math(\dfrac{\partial f}{\partial y} - \dfrac{\rm d}{{\rm d}x} \dfrac{\partial f}{\partial y'} + \lambda(x)\dfrac{\partial g}{\partial y} = 0)] |
그런 다음 구속 조건 [math(g=0)]이랑 연립해서 [math(y)]와 [math(\lambda)]를 둘 다 구할 수 있다.
일반적으로, [math(f)]가 여러 변수 [math(y_1,\,y_2,\,\cdots,\,y_m)]의 함수이고, 구속 조건도 [math(g_1,\,g_2,\,\cdots,\,g_n)]으로 여러 개라면, [math(J)]가 극값이 되는 방정식은 다음과 같다. (각각의 [math(i)]마다 성립하는 [math(m)]개의 연립 방정식이고, 서로 다른 어떤 함수 [math(\lambda_1,\,\lambda_2,\,\cdots,\,\lambda_n)]가 존재한다.)
[math(\dfrac{\partial f}{\partial y_i} - \dfrac{\rm d}{{\rm d}x} \dfrac{\partial f}{\partial{y_i}'} + \lambda_j(x)\dfrac{\partial g_j}{\partial y_i} = 0)] |
4.2.2. 적분형 구속 조건
범함수 [math(J)]가 있을 때, 가끔 구속 조건이 단순한 [math(y,\,x)]에 대한 함수가 아니라 다음과 같은 적분으로 정의된 범함수의 꼴일 수도 있다.[math(\displaystyle K = \int_{x_1}^{x_2} g\{y(x),\,y'(x),\,x\}{\rm\,d}x)] |
[math(\dfrac{\partial f}{\partial y} - \dfrac{\rm d}{{\rm d}x} \dfrac{\partial f}{\partial y'} + \lambda{\left(\dfrac{\partial g}{\partial y} - \dfrac{\rm d}{{\rm d}x}\dfrac{\partial g}{\partial y'}\right)} = 0)] |
4.2.3. 예제
5. δ 표기법
가끔 변분법에서 범함수 [math(J)]에 대해서 [math(\cfrac{\partial x}{\partial \alpha}{\rm\,d}\alpha)]를 간단히 [math(\delta)](델타)를 사용해 [math(\delta x)]로 표기하기도 한다. 설명하자면 [math(\delta)]는 무한소만큼 벗어난 매개변수에 대한 차이이다. 예를 들어, 오일러-라그랑주 방정식의 유도 과정에서 다음 식을 보자. (먼저 오일러-라그랑주 방정식 문서를 읽고 와야 이해하기 쉽다)[math(\displaystyle \frac{\partial J}{\partial \alpha} = \int_{x_1}^{x_2} {\left( \frac{\partial f}{\partial y} - \frac{\rm d}{{\rm d}x} \frac{\partial f}{\partial y'} \right)} \eta(x){\rm\,d}x)] |
[math(\displaystyle \frac{\partial J}{\partial \alpha}{\rm\,d}\alpha = \int_{x_1}^{x_2} {\left( \frac{\partial f}{\partial y} - \frac{\rm d}{{\rm d}x} \frac{\partial f}{\partial y'} \right)} \frac{\partial y}{\partial \alpha}{\rm\,d}\alpha{\rm\,d}x)] |
이것을 [math(\delta)] 표기법으로 쓰면 다음과 같다.
[math(\displaystyle \delta J = \int_{x_1}^{x_2} {\left( \frac{\partial f}{\partial y} - \frac{\rm d}{{\rm d}x} \frac{\partial f}{\partial y'} \right)}\,\delta y{\rm\,d}x)] |
[math(\begin{aligned} \delta J = 0 &\Longleftrightarrow {\left. \frac{\partial J}{\partial \alpha} \right|}_{\alpha = 0} = 0 \\ &\Longleftrightarrow \frac{\partial f}{\partial y_i} - \frac{\rm d}{{\rm d}x}\frac{\partial f}{\partial {y_i}'} = 0 \end{aligned})] |
즉, [math(\delta y)]는 아주아주 살짝 벗어난 경로와의 차이라고 이해하면 된다. 이때 [math(J)]의 차이는 [math(\delta J)]이다. 그런데 [math(J)]의 정의를 보자.
[math(\displaystyle J = \int_{x_1}^{x_2} f\{y(x),\,y'(x),\,x\}{\rm\,d}x)] |
|
[math(\displaystyle \delta J = \int_{x_1}^{x_2} \delta f{\rm\,d}x = \int_{x_1}^{x_2} {\left( \frac{\partial f}{\partial y}\,\delta y + \frac{\partial f}{\partial y'}\,\delta y'\right)}{\rm\,d}x)] |
[math(\displaystyle \delta J = \int_{x_1}^{x_2} {\left( \frac{\partial f}{\partial y} - \frac{\rm d}{{\rm d}x} \frac{\partial f}{\partial y'} \right)}\,\delta y{\rm\,d}x)] |
다만 주의할 것은, 이 표기법은 그저 편리를 위해 간단히 줄여 쓴 것일 뿐이지 수학적으로 아주 엄밀한 것은 아니라는 것이다. 그래서 이 표기법은 주로 물리학에서 사용한다.